Bugfix and cleanup rollup based javascript even more

This commit is contained in:
djmaze 2021-01-27 10:59:15 +01:00
parent 7ccc44616d
commit 3983932bc0
17 changed files with 84 additions and 169 deletions

View file

@ -1,8 +1,5 @@
import ko from 'ko';
import { i18nToNodes } from 'Common/Translator';
class AbstractComponent {
export class AbstractComponent {
disposable = [];
dispose() {
@ -13,33 +10,3 @@ class AbstractComponent {
});
}
}
/**
* @param {*} ClassObject
* @param {string} templateID = ''
* @returns {Object}
*/
const componentExportHelper = (ClassObject, templateID = '') => ({
template: templateID ? { element: templateID } : '<b></b>',
viewModel: {
createViewModel: (params, componentInfo) => {
params = params || {};
params.element = null;
if (componentInfo && componentInfo.element) {
params.component = componentInfo;
params.element = componentInfo.element;
i18nToNodes(componentInfo.element);
if (undefined !== params.inline && ko.unwrap(params.inline)) {
params.element.style.display = 'inline-block';
}
}
return new ClassObject(params);
}
}
});
export { AbstractComponent, componentExportHelper };

View file

@ -1,6 +1,3 @@
import { componentExportHelper } from 'Component/Abstract';
import { AbstractCheckbox } from 'Component/AbstractCheckbox';
class CheckboxComponent extends AbstractCheckbox {}
export default componentExportHelper(CheckboxComponent, 'CheckboxComponent');
export class CheckboxComponent extends AbstractCheckbox {}

View file

@ -1,6 +1,3 @@
import { componentExportHelper } from 'Component/Abstract';
import { AbstractInput } from 'Component/AbstractInput';
class InputComponent extends AbstractInput {}
export default componentExportHelper(InputComponent, 'InputComponent');
export class InputComponent extends AbstractInput {}

View file

@ -1,8 +1,7 @@
import ko from 'ko';
import { componentExportHelper } from 'Component/Abstract';
import { AbstractCheckbox } from 'Component/AbstractCheckbox';
class CheckboxMaterialDesignComponent extends AbstractCheckbox {
export class CheckboxMaterialDesignComponent extends AbstractCheckbox {
/**
* @param {Object} params
*/
@ -40,5 +39,3 @@ class CheckboxMaterialDesignComponent extends AbstractCheckbox {
}
}
}
export default componentExportHelper(CheckboxMaterialDesignComponent, 'CheckboxMaterialDesignComponent');

View file

@ -1,7 +1,7 @@
import { SaveSettingsStep } from 'Common/Enums';
import { AbstractComponent, componentExportHelper } from 'Component/Abstract';
import { AbstractComponent } from 'Component/Abstract';
class SaveTriggerComponent extends AbstractComponent {
export class SaveTriggerComponent extends AbstractComponent {
/**
* @param {Object} params
*/
@ -36,5 +36,3 @@ class SaveTriggerComponent extends AbstractComponent {
this.element.querySelector('.error').hidden = value !== SaveSettingsStep.FalseResult;
}
}
export default componentExportHelper(SaveTriggerComponent, 'SaveTriggerComponent');

View file

@ -1,31 +0,0 @@
import { AbstractComponent, componentExportHelper } from 'Component/Abstract';
class ScriptComponent extends AbstractComponent {
/**
* @param {Object} params
*/
constructor(params) {
super();
if (
params.component &&
params.component.templateNodes &&
params.element
) {
let el = params.element, script = el.outerHTML;
script = script ? script.replace(/<x-script/i, '<script').replace(/<b><\/b><\/x-script>/i, '</script>') : '';
if (script) {
const koNodes = params.component.templateNodes[0];
el.textContent = '';
el.replaceWith(
Element.fromHTML(script).textContent = koNodes && koNodes.nodeValue ? koNodes.nodeValue : ''
);
} else {
el.remove();
}
}
}
}
export default componentExportHelper(ScriptComponent, 'ScriptComponent');

View file

@ -1,9 +1,8 @@
import { i18n } from 'Common/Translator';
import { defaultOptionsAfterRender } from 'Common/Utils';
import { componentExportHelper } from 'Component/Abstract';
import { AbstractInput } from 'Component/AbstractInput';
class SelectComponent extends AbstractInput {
export class SelectComponent extends AbstractInput {
/**
* @param {Object} params
*/
@ -23,5 +22,3 @@ class SelectComponent extends AbstractInput {
this.defaultOptionsAfterRender = defaultOptionsAfterRender;
}
}
export default componentExportHelper(SelectComponent, 'SelectComponent');

View file

@ -1,18 +1,13 @@
import { componentExportHelper } from 'Component/Abstract';
import { AbstractInput } from 'Component/AbstractInput';
const DEFAULT_ROWS = 5;
class TextAreaComponent extends AbstractInput {
export class TextAreaComponent extends AbstractInput {
/**
* @param {Object} params
*/
constructor(params) {
super(params);
this.rows = params.rows || DEFAULT_ROWS;
this.rows = params.rows || 5;
this.spellcheck = !!params.spellcheck;
}
}
export default componentExportHelper(TextAreaComponent, 'TextAreaComponent');