import { Component, ReactNode, FunctionComponent } from "react"; import { DirectionalHint, Icon, Spinner } from "@fluentui/react"; import { useSetting, IMixinSettingProps } from "@Context/Setting"; import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; import { BackgroundLevel, Theme } from "@Component/Theme/Theme"; import { LocalizationTooltipHost } from "@Component/Localization/LocalizationTooltipHost"; import { AllI18nKeys } from "@Component/Localization/Localization"; import { SettingPopup } from "@Component/SettingPopup/SettingPopup"; import { BehaviorPopup } from "@Component/BehaviorPopup/BehaviorPopup"; import { MouseMod } from "@GLRender/ClassicRenderer"; import { ArchiveSave } from "@Context/Archive"; import "./CommandBar.scss"; const COMMAND_BAR_WIDTH = 45; interface IRenderButtonParameter { i18NKey: AllI18nKeys; iconName?: string; click?: () => void; active?: boolean; isLoading?: boolean; } interface ICommandBarState { isSaveRunning: boolean; } const CommandButton: FunctionComponent = (param) => { return
{param.isLoading ? : }
} @useSetting @useStatusWithEvent("mouseModChange", "actuatorStartChange") class CommandBar extends Component { public state: Readonly = { isSaveRunning: false }; public render(): ReactNode { const mouseMod = this.props.status?.mouseMod ?? MouseMod.Drag; return { if (this.props.setting) { this.props.setting.layout.focus(""); } }} >
{ this.setState({ isSaveRunning: false }); }} /> { this.setState({ isSaveRunning: true }); }} /> this.props.status ? this.props.status.actuator.start( !this.props.status.actuator.start() ) : undefined} /> this.props.status ? this.props.status.setMouseMod(MouseMod.Drag) : undefined} /> this.props.status ? this.props.status.setMouseMod(MouseMod.click) : undefined} /> { this.props.status ? this.props.status.newGroup() : undefined; }} /> { this.props.status ? this.props.status.newRange() : undefined; }} /> { this.props.status?.popup.showPopup(BehaviorPopup, {}); }} /> { this.props.status ? this.props.status.newLabel() : undefined; }} />
{ this.props.status?.popup.showPopup(SettingPopup, {}); }} />
} } export { CommandBar };