import "!!style-loader!css-loader!./sortable.css"; import { action, makeObservable } from "mobx"; import { observer } from "mobx-react"; import { Component } from "react"; import Sortable from "react-anything-sortable"; import styled from "styled-components"; import Terria from "../../Models/Terria"; import ViewState from "../../ReactViewModels/ViewState"; import { Ul } from "../../Styled/List"; import WorkbenchItem from "./WorkbenchItem"; import WorkbenchSplitScreen from "./WorkbenchSplitScreen"; const StyledUl = styled(Ul)` gap: 5px; margin: 15px 0; padding: 0 15px; li { &:first-child { margin-top: 0; } } `; interface IProps { terria: Terria; viewState: ViewState; } @observer class WorkbenchList extends Component { constructor(props: IProps) { super(props); makeObservable(this); } @action.bound onSort( _sortedArray: any, currentDraggingSortData: any, currentDraggingIndex: any ) { this.props.terria.workbench.moveItemToIndex( currentDraggingSortData, currentDraggingIndex ); } render() { return ( {this.props.terria.showSplitter && ( )} {this.props.terria.workbench.items.map((item) => { return ( ); })} ); } } export default WorkbenchList;