説明なし

toolbar-items.ts 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import { WhitePage } from '../whiteboard/WhitePage/index';
  2. import { RectMarker } from './../markers/RectMarker/index';
  3. import { CoverMarker } from './../markers/CoverMarker/index';
  4. import { TextMarker } from './../markers/TextMarker/index';
  5. import { ArrowMarker } from './../markers/ArrowMarker/index';
  6. import { HighlightMarker } from './../markers/HighlightMarker/index';
  7. import { ToolbarItem } from './ToolbarItem';
  8. import { LineMarker } from '../markers/LineMarker';
  9. const OkIcon = require('../assets/check.svg');
  10. const DeleteIcon = require('../assets/eraser.svg');
  11. const CloseIcon = require('../assets/times.svg');
  12. export const dragToolbarItem = new ToolbarItem({
  13. name: 'drag',
  14. tooltipText: 'Drag',
  15. icon: require('../assets/drag.svg')
  16. });
  17. export const highlightMarkerToolbarItem = new ToolbarItem({
  18. name: 'cover-marker',
  19. tooltipText: 'Hightlight',
  20. shortcut: 'Shift+H',
  21. icon: require('../assets/highlight.svg'),
  22. markerType: HighlightMarker,
  23. draggable: true
  24. });
  25. export const arrowMarkerToolbarItem = new ToolbarItem({
  26. name: 'arrow-marker',
  27. tooltipText: 'Arrow',
  28. shortcut: 'Shift+A',
  29. icon: require('../assets/arrow.svg'),
  30. markerType: ArrowMarker,
  31. draggable: true
  32. });
  33. export const textMarkerToolbarItem = new ToolbarItem({
  34. name: 'text-marker',
  35. tooltipText: 'Text',
  36. shortcut: 'Shift+T',
  37. icon: require('../assets/text.svg'),
  38. markerType: TextMarker,
  39. draggable: true
  40. });
  41. export const coverMarkerToolbarItem = new ToolbarItem({
  42. name: 'cover-marker',
  43. tooltipText: 'Cover',
  44. shortcut: 'Shift+C',
  45. icon: require('../assets/cover.svg'),
  46. markerType: CoverMarker,
  47. draggable: true
  48. });
  49. export const rectMarkerToolbarItem = new ToolbarItem({
  50. name: 'rect-marker',
  51. tooltipText: 'Rectangle',
  52. shortcut: 'Shift+R',
  53. icon: require('../assets/rect.svg'),
  54. markerType: RectMarker,
  55. draggable: true
  56. });
  57. export const lineMarkerToolbarItem = new ToolbarItem({
  58. name: 'line-marker',
  59. tooltipText: 'Line',
  60. shortcut: 'Shift+L',
  61. icon: require('../assets/line.svg'),
  62. markerType: LineMarker,
  63. draggable: true
  64. });
  65. export const closeToolbarItem = new ToolbarItem({
  66. icon: CloseIcon,
  67. name: 'close',
  68. tooltipText: 'Close'
  69. });
  70. export const separatorToolbarItem = new ToolbarItem({ name: 'separator', tooltipText: '' });
  71. export function getToolbars(page?: WhitePage) {
  72. const toolbars = [
  73. // {
  74. // icon: PointerIcon,
  75. // name: 'pointer',
  76. // tooltipText: 'Pointer'
  77. // },
  78. {
  79. icon: DeleteIcon,
  80. name: 'delete',
  81. tooltipText: 'Delete'
  82. },
  83. rectMarkerToolbarItem,
  84. coverMarkerToolbarItem,
  85. highlightMarkerToolbarItem,
  86. lineMarkerToolbarItem,
  87. arrowMarkerToolbarItem,
  88. textMarkerToolbarItem
  89. ];
  90. if (!page) {
  91. toolbars.push(
  92. ...[
  93. {
  94. icon: OkIcon,
  95. name: 'ok',
  96. tooltipText: 'OK'
  97. }
  98. ]
  99. );
  100. }
  101. return toolbars;
  102. }