From 27d64cd38ebd7100d7cf2687466e48629a6fbba4 Mon Sep 17 00:00:00 2001 From: Scott Baker Date: Mon, 8 Dec 2014 23:54:18 -0800 Subject: [PATCH] readonly fields, wip --- .../core/xoslib/static/js/xoslib/xos-backbone.js | 12 ++++-------- .../core/xoslib/static/js/xoslib/xosHelper.js | 11 +++++++++-- planetstack/core/xoslib/templates/xosAdmin.html | 14 +++++++++----- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js b/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js index f24bcbc..f02aed8 100644 --- a/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js +++ b/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js @@ -320,13 +320,9 @@ if (! window.XOSLIB_LOADED ) { attrs.addFields = attrs.detailFields; } - if (!attrs.inputType) { - attrs.inputType = {}; - } - - if (!attrs.foreignFields) { - attrs.foreignFields = {}; - } + attrs.inputType = attrs.inputType || {}; + attrs.foreignFields = attrs.foreignFields || {}; + attrs.readOnlyFields = attrs.readOnlyFields || []; if (!attrs.collectionName) { attrs.collectionName = modelName + "s"; @@ -342,7 +338,7 @@ if (! window.XOSLIB_LOADED ) { modelAttrs[key] = value; collectionAttrs[key] = value; } - if ($.inArray(key, ["validate", "preSave"])) { + if ($.inArray(key, ["validate", "preSave", "readOnlyFields"])) { modelAttrs[key] = value; } } diff --git a/planetstack/core/xoslib/static/js/xoslib/xosHelper.js b/planetstack/core/xoslib/static/js/xoslib/xosHelper.js index 3205598..9e69aa7 100644 --- a/planetstack/core/xoslib/static/js/xoslib/xosHelper.js +++ b/planetstack/core/xoslib/static/js/xoslib/xosHelper.js @@ -142,6 +142,7 @@ XOSApplication = Marionette.Application.extend({ console.log(parent_id); model = new xos[collection_name].model(); model.attributes[parent_fieldName] = parent_id; + model.readOnlyFields.push(parent_fieldName); console.log(model); detailViewClass = app[addChildName]; var detailView = new detailViewClass({model: model, collection:xos[collection_name]}); @@ -672,10 +673,16 @@ idToOptions = function(selectedId, collectionName, fieldName) { fieldName = name of field within models of collection that will be displayed */ -idToSelect = function(variable, selectedId, collectionName, fieldName) { - result = '' + idToOptions(selectedId, collectionName, fieldName) + ''; + console.log(result); return result; } diff --git a/planetstack/core/xoslib/templates/xosAdmin.html b/planetstack/core/xoslib/templates/xosAdmin.html index a222889..3848fc0 100644 --- a/planetstack/core/xoslib/templates/xosAdmin.html +++ b/planetstack/core/xoslib/templates/xosAdmin.html @@ -89,7 +89,9 @@ + -- 2.43.0