Only send settings that are actually in the config back to the watch

This commit is contained in:
Keegan
2016-05-29 11:38:00 -07:00
parent 1af2b39db1
commit 32e192e938
2 changed files with 23 additions and 0 deletions
+3
View File
@@ -184,6 +184,9 @@ function ClayConfig(settings, config, $rootContainer, meta) {
*/
self.serialize = function() {
_checkBuilt('serialize');
_settings = {};
_.eachObj(_itemsByAppKey, function(appKey, item) {
_settings[appKey] = {
value: item.get()
+20
View File
@@ -159,6 +159,26 @@ describe('ClayConfig', function() {
fixtures.clayConfig(config, true, true, loadedSettings);
});
});
it('only returns the settings present in the config', function() {
var config = [
{type: 'input', appKey: 'test1', defaultValue: 'default val'},
{type: 'select', appKey: 'test2', options: [
{label: 'label-1', value: 'val-1'},
{label: 'label-2', value: 'val-2'}
]}
];
var settings = {
test2: 'val-2',
notInTheConfig: 'Should not exist'
};
var clayConfig = fixtures.clayConfig(config, true, true, settings);
assert.deepEqual(clayConfig.serialize(), {
test1: {value: 'default val'},
test2: {value: 'val-2'}
});
});
});
describe('.registerComponent()', function() {