summaryrefslogtreecommitdiff
path: root/themes/okadmin/public
diff options
context:
space:
mode:
Diffstat (limited to 'themes/okadmin/public')
-rw-r--r--themes/okadmin/public/js/okcms.js28
1 files changed, 18 insertions, 10 deletions
diff --git a/themes/okadmin/public/js/okcms.js b/themes/okadmin/public/js/okcms.js
index 69a8f86..c53092f 100644
--- a/themes/okadmin/public/js/okcms.js
+++ b/themes/okadmin/public/js/okcms.js
@@ -28,15 +28,17 @@ var OKCMS = (function(){
// data.resources[types].data[]
// data.resources[types].data[0][groupBy][group]
var resources = this.resources = {}
- this.types = Object.keys(data.resources)
- this.types.forEach(function(type){
+ var plural_types = Object.keys(data.resources)
+ var types = this.types = []
+ plural_types.forEach(function(type){
var resource = data.resources[type]
resources[resource.type] = resource
resource.lookup = {}
+ resource.index = []
+ types.push( resource.type )
if (resource.groupBy) {
var group_lookup = resource.data[0][resource.groupBy]
var groups = Object.keys(group_lookup)
- resource.index = []
groups.forEach(function(group){
var list = group_lookup[group]
list.forEach(function(record){
@@ -48,6 +50,7 @@ var OKCMS = (function(){
else {
resource.data.forEach(function(record){
resource.lookup[record.id] = record
+ resource.index.push(record)
})
}
})
@@ -79,13 +82,13 @@ var OKCMS = (function(){
}
OKCMS.prototype.get = function(type, id){
var resource = this.getResource(type)
- if (id in resource.index) {
- return resource.index[id]
+ if (id in resource.lookup) {
+ return resource.lookup[id]
}
throw new Error ("Key not found: " + type + ":" + id)
}
OKCMS.prototype.new = function(type){
- var resource = this.resource(type)
+ var resource = this.getResource(type)
var spec = this.spec(type)
var record = {}
Object.keys(spec).forEach(function(key){
@@ -170,8 +173,9 @@ var OKCMS = (function(){
data.id = slugify( data.title )
}
$.ajax({
- url: [ "", adminRoot, type ].join("/"),
+ url: [ "", adminRoot, type, "" ].join("/"),
type: "POST",
+ data: data,
success: function(){
cb && cb()
}
@@ -180,20 +184,24 @@ var OKCMS = (function(){
OKCMS.prototype.update = function(type, data, cb){
var resource = this.getResource(type)
var id = data.id
-
+ console.log(id, [ "", adminRoot, type, id ].join("/") )
// /admin/:type/:id/
$.ajax({
- url: [ "", adminRoot, type, id ].join("/"),
+ url: [ "", adminRoot, type, id, "" ].join("/"),
type: "PUT",
data: data,
success: function(){
+ console.log(" OK" )
cb && cb()
}
})
}
OKCMS.prototype.destroy = function(type, id, cb){
+ if (typeof id == "object") {
+ id = id.id
+ }
$.ajax({
- url: [ "", adminRoot, type, id ].join("/"),
+ url: [ "", adminRoot, type, id, "" ].join("/"),
type: "DELETE",
success: function(){
cb && cb()