Refactoring code for escape display
This commit is contained in:
parent
cd279d3a80
commit
3bbd55c36a
@ -4,7 +4,5 @@ import Escape from './escape.js';
|
|||||||
export default _.extend({}, Escape, {
|
export default _.extend({}, Escape, {
|
||||||
type: 'charset_escape',
|
type: 'charset_escape',
|
||||||
|
|
||||||
codeMap: _.extend({}, Escape.codeMap, {
|
b: 'backspace'
|
||||||
b: 'backspace'
|
|
||||||
})
|
|
||||||
});
|
});
|
||||||
|
@ -4,61 +4,64 @@ import Base from './base.js';
|
|||||||
export default _.extend({}, Base, {
|
export default _.extend({}, Base, {
|
||||||
type: 'escape',
|
type: 'escape',
|
||||||
|
|
||||||
codeMap: {
|
code() {
|
||||||
b: 'word boundary',
|
return this.esc.code.textValue;
|
||||||
B: 'non-word boundary',
|
},
|
||||||
d: 'digit',
|
|
||||||
D: 'non-digit',
|
arg() {
|
||||||
f: 'form feed',
|
return this.esc.arg.textValue;
|
||||||
n: 'line feed',
|
|
||||||
r: 'carriage return',
|
|
||||||
s: 'white space',
|
|
||||||
S: 'non-white space',
|
|
||||||
t: 'tab',
|
|
||||||
v: 'vertical tab',
|
|
||||||
w: 'word',
|
|
||||||
W: 'non-word',
|
|
||||||
1: 'Back reference (group = 1)',
|
|
||||||
2: 'Back reference (group = 2)',
|
|
||||||
3: 'Back reference (group = 3)',
|
|
||||||
4: 'Back reference (group = 4)',
|
|
||||||
5: 'Back reference (group = 5)',
|
|
||||||
6: 'Back reference (group = 6)',
|
|
||||||
7: 'Back reference (group = 7)',
|
|
||||||
8: 'Back reference (group = 8)',
|
|
||||||
9: 'Back reference (group = 9)',
|
|
||||||
0: (arg) => {
|
|
||||||
if (arg) {
|
|
||||||
return 'octal: ' + arg;
|
|
||||||
} else {
|
|
||||||
return 'null';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
c: (arg) => {
|
|
||||||
return 'ctrl-' + arg;
|
|
||||||
},
|
|
||||||
x: (arg) => {
|
|
||||||
return '0x' + arg.toUpperCase();
|
|
||||||
},
|
|
||||||
u: (arg) => {
|
|
||||||
return 'U+' + arg.toUpperCase();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
var code = this.codeMap[this.esc.code.textValue];
|
|
||||||
|
|
||||||
if (_.isFunction(code)) {
|
|
||||||
code = code(this.esc.arg.textValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.container.addClass('escape');
|
this.container.addClass('escape');
|
||||||
|
|
||||||
this.label = this.render_label(this.container, code);
|
this.label = this.render_label(this.container, _.result(this, this.code()));
|
||||||
|
|
||||||
this.label.select('rect').attr({
|
this.label.select('rect').attr({
|
||||||
rx: 3,
|
rx: 3,
|
||||||
ry: 3
|
ry: 3
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// Escape code mappings
|
||||||
|
b: 'word boundary',
|
||||||
|
B: 'non-word boundary',
|
||||||
|
d: 'digit',
|
||||||
|
D: 'non-digit',
|
||||||
|
f: 'form feed',
|
||||||
|
n: 'line feed',
|
||||||
|
r: 'carriage return',
|
||||||
|
s: 'white space',
|
||||||
|
S: 'non-white space',
|
||||||
|
t: 'tab',
|
||||||
|
v: 'vertical tab',
|
||||||
|
w: 'word',
|
||||||
|
W: 'non-word',
|
||||||
|
1: 'Back reference (group = 1)',
|
||||||
|
2: 'Back reference (group = 2)',
|
||||||
|
3: 'Back reference (group = 3)',
|
||||||
|
4: 'Back reference (group = 4)',
|
||||||
|
5: 'Back reference (group = 5)',
|
||||||
|
6: 'Back reference (group = 6)',
|
||||||
|
7: 'Back reference (group = 7)',
|
||||||
|
8: 'Back reference (group = 8)',
|
||||||
|
9: 'Back reference (group = 9)',
|
||||||
|
0() {
|
||||||
|
var arg = this.arg();
|
||||||
|
|
||||||
|
if (arg) {
|
||||||
|
return 'octal: ' + arg;
|
||||||
|
} else {
|
||||||
|
return 'null';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
c() {
|
||||||
|
return 'ctrl-' + this.arg();
|
||||||
|
},
|
||||||
|
x() {
|
||||||
|
return '0x' + this.arg().toUpperCase();
|
||||||
|
},
|
||||||
|
u() {
|
||||||
|
return 'U+' + this.arg().toUpperCase();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user