import { IReactionDisposer, observable, reaction } from "mobx"; import { observer } from "mobx-react"; import * as React from "react"; import { Doc } from "../../fields/Doc"; import { NumCast } from "../../fields/Types"; import { emptyFunction, returnEmptyDoclist, returnEmptyFilter, returnEmptyString, returnFalse, returnTrue, emptyPath } from "../../Utils"; import { Transform } from "../util/Transform"; import { DocumentView } from "./nodes/DocumentView"; import "./Palette.scss"; export interface PaletteProps { x: number; y: number; thumb: number[]; thumbDoc: Doc; } @observer export default class Palette extends React.Component { private _selectedDisposer?: IReactionDisposer; @observable private _selectedIndex: number = 0; componentDidMount = () => { this._selectedDisposer = reaction( () => NumCast(this.props.thumbDoc.selectedIndex), (i) => this._selectedIndex = i, { fireImmediately: true } ); } componentWillUnmount = () => { this._selectedDisposer?.(); } render() { return (
window.screen.width} PanelHeight={() => window.screen.height} renderDepth={0} isDocumentActive={returnTrue} isContentActive={returnFalse} focus={emptyFunction} docViewPath={returnEmptyDoclist} styleProvider={returnEmptyString} layerProvider={undefined} whenChildContentsActiveChanged={emptyFunction} bringToFront={emptyFunction} docFilters={returnEmptyFilter} docRangeFilters={returnEmptyFilter} searchFilterDocs={returnEmptyDoclist} ContainingCollectionView={undefined} ContainingCollectionDoc={undefined} />
); } }