X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Ffilter%2Ffilter.filter_html.admin.js;fp=web%2Fcore%2Fmodules%2Ffilter%2Ffilter.filter_html.admin.js;h=5f4c6ef9fad351c9f98aa9d617b364c96f368e75;hp=773f35a9d8405442fdeb2ccb2eb6e9486d9b4e2a;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/web/core/modules/filter/filter.filter_html.admin.js b/web/core/modules/filter/filter.filter_html.admin.js index 773f35a9d..5f4c6ef9f 100644 --- a/web/core/modules/filter/filter.filter_html.admin.js +++ b/web/core/modules/filter/filter.filter_html.admin.js @@ -74,39 +74,36 @@ } }, _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 { @@ -126,7 +123,7 @@ autoAllowedTags[tag].restrictedTags.allowed.classes = _.union(allowedClasses, requiredClasses); } } - } + }); return autoAllowedTags; },