Skip to content

Instantly share code, notes, and snippets.

@0xae
Created March 24, 2015 09:51
Show Gist options
  • Save 0xae/9cccb9e314761e6a82ce to your computer and use it in GitHub Desktop.
Save 0xae/9cccb9e314761e6a82ce to your computer and use it in GitHub Desktop.
MapAttrsToGroups : function (section) {
var defer = $q.defer();
var merged = [];
var cache_groups = {};
var elements = section.attr.elements;
for (var i = 0; i < elements.length; i++) {
var field = elements[i];
if (!field.attr.group.id) {
merged.push(field);
} else {
var group = field.attr.group;
var id = group.id;
var groupAttr = cache_groups[id];
if (!groupAttr) {
groupAttr = cache_groups[id] = _getGroupAttr(group);
merged.push(groupAttr);
}
field.attr.group = "";
if (groupAttr.el == "group_matrix" || groupAttr.el == "group_list"){
groupAttr.attr.forms.push(field);
} else if (groupAttr.el == "group") {
groupAttr.attr.childs.push(field);
}
if(groupAttr.el == "group_matrix"){
groupAttr.attr.output.push(angular.copy(field));
}
}
};
section.attr.elements = merged;
defer.resolve(section);
return defer.promise;
},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment