}
},
_calculateAutoAllowedTags: function _calculateAutoAllowedTags(userAllowedTags, newFeatures) {
- var featureName = void 0;
- var feature = void 0;
- var featureRule = void 0;
- var filterRule = void 0;
- var tag = void 0;
var editorRequiredTags = {};
- for (featureName in newFeatures) {
- if (newFeatures.hasOwnProperty(featureName)) {
- feature = newFeatures[featureName];
- for (var f = 0; f < feature.length; f++) {
- featureRule = feature[f];
- for (var t = 0; t < featureRule.required.tags.length; t++) {
- tag = featureRule.required.tags[t];
- if (!_.has(editorRequiredTags, tag)) {
- filterRule = new Drupal.FilterHTMLRule();
- filterRule.restrictedTags.tags = [tag];
-
- filterRule.restrictedTags.allowed.attributes = featureRule.required.attributes.slice(0);
- filterRule.restrictedTags.allowed.classes = featureRule.required.classes.slice(0);
- editorRequiredTags[tag] = filterRule;
- } else {
- filterRule = editorRequiredTags[tag];
- filterRule.restrictedTags.allowed.attributes = _.union(filterRule.restrictedTags.allowed.attributes, featureRule.required.attributes);
- filterRule.restrictedTags.allowed.classes = _.union(filterRule.restrictedTags.allowed.classes, featureRule.required.classes);
- }
- }
+ Object.keys(newFeatures || {}).forEach(function (featureName) {
+ var feature = newFeatures[featureName];
+ var featureRule = void 0;
+ var filterRule = void 0;
+ var tag = void 0;
+
+ for (var f = 0; f < feature.length; f++) {
+ featureRule = feature[f];
+ for (var t = 0; t < featureRule.required.tags.length; t++) {
+ tag = featureRule.required.tags[t];
+ if (!_.has(editorRequiredTags, tag)) {
+ filterRule = new Drupal.FilterHTMLRule();
+ filterRule.restrictedTags.tags = [tag];
+
+ filterRule.restrictedTags.allowed.attributes = featureRule.required.attributes.slice(0);
+ filterRule.restrictedTags.allowed.classes = featureRule.required.classes.slice(0);
+ editorRequiredTags[tag] = filterRule;
+ } else {
+ filterRule = editorRequiredTags[tag];
+ filterRule.restrictedTags.allowed.attributes = _.union(filterRule.restrictedTags.allowed.attributes, featureRule.required.attributes);
+ filterRule.restrictedTags.allowed.classes = _.union(filterRule.restrictedTags.allowed.classes, featureRule.required.classes);
+ }
}
}
- }
+ });
var autoAllowedTags = {};
- for (tag in editorRequiredTags) {
+ Object.keys(editorRequiredTags).forEach(function (tag) {
if (!_.has(userAllowedTags, tag)) {
autoAllowedTags[tag] = editorRequiredTags[tag];
} else {
autoAllowedTags[tag].restrictedTags.allowed.classes = _.union(allowedClasses, requiredClasses);
}
}
- }
+ });
return autoAllowedTags;
},