Commit Graph

217 Commits

Author SHA1 Message Date
Daniel Büchele
56d4a83184 Tab components
Summary: _typescript_

Reviewed By: passy

Differential Revision: D16830058

fbshipit-source-id: 22825fdad0924f1f8cdebcbb7a56e0c55ad3b5f3
2019-08-20 04:09:36 -07:00
Daniel Büchele
00c2a4dd29 StatusIndicator
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16830064

fbshipit-source-id: 947a7af91e4bdffedc321db369d79da4584d64f7
2019-08-20 04:09:36 -07:00
Daniel Büchele
fae45bc5ac Stacktrace
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828873

fbshipit-source-id: 518ac076960bc0bbc3dd0766eb0e81c4576e5db5
2019-08-20 04:09:36 -07:00
Daniel Büchele
4c521858c7 Sidebar components
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828870

fbshipit-source-id: b343b28b3dd1700919df3fcfde659f7fe99cadff
2019-08-20 04:09:35 -07:00
Daniel Büchele
dedf09c2ae Sheet
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828874

fbshipit-source-id: 1111d5e5ceae38c7af0a5e211efbbad57a110a45
2019-08-20 04:09:35 -07:00
Daniel Büchele
4ad072aa2c Select
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828872

fbshipit-source-id: 31c7a6604ab5c9749bce41bb81f6b8acb56e846b
2019-08-20 04:09:35 -07:00
Daniel Büchele
e199ee95d3 ResizeSensor
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828871

fbshipit-source-id: d88c65178f0728b40414c9eab66d0402d7d51edd
2019-08-20 04:09:34 -07:00
Daniel Büchele
aee3ab86cf Popover
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828816

fbshipit-source-id: e90852fcebd02416c3d5cfd8011bb96d2ea0d672
2019-08-20 04:09:34 -07:00
Daniel Büchele
f8e357d2c1 PathBreadcrumbs
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828812

fbshipit-source-id: 89ab25bcb83e79a0ee41998f0708dd7affd18766
2019-08-20 04:09:34 -07:00
Daniel Büchele
d5a5ce21c9 Panel
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828813

fbshipit-source-id: 9307391dc914ea10b458092b2ec72cd30e2eb0e9
2019-08-20 04:09:33 -07:00
Daniel Büchele
027a7f8336 Orderable
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828817

fbshipit-source-id: 24e35d29730d2b336a478fee41baa84af2892d12
2019-08-20 04:09:33 -07:00
Daniel Büchele
751b50c28f ModalOverlay
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828815

fbshipit-source-id: 9341286f7c3c32da3f7abeda53b78b2b7fa7bd1b
2019-08-20 04:09:33 -07:00
Daniel Büchele
3691305b4d MarkerTimeline
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828814

fbshipit-source-id: 13b86338a73a4838857a31e16ea184e35ebfa7d0
2019-08-20 04:09:32 -07:00
Daniel Büchele
cd10856c3e Colors
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828226

fbshipit-source-id: e6dd9946ae642a27ebc8a3f6dfce6773051f5a7a
2019-08-20 04:09:32 -07:00
Daniel Büchele
c1b718db8f Console
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828108

fbshipit-source-id: ca04853242b2f6511ecf28250add78bbbf79ba05
2019-08-20 04:09:32 -07:00
Daniel Büchele
6e19315e48 Desktop Toolbar
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16828106

fbshipit-source-id: 449b238ac709bbbd26086a054cd9b996385bd29b
2019-08-20 04:09:32 -07:00
Benjamin Elo
1ae3b90019 Added LocationsButton when Navigation Plugin is active
Summary:
Here I've added the LocationsButton to the TitleBar in Flipper. This allows the user to navigate to saved bookmarks, or display the current page URI without ever opening the Navigation Plugin (Except to add bookmarks). The challenge of this diff was having a TitleBar child be controlled by a plugin.

The LocationsButton pulls bookmarks straight from the database whenever a mouseDown event is called on the button. (The Electron popup menu does not respond to props changes, so the menu is opened on mouse up and getting the bookmarks from the database occurs on mouse down... This seems to work fine).

The nav plugin on the Android side will now also send a welcome message alerting the app to created a persisted state for the navigation plugin, which shows the button in the TitleBar.

Let me know if I can answer any questions.

Reviewed By: danielbuechele

Differential Revision: D16786330

fbshipit-source-id: afc95348d9b7ec4ee041f42bb4d022f58c6bb969
2019-08-14 05:27:43 -07:00
Pascal Hartig
d812b128ba Migrate LowPassFilter
Summary: _typescript_

Reviewed By: danielbuechele

Differential Revision: D16764120

fbshipit-source-id: 03185c74f3a1e753089ea550d3f193027aae9424
2019-08-13 08:26:55 -07:00
Pascal Hartig
93467193ad Migrate InteractionTracker
Summary: N.B. There was one duplicate definition which TS rightfully complained about.

