mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-12-31 03:52:01 +08:00
37 lines
925 B
JavaScript
37 lines
925 B
JavaScript
import $ from '$';
|
|
import { AbstractComponent, componentExportHelper } from 'Component/Abstract';
|
|
|
|
class ScriptComponent extends AbstractComponent {
|
|
/**
|
|
* @param {Object} params
|
|
*/
|
|
constructor(params) {
|
|
super();
|
|
|
|
if (
|
|
params.component &&
|
|
params.component.templateNodes &&
|
|
params.element &&
|
|
params.element[0] &&
|
|
params.element[0].outerHTML
|
|
) {
|
|
let script = params.element[0].outerHTML;
|
|
script = !script ? '' : script.replace(/<x-script/i, '<script').replace(/<b><\/b><\/x-script>/i, '</script>');
|
|
|
|
if (script) {
|
|
params.element.text('');
|
|
params.element.replaceWith(
|
|
$(script).text(
|
|
params.component.templateNodes[0] && params.component.templateNodes[0].nodeValue
|
|
? params.component.templateNodes[0].nodeValue
|
|
: ''
|
|
)
|
|
);
|
|
} else {
|
|
params.element.remove();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
export default componentExportHelper(ScriptComponent, 'ScriptComponent');
|