Changeset View
Changeset View
Standalone View
Standalone View
lib/app/base-chips/field-types/html.js
"use strict"; | |||||
module.exports = { | module.exports = { | ||||
name: "html", | name: "html", | ||||
extends: "text", | extends: "text", | ||||
encode: function(context, params, value) { | encode(context, params, value) { | ||||
const sanitizeHtml = require("sanitize-html"); //putting it here not to slow down `new Sealious.app()` | const sanitizeHtml = require("sanitize-html"); //putting it here not to slow down `new Sealious.app()` | ||||
return { | return { | ||||
original: value, | original: value, | ||||
safe: sanitizeHtml(value, { | safe: sanitizeHtml(value, { | ||||
allowedTags: sanitizeHtml.defaults.allowedTags.concat([ | allowedTags: sanitizeHtml.defaults.allowedTags.concat([ | ||||
"img", | "img", | ||||
"h1", | "h1", | ||||
"h2", | "h2", | ||||
]), | ]), | ||||
}), | }), | ||||
}; | }; | ||||
}, | }, | ||||
format: function(context, params, decoded_value, format) { | format(context, params, decoded_value, format) { | ||||
let ret; | let ret; | ||||
if (decoded_value === undefined) return undefined; | if (decoded_value === undefined) return undefined; | ||||
switch (format) { | switch (format) { | ||||
case "unsafe": | case "unsafe": | ||||
ret = decoded_value.original; | ret = decoded_value.original; | ||||
break; | break; | ||||
case "original": | case "original": | ||||
ret = decoded_value.original; | ret = decoded_value.original; | ||||
break; | break; | ||||
default: | default: | ||||
ret = decoded_value && decoded_value.safe; | ret = decoded_value && decoded_value.safe; | ||||
break; | break; | ||||
} | } | ||||
return ret; | return ret; | ||||
}, | }, | ||||
}; | }; |