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
Summary: N.B. There was one duplicate definition which TS rightfully complained about.
Reviewed By: danielbuechele
Differential Revision: D16764036
fbshipit-source-id: 498e4703c2363b19a3bdfa44527bde5000034095
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
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
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
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
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
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
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
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
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
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
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