Converting methods into properties where possible/reasonable
This commit is contained in:
parent
4af524112e
commit
e362a54551
@ -4,25 +4,17 @@ export default {
|
||||
type: 'charset',
|
||||
|
||||
_render() {
|
||||
var elements = _.unique(this.parts.elements, part => {
|
||||
if (part.literal) {
|
||||
return part.literal.textValue;
|
||||
} else {
|
||||
return part.textValue;
|
||||
}
|
||||
});
|
||||
|
||||
this.partContainer = this.container.group();
|
||||
|
||||
return Q.all(_.map(elements, part => {
|
||||
return Q.all(_.map(this.elements, part => {
|
||||
return part.render(this.partContainer.group());
|
||||
}))
|
||||
.then(() => {
|
||||
this.spaceVertically(elements, {
|
||||
this.spaceVertically(this.elements, {
|
||||
padding: 5
|
||||
});
|
||||
|
||||
return this.renderLabeledBox(this.invert() ? 'None of:' : 'One of:', this.partContainer, {
|
||||
return this.renderLabeledBox(this.invert ? 'None of:' : 'One of:', this.partContainer, {
|
||||
padding: 5
|
||||
});
|
||||
});
|
||||
@ -40,7 +32,14 @@ export default {
|
||||
};
|
||||
},
|
||||
|
||||
invert() {
|
||||
return this._invert.textValue !== '';
|
||||
setup() {
|
||||
this.invert = this.properties.invert !== '';
|
||||
this.elements = _.unique(this.properties.parts.elements, part => {
|
||||
if (part.literal) {
|
||||
return part.literal.textValue;
|
||||
} else {
|
||||
return part.textValue;
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
@ -19,5 +19,10 @@ export default {
|
||||
.then(this.spaceHorizontally.bind(this, contents, {
|
||||
padding: 5
|
||||
}));
|
||||
},
|
||||
|
||||
setup() {
|
||||
this.first = this.properties.first;
|
||||
this.last = this.properties.last;
|
||||
}
|
||||
};
|
||||
|
@ -3,16 +3,8 @@ import _ from 'lodash';
|
||||
export default {
|
||||
type: 'escape',
|
||||
|
||||
code() {
|
||||
return this.esc.code.textValue;
|
||||
},
|
||||
|
||||
arg() {
|
||||
return this.esc.arg.textValue;
|
||||
},
|
||||
|
||||
_render() {
|
||||
return this.renderLabel(_.result(this, this.code()))
|
||||
return this.renderLabel(_.result(this, this.code))
|
||||
.then(label => {
|
||||
label.select('rect').attr({
|
||||
rx: 3,
|
||||
@ -21,6 +13,11 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
setup() {
|
||||
this.code = this.properties.esc.properties.code.textValue;
|
||||
this.arg = this.properties.esc.properties.arg.textValue;
|
||||
},
|
||||
|
||||
// Escape code mappings
|
||||
b: 'word boundary',
|
||||
B: 'non-word boundary',
|
||||
@ -45,21 +42,19 @@ export default {
|
||||
8: 'Back reference (group = 8)',
|
||||
9: 'Back reference (group = 9)',
|
||||
0() {
|
||||
var arg = this.arg();
|
||||
|
||||
if (arg) {
|
||||
return 'octal: ' + arg;
|
||||
if (this.arg) {
|
||||
return 'octal: ' + this.arg;
|
||||
} else {
|
||||
return 'null';
|
||||
}
|
||||
},
|
||||
c() {
|
||||
return 'ctrl-' + this.arg();
|
||||
return 'ctrl-' + this.arg;
|
||||
},
|
||||
x() {
|
||||
return '0x' + this.arg().toUpperCase();
|
||||
return '0x' + this.arg.toUpperCase();
|
||||
},
|
||||
u() {
|
||||
return 'U+' + this.arg().toUpperCase();
|
||||
return 'U+' + this.arg.toUpperCase();
|
||||
}
|
||||
};
|
||||
|
@ -1,25 +1,25 @@
|
||||
grammar JavascriptRegexp
|
||||
root <- ( ( "/" regexp "/" _flags:[igm]* ) / regexp ""? ) <Root>
|
||||
regexp <- _match:match _alternates:( "|" match )* <Regexp>
|
||||
match <- _anchor_start:anchor_start?
|
||||
(!repeat) _parts:match_fragment*
|
||||
_anchor_end:anchor_end? <Match>
|
||||
match_fragment <- _content:( subexp / charset / terminal ) _repeat:repeat? <MatchFragment>
|
||||
root <- ( ( "/" regexp "/" flags:[igm]* ) / regexp ""? ) <Root>
|
||||
regexp <- match:match alternates:( "|" match )* <Regexp>
|
||||
match <- anchor_start:anchor_start?
|
||||
(!repeat) parts:match_fragment*
|
||||
anchor_end:anchor_end? <Match>
|
||||
match_fragment <- content:( subexp / charset / terminal ) repeat:repeat? <MatchFragment>
|
||||
anchor_start <- "^"
|
||||
anchor_end <- "$"
|
||||
repeat <- _spec:( repeat_any / repeat_required / repeat_optional / repeat_spec ) _greedy:repeat_greedy? <Repeat>
|
||||
repeat <- spec:( repeat_any / repeat_required / repeat_optional / repeat_spec ) greedy:repeat_greedy? <Repeat>
|
||||
repeat_any <- "*" <RepeatAny>
|
||||
repeat_required <- "+" <RepeatRequired>
|
||||
repeat_optional <- "?" <RepeatOptional>
|
||||
repeat_spec <- ( "{" _min:[0-9]+ "," _max:[0-9]+ "}"
|
||||
/ "{" _min:[0-9]+ ",}"
|
||||
/ "{" _exact:[0-9]+ "}" ) <RepeatSpec>
|
||||
repeat_spec <- ( "{" min:[0-9]+ "," max:[0-9]+ "}"
|
||||
/ "{" min:[0-9]+ ",}"
|
||||
/ "{" exact:[0-9]+ "}" ) <RepeatSpec>
|
||||
repeat_greedy <- "?"
|
||||
subexp <- "(" _capture:( subexp_no_capture / subexp_positive_lookahead / subexp_negative_lookahead )? regexp ")" <Subexp>
|
||||
subexp <- "(" capture:( subexp_no_capture / subexp_positive_lookahead / subexp_negative_lookahead )? regexp ")" <Subexp>
|
||||
subexp_no_capture <- "?:"
|
||||
subexp_positive_lookahead <- "?="
|
||||
subexp_negative_lookahead <- "?!"
|
||||
charset <- "[" _invert:"^"? parts:( charset_range / charset_terminal )* "]" <Charset>
|
||||
charset <- "[" invert:"^"? parts:( charset_range / charset_terminal )* "]" <Charset>
|
||||
charset_range <- first:charset_terminal "-" last:charset_terminal <CharsetRange>
|
||||
charset_terminal <- charset_escape <CharsetEscape>
|
||||
/ charset_literal <CharsetLiteral>
|
||||
|
@ -16,5 +16,9 @@ export default {
|
||||
ry: 3
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
setup() {
|
||||
this.literal = this.properties.literal;
|
||||
}
|
||||
};
|
||||
|
@ -6,21 +6,20 @@ export default {
|
||||
|
||||
_render() {
|
||||
var start, end,
|
||||
parts = this.parts(),
|
||||
partPromises;
|
||||
|
||||
if (this.anchorStart()) {
|
||||
if (this.anchorStart) {
|
||||
start = this.renderLabel('Start of line')
|
||||
.invoke('addClass', 'anchor');
|
||||
}
|
||||
|
||||
if (this.anchorEnd()) {
|
||||
if (this.anchorEnd) {
|
||||
end = this.renderLabel('End of line')
|
||||
.invoke('addClass', 'anchor');
|
||||
}
|
||||
|
||||
if (start || end || parts.length !== 1) {
|
||||
partPromises = _.map(parts, part => {
|
||||
if (start || end || this.parts.length !== 1) {
|
||||
partPromises = _.map(this.parts, part => {
|
||||
return part.render(this.container.group());
|
||||
});
|
||||
|
||||
@ -48,34 +47,10 @@ export default {
|
||||
this.container.path(paths.join('')));
|
||||
});
|
||||
} else {
|
||||
return this.proxy(parts[0]);
|
||||
return this.proxy(this.parts[0]);
|
||||
}
|
||||
},
|
||||
|
||||
anchorStart() {
|
||||
return this._anchor_start.textValue !== '';
|
||||
},
|
||||
|
||||
anchorEnd() {
|
||||
return this._anchor_end.textValue !== '';
|
||||
},
|
||||
|
||||
parts() {
|
||||
return _.reduce(this._parts.elements, function(result, node) {
|
||||
var last = _.last(result);
|
||||
|
||||
if (last && node.elements[0].type === 'literal' && node.elements[1].textValue === '' && last.elements[0].type === 'literal' && last.elements[1].textValue === '') {
|
||||
last.textValue += node.textValue;
|
||||
last.elements[0].textValue += node.elements[0].textValue;
|
||||
last.elements[0].literal.textValue += node.elements[0].literal.textValue;
|
||||
} else {
|
||||
result.push(node);
|
||||
}
|
||||
|
||||
return result;
|
||||
}, []);
|
||||
},
|
||||
|
||||
_getAnchor() {
|
||||
var start = this.normalizeBBox(_.first(this.items).getBBox()),
|
||||
end = this.normalizeBBox(_.last(this.items).getBBox()),
|
||||
@ -87,5 +62,24 @@ export default {
|
||||
ax2: matrix.x(end.ax2, end.ay),
|
||||
ay: matrix.y(start.ax, start.ay)
|
||||
};
|
||||
},
|
||||
|
||||
setup() {
|
||||
this.parts = _.reduce(this.properties.parts.elements, function(result, node) {
|
||||
var last = _.last(result);
|
||||
|
||||
if (last && node.elements[0].type === 'literal' && node.elements[1].textValue === '' && last.elements[0].type === 'literal' && last.elements[1].textValue === '') {
|
||||
last.textValue += node.textValue;
|
||||
last.elements[0].textValue += node.elements[0].textValue;
|
||||
last.elements[0].literal.textValue += node.elements[0].literal.textValue;
|
||||
} else {
|
||||
result.push(node);
|
||||
}
|
||||
|
||||
return result;
|
||||
}, []);
|
||||
|
||||
this.anchorStart = this.properties.anchor_start.textValue !== '';
|
||||
this.anchorEnd = this.properties.anchor_end.textValue !== '';
|
||||
}
|
||||
};
|
||||
|
@ -4,34 +4,34 @@ export default {
|
||||
type: 'match-fragment',
|
||||
|
||||
_render() {
|
||||
if (this._repeat.textValue === '') {
|
||||
return this.proxy(this._content);
|
||||
if (!this.repeat) {
|
||||
return this.proxy(this.content);
|
||||
} else {
|
||||
return this._content.render(this.container.group())
|
||||
return this.content.render(this.container.group())
|
||||
.then(() => {
|
||||
var box, paths = [];
|
||||
|
||||
this._content.transform(this._repeat.contentPosition());
|
||||
this.content.transform(this.repeat.contentPosition);
|
||||
|
||||
box = this._content.getBBox();
|
||||
box = this.content.getBBox();
|
||||
|
||||
if (this._repeat.hasSkip()) {
|
||||
if (this.repeat.hasSkip) {
|
||||
let vert = Math.max(0, box.ay - box.y - 10),
|
||||
horiz = box.width - 10;
|
||||
|
||||
paths.push(`M0,${box.ay}q10,0 10,-10v${-vert}q0,-10 10,-10h${horiz}q10,0 10,10v${vert}q0,10 10,10`);
|
||||
|
||||
if (!this._repeat.greedy()) {
|
||||
if (!this.repeat.greedy) {
|
||||
paths.push(`M10,${box.ay - 15}l5,5m-5,-5l-5,5`);
|
||||
}
|
||||
}
|
||||
|
||||
if (this._repeat.hasLoop()) {
|
||||
if (this.repeat.hasLoop) {
|
||||
let vert = box.y2 - box.ay - 10;
|
||||
|
||||
paths.push(`M${box.x},${box.ay}q-10,0 -10,10v${vert}q0,10 10,10h${box.width}q10,0 10,-10v${-vert}q0,-10 -10,-10`);
|
||||
|
||||
if (this._repeat.greedy()) {
|
||||
if (this.repeat.greedy) {
|
||||
paths.push(`M${box.x2 + 10},${box.ay + 15}l5,-5m-5,5l-5,-5`);
|
||||
}
|
||||
}
|
||||
@ -42,10 +42,10 @@ export default {
|
||||
}
|
||||
})
|
||||
.then(() => {
|
||||
var labelStr = this._repeat.label(),
|
||||
var labelStr = this.repeat.label,
|
||||
label,
|
||||
labelBox,
|
||||
labelShift = (this._repeat.hasSkip() ? 5 : 0),
|
||||
labelShift = (this.repeat.hasSkip ? 5 : 0),
|
||||
box = this.getBBox();
|
||||
|
||||
if (labelStr) {
|
||||
@ -60,7 +60,7 @@ export default {
|
||||
},
|
||||
|
||||
_getAnchor() {
|
||||
var anchor = this._content.getAnchor(),
|
||||
var anchor = this.content.getAnchor(),
|
||||
matrix = this.transform().localMatrix;
|
||||
|
||||
return _.extend(anchor, {
|
||||
@ -68,5 +68,13 @@ export default {
|
||||
ax2: matrix.x(anchor.ax2, anchor.ay),
|
||||
ay: matrix.y(anchor.ax, anchor.ay)
|
||||
});
|
||||
},
|
||||
|
||||
setup() {
|
||||
this.content = this.properties.content;
|
||||
|
||||
if (this.properties.repeat.textValue !== '') {
|
||||
this.repeat = this.properties.repeat;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -11,20 +11,6 @@ export default class Node {
|
||||
this.elements = elements || [];
|
||||
|
||||
this.properties = properties;
|
||||
|
||||
// TEMPORARY
|
||||
_.forOwn(this.properties, (_, key) => {
|
||||
Object.defineProperty(this, key, {
|
||||
get: function() {
|
||||
return this.properties[key];
|
||||
},
|
||||
|
||||
set: function(value) {
|
||||
this.properties[key] = value;
|
||||
}
|
||||
});
|
||||
});
|
||||
// /TEMPORARY
|
||||
}
|
||||
|
||||
set module(mod) {
|
||||
|
@ -5,39 +5,38 @@ export default {
|
||||
type: 'regexp',
|
||||
|
||||
_render() {
|
||||
var matches = this.matches(),
|
||||
matchContainer;
|
||||
var matchContainer;
|
||||
|
||||
if (matches.length === 1) {
|
||||
return this.proxy(matches[0]);
|
||||
if (this.matches.length === 1) {
|
||||
return this.proxy(this.matches[0]);
|
||||
} else {
|
||||
matchContainer = this.container.group()
|
||||
.addClass('regexp-matches')
|
||||
.transform(Snap.matrix()
|
||||
.translate(20, 0));
|
||||
|
||||
return Q.all(_.map(matches, match => {
|
||||
return Q.all(_.map(this.matches, match => {
|
||||
return match.render(matchContainer.group());
|
||||
}))
|
||||
.then(() => {
|
||||
var containerBox,
|
||||
paths;
|
||||
|
||||
this.spaceVertically(matches, {
|
||||
this.spaceVertically(this.matches, {
|
||||
padding: 5
|
||||
});
|
||||
|
||||
containerBox = this.getBBox();
|
||||
paths = _.map(matches, this.makeConnectorLine.bind(this, containerBox));
|
||||
paths = _.map(this.matches, this.makeConnectorLine.bind(this, containerBox));
|
||||
|
||||
paths.push(this.makeSideLine(containerBox, _.first(matches)));
|
||||
paths.push(this.makeSideLine(containerBox, _.last(matches)));
|
||||
paths.push(this.makeSideLine(containerBox, _.first(this.matches)));
|
||||
paths.push(this.makeSideLine(containerBox, _.last(this.matches)));
|
||||
|
||||
this.container.prepend(
|
||||
this.container.path(paths.join('')));
|
||||
|
||||
matchContainer.prepend(
|
||||
matchContainer.path(_.map(matches, match => {
|
||||
matchContainer.path(_.map(this.matches, match => {
|
||||
var box = match.getBBox(),
|
||||
container = matchContainer.getBBox();
|
||||
|
||||
@ -87,7 +86,10 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
matches() {
|
||||
return [this._match].concat(_.map(this._alternates.elements, _.property('match')));
|
||||
setup() {
|
||||
this.matches = [this.properties.match]
|
||||
.concat(_.map(this.properties.alternates.elements, element => {
|
||||
return element.properties.match;
|
||||
}));
|
||||
}
|
||||
};
|
||||
|
@ -1,60 +1,50 @@
|
||||
export default {
|
||||
minimum() {
|
||||
return this._spec.minimum();
|
||||
},
|
||||
|
||||
maximum() {
|
||||
return this._spec.maximum();
|
||||
},
|
||||
|
||||
greedy() {
|
||||
return (this._greedy.textValue === '');
|
||||
},
|
||||
|
||||
hasSkip() {
|
||||
return this.minimum() === 0;
|
||||
},
|
||||
|
||||
hasLoop() {
|
||||
return this.maximum() === -1 || this.maximum() > 1;
|
||||
},
|
||||
|
||||
contentPosition() {
|
||||
var x = 0, y = 0;
|
||||
|
||||
if (this.hasLoop()) {
|
||||
x = 10;
|
||||
}
|
||||
|
||||
if (this.hasSkip()) {
|
||||
y = 10;
|
||||
x = 15;
|
||||
}
|
||||
|
||||
return Snap.matrix().translate(x, y);
|
||||
},
|
||||
|
||||
label() {
|
||||
var maximum = this.maximum(),
|
||||
minimum = this.minimum(),
|
||||
formatTimes = times => {
|
||||
function formatTimes(times) {
|
||||
if (times === 1) {
|
||||
return 'once';
|
||||
} else {
|
||||
return `${times} times`;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
if (minimum >= 2 && maximum === -1) {
|
||||
return `${minimum - 1}+ times`;
|
||||
} else if (minimum <= 1 && maximum >= 2) {
|
||||
return `at most ${formatTimes(maximum - 1)}`;
|
||||
} else if (minimum >= 2 && maximum >= 2) {
|
||||
if (minimum === maximum) {
|
||||
return formatTimes(minimum - 1);
|
||||
export default {
|
||||
setup() {
|
||||
this.minimum = this.properties.spec.minimum;
|
||||
this.maximum = this.properties.spec.maximum;
|
||||
this.greedy = (this.properties.greedy.textValue === '');
|
||||
this.hasSkip = this.minimum === 0;
|
||||
this.hasLoop = this.maximum === -1 || this.maximum > 1;
|
||||
|
||||
Object.defineProperty(this, 'contentPosition', {
|
||||
get: function() {
|
||||
var x = 0, y = 0;
|
||||
|
||||
if (this.hasLoop) {
|
||||
x = 10;
|
||||
}
|
||||
|
||||
if (this.hasSkip) {
|
||||
y = 10;
|
||||
x = 15;
|
||||
}
|
||||
|
||||
return Snap.matrix().translate(x, y);
|
||||
}
|
||||
});
|
||||
|
||||
Object.defineProperty(this, 'label', {
|
||||
get: function() {
|
||||
if (this.minimum >= 2 && this.maximum === -1) {
|
||||
return `${this.minimum - 1}+ times`;
|
||||
} else if (this.minimum <= 1 && this.maximum >= 2) {
|
||||
return `at most ${formatTimes(this.maximum - 1)}`;
|
||||
} else if (this.minimum >= 2 && this.maximum >= 2) {
|
||||
if (this.minimum === this.maximum) {
|
||||
return formatTimes(this.minimum - 1);
|
||||
} else {
|
||||
return `${minimum - 1}...${formatTimes(maximum - 1)}`;
|
||||
return `${this.minimum - 1}...${formatTimes(this.maximum - 1)}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,6 @@
|
||||
export default {
|
||||
minimum() {
|
||||
return 0;
|
||||
},
|
||||
|
||||
maximum() {
|
||||
return -1;
|
||||
setup() {
|
||||
this.minimum = 0;
|
||||
this.maximum = -1;
|
||||
}
|
||||
};
|
||||
|
@ -1,9 +1,6 @@
|
||||
export default {
|
||||
minimum() {
|
||||
return 0;
|
||||
},
|
||||
|
||||
maximum() {
|
||||
return 1;
|
||||
setup() {
|
||||
this.minimum = 0;
|
||||
this.maximum = 1;
|
||||
}
|
||||
};
|
||||
|
@ -1,9 +1,6 @@
|
||||
export default {
|
||||
minimum() {
|
||||
return 1;
|
||||
},
|
||||
|
||||
maximum() {
|
||||
return -1;
|
||||
setup() {
|
||||
this.minimum = 1;
|
||||
this.maximum = -1;
|
||||
}
|
||||
};
|
||||
|
@ -1,21 +1,19 @@
|
||||
export default {
|
||||
minimum() {
|
||||
if (this._min) {
|
||||
return Number(this._min.textValue);
|
||||
} else if (this._exact) {
|
||||
return Number(this._exact.textValue);
|
||||
setup() {
|
||||
if (this.properties.min) {
|
||||
this.minimum = Number(this.properties.min.textValue);
|
||||
} else if (this.properties.exact) {
|
||||
this.minimum = Number(this.properties.exact.textValue);
|
||||
} else {
|
||||
return 0;
|
||||
this.minimum = 0;
|
||||
}
|
||||
},
|
||||
|
||||
maximum() {
|
||||
if (this._max) {
|
||||
return Number(this._max.textValue);
|
||||
} else if (this._exact) {
|
||||
return Number(this._exact.textValue);
|
||||
if (this.properties.max) {
|
||||
this.maximum = Number(this.properties.max.textValue);
|
||||
} else if (this.properties.exact) {
|
||||
this.maximum = Number(this.properties.exact.textValue);
|
||||
} else {
|
||||
return -1;
|
||||
this.maximum = -1;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -4,16 +4,15 @@ export default {
|
||||
type: 'root',
|
||||
|
||||
_render() {
|
||||
var flags = this.flags(),
|
||||
flagLabels = [];
|
||||
var flagLabels = [];
|
||||
|
||||
if (flags.global) {
|
||||
if (this.flags.global) {
|
||||
flagLabels.push('Global');
|
||||
}
|
||||
if (flags.ignore_case) {
|
||||
if (this.flags.ignore_case) {
|
||||
flagLabels.push('Ignore Case');
|
||||
}
|
||||
if (flags.multiline) {
|
||||
if (this.flags.multiline) {
|
||||
flagLabels.push('Multiline');
|
||||
}
|
||||
|
||||
@ -52,19 +51,21 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
flags() {
|
||||
var flags;
|
||||
setup() {
|
||||
var flagsStr;
|
||||
|
||||
if (this._flags) {
|
||||
flags = this._flags.textValue;
|
||||
if (this.flags) {
|
||||
flagsStr = this.flags.textValue;
|
||||
} else {
|
||||
flags = '';
|
||||
flagsStr = '';
|
||||
}
|
||||
|
||||
return {
|
||||
global: /g/.test(flags),
|
||||
ignore_case: /i/.test(flags),
|
||||
multiline: /m/.test(flags)
|
||||
this.flags = {
|
||||
global: /g/.test(flagsStr),
|
||||
ignore_case: /i/.test(flagsStr),
|
||||
multiline: /m/.test(flagsStr)
|
||||
};
|
||||
|
||||
this.regexp = this.properties.regexp
|
||||
}
|
||||
};
|
||||
|
@ -12,11 +12,9 @@ export default {
|
||||
},
|
||||
|
||||
_render() {
|
||||
var label = this.groupLabel();
|
||||
|
||||
if (label) {
|
||||
if (this.label) {
|
||||
return this.regexp.render(this.container.group())
|
||||
.then(this.renderLabeledBox.bind(this, label, this.regexp, {
|
||||
.then(this.renderLabeledBox.bind(this, this.label, this.regexp, {
|
||||
padding: 10
|
||||
}));
|
||||
} else {
|
||||
@ -24,14 +22,6 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
groupLabel() {
|
||||
if (_.has(this.labelMap, this._capture.textValue)) {
|
||||
return this.labelMap[this._capture.textValue];
|
||||
} else {
|
||||
return 'group #' + (groupCounter++);
|
||||
}
|
||||
},
|
||||
|
||||
resetCounter() {
|
||||
groupCounter = 1;
|
||||
},
|
||||
@ -45,5 +35,15 @@ export default {
|
||||
ax2: matrix.x(anchor.ax2, anchor.ay),
|
||||
ay: matrix.y(anchor.ax, anchor.ay)
|
||||
});
|
||||
},
|
||||
|
||||
setup() {
|
||||
if (_.has(this.labelMap, this.properties.capture.textValue)) {
|
||||
this.label = this.labelMap[this.properties.capture.textValue];
|
||||
} else {
|
||||
this.label = 'group #' + (groupCounter++);
|
||||
}
|
||||
|
||||
this.regexp = this.properties.regexp;
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user