PromucFlow_constructor/app/client/src/icons/ControlIcons.tsx
Piyush Mishra a4fe0a461e
Table Widget New Features (#2816)
- Each column has more options and can be configured in the property pane instead of the table
- Table level styles can now be set in the property pane
- Property sections are collapsible

Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
2021-02-16 15:59:08 +05:30

256 lines
8.3 KiB
TypeScript

import React, { JSXElementConstructor } from "react";
import { IconProps, IconWrapper } from "constants/IconConstants";
import { ReactComponent as DeleteIcon } from "assets/icons/control/delete.svg";
import { ReactComponent as MoveIcon } from "assets/icons/control/move.svg";
import { ReactComponent as EditIcon } from "assets/icons/control/edit.svg";
import { ReactComponent as ViewIcon } from "assets/icons/control/view.svg";
import { ReactComponent as MoreVerticalIcon } from "assets/icons/control/more-vertical.svg";
import { ReactComponent as OverflowMenuIcon } from "assets/icons/menu/overflow-menu.svg";
import { ReactComponent as JsToggleIcon } from "assets/icons/control/js-toggle.svg";
import { ReactComponent as IncreaseIcon } from "assets/icons/control/increase.svg";
import { ReactComponent as DecreaseIcon } from "assets/icons/control/decrease.svg";
import { ReactComponent as DraggableIcon } from "assets/icons/control/draggable.svg";
import { ReactComponent as CloseIcon } from "assets/icons/control/close.svg";
import { ReactComponent as HelpIcon } from "assets/icons/control/help.svg";
import { ReactComponent as CollapseIcon } from "assets/icons/control/collapse.svg";
import { ReactComponent as PickMyLocationSelectedIcon } from "assets/icons/control/pick-location-selected.svg";
import { ReactComponent as SettingsIcon } from "assets/icons/control/settings.svg";
import { ReactComponent as RemoveIcon } from "assets/icons/control/remove.svg";
import { ReactComponent as DragIcon } from "assets/icons/control/drag.svg";
import { ReactComponent as SortIcon } from "assets/icons/control/sort-icon.svg";
import { ReactComponent as EditWhiteIcon } from "assets/icons/control/edit-white.svg";
import { ReactComponent as LaunchIcon } from "assets/icons/control/launch.svg";
import { ReactComponent as BackIcon } from "assets/icons/control/back.svg";
import { ReactComponent as ShowColumnIcon } from "assets/icons/control/hide-column.svg";
import { ReactComponent as HideColumnIcon } from "assets/icons/control/columns-visibility.svg";
import { ReactComponent as DeleteColumnIcon } from "assets/icons/control/delete-column.svg";
import { ReactComponent as BoldFontIcon } from "assets/icons/control/bold.svg";
import { ReactComponent as ItalicsFontIcon } from "assets/icons/control/italics.svg";
import { ReactComponent as LeftAlignIcon } from "assets/icons/control/left-align.svg";
import { ReactComponent as CenterAlignIcon } from "assets/icons/control/center-align.svg";
import { ReactComponent as RightAlignIcon } from "assets/icons/control/right-align.svg";
import { ReactComponent as VerticalAlignBottom } from "assets/icons/control/vertical_align_bottom.svg";
import { ReactComponent as VerticalAlignCenter } from "assets/icons/control/vertical_align_center.svg";
import { ReactComponent as VerticalAlignTop } from "assets/icons/control/vertical_align_top.svg";
import { ReactComponent as CopyIcon } from "assets/icons/control/copy.svg";
import { ReactComponent as HeadingOneIcon } from "assets/icons/control/heading_1.svg";
import { ReactComponent as HeadingTwoIcon } from "assets/icons/control/heading_2.svg";
import { ReactComponent as HeadingThreeIcon } from "assets/icons/control/heading_3.svg";
import { ReactComponent as ParagraphIcon } from "assets/icons/control/paragraph.svg";
import { ReactComponent as ParagraphTwoIcon } from "assets/icons/control/paragraph_2.svg";
import { ReactComponent as BulletsIcon } from "assets/icons/control/bullets.svg";
import PlayIcon from "assets/icons/control/play-icon.png";
/* eslint-disable react/display-name */
export const ControlIcons: {
[id: string]: JSXElementConstructor<IconProps>;
} = {
DELETE_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<DeleteIcon />
</IconWrapper>
),
MOVE_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<MoveIcon />
</IconWrapper>
),
EDIT_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<EditIcon />
</IconWrapper>
),
VIEW_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<ViewIcon />
</IconWrapper>
),
MORE_VERTICAL_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<MoreVerticalIcon />
</IconWrapper>
),
MORE_HORIZONTAL_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<OverflowMenuIcon />
</IconWrapper>
),
JS_TOGGLE: (props: IconProps) => (
<IconWrapper {...props}>
<JsToggleIcon />
</IconWrapper>
),
INCREASE_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<IncreaseIcon />
</IconWrapper>
),
DECREASE_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<DecreaseIcon />
</IconWrapper>
),
DRAGGABLE_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<DraggableIcon />
</IconWrapper>
),
CLOSE_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<CloseIcon />
</IconWrapper>
),
PICK_MY_LOCATION_SELECTED_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<PickMyLocationSelectedIcon />
</IconWrapper>
),
SETTINGS_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<SettingsIcon />
</IconWrapper>
),
HELP_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<HelpIcon />
</IconWrapper>
),
PLAY_VIDEO: (props: IconProps) => (
<IconWrapper {...props}>
<img
src={PlayIcon}
style={{ height: "30px", width: "30px" }}
alt="Datasource"
/>
</IconWrapper>
),
REMOVE_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<RemoveIcon />
</IconWrapper>
),
DRAG_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<DragIcon />
</IconWrapper>
),
COLLAPSE_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<CollapseIcon />
</IconWrapper>
),
SORT_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<SortIcon />
</IconWrapper>
),
EDIT_WHITE: (props: IconProps) => (
<IconWrapper {...props}>
<EditWhiteIcon />
</IconWrapper>
),
LAUNCH_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<LaunchIcon />
</IconWrapper>
),
BACK_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<BackIcon />
</IconWrapper>
),
SHOW_COLUMN: (props: IconProps) => (
<IconWrapper {...props}>
<ShowColumnIcon />
</IconWrapper>
),
HIDE_COLUMN: (props: IconProps) => (
<IconWrapper {...props}>
<HideColumnIcon />
</IconWrapper>
),
DELETE_COLUMN: (props: IconProps) => (
<IconWrapper {...props}>
<DeleteColumnIcon />
</IconWrapper>
),
BOLD_FONT: (props: IconProps) => (
<IconWrapper {...props}>
<BoldFontIcon />
</IconWrapper>
),
ITALICS_FONT: (props: IconProps) => (
<IconWrapper {...props}>
<ItalicsFontIcon />
</IconWrapper>
),
LEFT_ALIGN: (props: IconProps) => (
<IconWrapper {...props}>
<LeftAlignIcon />
</IconWrapper>
),
CENTER_ALIGN: (props: IconProps) => (
<IconWrapper {...props}>
<CenterAlignIcon />
</IconWrapper>
),
RIGHT_ALIGN: (props: IconProps) => (
<IconWrapper {...props}>
<RightAlignIcon />
</IconWrapper>
),
VERTICAL_TOP: (props: IconProps) => (
<IconWrapper {...props}>
<VerticalAlignTop />
</IconWrapper>
),
VERTICAL_CENTER: (props: IconProps) => (
<IconWrapper {...props}>
<VerticalAlignCenter />
</IconWrapper>
),
VERTICAL_BOTTOM: (props: IconProps) => (
<IconWrapper {...props}>
<VerticalAlignBottom />
</IconWrapper>
),
COPY_CONTROL: (props: IconProps) => (
<IconWrapper {...props}>
<CopyIcon />
</IconWrapper>
),
HEADING_ONE: (props: IconProps) => (
<IconWrapper {...props}>
<HeadingOneIcon />
</IconWrapper>
),
HEADING_TWO: (props: IconProps) => (
<IconWrapper {...props}>
<HeadingTwoIcon />
</IconWrapper>
),
HEADING_THREE: (props: IconProps) => (
<IconWrapper {...props}>
<HeadingThreeIcon />
</IconWrapper>
),
PARAGRAPH: (props: IconProps) => (
<IconWrapper {...props}>
<ParagraphIcon />
</IconWrapper>
),
PARAGRAPH_TWO: (props: IconProps) => (
<IconWrapper {...props}>
<ParagraphTwoIcon />
</IconWrapper>
),
BULLETS: (props: IconProps) => (
<IconWrapper {...props}>
<BulletsIcon />
</IconWrapper>
),
};
export type ControlIconName = keyof typeof ControlIcons;