Filter
Summary: _typescript_ Reviewed By: jknoxville Differential Revision: D16807179 fbshipit-source-id: b5de66d686394acba6552de139764bb65b3ac652
This commit is contained in:
committed by
Facebook Github Bot
parent
1deb3c68f9
commit
c8c90ee413
137
src/index.js
137
src/index.js
@@ -46,3 +46,140 @@ export {default as AndroidDevice} from './devices/AndroidDevice.tsx';
|
||||
export {default as ArchivedDevice} from './devices/ArchivedDevice.tsx';
|
||||
export {default as IOSDevice} from './devices/IOSDevice.tsx';
|
||||
export type {OS} from './devices/BaseDevice.tsx';
|
||||
|
||||
export {default as Button} from './ui/components/Button.tsx';
|
||||
export {default as ToggleButton} from './ui/components/ToggleSwitch.tsx';
|
||||
export {
|
||||
default as ButtonNavigationGroup,
|
||||
} from './ui/components/ButtonNavigationGroup.tsx';
|
||||
export {default as ButtonGroup} from './ui/components/ButtonGroup.tsx';
|
||||
export {
|
||||
default as ButtonGroupChain,
|
||||
} from './ui/components/ButtonGroupChain.tsx';
|
||||
export {colors, darkColors, brandColors} from './ui/components/colors.tsx';
|
||||
export {default as Glyph} from './ui/components/Glyph.tsx';
|
||||
export {
|
||||
default as LoadingIndicator,
|
||||
} from './ui/components/LoadingIndicator.tsx';
|
||||
export {default as Popover} from './ui/components/Popover.tsx';
|
||||
export {
|
||||
TableColumns,
|
||||
TableRows,
|
||||
TableRows_immutable,
|
||||
TableBodyColumn,
|
||||
TableBodyRow,
|
||||
TableHighlightedRows,
|
||||
TableRowSortOrder,
|
||||
TableColumnOrder,
|
||||
TableColumnOrderVal,
|
||||
TableColumnSizes,
|
||||
} from './ui/components/table/types.js';
|
||||
export {default as ManagedTable} from './ui/components/table/ManagedTable.js';
|
||||
export {ManagedTableProps} from './ui/components/table/ManagedTable.js';
|
||||
export {
|
||||
default as ManagedTable_immutable,
|
||||
} from './ui/components/table/ManagedTable_immutable.js';
|
||||
export {
|
||||
ManagedTableProps_immutable,
|
||||
} from './ui/components/table/ManagedTable_immutable.js';
|
||||
export {Value} from './ui/components/table/TypeBasedValueRenderer.js';
|
||||
export {renderValue} from './ui/components/table/TypeBasedValueRenderer.js';
|
||||
export {
|
||||
DataValueExtractor,
|
||||
DataInspectorExpanded,
|
||||
} from './ui/components/data-inspector/DataInspector.js';
|
||||
export {
|
||||
default as DataInspector,
|
||||
} from './ui/components/data-inspector/DataInspector.js';
|
||||
export {
|
||||
default as ManagedDataInspector,
|
||||
} from './ui/components/data-inspector/ManagedDataInspector.js';
|
||||
export {
|
||||
default as DataDescription,
|
||||
} from './ui/components/data-inspector/DataDescription.js';
|
||||
export {default as Tabs} from './ui/components/Tabs.tsx';
|
||||
export {default as Tab} from './ui/components/Tab.tsx';
|
||||
export {default as Input} from './ui/components/Input.tsx';
|
||||
export {default as Textarea} from './ui/components/Textarea.tsx';
|
||||
export {default as Select} from './ui/components/Select.tsx';
|
||||
export {default as Checkbox} from './ui/components/Checkbox.tsx';
|
||||
export {default as CodeBlock} from './ui/components/CodeBlock.tsx';
|
||||
export {default as ErrorBlock} from './ui/components/ErrorBlock.tsx';
|
||||
export {ErrorBlockContainer} from './ui/components/ErrorBlock.tsx';
|
||||
export {default as ErrorBoundary} from './ui/components/ErrorBoundary.tsx';
|
||||
export {OrderableOrder} from './ui/components/Orderable.tsx';
|
||||
export {default as Interactive} from './ui/components/Interactive.tsx';
|
||||
export {default as Orderable} from './ui/components/Orderable.tsx';
|
||||
export {default as VirtualList} from './ui/components/VirtualList.tsx';
|
||||
export {Component, PureComponent} from 'react';
|
||||
export {
|
||||
default as ContextMenuProvider,
|
||||
} from './ui/components/ContextMenuProvider.tsx';
|
||||
export {default as ContextMenu} from './ui/components/ContextMenu.tsx';
|
||||
export {FileListFile, FileListFiles} from './ui/components/FileList.tsx';
|
||||
export {default as FileList} from './ui/components/FileList.tsx';
|
||||
export {default as File} from './ui/components/File.tsx';
|
||||
export {
|
||||
DesktopDropdownItem,
|
||||
DesktopDropdownSelectedItem,
|
||||
DesktopDropdown,
|
||||
} from './ui/components/desktop-toolbar.tsx';
|
||||
export {default as View} from './ui/components/View.tsx';
|
||||
export {default as ViewWithSize} from './ui/components/ViewWithSize.tsx';
|
||||
export {default as Block} from './ui/components/Block.tsx';
|
||||
export {default as FocusableBox} from './ui/components/FocusableBox.tsx';
|
||||
export {default as Sidebar} from './ui/components/Sidebar.tsx';
|
||||
export {default as SidebarLabel} from './ui/components/SidebarLabel.tsx';
|
||||
export {default as Box} from './ui/components/Box.tsx';
|
||||
export {default as FlexBox} from './ui/components/FlexBox.tsx';
|
||||
export {default as FlexRow} from './ui/components/FlexRow.tsx';
|
||||
export {default as FlexColumn} from './ui/components/FlexColumn.tsx';
|
||||
export {default as FlexCenter} from './ui/components/FlexCenter.tsx';
|
||||
export {default as Toolbar, Spacer} from './ui/components/Toolbar.tsx';
|
||||
export {default as Panel} from './ui/components/Panel.tsx';
|
||||
export {default as Text} from './ui/components/Text.tsx';
|
||||
export {default as TextParagraph} from './ui/components/TextParagraph.tsx';
|
||||
export {default as Link} from './ui/components/Link.tsx';
|
||||
export {default as PathBreadcrumbs} from './ui/components/PathBreadcrumbs.tsx';
|
||||
export {default as ModalOverlay} from './ui/components/ModalOverlay.tsx';
|
||||
export {default as Tooltip} from './ui/components/Tooltip.tsx';
|
||||
export {default as TooltipProvider} from './ui/components/TooltipProvider.tsx';
|
||||
export {default as ResizeSensor} from './ui/components/ResizeSensor.tsx';
|
||||
export {default as StatusIndicator} from './ui/components/StatusIndicator.tsx';
|
||||
export {default as HorizontalRule} from './ui/components/HorizontalRule.tsx';
|
||||
export {default as VerticalRule} from './ui/components/VerticalRule.tsx';
|
||||
export {default as Label} from './ui/components/Label.tsx';
|
||||
export {default as Heading} from './ui/components/Heading.tsx';
|
||||
export {Filter} from './ui/components/filter/types.tsx';
|
||||
export {default as MarkerTimeline} from './ui/components/MarkerTimeline.tsx';
|
||||
export {default as StackTrace} from './ui/components/StackTrace.tsx';
|
||||
export {
|
||||
SearchBox,
|
||||
SearchInput,
|
||||
SearchIcon,
|
||||
default as Searchable,
|
||||
} from './ui/components/searchable/Searchable.js';
|
||||
export {
|
||||
default as SearchableTable,
|
||||
} from './ui/components/searchable/SearchableTable.js';
|
||||
export {
|
||||
default as SearchableTable_immutable,
|
||||
} from './ui/components/searchable/SearchableTable_immutable.js';
|
||||
export {SearchableProps} from './ui/components/searchable/Searchable.js';
|
||||
export {
|
||||
ElementID,
|
||||
ElementData,
|
||||
ElementAttribute,
|
||||
Element,
|
||||
ElementSearchResultSet,
|
||||
} from './ui/components/elements-inspector/ElementsInspector.js';
|
||||
export {Elements} from './ui/components/elements-inspector/elements.js';
|
||||
export {
|
||||
ContextMenuExtension,
|
||||
} from './ui/components/elements-inspector/elements.js';
|
||||
export {
|
||||
default as ElementsInspector,
|
||||
} from './ui/components/elements-inspector/ElementsInspector.js';
|
||||
export {InspectorSidebar} from './ui/components/elements-inspector/sidebar.js';
|
||||
export {Console} from './ui/components/console.tsx';
|
||||
export {default as Sheet} from './ui/components/Sheet.tsx';
|
||||
|
||||
@@ -21,6 +21,7 @@ type Props = {
|
||||
children: React.ReactNode;
|
||||
/** The component that is used to wrap the children. Defaults to `FlexColumn`. */
|
||||
component: React.ComponentType<any> | string;
|
||||
onMouseDown: (e: React.MouseEvent) => any;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
* @format
|
||||
*/
|
||||
|
||||
import type {Filter} from './types.js';
|
||||
import {PureComponent} from 'react';
|
||||
import ContextMenu from '../ContextMenu.tsx';
|
||||
import textContent from '../../../utils/textContent.tsx';
|
||||
import styled from '../../styled/index.js';
|
||||
import {colors} from '../colors.tsx';
|
||||
import {Filter} from './types.js';
|
||||
import React, {PureComponent} from 'react';
|
||||
import ContextMenu from '../ContextMenu';
|
||||
import textContent from '../../../utils/textContent';
|
||||
import styled from 'react-emotion';
|
||||
import {colors} from '../colors';
|
||||
|
||||
const FilterText = styled('div')({
|
||||
display: 'flex',
|
||||
@@ -40,13 +40,13 @@ const FilterText = styled('div')({
|
||||
});
|
||||
|
||||
type Props = {
|
||||
children: React.Node,
|
||||
addFilter: (filter: Filter) => void,
|
||||
filterKey: string,
|
||||
children: React.ReactNode;
|
||||
addFilter: (filter: Filter) => void;
|
||||
filterKey: string;
|
||||
};
|
||||
|
||||
export default class FilterRow extends PureComponent<Props> {
|
||||
onClick = (e: SyntheticMouseEvent<>) => {
|
||||
onClick = (e: React.MouseEvent) => {
|
||||
if (e.button === 0) {
|
||||
this.props.addFilter({
|
||||
type: e.metaKey || e.altKey ? 'exclude' : 'include',
|
||||
@@ -1,24 +0,0 @@
|
||||
/**
|
||||
* Copyright 2018-present Facebook.
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
* @format
|
||||
*/
|
||||
|
||||
export type Filter =
|
||||
| {
|
||||
key: string,
|
||||
value: string,
|
||||
type: 'include' | 'exclude',
|
||||
}
|
||||
| {
|
||||
key: string,
|
||||
value: Array<string>,
|
||||
type: 'enum',
|
||||
enum: Array<{
|
||||
label: string,
|
||||
color?: string,
|
||||
value: string,
|
||||
}>,
|
||||
persistent?: boolean,
|
||||
};
|
||||
24
src/ui/components/filter/types.tsx
Normal file
24
src/ui/components/filter/types.tsx
Normal file
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Copyright 2018-present Facebook.
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
* @format
|
||||
*/
|
||||
|
||||
export type Filter =
|
||||
| {
|
||||
key: string;
|
||||
value: string;
|
||||
type: 'include' | 'exclude';
|
||||
}
|
||||
| {
|
||||
key: string;
|
||||
value: Array<string>;
|
||||
type: 'enum';
|
||||
enum: Array<{
|
||||
label: string;
|
||||
color?: string;
|
||||
value: string;
|
||||
}>;
|
||||
persistent?: boolean;
|
||||
};
|
||||
@@ -13,7 +13,7 @@ import type {
|
||||
} from './types.js';
|
||||
|
||||
import React from 'react';
|
||||
import FilterRow from '../filter/FilterRow.js';
|
||||
import FilterRow from '../filter/FilterRow.tsx';
|
||||
import styled from '../../styled/index.js';
|
||||
import FlexRow from '../FlexRow.tsx';
|
||||
import {colors} from '../colors.tsx';
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @format
|
||||
*/
|
||||
|
||||
import type {Filter} from '../filter/types.js';
|
||||
import type {Filter} from '../filter/types.tsx';
|
||||
|
||||
import {List} from 'immutable';
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@ export {default as Label} from './components/Label.tsx';
|
||||
export {default as Heading} from './components/Heading.tsx';
|
||||
|
||||
// filters
|
||||
export type {Filter} from './components/filter/types.js';
|
||||
export type {Filter} from './components/filter/types.tsx';
|
||||
|
||||
export {default as MarkerTimeline} from './components/MarkerTimeline.tsx';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user