From 92b7e4d845b9006f3adaef0be291d6fd5181e63c Mon Sep 17 00:00:00 2001 From: Ryan Eastridge Date: Wed, 26 Dec 2012 13:09:31 -0800 Subject: [PATCH] Add defaultOptions spec option --- src/collection.js | 6 ++++++ src/data-object.js | 9 ++------- src/model.js | 6 ++++++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/collection.js b/src/collection.js index 88d0e6fe..c8be7911 100644 --- a/src/collection.js +++ b/src/collection.js @@ -45,6 +45,12 @@ dataObject('collection', { bind: 'bindCollection', unbind: 'unbindCollection', options: '_setCollectionOptions', + defaultOptions: { + render: true, + fetch: true, + success: false, + errors: true + }, change: '_onCollectionReset', $el: 'getCollectionElement', cidAttrName: collectionCidAttributeName diff --git a/src/data-object.js b/src/data-object.js index 8d6cfa10..6b8b237e 100644 --- a/src/data-object.js +++ b/src/data-object.js @@ -67,14 +67,9 @@ function dataObject(type, spec) { function objectOptions(dataObject, options) { if (!this._objectOptionsByCid[dataObject.cid]) { - this._objectOptionsByCid[dataObject.cid] = { - render: true, - fetch: true, - success: false, - errors: true - }; + this._objectOptionsByCid[dataObject.cid] = {}; } - _.extend(this._objectOptionsByCid[dataObject.cid], options || {}); + _.extend(this._objectOptionsByCid[dataObject.cid], spec.defaultOptions, options); return this._objectOptionsByCid[dataObject.cid]; } diff --git a/src/model.js b/src/model.js index b04cd0b9..41c271a9 100644 --- a/src/model.js +++ b/src/model.js @@ -30,6 +30,12 @@ dataObject('model', { bind: 'bindModel', unbind: 'unbindModel', options: '_setModelOptions', + defaultOptions: { + render: true, + fetch: true, + success: false, + errors: true + }, change: '_onModelChange', $el: '$el', cidAttrName: modelCidAttributeName