Revert "Change filtering model again to allow more complex filters."
This reverts commit a49c9f6db8.
This commit is contained in:
@@ -293,6 +293,8 @@ mediawiki = rr.Parser({
|
|||||||
'main': rr.Node('wikidoc', rr.Sequence(
|
'main': rr.Node('wikidoc', rr.Sequence(
|
||||||
rr.ZeroOrMore(rr.Ref('paragraph')),
|
rr.ZeroOrMore(rr.Ref('paragraph')),
|
||||||
rr.EndOfText()))
|
rr.EndOfText()))
|
||||||
}, [
|
}, {
|
||||||
rr.SplitTagAndNest('bi', ['b', 'i'])
|
'bi': [
|
||||||
]);
|
rr.SplitTagAndNest('b', 'i')
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|||||||
@@ -726,18 +726,15 @@ rr.SingleLineText = function() {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} originalName
|
* @param {...string} var_args
|
||||||
* @param {Array.<string>} newNames
|
|
||||||
* @return {rr.typeFilter}
|
* @return {rr.typeFilter}
|
||||||
*/
|
*/
|
||||||
rr.SplitTagAndNest = function(originalName, newNames) {
|
rr.SplitTagAndNest = function(var_args) {
|
||||||
|
var hierarchy = Array.prototype.slice.call(arguments);
|
||||||
return function(node) {
|
return function(node) {
|
||||||
if (node.nodeName.toLowerCase() != originalName) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var outerNode, innerNode;
|
var outerNode, innerNode;
|
||||||
for (var i = 0; i < newNames.length; i++) {
|
for (var i = 0; i < hierarchy.length; i++) {
|
||||||
var newNode = document.createElement(newNames[i]);
|
var newNode = document.createElement(hierarchy[i]);
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
outerNode = innerNode = newNode;
|
outerNode = innerNode = newNode;
|
||||||
} else {
|
} else {
|
||||||
@@ -762,8 +759,9 @@ rr.SplitTagAndNest = function(originalName, newNames) {
|
|||||||
* @param {Object.<string, rr.typeFilter>} filters
|
* @param {Object.<string, rr.typeFilter>} filters
|
||||||
*/
|
*/
|
||||||
rr.ApplyFilters = function(node, filters) {
|
rr.ApplyFilters = function(node, filters) {
|
||||||
for (var i = 0; i < filters.length; i++) {
|
var nodeFilters = filters[node.nodeName.toLowerCase()] || [];
|
||||||
filters[i](node);
|
for (var i = 0; i < nodeFilters.length; i++) {
|
||||||
|
nodeFilters[i](node);
|
||||||
}
|
}
|
||||||
for (var i = 0; i < node.childNodes.length; i++) {
|
for (var i = 0; i < node.childNodes.length; i++) {
|
||||||
rr.ApplyFilters(node.childNodes[i], filters);
|
rr.ApplyFilters(node.childNodes[i], filters);
|
||||||
|
|||||||
Reference in New Issue
Block a user