|
|
|
@ -1,17 +1,17 @@
|
|
|
|
|
import { Button, InputGroup, Menu, MenuItem, Popover } from '@blueprintjs/core';
|
|
|
|
|
import { Button, InputGroup, Intent, Menu, MenuItem, Popover, Position } from '@blueprintjs/core';
|
|
|
|
|
import { observer } from 'mobx-react';
|
|
|
|
|
import * as React from 'react';
|
|
|
|
|
import { arrayLast } from '../../../Common/ArrayExt';
|
|
|
|
|
import { IndexedDbStore, StoreName } from '../../../IndexedDb/IndexedDbStore';
|
|
|
|
|
import { BoardOption, BoardProcessOption, LayerNailOption, TBBoardOption } from '../../Store/BoardInterface';
|
|
|
|
|
import { BoardProcessOption, LayerNailOption, TBBoardOption } from '../../Store/BoardInterface';
|
|
|
|
|
import { AppToaster } from '../Toaster';
|
|
|
|
|
import { BoardModalProps } from './BoardModal';
|
|
|
|
|
import { BoardModalProps, BoardModalType } from './BoardModal';
|
|
|
|
|
import { DrillingOption } from './drillInterface';
|
|
|
|
|
|
|
|
|
|
//保存的配置
|
|
|
|
|
export interface IConfigOption
|
|
|
|
|
{
|
|
|
|
|
boardData?: BoardOption;
|
|
|
|
|
option?: Object;
|
|
|
|
|
nailData?: LayerNailOption;
|
|
|
|
|
topBoardData?: TBBoardOption;
|
|
|
|
|
bottomBoardData?: TBBoardOption;
|
|
|
|
@ -25,6 +25,12 @@ interface UserConfigState
|
|
|
|
|
configs: Map<string, IConfigOption>,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface IConfigPRops
|
|
|
|
|
{
|
|
|
|
|
type: BoardModalType;
|
|
|
|
|
store: { SaveConfig: Function, UpdateOption: Function }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*用户配置
|
|
|
|
|
*
|
|
|
|
@ -33,7 +39,7 @@ interface UserConfigState
|
|
|
|
|
* @extends {React.Component<BoardModalProps, UserConfigState>}
|
|
|
|
|
*/
|
|
|
|
|
@observer
|
|
|
|
|
export class UserConfig extends React.Component<BoardModalProps, UserConfigState>{
|
|
|
|
|
export class UserConfig extends React.Component<IConfigPRops, UserConfigState>{
|
|
|
|
|
|
|
|
|
|
constructor(props)
|
|
|
|
|
{
|
|
|
|
@ -144,7 +150,7 @@ export class UserConfig extends React.Component<BoardModalProps, UserConfigState
|
|
|
|
|
render()
|
|
|
|
|
{
|
|
|
|
|
return (
|
|
|
|
|
<label className="bp3-label pt-inline .modifier">
|
|
|
|
|
<label className="bp3-label bp3-inline .modifier">
|
|
|
|
|
<div className="cf-select">
|
|
|
|
|
<label>选择配置</label>
|
|
|
|
|
<InputGroup
|
|
|
|
@ -160,6 +166,7 @@ export class UserConfig extends React.Component<BoardModalProps, UserConfigState
|
|
|
|
|
autoFocus={true}
|
|
|
|
|
enforceFocus={false}
|
|
|
|
|
usePortal={false}
|
|
|
|
|
position={Position.TOP}
|
|
|
|
|
modifiers={{
|
|
|
|
|
arrow: { enabled: false },
|
|
|
|
|
flip: { enabled: true },
|
|
|
|
@ -184,23 +191,23 @@ export class UserConfig extends React.Component<BoardModalProps, UserConfigState
|
|
|
|
|
></Button>} />
|
|
|
|
|
}
|
|
|
|
|
/>
|
|
|
|
|
<Button
|
|
|
|
|
text="保存"
|
|
|
|
|
intent={Intent.SUCCESS}
|
|
|
|
|
onClick={async () =>
|
|
|
|
|
{
|
|
|
|
|
await this.handleSaveConfig();
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
<Button
|
|
|
|
|
text="删除"
|
|
|
|
|
intent={Intent.DANGER}
|
|
|
|
|
onClick={async () =>
|
|
|
|
|
{
|
|
|
|
|
await this.handleDeleteConfig();
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
className="bp3-button bp3-intent-success"
|
|
|
|
|
onClick={async () =>
|
|
|
|
|
{
|
|
|
|
|
await this.handleSaveConfig();
|
|
|
|
|
}}
|
|
|
|
|
>保存</button>
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
className="bp3-button bp3-intent-danger"
|
|
|
|
|
onClick={async () =>
|
|
|
|
|
{
|
|
|
|
|
await this.handleDeleteConfig();
|
|
|
|
|
}}
|
|
|
|
|
>删除</button>
|
|
|
|
|
</label>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|