filter complex data structure
Will be used for validation
by dfederighi
JavaScript
YUI().use('node', function(Y) {
var errors = ['Amount','ViewPassword'];
var data = [{
label: 'Basics',
contents: [{
label: 'Sort',
name: 'Sorting',
type: 'select'
},
{
label: 'Amount',
name: 'Amount',
type: 'text'
},
{
label: 'Sigma',
name: 'UnsharpSigma',
type: 'text'
}]
},
{
label: 'Privacy',
contents: [{
label: 'Right-Click Protected',
name: 'Protected',
type: 'toggle'
},
{
label: 'Choose Watermark',
name: 'WatermarkID',
type: 'select'
},
{
label: 'Web Searchable',
name: 'WorldSearchable',
type: 'toggle'
},
{
label: 'Password',
name: 'ViewPassword',
type: 'text'
}]
}];
var errorsFound = {};
Y.Array.each(data, function(item, index) {
var label = item.label;
itemErrors = item.contents.filter(function(content) {
return errors.indexOf(content.name) != -1
});
if (itemErrors.length > 0) {
errorsFound[label] = true;
}
});
console.log('errorsFound:', errorsFound);
});