mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-06-26 16:26:44 +03:00
Bugfix and cleanup rollup based javascript even more
This commit is contained in:
parent
7ccc44616d
commit
3983932bc0
17 changed files with 84 additions and 169 deletions
|
|
@ -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 };
|
||||
|
|
|
|||
|
|
@ -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 {}
|
||||
|
|
|
|||
|
|
@ -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 {}
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
@ -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');
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue