/**
* A custom binding used to add domData to template field
* @module app/custom_bindings/dataField
* @requires knockout
* @requires ko-mapping
*/
define(['knockout', 'ko-mapping'], function(ko, mapping) {
ko.bindingHandlers.dataField = {
init: function(el, valAccessor, allBindings, viewModel, bindingContext) {
var field = valAccessor(),
data = field.constructor.name === 'Field' ? field : mapping.toJS(field);
ko.utils.domData.set(el, 'field', data);
}
};
});