From 2bf190ffab122cf133f168ac75468be3c0e11a91 Mon Sep 17 00:00:00 2001 From: Alexander Skvortsov Date: Wed, 29 Apr 2020 18:38:05 -0400 Subject: [PATCH] Mithril/typing redo for upload image button and settings modal --- js/src/admin/compat.ts | 4 ++++ js/src/admin/components/SettingsModal.tsx | 10 +++++----- js/src/admin/components/UploadImageButton.tsx | 12 ++++++------ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/js/src/admin/compat.ts b/js/src/admin/compat.ts index dc8d9e421..1f83132fc 100644 --- a/js/src/admin/compat.ts +++ b/js/src/admin/compat.ts @@ -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; diff --git a/js/src/admin/components/SettingsModal.tsx b/js/src/admin/components/SettingsModal.tsx index 93a6f552b..7035c25fe 100644 --- a/js/src/admin/components/SettingsModal.tsx +++ b/js/src/admin/components/SettingsModal.tsx @@ -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 ''; diff --git a/js/src/admin/components/UploadImageButton.tsx b/js/src/admin/components/UploadImageButton.tsx index 736cebb09..fb798cc61 100644 --- a/js/src/admin/components/UploadImageButton.tsx +++ b/js/src/admin/components/UploadImageButton.tsx @@ -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 extends Button { + 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 = $(''); + const $input = this.$(''); $input .appendTo('body')