Mithril/typing redo for upload image button and settings modal

This commit is contained in:
Alexander Skvortsov 2020-04-29 18:38:05 -04:00 committed by David Sevilla Martín
parent 5a8eb2f978
commit 2bf190ffab
3 changed files with 15 additions and 11 deletions

View File

@ -1,7 +1,11 @@
import compat from '../common/compat';
import Admin from './Admin';
import SettingsModal from './components/SettingsModal';
import UploadImageButton from './components/UploadImageButton';
export default Object.assign(compat, {
Admin: Admin,
SettingsModal: SettingsModal,
UploadImageButton: UploadImageButton,
}) as any;

View File

@ -1,12 +1,12 @@
import app from '../app';
import Modal from '../../common/components/Modal';
import Button from '../../common/components/Button';
import saveSettings from '../utils/saveSettings';
export default class SettingsModal extends Modal {
init() {
this.settings = {};
this.loading = false;
}
export default abstract class SettingsModal extends Modal {
settings: object = {};
loading: boolean = false;
form() {
return '';

View File

@ -1,9 +1,9 @@
import Button from '../../common/components/Button';
import app from '../app';
export default class UploadImageButton extends Button {
init() {
this.loading = false;
}
import Button, { ButtonProps } from '../../common/components/Button';
export default class UploadImageButton<T extends ButtonProps = ButtonProps> extends Button<T> {
loading: boolean = false;
view() {
this.props.loading = this.loading;
@ -35,7 +35,7 @@ export default class UploadImageButton extends Button {
upload() {
if (this.loading) return;
const $input = $('<input type="file">');
const $input = this.$('<input type="file">');
$input
.appendTo('body')