Skip to content

Commit

Permalink
GPII-114, FLUID-4582: updated the model transformation framework to u…
Browse files Browse the repository at this point in the history
…se new definitions from databindings. Moved definitions of escaped[S,G]etConfig to below the pathUtil.parseEL definitions
  • Loading branch information
kaspermarkus committed Jun 25, 2013
1 parent 82d975a commit 48db399
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 43 deletions.
53 changes: 25 additions & 28 deletions src/webapp/framework/core/js/DataBinding.js
Expand Up @@ -105,33 +105,6 @@ var fluid_1_5 = fluid_1_5 || {};
}
};


fluid.model.defaultGetConfig = {
strategies: [fluid.model.funcResolverStrategy, fluid.model.defaultFetchStrategy]
};

fluid.model.defaultSetConfig = {
strategies: [fluid.model.funcResolverStrategy, fluid.model.defaultFetchStrategy, fluid.model.defaultCreatorStrategy]
};

// TODO: When FLUID-4852 is fixed, remove these definitions:
// fluid.model.escapedGetConfig and fluid.model.escapedSetConfig
fluid.model.escapedGetConfig = {
parser: {
parse: fluid.pathUtil.parseEL,
compose: fluid.pathUtil.composePath
},
strategies: [fluid.model.defaultFetchStrategy]
};

fluid.model.escapedSetConfig = {
parser: {
parse: fluid.pathUtil.parseEL,
compose: fluid.pathUtil.composePath
},
strategies: [fluid.model.defaultFetchStrategy, fluid.model.defaultCreatorStrategy]
};

// unsupported, NON-API function
fluid.model.traverseWithStrategy = function (root, segs, initPos, config, uncess) {
var strategies = config.strategies;
Expand Down Expand Up @@ -431,7 +404,31 @@ var fluid_1_5 = fluid_1_5 || {};
}
}
};


fluid.model.defaultGetConfig = {
strategies: [fluid.model.funcResolverStrategy, fluid.model.defaultFetchStrategy]
};

fluid.model.defaultSetConfig = {
strategies: [fluid.model.funcResolverStrategy, fluid.model.defaultFetchStrategy, fluid.model.defaultCreatorStrategy]
};

fluid.model.escapedGetConfig = {
parser: {
parse: fluid.pathUtil.parseEL,
compose: fluid.pathUtil.composePath
},
strategies: [fluid.model.defaultFetchStrategy]
};

fluid.model.escapedSetConfig = {
parser: {
parse: fluid.pathUtil.parseEL,
compose: fluid.pathUtil.composePath
},
strategies: [fluid.model.defaultFetchStrategy, fluid.model.defaultCreatorStrategy]
};

/** Add a listener to a ChangeApplier event that only acts in the case the event
* has not come from the specified source (typically ourself)
* @param modelEvent An model event held by a changeApplier (typically applier.modelChanged)
Expand Down
23 changes: 8 additions & 15 deletions src/webapp/framework/core/js/ModelTransformations.js
Expand Up @@ -655,20 +655,14 @@ var fluid = fluid || fluid_1_5;
*/
fluid.model.transformWithRules = function (source, rules, options) {
options = options || {};
var parser = {
parse: fluid.pathUtil.parseEL,
compose: fluid.pathUtil.composePath
};
var getConfig = {
parser: parser,
strategies: [fluid.model.defaultFetchStrategy]
};

var getConfig = fluid.model.escapedGetConfig;

var schemaStrategy = fluid.model.transform.decodeStrategy(source, options, getConfig);
var setConfig = {
parser: parser,
strategies: [fluid.model.defaultFetchStrategy, schemaStrategy ? fluid.model.transform.schemaToCreatorStrategy(schemaStrategy)
: fluid.model.defaultCreatorStrategy]
};
var setConfig = fluid.copy(fluid.model.escapedSetConfig);
setConfig.strategies = [fluid.model.defaultFetchStrategy, schemaStrategy ? fluid.model.transform.schemaToCreatorStrategy(schemaStrategy)
: fluid.model.defaultCreatorStrategy];

var expander = {
source: source,
target: schemaStrategy ? fluid.model.transform.defaultSchemaValue(schemaStrategy(null, "", 0, [""])) : {},
Expand All @@ -693,8 +687,7 @@ var fluid = fluid || fluid_1_5;
fluid.model.transform.expandWildcards(expander, source);
}
fluid.model.fireSortedChanges(expander.queuedChanges, expander.finalApplier);
return expander.target;

return expander.target;
};

$.extend(fluid.model.transformWithRules, fluid.model.transform);
Expand Down

0 comments on commit 48db399

Please sign in to comment.