1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-23 06:47:40 +01:00

feat: 🏷️ Aggiunti tipi ai componenti Mithril

This commit is contained in:
Maicol Battistini 2021-11-09 12:15:15 +01:00
parent 1ee38497ca
commit 8094179f38
No known key found for this signature in database
GPG Key ID: 4FDB0F87CDB1D34A
7 changed files with 41 additions and 11 deletions

View File

@ -1,6 +1,8 @@
import {type ClassComponent} from 'mithril';
import Component from '../Component.jsx';
export default class Actions extends Component {
export default class Actions extends Component implements ClassComponent<{'full-bleed'?: boolean}> {
view(vnode) {
this.attrs.addClassNames('mdc-card__actions', {
'mdc-card__actions--full-bleed': this.attrs.has('full-bleed')

View File

@ -1,6 +1,9 @@
import Component from '../Component.jsx';
import {type ClassComponent} from 'mithril';
export default class Card extends Component {
import Component from '../Component.jsx';
import Content from './Content.jsx';
export default class Card extends Component implements ClassComponent<{outlined?: boolean}> {
view(vnode) {
this.attrs.addClassNames('mdc-card', {
'mdc-card--outlined': this.attrs.has('outlined')
@ -8,7 +11,7 @@ export default class Card extends Component {
return (
<div {...this.attrs.all()}>
{vnode.children}
<Content>{vnode.children}</Content>
</div>
);
}

View File

@ -1,6 +1,13 @@
import {type ClassComponent} from 'mithril';
import Component from '../Component.jsx';
export default class Media extends Component {
export default class Media extends Component implements ClassComponent<{
squadre?: boolean,
'no-scaling'?: boolean,
background?: string,
title?: string
}> {
view(vnode) {
this.attrs.addClassNames('mdc-card__media', {
'mdc-card__media--16-9': !this.attrs.has('no-scaling'),

View File

@ -1,6 +1,15 @@
import {type ClassComponent} from 'mithril';
import Component from '../Component.jsx';
export default class Cell extends Component {
export default class Cell extends Component implements ClassComponent<{
align?: string;
columnspan?: number,
'columnspan-desktop'?: number,
'columnspan-tablet'?: number,
'columnspan-phone'?: number,
order?: number,
}> {
view(vnode) {
const spans = [];
for (const device of ['desktop', 'tablet', 'phone']) {

View File

@ -1,6 +1,11 @@
import {type ClassComponent} from 'mithril';
import Component from '../Component.jsx';
export default class LayoutGrid extends Component {
export default class LayoutGrid extends Component implements ClassComponent<{
align?: string,
fixed?: boolean
}> {
view(vnode) {
this.attrs.addClassNames('mdc-layout-grid', {
'mdc-layout-grid--fixed-column-width': this.attrs.has('fixed'),

View File

@ -1,10 +1,12 @@
import '@material/mwc-button';
import '@material/mwc-circular-progress';
import {type Button} from '@material/mwc-button';
import {type ClassComponent} from 'mithril';
import Component from './Component.jsx';
import Mdi from './Mdi.jsx';
export default class LoadingButton extends Component {
export default class LoadingButton extends Component implements ClassComponent<Button> {
view(vnode) {
return (
<>

View File

@ -1,8 +1,10 @@
import {type ClassComponent} from 'mithril';
import Component from './Component.jsx';
export default class Mdi extends Component {
export default class Mdi extends Component implements ClassComponent<{icon?: string}> {
view(vnode) {
this.attrs.addClassNames('mdi', `mdi-${vnode.attrs.icon}`);
this.attrs.addClassNames('mdi', `mdi-${this.attrs.pull('icon')}`);
return <i {...this.attrs.all()} />;
}
}