Reviewed By: danielbuechele

Differential Revision: D16764036

fbshipit-source-id: 498e4703c2363b19a3bdfa44527bde5000034095
2019-08-13 08:26:54 -07:00
Pascal Hartig
85aeaa0e47 Migrate geometry/snap
Summary: Seemed quite related.

Reviewed By: jknoxville

Differential Revision: D16711573

fbshipit-source-id: 3c6b355a5ed6fae5cb5bac824b57adcc2b28024a
2019-08-12 03:53:15 -07:00
John Knox
9b6f3684cb Convert utils/snap to TS
Reviewed By: danielbuechele

Differential Revision: D16710422

fbshipit-source-id: 2f907904a7df24f6972952d0c7a63d7e6506e2ff
2019-08-12 03:11:15 -07:00
John Knox
a522afd64f Convert utils/textContent.tsx to TS
Summary: Convert utils/textContent.tsx to TS

Reviewed By: danielbuechele

Differential Revision: D16710386

fbshipit-source-id: 225d66965d915fc1c36e382e3c06c7b2dad5d973
2019-08-12 03:11:15 -07:00
Pascal Hartig
36a1c0046c Migrate createPaste
Summary: _typescript_

Reviewed By: jknoxville

Differential Revision: D16649018

fbshipit-source-id: c30d4ec390946e4b6de49ffeccc452d0a55c1e7a
2019-08-09 03:25:05 -07:00
Pascal Hartig
fc0966a133 Migrate GK
Summary: _typescript_

Reviewed By: jknoxville

Differential Revision: D16647882

fbshipit-source-id: a5a7053379cd9468e1da9ab0ac2098be3443dda7
2019-08-08 14:32:20 -07:00
John Knox
3bfb7faf0a Convert plugin.js to plugin.tsx
Summary:
* Deletes plugin.js
* Adds plugin.tsx
* Adds plugin flow-typed module that has the old flow types

Reviewed By: passy

Differential Revision: D16668067

fbshipit-source-id: b2f0ce47c4cf7125b4e352821e921b97675d12a9
2019-08-08 12:06:11 -07:00
Daniel Büchele
5f53087c7e client server
Summary: Migrating Server, Client and UninitializedClient to TypeScript

Reviewed By: passy

Differential Revision: D16687855

fbshipit-source-id: 402e4dbcd5d283d3e280d4d8b312662829457886
2019-08-08 11:00:38 -07:00
Daniel Büchele
64cefd0f84 migrate redux store
Summary: Migrating redux stores to TypeScript

Reviewed By: passy

Differential Revision: D16579796

fbshipit-source-id: e3e507f17f1bdd57eb45e30cb0b28aaee6c4521c
2019-08-08 08:07:21 -07:00
Daniel Büchele
16e913a819 local icons
Summary:
Currently icons were always fetched remotely. We used a service worker to prefetch and cache some icons, that were critical to the UI.

In this diff, we are bundling icons at build time, with the app. In utils/icons.js we still specfify the list of icons which should be bundled. These are downloaded as part of the build step and bundled with the app. We are downloading the icons in 1x and 2x (the two most common pixel densities).

Reviewed By: jknoxville

Differential Revision: D16620764

fbshipit-source-id: 965a7793ad1f08aebb292606add00218429cdaf4
2019-08-02 09:00:00 -07:00
Zoltán Gilián
1717fba410 Add option to disable keyboard navigation in ManagedTable
Summary: This may be needed e.g. if there are multiple ManagedTables in the window.

Reviewed By: jknoxville, danielbuechele

Differential Revision: D16620862

fbshipit-source-id: 1880e9e6e8e9ece5f687b2768eae7c4f206f69da
2019-08-02 08:35:16 -07:00
Sara Valderrama
f591475f85 A few mini-fixes for the accessibility layout inspector
Summary:
- fix mutual selection of elements in ax and non-ax tree (simplifies linkedNode logic as well)
- remove unneeded extraInfo attributes (focused, nonAXwithAXchild, & hasAXNode were not/no longer being used)
- use 50/50 fixed width view for trees when both are visible

Reviewed By: jknoxville

Differential Revision: D16390355

fbshipit-source-id: bbf9ea887f8f1035df8b4b0562ddcc4de291f004
2019-08-01 22:03:26 -07:00
Roman Gorbunov
cb374ffccd Flipper sent messages while editing
Summary: In previous version when you edited something in the flipper, after each symbol flipper sent a message to edit a value to mobile side. Now "change message" will be sent only after pressing "Enter" button.

Reviewed By: priteshrnandgaonkar

Differential Revision: D16338101

