|
| 1 | +/* eslint-disable no-case-declarations */ |
1 | 2 | import classNames from 'classnames'; |
2 | 3 | import {connect} from 'react-redux'; |
3 | 4 | import PropTypes from 'prop-types'; |
@@ -351,7 +352,42 @@ const ModeToolsComponent = props => { |
351 | 352 | </div> |
352 | 353 | ); |
353 | 354 | } |
354 | | - case Modes.RESHAPE: |
| 355 | + case Modes.RESHAPE: |
| 356 | + const lineJoinReshape = ( |
| 357 | + <InputGroup className={classNames(styles.modDashedBorder, styles.modLabeledIconHeight)}> |
| 358 | + <LabeledIconButton |
| 359 | + disabled={props.hasSelectedMiterLineJoin} |
| 360 | + hideLabel={hideLabel(props.intl.locale)} |
| 361 | + imgSrc={miterLineJoin} |
| 362 | + title={'Spiked'} |
| 363 | + onClick={props.onMiterLineJoin} |
| 364 | + /> |
| 365 | + <LabeledIconButton |
| 366 | + disabled={props.hasSelectedRoundLineJoin} |
| 367 | + hideLabel={hideLabel(props.intl.locale)} |
| 368 | + imgSrc={roundLineJoin} |
| 369 | + title={'Rounded'} |
| 370 | + onClick={props.onRoundLineJoin} |
| 371 | + /> |
| 372 | + <LabeledIconButton |
| 373 | + disabled={props.hasSelectedBevelLineJoin} |
| 374 | + hideLabel={hideLabel(props.intl.locale)} |
| 375 | + imgSrc={bevelLineJoin} |
| 376 | + title={'Beveled'} |
| 377 | + onClick={props.onBevelLineJoin} |
| 378 | + /> |
| 379 | + </InputGroup> |
| 380 | + ); |
| 381 | + const deleteSelectedNodes = ( |
| 382 | + <InputGroup className={classNames(styles.modLabeledIconHeight)}> |
| 383 | + <LabeledIconButton |
| 384 | + hideLabel={hideLabel(props.intl.locale)} |
| 385 | + imgSrc={deleteIcon} |
| 386 | + title={props.intl.formatMessage(messages.delete)} |
| 387 | + onClick={props.onDelete} |
| 388 | + /> |
| 389 | + </InputGroup> |
| 390 | + ); |
355 | 391 | return ( |
356 | 392 | <div className={classNames(props.className, styles.modeTools)}> |
357 | 393 | <InputGroup className={classNames(styles.modDashedBorder, styles.modLabeledIconHeight)}> |
@@ -386,37 +422,26 @@ const ModeToolsComponent = props => { |
386 | 422 | onClick={props.onSquareEnds} |
387 | 423 | /> |
388 | 424 | </InputGroup> |
389 | | - <InputGroup className={classNames(styles.modDashedBorder, styles.modLabeledIconHeight)}> |
390 | | - <LabeledIconButton |
391 | | - disabled={props.hasSelectedMiterLineJoin} |
392 | | - hideLabel={hideLabel(props.intl.locale)} |
393 | | - imgSrc={miterLineJoin} |
394 | | - title={'Spiked'} |
395 | | - onClick={props.onMiterLineJoin} |
396 | | - /> |
397 | | - <LabeledIconButton |
398 | | - disabled={props.hasSelectedRoundLineJoin} |
399 | | - hideLabel={hideLabel(props.intl.locale)} |
400 | | - imgSrc={roundLineJoin} |
401 | | - title={'Rounded'} |
402 | | - onClick={props.onRoundLineJoin} |
403 | | - /> |
404 | | - <LabeledIconButton |
405 | | - disabled={props.hasSelectedBevelLineJoin} |
406 | | - hideLabel={hideLabel(props.intl.locale)} |
407 | | - imgSrc={bevelLineJoin} |
408 | | - title={'Beveled'} |
409 | | - onClick={props.onBevelLineJoin} |
410 | | - /> |
411 | | - </InputGroup> |
412 | | - <InputGroup className={classNames(styles.modLabeledIconHeight)}> |
413 | | - <LabeledIconButton |
414 | | - hideLabel={hideLabel(props.intl.locale)} |
415 | | - imgSrc={deleteIcon} |
416 | | - title={props.intl.formatMessage(messages.delete)} |
417 | | - onClick={props.onDelete} |
418 | | - /> |
419 | | - </InputGroup> |
| 425 | + <MediaQuery maxWidth={layout.fullSizeEditorMinWidthExtraToolsCollapsed - 1}> |
| 426 | + <InputGroup className={classNames(styles.modDashedBorder, styles.modLabeledIconHeight)}> |
| 427 | + <Dropdown |
| 428 | + className={styles.modUnselect} |
| 429 | + enterExitTransitionDurationMs={20} |
| 430 | + popoverContent={ |
| 431 | + <InputGroup |
| 432 | + className={styles.modContextMenu} |
| 433 | + rtl={props.rtl} |
| 434 | + > |
| 435 | + {lineJoinReshape} |
| 436 | + {deleteSelectedNodes} |
| 437 | + </InputGroup> |
| 438 | + } |
| 439 | + tipSize={.01} |
| 440 | + > |
| 441 | + More |
| 442 | + </Dropdown> |
| 443 | + </InputGroup> |
| 444 | + </MediaQuery> |
420 | 445 | </div> |
421 | 446 | ); |
422 | 447 | case Modes.BIT_SELECT: |
|
0 commit comments