1
0
mirror of https://github.com/flarum/core.git synced 2025-08-03 23:17:43 +02:00

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 compat from '../common/compat';
import Admin from './Admin'; import Admin from './Admin';
import SettingsModal from './components/SettingsModal';
import UploadImageButton from './components/UploadImageButton';
export default Object.assign(compat, { export default Object.assign(compat, {
Admin: Admin, Admin: Admin,
SettingsModal: SettingsModal,
UploadImageButton: UploadImageButton,
}) as any; }) as any;

View File

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

View File

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