fbshipit-source-id: 6605663d0b0059fdb2d20cb279e133afc25d47f1
2019-07-25 04:03:02 -07:00
Benjamin Elo
a86ea5131c Added onHideSheet method to Sheet props
Summary:
This component was added back in January, but it hasn't been used, and thus no one has tested it in the real world.

It needs a onHideSheet method to unmount this component when the plugin sheet becomes hidden. This allows the sheet to appear and dissapear on button clicks, instead of only appearing when the container component loads.

For the old behavior see the test plan in this diff: D13597251

Reviewed By: jknoxville

Differential Revision: D16443836

fbshipit-source-id: 68feec23338287dbafc846689ea2a1b35be4b2b0
2019-07-24 02:53:24 -07:00
Timur Valiev
d3658f7d31 immutable data structures in tables 3/n: searchable table
Summary:
Migrating tables' row collection to Immutable.js List:
1. Сopy SearchableTable code to SearchableTable_immutable
2. Use ManagedTable_immutable for SearchableTable_immutable

-----
Current implementation of tables forces to copy arrays on new data arrival which causes O(N^2) complexity ->
tables can't handle a lot of new rows in short period of time -> tables freeze and become unresponsive for a few seconds.
Immutable data structures will bring us to O(N) complexity

Reviewed By: jknoxville

Differential Revision: D16416732

fbshipit-source-id: 856ba0407bfdd12bb1b90110e130562a07cc5060
2019-07-23 08:00:54 -07:00
Timur Valiev
6deaf2106f immutable data structures in tables 2/n: managed table
Summary:
Migrating tables' row collection to Immutable.js List:
1. Change native array to Immutable list in ManagedTable_immutable

-----
Current implementation of tables forces to copy arrays on new data arrival which causes O(N^2) complexity ->
tables can't handle a lot of new rows in short period of time -> tables freeze and become unresponsive for a few seconds.
Immutable data structures will bring us to O(N) complexity

Reviewed By: jknoxville

Differential Revision: D16416869

fbshipit-source-id: 6d5690d8f5f70286f31a423e319b2cb22deab8ff
2019-07-23 08:00:54 -07:00
Timur Valiev
af7830d94a immutable data structures in tables 1/n: init
Summary:
Migrating tables' row collection to Immutable.js List:
1. Сopy ManagedTable code, no changes
2. Add deps to Immutable.js

-----
Current implementation of tables forces to copy arrays on new data arrival which causes O(N^2) complexity ->
tables can't handle a lot of new rows in short period of time -> tables freeze and become unresponsive for a few seconds.
Immutable data structures will bring us to O(N) complexity

Reviewed By: jknoxville

Differential Revision: D16416870

