diff --git a/resources/js/Components/Card/Actions.jsx b/resources/js/Components/Card/Actions.jsx index b40ed0f06..9155c56c1 100644 --- a/resources/js/Components/Card/Actions.jsx +++ b/resources/js/Components/Card/Actions.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class Actions extends Component { view(vnode) { diff --git a/resources/js/Components/Card/Card.jsx b/resources/js/Components/Card/Card.jsx index bcb9ec008..71d8b7152 100644 --- a/resources/js/Components/Card/Card.jsx +++ b/resources/js/Components/Card/Card.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class Card extends Component { view(vnode) { diff --git a/resources/js/Components/Card/Content.jsx b/resources/js/Components/Card/Content.jsx index 76dc4f0dc..394a21ec2 100644 --- a/resources/js/Components/Card/Content.jsx +++ b/resources/js/Components/Card/Content.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class Content extends Component { view(vnode) { diff --git a/resources/js/Components/Card/Media.jsx b/resources/js/Components/Card/Media.jsx index 72e1e8dd4..734e2705d 100644 --- a/resources/js/Components/Card/Media.jsx +++ b/resources/js/Components/Card/Media.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class Media extends Component { view(vnode) { diff --git a/resources/js/Components/Card/PrimaryAction.jsx b/resources/js/Components/Card/PrimaryAction.jsx index 90c55408a..7fa13fe47 100644 --- a/resources/js/Components/Card/PrimaryAction.jsx +++ b/resources/js/Components/Card/PrimaryAction.jsx @@ -1,6 +1,6 @@ import '@material/mwc-ripple'; -import Component from '../Component'; +import Component from '../Component.jsx'; export default class PrimaryAction extends Component { view(vnode) { diff --git a/resources/js/Components/Component.jsx b/resources/js/Components/Component.jsx index 0e11a4a9f..9e50a1145 100644 --- a/resources/js/Components/Component.jsx +++ b/resources/js/Components/Component.jsx @@ -10,7 +10,8 @@ interface Attributes extends Collection { addStyles(...styles: string[]): void } -// noinspection SpellCheckingInspection +// eslint-disable-next-line no-secrets/no-secrets +// noinspection SpellCheckingInspection,JSUnusedGlobalSymbols /** * @abstract * @@ -119,7 +120,7 @@ export default class Component implements ClassComponent { */ $(selector?: string): JQuery { const $element: JQuery = $(this.element); - return selector ? $element.find((element) => selector(element)) : $element; + return selector ? $element.find(element => selector(element)) : $element; } @@ -129,7 +130,7 @@ export default class Component implements ClassComponent { * * @see https://js.org/hyperscript.html#mselector,-attributes,-children */ - static component(attributes = {}, children): Vnode { + static component(attributes: {...} = {}, children): Vnode { const componentAttributes: Record = { ...attributes}; return m(this, componentAttributes, children); @@ -141,7 +142,7 @@ export default class Component implements ClassComponent { * * @private */ - setAttrs(attributes: Object = {}): void { + setAttrs(attributes: {...} = {}): void { this.initAttrs(attributes); if (attributes) { if ('children' in attributes) { @@ -176,5 +177,5 @@ export default class Component implements ClassComponent { * * @protected */ - initAttrs(attributes: Object): void {} + initAttrs(attributes: {...}): void {} } diff --git a/resources/js/Components/DataTable/DataTable.jsx b/resources/js/Components/DataTable/DataTable.jsx index 577adbe73..b7ca5513e 100644 --- a/resources/js/Components/DataTable/DataTable.jsx +++ b/resources/js/Components/DataTable/DataTable.jsx @@ -2,8 +2,8 @@ import '@material/mwc-linear-progress'; import '@material/mwc-list/mwc-list-item'; import '@material/mwc-select'; -import Component from '../Component'; -import Mdi from '../Mdi'; +import Component from '../Component.jsx'; +import Mdi from '../Mdi.jsx'; export default class DataTable extends Component { view(vnode) { diff --git a/resources/js/Components/DataTable/TableBody.jsx b/resources/js/Components/DataTable/TableBody.jsx index 98fc9742a..40f19628e 100644 --- a/resources/js/Components/DataTable/TableBody.jsx +++ b/resources/js/Components/DataTable/TableBody.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class TableBody extends Component { view(vnode) { diff --git a/resources/js/Components/DataTable/TableCell.jsx b/resources/js/Components/DataTable/TableCell.jsx index 512ebc80a..c7a47542a 100644 --- a/resources/js/Components/DataTable/TableCell.jsx +++ b/resources/js/Components/DataTable/TableCell.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; /** * Attributes: diff --git a/resources/js/Components/DataTable/TableFooter.jsx b/resources/js/Components/DataTable/TableFooter.jsx index 6b947d52d..173ec0a9a 100644 --- a/resources/js/Components/DataTable/TableFooter.jsx +++ b/resources/js/Components/DataTable/TableFooter.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class TableFooter extends Component { view(vnode) { diff --git a/resources/js/Components/DataTable/TableHead.jsx b/resources/js/Components/DataTable/TableHead.jsx index 094e7e47f..f960a3cea 100644 --- a/resources/js/Components/DataTable/TableHead.jsx +++ b/resources/js/Components/DataTable/TableHead.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class TableHead extends Component { view(vnode) { diff --git a/resources/js/Components/DataTable/TableHeadCell.jsx b/resources/js/Components/DataTable/TableHeadCell.jsx index a736ce833..660a8804c 100644 --- a/resources/js/Components/DataTable/TableHeadCell.jsx +++ b/resources/js/Components/DataTable/TableHeadCell.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; /** * Attributes: diff --git a/resources/js/Components/DataTable/TableHeadRow.jsx b/resources/js/Components/DataTable/TableHeadRow.jsx index 318bf0aa6..cedbdb572 100644 --- a/resources/js/Components/DataTable/TableHeadRow.jsx +++ b/resources/js/Components/DataTable/TableHeadRow.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class TableHeadRow extends Component { view(vnode) { diff --git a/resources/js/Components/DataTable/TableRow.jsx b/resources/js/Components/DataTable/TableRow.jsx index 650b6ebc3..47e640d2a 100644 --- a/resources/js/Components/DataTable/TableRow.jsx +++ b/resources/js/Components/DataTable/TableRow.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class TableRow extends Component { view(vnode) { diff --git a/resources/js/Components/Grid/LayoutGrid.jsx b/resources/js/Components/Grid/LayoutGrid.jsx index ded0e8df1..e2f32ef75 100644 --- a/resources/js/Components/Grid/LayoutGrid.jsx +++ b/resources/js/Components/Grid/LayoutGrid.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class LayoutGrid extends Component { view(vnode) { diff --git a/resources/js/Components/Grid/Row.jsx b/resources/js/Components/Grid/Row.jsx index e2428071e..b4c33cfa4 100644 --- a/resources/js/Components/Grid/Row.jsx +++ b/resources/js/Components/Grid/Row.jsx @@ -1,4 +1,4 @@ -import Component from '../Component'; +import Component from '../Component.jsx'; export default class Row extends Component { view(vnode) { diff --git a/resources/js/Components/Mdi.jsx b/resources/js/Components/Mdi.jsx index 85b77effd..7b42ce1ea 100644 --- a/resources/js/Components/Mdi.jsx +++ b/resources/js/Components/Mdi.jsx @@ -1,4 +1,4 @@ -import Component from './Component'; +import Component from './Component.jsx'; export default class Mdi extends Component { view(vnode) { @@ -7,8 +7,8 @@ export default class Mdi extends Component { } } -/* - Quando MWC supporterà pienamente le icone SVG potremo fare così: +/** + Quando MWC supporterà pienamente le icone SVG si potrà fare così: import * as mdi from '@mdi/js'; import {camelCase} from 'lodash/string'; @@ -16,4 +16,6 @@ export default class Mdi extends Component { {...vnode.attrs} viewBox={vnode.attrs.viewBox ?? '0 0 24 24'}> ; + + @see https://github.com/material-components/material-web/issues/1812 */ diff --git a/resources/js/Components/Page.jsx b/resources/js/Components/Page.jsx index 4a733df08..355453a51 100644 --- a/resources/js/Components/Page.jsx +++ b/resources/js/Components/Page.jsx @@ -2,7 +2,7 @@ import {Vnode} from 'mithril'; import {sync as render} from 'mithril-node-render'; import {containsHTML} from '../utils'; -import Component from './Component'; +import Component from './Component.jsx'; /** * The `Page` component @@ -13,8 +13,8 @@ export default class Page extends Component { page: { component: string, locale: string, - props: Object, - translations: Object, + props: {...}, + translations: {...}, url: string, version: string, ... @@ -36,7 +36,7 @@ export default class Page extends Component { */ __( key: string | Vnode, - replace: Object | boolean = {}, + replace: {...} | boolean = {}, returnAsString: boolean = false ): Vnode { let translation = (this.page.translations && this.page.translations[key]) diff --git a/resources/js/Components/Pages/RecordsPage.jsx b/resources/js/Components/Pages/RecordsPage.jsx index d33709dd6..5d2c4fa88 100644 --- a/resources/js/Components/Pages/RecordsPage.jsx +++ b/resources/js/Components/Pages/RecordsPage.jsx @@ -4,15 +4,15 @@ import '@material/mwc-fab'; import collect from 'collect.js'; import {Children} from 'mithril'; -import DataTable from '../DataTable/DataTable'; -import TableBody from '../DataTable/TableBody'; -import TableCell from '../DataTable/TableCell'; -import TableHead from '../DataTable/TableHead'; -import TableHeadCell from '../DataTable/TableHeadCell'; -import TableHeadRow from '../DataTable/TableHeadRow'; -import TableRow from '../DataTable/TableRow'; -import Mdi from '../Mdi'; -import Page from '../Page'; +import DataTable from '../DataTable/DataTable.jsx'; +import TableBody from '../DataTable/TableBody.jsx'; +import TableCell from '../DataTable/TableCell.jsx'; +import TableHead from '../DataTable/TableHead.jsx'; +import TableHeadCell from '../DataTable/TableHeadCell.jsx'; +import TableHeadRow from '../DataTable/TableHeadRow.jsx'; +import TableRow from '../DataTable/TableRow.jsx'; +import Mdi from '../Mdi.jsx'; +import Page from '../Page.jsx'; export type ColumnT = { id?: string, @@ -24,11 +24,11 @@ export type ColumnT = { * @abstract */ export default class RecordsPage extends Page { - columns: Object | Array; + columns: string[] | {[string]: ColumnT} | ColumnT[]; - rows: Array> = []; + rows: string[][] = []; - dialogs: Array; + dialogs: Children[]; tableColumns(): Children { return collect(this.columns) diff --git a/resources/js/Components/Pages/index.js b/resources/js/Components/Pages/index.js index c0c4a5cab..4cf306c4e 100644 --- a/resources/js/Components/Pages/index.js +++ b/resources/js/Components/Pages/index.js @@ -1 +1 @@ -export {default as RecordsPage} from './RecordsPage'; +export {default as RecordsPage} from './RecordsPage.jsx'; diff --git a/resources/js/Components/index.js b/resources/js/Components/index.js index 437e6c3e2..9d87800c7 100644 --- a/resources/js/Components/index.js +++ b/resources/js/Components/index.js @@ -1,3 +1,5 @@ +// noinspection JSUnusedGlobalSymbols + export * from './Card'; export { default as Component } from './Component.jsx'; export * from './DataTable'; diff --git a/resources/js/Views/SetupPage.jsx b/resources/js/Views/SetupPage.jsx index 2bb6f1a45..8169ff8e8 100644 --- a/resources/js/Views/SetupPage.jsx +++ b/resources/js/Views/SetupPage.jsx @@ -13,13 +13,13 @@ import Mithril from 'mithril'; import logoUrl from '@/static/images/logo_completo.png'; -import Card from '../Components/Card/Card'; -import Content from '../Components/Card/Content'; -import Cell from '../Components/Grid/Cell'; -import LayoutGrid from '../Components/Grid/LayoutGrid'; -import Row from '../Components/Grid/Row'; -import Mdi from '../Components/Mdi'; -import Page from '../Components/Page'; +import Card from '../Components/Card/Card.jsx'; +import Content from '../Components/Card/Content.jsx'; +import Cell from '../Components/Grid/Cell.jsx'; +import LayoutGrid from '../Components/Grid/LayoutGrid.jsx'; +import Row from '../Components/Grid/Row.jsx'; +import Mdi from '../Components/Mdi.jsx'; +import Page from '../Components/Page.jsx'; export default class SetupPage extends Page { languages() { diff --git a/resources/js/Views/index.js b/resources/js/Views/index.js index 10b46a519..4ab8b06de 100644 --- a/resources/js/Views/index.js +++ b/resources/js/Views/index.js @@ -1,2 +1,4 @@ +// noinspection JSUnusedGlobalSymbols + export { default as SetupPage } from './SetupPage.jsx'; diff --git a/resources/js/WebComponents/index.js b/resources/js/WebComponents/index.js index 62adea54a..67e601546 100644 --- a/resources/js/WebComponents/index.js +++ b/resources/js/WebComponents/index.js @@ -1,3 +1,5 @@ +// noinspection JSUnusedGlobalSymbols + export { default as Drawer } from './MaterialDrawer'; export { default as TopAppBar } from './TopAppBar'; diff --git a/resources/js/utils.js b/resources/js/utils.js index 4844ddce4..d5c1ca8ba 100644 --- a/resources/js/utils.js +++ b/resources/js/utils.js @@ -3,7 +3,7 @@ /** * Check if class/object A is the same as or a subclass of class B. */ -export function subclassOf(A: Object, B: Object): boolean { +export function subclassOf(A: {...}, B: {...}): boolean { // noinspection JSUnresolvedVariable return A && (A === B || A.prototype instanceof B); }