fix(table): remove html for htmlencoding option

This commit is contained in:
bergquist 2016-02-07 20:17:41 +01:00
parent 5775c0a341
commit 7d89cf228c
4 changed files with 19 additions and 31 deletions

View File

@ -103,11 +103,6 @@
<metric-segment-model property="style.dateFormat" options="editor.dateFormats" on-change="editor.render()" custom="true"></metric-segment-model>
</li>
</ul>
<ul class="tight-form-list" ng-if="style.type === 'string'">
<li class="tight-form-item">
<editor-checkbox text="escape html" model="style.escapeHtml" change="editor.render()"></editor-checkbox>
</li>
</ul>
<div class="clearfix"></div>
</div>
<div class="tight-form" ng-if="style.type === 'number'">
@ -163,7 +158,6 @@
<div class="clearfix"></div>
</div>
</div>
</div>

View File

@ -112,7 +112,6 @@ export class TablePanelEditorCtrl {
pattern: '/.*/',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
thresholds: [],
escapeHtml: true
};
this.panel.styles.push(angular.copy(columnStyleDefaults));

View File

@ -24,16 +24,16 @@ export class TableRenderer {
return _.first(style.colors);
}
defaultCellFormater(value) {
if (value === null || value === void 0 || value === undefined) {
defaultCellFormater(v) {
if (v === null || v === void 0 || v === undefined) {
return '';
}
if (_.isArray(value)) {
value = value.join(',&nbsp;');
if (_.isArray(v)) {
v = v.join(',&nbsp;');
}
return value;
return v;
}
createColumnFormater(style) {
@ -96,7 +96,7 @@ export class TableRenderer {
renderCell(columnIndex, value, addWidthHack = false) {
value = this.formatColumnValue(columnIndex, value);
value = encodeHtml(value);
value = this.encodeHtml(value);
var style = '';
if (this.colorState.cell) {
style = ' style="background-color:' + this.colorState.cell + ';color: white"';
@ -141,16 +141,16 @@ export class TableRenderer {
return html;
}
}
function encodeHtml(unsafe) {
return unsafe.replace(/[&<>"']/g, function(m) {
return ({
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
'\'': '&#039;'
})[m];
});
encodeHtml(unsafe) {
return unsafe.replace(/[&<>"']/g, function(m) {
return ({
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
'\'': '&#039;'
})[m];
});
}
}

View File

@ -11,8 +11,7 @@ describe('when rendering table', () => {
{text: 'Value'},
{text: 'Colored'},
{text: 'Undefined'},
{text: 'String'},
{text: 'UnescapedString' }
{text: 'String'}
];
var panel = {
@ -41,10 +40,6 @@ describe('when rendering table', () => {
{
pattern: 'String',
type: 'string',
},
{
pattern: 'UnescapedString',
type: 'string'
}
]
};
@ -92,7 +87,7 @@ describe('when rendering table', () => {
});
it('undefined formater should return escaped html', () => {
var html = renderer.renderCell(4, "&breaking <br /> the <br /> row");
var html = renderer.renderCell(3, "&breaking <br /> the <br /> row");
expect(html).to.be('<td>&amp;breaking &lt;br /&gt; the &lt;br /&gt; row</td>');
});