summaryrefslogtreecommitdiff
path: root/themes/okadmin/templates
diff options
context:
space:
mode:
Diffstat (limited to 'themes/okadmin/templates')
-rw-r--r--themes/okadmin/templates/404.liquid54
-rw-r--r--themes/okadmin/templates/5xx.liquid54
-rw-r--r--themes/okadmin/templates/index.liquid82
-rw-r--r--themes/okadmin/templates/partials/errors.liquid10
-rw-r--r--themes/okadmin/templates/partials/flash.liquid20
-rw-r--r--themes/okadmin/templates/partials/head.liquid6
-rw-r--r--themes/okadmin/templates/partials/inputs.liquid346
-rw-r--r--themes/okadmin/templates/partials/tail.liquid13
-rw-r--r--themes/okadmin/templates/resource.liquid18
-rw-r--r--themes/okadmin/templates/resource_new.liquid6
10 files changed, 537 insertions, 72 deletions
diff --git a/themes/okadmin/templates/404.liquid b/themes/okadmin/templates/404.liquid
new file mode 100644
index 0000000..87f5342
--- /dev/null
+++ b/themes/okadmin/templates/404.liquid
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>404</title>
+ <style type="text/css">
+ html, body {
+ margin: 0;
+ padding: 0;
+ font-family: "Helvetica", sans-serif;
+ background-image: url('http://okfoc.us/assets/images/photocopy.png');
+ background-position: bottom center;
+ background-repeat: repeat;
+ background-attachment: scroll;
+ height: 100%;
+ font-size: 1.75em;
+ font-weight: bold;
+ color: #FFFFFF;
+ }
+
+ a {
+ color: #8888FF;
+ text-decoration: none;
+ }
+
+ a:hover {
+ border-bottom: 3px solid #8888FF;
+ }
+
+ a:visited {
+ color: #8888FF;
+ }
+
+ .message {
+ width: 700px;
+ padding: 1em 1em 1em 1em;
+ background-color: #0000FF;
+ margin: 0 auto;
+ margin-top: 1em;
+ }
+
+ .message p:first-child {
+ margin-top: 0;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="message">
+ <p>¯\_(ツ)_/¯</p>
+ <p>We couldn't find that page.</p>
+ <p>Sure you have the right URL?</p>
+ <a href="javascript:history.back()">Back</a>
+ </div>
+ </body>
+</html>
diff --git a/themes/okadmin/templates/5xx.liquid b/themes/okadmin/templates/5xx.liquid
new file mode 100644
index 0000000..f245545
--- /dev/null
+++ b/themes/okadmin/templates/5xx.liquid
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>404</title>
+ <style type="text/css">
+ html, body {
+ margin: 0;
+ padding: 0;
+ font-family: "Helvetica", sans-serif;
+ background-image: url('http://okfoc.us/assets/images/photocopy.png');
+ background-position: bottom center;
+ background-repeat: repeat;
+ background-attachment: scroll;
+ height: 100%;
+ font-size: 1.75em;
+ font-weight: bold;
+ color: #FFFFFF;
+ }
+
+ a {
+ color: #8888FF;
+ text-decoration: none;
+ }
+
+ a:hover {
+ border-bottom: 3px solid #8888FF;
+ }
+
+ a:visited {
+ color: #8888FF;
+ }
+
+ .message {
+ width: 700px;
+ padding: 0 1em 1em 1em;
+ background-color: #0000FF;
+ margin: 0 auto;
+ margin-top: 1em;
+ }
+
+ .message p:first-child {
+ margin-top: 0;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="message">
+ <p>(;一_一)</p>
+ <p>Looks like we experienced an error.</p>
+ <p>Sorry about that. Maybe try again later.</p>
+ <a href="javascript:history.back()">Back</a>
+ </div>
+ </body>
+</html>
diff --git a/themes/okadmin/templates/index.liquid b/themes/okadmin/templates/index.liquid
index 95c64dd..ebb1bde 100644
--- a/themes/okadmin/templates/index.liquid
+++ b/themes/okadmin/templates/index.liquid
@@ -1,25 +1,79 @@
{% include 'partials/head' %}
+{% include 'partials/flash' %}
+
<section class="index main">
{% for pair in resources %}
{% assign name = pair[0] %}
{% assign resource = pair[1] %}
- {% assign spec = resource.spec %}
- <section class="resource-category {{name}}">
- <header>
- <h2>{{name | capitalize}}</h2>
- </header>
- <ul class="resource-list">
- {% for data in resource.data %}
- <li><a href="{{resource.type}}/{{data.id}}/">{{data.id}}</a></li>
- {% endfor %}
- </ul>
- <footer>
- <a class="add-new" href="{{resource.type}}/new/">+</a>
- </footer>
+ <section class="resource-category root
+ {% if resource.groupBy %} grouped {% endif %}
+ {% if resource.descending %} descending {% endif %}
+ {{name}}">
+ <form action="{{resource.type}}/__batch__/" method="POST">
+ <header>
+ <h2>{{name | capitalize}}</h2>
+ </header>
+ <input type="hidden" name="_method" value="PUT">
+ {% assign resourceJSON = resource.data[0][resource.groupBy] | stringify %}
+ {% if resource.groupBy and resourceJSON != "{}" %}
+ {% assign i = 0 %}
+ {% for item in resource.data %}
+ {% for pair in item[resource.groupBy] %}
+ {% assign group = pair[0] %}
+ {% assign members = pair[1] %}
+ <section class="resource-category {{group}}">
+ <header>
+ <h2>{{group | capitalize}}</h2>
+ </header>
+ <ol class="resource-list">
+ {% for data in members %}
+ <li>
+ {% if data.disabled %} <del> {% endif %}
+ <a href="{{resource.type}}/{{data.id}}/">{{data.title}}</a>
+ {% if data.disabled %} </del> {% endif %}
+ <input class="resource-input" type="hidden" name="{{resource.type}}[{{increment i}}]"
+ value='{{data | stringify | escape_once}}'>
+ </li>
+ {% endfor %}
+ </ol>
+ <footer>
+ <nav>
+ <a class="btn cancel-btn" href="#">cancel</a>
+ <button type="submit"
+ class="btn save-btn" href="#">save</button>
+ <a class="btn edit-btn active" href="#">sort</a>
+ <a class="btn add-btn active" href="{{resource.type}}/__new__/">+</a>
+ </nav>
+ </footer>
+ </section>
+ {% endfor %}
+ {% endfor %}
+ {% else %}
+ <ol class="resource-list">
+ {% for data in resource.data %}
+ <li>
+ {% if data.disabled %} <del> {% endif %}
+ <a href="{{resource.type}}/{{data.id}}/">{{data.title}}</a>
+ {% if data.disabled %} </del> {% endif %}
+ <input class="resource-input" type="hidden" name="{{resource.type}}[{{forloop.index0}}]"
+ value='{{data | stringify | escape_once}}'>
+ </li>
+ {% endfor %}
+ </ol>
+ <footer>
+ <nav>
+ <a class="btn cancel-btn" href="#">cancel</a>
+ <button type="submit"
+ class="btn save-btn" href="#">save</button>
+ <a class="btn edit-btn active" href="#">sort</a>
+ <a class="btn add-btn active" href="{{resource.type}}/__new__/">+</a>
+ </nav>
+ </footer>
+ {% endif %}
+ </form>
</section>
-
{% endfor %}
</section>
diff --git a/themes/okadmin/templates/partials/errors.liquid b/themes/okadmin/templates/partials/errors.liquid
deleted file mode 100644
index cdb0b25..0000000
--- a/themes/okadmin/templates/partials/errors.liquid
+++ /dev/null
@@ -1,10 +0,0 @@
-<div class="errors">
- {% for error in errors %}
- <div class="error">
- <div class="message">{{error.message}}</div>
- <div class="assertion">
- Expected {{error.expected}} but got {{error.actual}}
- </div>
- </div>
- {% endfor %}
-</div>
diff --git a/themes/okadmin/templates/partials/flash.liquid b/themes/okadmin/templates/partials/flash.liquid
new file mode 100644
index 0000000..e51a86b
--- /dev/null
+++ b/themes/okadmin/templates/partials/flash.liquid
@@ -0,0 +1,20 @@
+{% if success.length > 0 %}
+<div class="success">
+ <div class="message">Changes saved.</div>
+ <!--
+ {% for info in success %}
+ <div class="message">{{info.action}}</div>
+ {% endfor %}
+ -->
+</div>
+{% endif %}
+
+{% if errors.length > 0 %}
+<div class="errors">
+ {% for error in errors %}
+ <div class="error">
+ <div class="message">{{error.message}}</div>
+ </div>
+ {% endfor %}
+</div>
+{% endif %} \ No newline at end of file
diff --git a/themes/okadmin/templates/partials/head.liquid b/themes/okadmin/templates/partials/head.liquid
index 3af59fd..e9c27dc 100644
--- a/themes/okadmin/templates/partials/head.liquid
+++ b/themes/okadmin/templates/partials/head.liquid
@@ -2,12 +2,12 @@
<html>
<head>
<meta charset="utf8">
- <title>{{meta.title}}</title>
+ <title>{{meta.project}} Admin</title>
<link rel="stylesheet" href="{{meta.static}}/css/main.css">
</head>
<body>
<header class="admin-header">
- <span class="breadcrumb"><b>{{meta.title}}</b> Admin</span>
+ <span class="breadcrumb"><b>{{meta.project}}</b> Admin</span>
<a class="site-link" href="/">View Site</a>
</header>
- <div class="container">
+ <div class="container"> \ No newline at end of file
diff --git a/themes/okadmin/templates/partials/inputs.liquid b/themes/okadmin/templates/partials/inputs.liquid
index 7d23c9e..0fee61e 100644
--- a/themes/okadmin/templates/partials/inputs.liquid
+++ b/themes/okadmin/templates/partials/inputs.liquid
@@ -3,67 +3,349 @@
{% assign spec = pair[1] %}
{% assign type = spec.type %}
- <div class="property {{type}}">
+ <div class="property {{type}} {% if spec.hidden %}hidden{% endif %}"
+ data-name="{{name}}">
<label for="{{name}}">{{name | capitalize}}</label>
{% if type == 'string' %}
<input
- {% if spec.disabled %}
- disabled="true"
- {% endif %}
- name="{{name}}" type="text" value="{{spec.value}}">
+ name="{{name}}" type="text" value="{{spec.value | escape}}">
{% elsif type == 'text' %}
<textarea
- {% if spec.disabled %}
- disabled="true"
- {% endif %}
- name="{{name}}">{{spec.value}}</textarea>
- {% elsif type == 'enum' %}
+ name="{{name}}">{{spec.value | escape}}</textarea>
+ {% elsif type == 'number' %}
+ <input
+ type="number"
+ name="{{name}}" value="{{spec.value | escape}}">
+ {% elsif type == 'enum' or type == 'foreign-key' %}
<select
- {% if spec.disabled %}
- disabled="true"
- {% endif %}
name="{{name}}">
{% for option in spec.options %}
- <option value="{{option}}" {% if option == spec.value %}selected{% endif %}>{{option}}</option>
+ <option value="{{option}}" {% if option == spec.value %}selected{% endif %}>{{option | capitalize}}</option>
{% endfor %}
</select>
{% 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>
+ <input name="{{name}}[type]" type="hidden" value="{{spec.value.type}}" class="video-type" hidden>
+ <input name="{{name}}[token]" type="hidden" value="{{spec.value.token}}" class="video-token" hidden>
+ <input name="{{name}}[width]" value="{{spec.value.width}}" type="hidden" class="video-width" hidden>
+ <input name="{{name}}[height]" value="{{spec.value.height}}" type="hidden" class="video-height" hidden>
<label>Title</label>
- <input name="{{name}}[title]" type="text" value="{{spec.value.title}}" class="video-title">
+ <input name="{{name}}[title]" type="text" value="{{spec.value.title | escape}}" class="video-title">
<label>Thumbnail</label>
- <input name="{{name}}[thumb]" type="text" value="{{spec.value.thumb}}" class="video-thumb">
+ <input name="{{name}}[thumb]" type="text" value="{{spec.value.thumb | escape}}" class="video-thumb">
+ </div>
+ {% elsif type == 'image' %}
+ <div class="image group {% if spec.value.uri %}loaded{% endif %}">
+ <div class="fields">
+ <div class="add-image-button">
+ <input type="file" accept="image/*">
+ <button>+ Add image</button>
+ </div>
+ <input class="add-url" type="text" placeholder="+ Add URL">
+ </div>
+ <div class="image-element">
+ <input class="uri" type="hidden" name="{{name}}[uri]" value="{{spec.value.uri}}">
+ <textarea class="caption" name="{{name}}[caption]">{{spec.value.caption | escape}}</textarea>
+ <input type="hidden" name="{{name}}[width]" value="{{spec.value.width}}" class="image-width">
+ <input type="hidden" name="{{name}}[height]" value="{{spec.value.height}}" class="image-height">
+ <img src="{{spec.value.uri}}" alt="{{spec.value.caption | escape}}">
+ <button class="remove">x</button>
+ </div>
+ </div>
+
+ {% elsif type == 'date' %}
+
+ <div class="date">
+ <input name="{{name}}"
+ type="date"
+ {% if spec.value %}
+ value="{{spec.value | date: '%Y-%m-%d'}}"
+ {% endif %}
+ >
+ </div>
+
+ {% elsif type == 'flag' %}
+
+ <div class="flag">
+ <input name="{{name}}"
+ type="checkbox"
+ {% if spec.value %}
+ checked="true"
+ {% endif %}
+ value="true">
+ </div>
+
+ {% elsif type == 'tag-list' %}
+ <div class="tag-list">
+ <input name="{{name}}"
+ value="{{spec.value | escape}}"
+ placeholder="Enter a comma separated list of tags.">
</div>
- {% elsif type == 'captioned-image-list' %}
- <div class="image group loaded">
+
+ {% elsif type == 'link-list' %}
+ <div class="link-list group">
+ <ol class="links">
+ {% for link in spec.value %}
+ <li>
+ <div class="handle"></div>
+ <input
+ name="{{name}}[{{forloop.index0}}][text]"
+ value="{{link.text | escape}}"
+ type="text"
+ placeholder="Link text"
+ class="link-input link-text">
+ <input
+ name="{{name}}[{{forloop.index0}}][uri]"
+ value="{{link.uri | escape}}"
+ type="text"
+ placeholder="URL"
+ class="link-input link-uri">
+ <button class="remove-link-btn">
+ -
+ </button>
+ </li>
+ {% endfor %}
+ </ol>
+
+ <input type="text"
+ class="link-input-new link-text"
+ placeholder="Link text">
+ <input type="text"
+ class="link-input-new link-uri"
+ placeholder="http://www.example.com">
+ <button class="add-link-btn">+</button>
+
+ <script type="text/html" class="link-template">
+ <li>
+ <div class="handle"></div>
+ <input
+ name="{{name}}[][text]"
+ value=""
+ type="text"
+ placeholder="Link text"
+ class="link-input link-text">
+ <input
+ name="{{name}}[][uri]"
+ value=""
+ type="text"
+ placeholder="URL"
+ class="link-input link-uri">
+ <button class="remove-link-btn">
+ -
+ </button>
+ </li>
+ </script>
+
+ </div>
+
+ {% elsif type == 'media-list' or type == 'media' %}
+ <div class="media-list group loaded">
+ <div class="fields">
+ <div class="add-image-button">
+ <input type="file" accept="image/*,video/*,audio/*" multiple>
+ <button>+ Add media</button>
+ </div>
+ <input class="add-url" type="text" placeholder="+ Add Image/Video/Link URL">
+ </div>
+
+ <script type="text/html" class="image-template">
+ <li class="image-element">
+ <label>Caption</label>
+ <input class="uri" type="hidden" name="{{name}}[][uri]" value="">
+ <textarea class="caption" name="{{name}}[][caption]"></textarea>
+ <input type="hidden" name="{{name}}[][type]" value="image">
+ <input type="hidden" name="{{name}}[][width]" class="image-width" hidden>
+ <input type="hidden" name="{{name}}[][height]" class="image-height" hidden>
+ <img>
+ <button class="remove">x</button>
+ </li>
+ </script>
+
+ <script type="text/html" class="video-template">
+ <li class="video-element">
+ <div style="float: left">
+ <input name="{{name}}[][type]" type="hidden" class="video-type" hidden>
+ <input name="{{name}}[][token]" type="hidden" class="video-token" hidden>
+ <input name="{{name}}[][uri]" type="hidden" class="video-uri" hidden>
+ <input name="{{name}}[][width]" type="hidden" class="video-width" hidden>
+ <input name="{{name}}[][height]" type="hidden" class="video-height" hidden>
+ <label>Caption</label>
+ <input name="{{name}}[][title]" type="text" class="video-title">
+ <label>Thumbnail</label>
+ <input name="{{name}}[][thumb]" type="text" class="video-thumb">
+ <span class="checkboxes">
+ <input name="{{name}}[][autoplay]" value="{{image.autoplay}}" type="checkbox" class="video-autoplay flag">
+ <label>Autoplay</label>
+ <input name="{{name}}[][loop]" value="{{image.loop}}" type="checkbox" class="video-loop flag">
+ <label>Loop</label>
+ </span>
+ </div>
+ <img>
+ <button class="remove">x</button>
+ </li>
+ </script>
+
+ <script type="text/html" class="audio-template">
+ <li class="audio-element">
+ <div style="float: left">
+ <input name="{{name}}[][type]" type="hidden" class="audio-type" hidden>
+ <input name="{{name}}[][token]" type="hidden" class="audio-token" hidden>
+ <input name="{{name}}[][uri]" type="hidden" class="audio-uri" hidden>
+ <input name="{{name}}[][duration]" value="{{image.duration}}" type="hidden" class="audio-duration" hidden>
+ <label>Caption</label>
+ <input name="{{name}}[][title]" type="text" class="audio-title">
+ <label>Thumbnail</label>
+ <input name="{{name}}[][thumb]" type="text" class="audio-thumb">
+ </div>
+ <img>
+ <button class="remove">x</button>
+ </li>
+ </script>
+
+ <script type="text/html" class="link-template">
+ <li class="link-element">
+ <input class="uri" type="text" name="{{name}}[][uri]" value="">
+ <textarea class="caption" name="{{name}}[][caption]" placeholder="Caption"></textarea>
+ <input type="hidden" name="{{name}}[][type]" value="link">
+ <button class="remove">x</button>
+ </li>
+ </script>
+
+ <ol>
+ {% for image in spec.value %}
+ {% if image.type and (image.type == "vimeo" or image.type == "youtube" or image.type == "video") %}
+ <li class="video-element">
+ <div style="float: left">
+ <input name="{{name}}[{{forloop.index0}}][type]" value="{{image.type}}" type="hidden" class="video-type" hidden>
+ <input name="{{name}}[{{forloop.index0}}][token]" value="{{image.token}}" type="hidden" class="video-token" hidden>
+ <input name="{{name}}[{{forloop.index0}}][uri]" value="{{image.uri}}" type="hidden" class="video-uri" hidden>
+ <input name="{{name}}[{{forloop.index0}}][width]" value="{{image.width}}" type="hidden" class="video-width" hidden>
+ <input name="{{name}}[{{forloop.index0}}][height]" value="{{image.height}}" type="hidden" class="video-height" hidden>
+ <label>Caption</label>
+ <input name="{{name}}[{{forloop.index0}}][title]" value="{{image.title | escape}}" type="text" class="video-title">
+ <label>Thumbnail</label>
+ <input name="{{name}}[{{forloop.index0}}][thumb]" value="{{image.thumb}}" type="text" class="video-thumb">
+ <span class="checkboxes">
+ <input name="{{name}}[{{forloop.index0}}][autoplay]" value="true" {% if image.autoplay == "true" %}checked="true"{% endif %} type="checkbox" class="flag video-autoplay">
+ <label>Autoplay</label>
+ <input name="{{name}}[{{forloop.index0}}][loop]" value="true" {% if image.loop == "true" %}checked="true"{% endif %} type="checkbox" class="flag video-loop">
+ <label>Loop</label>
+ </span>
+ </div>
+ <img src="{{image.thumb}}">
+ <button class="remove">x</button>
+ </li>
+ {% elsif image.type and (image.type == "audio" or image.type == "soundcloud") %}
+ <li class="audio-element">
+ <div style="float: left">
+ <input name="{{name}}[{{forloop.index0}}][type]" value="{{image.type}}" type="hidden" class="audio-type" hidden>
+ <input name="{{name}}[{{forloop.index0}}][token]" value="{{image.token}}" type="hidden" class="audio-token" hidden>
+ <input name="{{name}}[{{forloop.index0}}][uri]" value="{{image.uri}}" type="hidden" class="audio-uri" hidden>
+ <input name="{{name}}[{{forloop.index0}}][duration]" value="{{image.duration}}" type="hidden" class="audio-duration" hidden>
+ <label>Caption</label>
+ <input name="{{name}}[{{forloop.index0}}][title]" value="{{image.title | escape}}" type="text" class="audio-title">
+ <label>Thumbnail</label>
+ <input name="{{name}}[{{forloop.index0}}][thumb]" value="{{image.thumb}}" type="text" class="audio-thumb">
+ </div>
+ <img src="{{image.thumb}}">
+ <button class="remove">x</button>
+ </li>
+ {% elsif image.type and image.type == "link" %}
+ <li class="link-element">
+ <input class="uri" type="text" name="{{name}}[{{forloop.index0}}][uri]" value="{{image.uri}}">
+ <textarea class="caption" name="{{name}}[{{forloop.index0}}][caption]" placeholder="Caption">{{image.caption | escape}}</textarea>
+ <input type="hidden" name="{{name}}[{{forloop.index0}}][type]" value="link">
+ <button class="remove">x</button>
+ </li>
+ {% else %}
+ <li class="image-element">
+ <label>Caption</label>
+ <input type="hidden" name="{{name}}[{{forloop.index0}}][uri]" value="{{image.uri}}">
+ <input name="{{name}}[{{forloop.index0}}][width]" value="{{image.width}}" type="hidden" class="image-width" hidden>
+ <input name="{{name}}[{{forloop.index0}}][height]" value="{{image.height}}" type="hidden" class="image-height" hidden>
+ <textarea class="caption" name="{{name}}[{{forloop.index0}}][caption]">{{image.caption | escape}}</textarea>
+ <input type="hidden" name="{{name}}[{{forloop.index0}}][type]" value="image">
+ <img src="{{image.uri}}" alt="{{image.caption | strip_html}}">
+ <button class="remove">x</button>
+ </li>
+ {% endif %}
+ {% endfor %}
+ </ol>
+ </div>
+ {% elsif type == 'captioned-image-list' or type == 'gallery' %}
+ <div class="image-list group loaded">
+ <div class="fields">
+ <div class="add-image-button">
+ <input type="file" accept="image/*" multiple>
+ <button>+ Add images</button>
+ </div>
+ <input class="add-url" type="text" placeholder="+ Add URL">
+ </div>
+
+ <script type="text/html" class="image-template">
+ <li class="image-element">
+ <input class="uri" type="hidden" name="{{name}}[][uri]" value="">
+ <input type="hidden" name="{{name}}[][width]" class="image-width" hidden>
+ <input type="hidden" name="{{name}}[][height]" class="image-height" hidden>
+ <textarea class="caption" name="{{name}}[][caption]"></textarea>
+ <img>
+ <button class="remove">x</button>
+ </li>
+ </script>
+
<ol>
{% for image in spec.value %}
<li class="image-element">
- <input type="hidden" name="{{name}}[][uri]" value="{{image.uri}}">
- <textarea class="caption" name="{{name}}[][caption]">{{image.caption}}</textarea>
- <img src="{{image.uri}}" alt="{{image.caption}}">
- <button class="remove-image">♲</button>
+ <input type="hidden" name="{{name}}[{{forloop.index0}}][uri]" value="{{image.uri}}">
+ <input type="hidden" name="{{name}}[{{forloop.index0}}][width]" value="{{image.width}}" class="image-width">
+ <input type="hidden" name="{{name}}[{{forloop.index0}}][height]" value="{{image.height}}" class="image-height">
+ <textarea class="caption" name="{{name}}[{{forloop.index0}}][caption]">{{image.caption | escape}}</textarea>
+ <img src="{{image.uri}}" alt="{{image.caption | strip_html}}">
+ <button class="remove">x</button>
</li>
{% endfor %}
</ol>
- <div class="add-image-button">
- <input id="file" type="file" accept="image/*" multiple>
- <span>+ Add images</span>
+ </div>
+ {% elsif type == 'double-captioned-image-list' %}
+ <div class="image-list group loaded">
+ <div class="fields">
+ <div class="add-image-button">
+ <input type="file" accept="image/*" multiple>
+ <button>+ Add images</button>
+ </div>
+ <input class="add-url" type="text" placeholder="+ Add URL">
</div>
- <input id="add-image-url" type="text" placeholder="+ Add URL">
- <script type="text/html" id="captioned-image-template">
+
+ <script type="text/html" class="image-template">
<li class="image-element">
+ <img>
+ <button class="remove">x</button>
<input class="uri" type="hidden" name="{{name}}[][uri]" value="">
- <textarea class="caption" name="{{name}}[][caption]"></textarea>
- <img alt="{{image.caption}}">
- <button class="remove-image">♲</button>
+ <input type="hidden" name="{{name}}[][width]" class="image-width">
+ <input type="hidden" name="{{name}}[][height]" class="image-height">
+ <input class="caption" name="{{name}}[][label]" placeholder="Name">
+ <input class="caption" name="{{name}}[][caption]" placeholder="Email">
</li>
</script>
+
+ <ol>
+ {% for image in spec.value %}
+ <li class="image-element">
+ <img src="{{image.uri}}" alt="{{image.caption | strip_html}}">
+ <button class="remove">x</button>
+ <input type="hidden" name="{{name}}[{{forloop.index0}}][uri]" value="{{image.uri}}">
+ <input type="hidden" name="{{name}}[{{forloop.index0}}][width]" value="{{image.width}}" class="image-width">
+ <input type="hidden" name="{{name}}[{{forloop.index0}}][height]" value="{{image.height}}" class="image-height">
+ <input class="caption" name="{{name}}[{{forloop.index0}}][label]" value="{{image.label | escape}}" placeholder="Name">
+ <input class="caption" name="{{name}}[{{forloop.index0}}][caption]" value="{{image.caption | escape}}" placeholder="Email">
+ </li>
+ {% endfor %}
+ </ol>
</div>
+ {% elsif type == 'meta' %}
+ <input class="hidden" type="hidden" name="{{name}}" value="{{spec.value}}">
{% else %}
<p><pre style="color: red">Admin template doesn't support '{{type}}' properties!</pre></p>
{% endif %}
diff --git a/themes/okadmin/templates/partials/tail.liquid b/themes/okadmin/templates/partials/tail.liquid
index 88764a6..522023b 100644
--- a/themes/okadmin/templates/partials/tail.liquid
+++ b/themes/okadmin/templates/partials/tail.liquid
@@ -1,9 +1,14 @@
</div> {% comment %} closes container tag {% endcomment %}
+ <div id="progress"></div>
+ <div id="uploadConfig"
+ data-image-maxbytes="{{meta.services.s3.image.maxbytes}}"
+ data-audio-maxbytes="{{meta.services.s3.audio.maxbytes}}"
+ data-video-maxbytes="{{meta.services.s3.video.maxbytes}}"></div>
</body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/3.6.0/lodash.min.js"></script>
- <script src="/_admin/js/jqueryui-draggable.js"></script>
- <script src="/_admin/js/upload.js"></script>
- <script src="/_admin/js/parser.js"></script>
- <script src="/_admin/js/app.js"></script>
+ <script src="/admin/js/jqueryui-draggable.js"></script>
+ <script src="/admin/js/upload.js"></script>
+ <script src="/admin/js/parser.js"></script>
+ <script src="/admin/js/app.js"></script>
</html>
diff --git a/themes/okadmin/templates/resource.liquid b/themes/okadmin/templates/resource.liquid
index c0d348d..88f93bd 100644
--- a/themes/okadmin/templates/resource.liquid
+++ b/themes/okadmin/templates/resource.liquid
@@ -1,19 +1,25 @@
{% include 'partials/head' %}
-{% include 'partials/errors' %}
+{% include 'partials/flash' %}
-<nav>
- <a href="../..">Back</a>
+<nav class="resource-nav">
+ <a href="../..">Back</a><br>
+ <br>
+ <a href="/admin/{{ resource.type }}/__new__/">ADD ANOTHER</a>
</nav>
-<section class="resource main">
- <h2>EDIT {{ resource.type }} '{{ resource.id }}'</h2>
- <form action="." method="POST">
+<section class="resource main" data-type="{{ resource.type }}" data-id="{{ resource.id }}">
+ <h2>EDIT {{ resource.type }} '{{ resource.spec.title.value }}'</h2>
+ <form action="." method="POST" id="resource_form">
<input type="hidden" name="_method" value="PUT">
{% include 'partials/inputs' %}
<label>&nbsp;</label><button type="submit">Save</button>
<div class="clear"></div>
</form>
+ <form action="." method="POST" id="delete_form">
+ <input type="hidden" name="_method" value="DELETE">
+ <button type="submit">Delete Record</button>
+ </form>
</section>
{% include 'partials/tail' %}
diff --git a/themes/okadmin/templates/resource_new.liquid b/themes/okadmin/templates/resource_new.liquid
index c57dd83..15d13ba 100644
--- a/themes/okadmin/templates/resource_new.liquid
+++ b/themes/okadmin/templates/resource_new.liquid
@@ -1,14 +1,14 @@
{% include 'partials/head' %}
-{% include 'partials/errors' %}
+{% include 'partials/flash' %}
-<nav>
+<nav class="resource-nav">
<a href="../..">Back</a>
</nav>
<section class="main resource resource-new">
<h2>NEW {{ resource.type }}</h2>
- <form action=".." method="POST">
+ <form action=".." method="POST" id="resource_form">
<input type="hidden" name="_method" value="POST">
{% include 'partials/inputs' %}
<label>&nbsp;</label><button type="submit">Create</button>