fbshipit-source-id: d3e1a9571ea08fa7ccaedc5ad3eca863d22a79a4
2019-07-23 08:00:54 -07:00
Pascal Hartig
d81a037962 Convert some CommonJS constructs to ES6
Summary:
Tried to automate this with [cjs-to-es6](https://github.com/nolanlawson/cjs-to-es6) but it only
works on vanilla JS files without any special Flow syntax. I converted some places
manually but we can just do the rest as we modify the files.

Reviewed By: jknoxville

Differential Revision: D16340187

fbshipit-source-id: b55c7ce2d719876e47e85f5f3fce13b8c8ae4010
2019-07-18 12:56:08 -07:00
Sidd Srinivasan
4dbf51f28c switch for to htmlFor in <Select>
Summary: Was getting error that the label for Select should be using htmlFor not for. found that when wrapping with JSX - changing this inside select fixes this errorlog.

Reviewed By: passy

Differential Revision: D16264103

fbshipit-source-id: 6a19d723a8356403ba4a169e0b160fed7e137670
2019-07-17 07:57:32 -07:00
Edward Pastuszenski
4f4d9fa76e Omit invisible columns from horizontallyScrollable ManagedTables' width
Summary: Currently, `horizontallyScrollable` logic includes even invisible columns in the width calculation for `horizontallyScrollable` `ManagedTable`s, resulting in large empty spaces when many columns are invisible.

Reviewed By: danielbuechele

Differential Revision: D16139713

fbshipit-source-id: f653121845fbeac8a29bdb67ad0309add28e526a
2019-07-10 03:28:26 -07:00
Roman Gorbunov
6c5e2cbcf8 Added highlighting of search results
Summary:
Text of the component is now can be searched if flipper layout plugin
Flipper now highlight all the row if name of id or text of this component matched to the query

Reviewed By: priteshrnandgaonkar

Differential Revision: D16108315

fbshipit-source-id: ff5eb0bc4890f02c9b07e47c26b9ea1408d9c606
2019-07-08 03:43:55 -07:00
John Knox
33df17b462 Fix layout search red text
Summary: The search text should only appear red when it's a regex, and when that regex is not valid.

Reviewed By: danielbuechele

Differential Revision: D16091096

fbshipit-source-id: 22b3e229e2c82ced956bae8fd203c5f177323dc2
2019-07-03 03:40:16 -07:00
Benjamin Elo
28d4e6409d Created chained button group component
Summary:
This is a new component that allows for chaining of buttons in a button group by placing an icon in between them.

This is how we plan to navigate between views within an Android app.

Reviewed By: danielbuechele

Differential Revision: D16071234

fbshipit-source-id: 404a3a341081b6111667bd5acf27876bec627435
2019-07-01 08:31:22 -07:00
Roman Gorbunov
30b7d4e9dd Copy ID of view
Summary: Now if you copy one of components in flipper in layout plugin, you will get not only name but also id in your clipboard

Reviewed By: priteshrnandgaonkar

Differential Revision: D16031628

fbshipit-source-id: e2c38182dea28719615609f3aa2c74e58749cce4
2019-06-28 01:51:40 -07:00
Benjamin Elo
ecf2831d5d Added toggle fix for dropdown device menu
Summary:
Summary of Bug:

The devices menu popup does not toggle as expected.

Because of the way the click event is fired in Javascript, that is mousedown, mouseup, click, and the fact that the electron menu closes on mousedown, was why the menu was not toggling as expected.

Fix:

This is a potential fix where I add some state to tell if the menu was recently closed, and disable the popup if it was. This is done through the callback method of menu.popup. Then on the next mouse event I renable the popup.

In addition to this, I moved the popup logic into onMouseUp instead of onClick. This was simply to make the code neater. Before I would have to add a timer to the onMouseUp event that would fire after the click event and renable the popup.

Let me know if there is a simple solution to this problem that I've completely missed.

Reviewed By: jknoxville

Differential Revision: D16028864

fbshipit-source-id: a73202536762cce2ab623176cbda0369ca2b8079
2019-06-27 07:19:43 -07:00
Pritesh Nandgaonkar
81b71352dd Fix the bug related to the crash selection
Summary:
Fixes the bug when the crash options had same title. Selection was broken in that case. Look at the video.

{F163450316}

Reviewed By: jknoxville

Differential Revision: D15985919

fbshipit-source-id: 7366c8f5f33bbddc15c058b7d20d78d295161404
2019-06-27 06:58:08 -07:00
Daniel Büchele
ab6fe68a70 show multiple lines of markers
Summary: Multiple markers might got truncated, now the list expands on hover

Reviewed By: jknoxville

Differential Revision: D15939404

fbshipit-source-id: 2640f200dc17876391e04eeced59bc7a2d925113
2019-06-21 05:57:29 -07:00
John Knox
9c99211221 Rename regexSupported to allowRegexSearch
Summary: This was annoying me so I thought I'd rename it before anyone else starts to use the prop.

Reviewed By: danielbuechele

Differential Revision: D15919159

fbshipit-source-id: c351503797cedc5c11a158cec62515b1eb791a70
2019-06-20 06:29:10 -07:00
John Knox
5200f4f528 Use monospace font for regex in searchable
Summary:
Seemed a bit weird typing a regex without monospace.
Still would be good to have syntax highlighting. I tried using prismjs, but it seems to not work by default on Input elements.

Reviewed By: danielbuechele

Differential Revision: D15918742

fbshipit-source-id: b44c228b30f37f97811d09c80b191b52282720f8
2019-06-20 05:04:50 -07:00
Pascal Hartig
5c497d3eea Make the sidebar pretty
Summary:
Now that the events tracking works again, make sure that the padding is not all over the place in the sidebar.

Before:

{F162525912}

Reviewed By: priteshrnandgaonkar

Differential Revision: D15875758

fbshipit-source-id: a30f057c8c0dc2dc77fc40f416ff565cc6621109
2019-06-20 03:51:17 -07:00
John Knox
b7229b40ac Add regex search to logs plugin
Summary:
Adds regex support to the logs plugin.

You can now do the same for any other SearchableTable, just by adding the prop `regexSupported={true}`

For other types of searchables, like maybe the layout hierarchy, we'll need to modify the class that does the filtering for that type.

I've done what I can with the UI to make it usable, though it would be awesome to have some proper regex syntax parsing and highlighting going on. It will go red if it's not valid at least.

Reviewed By: danielbuechele

Differential Revision: D15898806

fbshipit-source-id: 425edb1834dcc14ca741ac7fc8d566b4f2763c63
2019-06-20 02:50:20 -07:00
Daniel Büchele
8bc26378f0 copy virtualized rows
Summary: Rows that were virtualized and currently not rendered weren't copied, because we were using the DOM to get their content. This changes this to use out `textContent` utility to get the value of a row and therefore enables copying rows that are not rendered.

Reviewed By: jknoxville

Differential Revision: D15898935

fbshipit-source-id: c372bc4e77477214860f0513b442374da8f72416
2019-06-19 09:01:00 -07:00