Summary:
When a color was changed on a litho component, the changes were made, but the display in Flipper's layout sidebar always showed `rgba(0,0,0,0)` as a color. This was because reading the color failed for `ComparableColorDrawable` and it sent `0` as fallback value.
This diff adds an additional check if the value is an instance of `ComparableColorDrawable` and reads the color from it.
Reviewed By: passy
Differential Revision: D15469093
fbshipit-source-id: 7f1aaf1c4981815605aca5ba735fa09e80deaa42
Summary:
It was relying on hash keys to be in order, which obviously won't work. Logs plugin, on "copy message" was copying a timestamp instead.
Fixed by using the columnOrder state instead.
Reviewed By: danielbuechele
Differential Revision: D15535281
fbshipit-source-id: 2d7db95c16cc4f75c0d9cf14806fcc80cc8e4bd9
Summary:
Adds a plugin for listing the databases, tables and contents of those tables in an android app.
Right now, works with sqlite, but it should be generic enough to work with other db types.
## Changelog
Add initial version of android databases plugin
Creating a PR, I may need to do some cleaning up, but this is to kick off that process.
Pull Request resolved: https://github.com/facebook/flipper/pull/441
Reviewed By: danielbuechele
Differential Revision: D15288831
Pulled By: jknoxville
fbshipit-source-id: 6379ad60d640ea6b0a9473acc03dd6ea81a3a8d4
Summary: I added column size persistence when resizing manually, but broke initial column sizing when a prop is provided. This fixes it.
Reviewed By: passy
Differential Revision: D15392145
fbshipit-source-id: 53f79c520917cd571302502c8b75aa0475567cb9
Summary: This was already implemented in the old versin of layout inspector and got lost during the refactoring. When using talkback, the focused view is highlighted in green in the a11y inspector.
Reviewed By: passy
Differential Revision: D15294025
fbshipit-source-id: 92cc015e4bc726515e433b7b96f924246916972d
Summary:
Previously you could only copy the entire row.
Now you can choose which cell to copy.
Not the perfect UI admittedly, but that would require a big change to make individual cells selectable. I think it's a definite improvement.
Reviewed By: passy
Differential Revision: D15231784
fbshipit-source-id: 0d52192a5bf4e8ea1ebee74988c749d3f602fea9
Summary: This was causing resizing to trigger onClick every time, which isn't wanted.
Reviewed By: passy
Differential Revision: D15219039
fbshipit-source-id: ea5d9221b0ce8fa7a050a8410876cf78bfee2bc6
Summary: Allows for sort order to be preserved and applied from the start.
Reviewed By: danielbuechele
Differential Revision: D15182696
fbshipit-source-id: ad546ce35bf4637ca637589c6c3d6291a4313db7
Summary:
Adds a global inside managed table where, whenever a table key is provided, the column sizes are stored.
Then if a new table is constructed with the same key, it will get the sizes from before.
Reviewed By: danielbuechele
Differential Revision: D15181762
fbshipit-source-id: 98b5a14f8805075928cbe51511609b8b58c512fd
Summary:
Adding a property `horizontallyScrollable` the `ManagedTable` that enables horizontal scrolling, if that is required by the table's contents.
By default this behaviour is disabled to not break existing tables.
Reviewed By: jknoxville
Differential Revision: D15166144
fbshipit-source-id: 7a9b76facdbe717deb3d097e0b8883d4b0732d51
Summary:
We've had a bunch of different options that were all binary
switches with very different ways of displaying them.
This consolidates them all to use ToggleSwitches. I think it
may still make sense to move them all to a sidebar as it's
the case for the Analytics plugin, but that's for another diff.
Reviewed By: danielbuechele
Differential Revision: D14933392
fbshipit-source-id: 7ef286b61142a564a7cde6de875266ac8641704b
Summary:
The `instanceof Object` check was throwing an "cannnot convert object to primitve value" error, for some reason that I didn't fully understand. Replacing this check with a `typeof` check. However, `null` also returns `object`, so we are explictly checking this as well.
This was the error that happened before, on every POST request:
https://pxl.cl/vc6K
Reviewed By: passy
Differential Revision: D14827145
fbshipit-source-id: 999480db9afb1e0cc0d1bef73fb0cb2223fa0bc4
Summary:
Native plugins are plugins that can be written in mobile code alone (java/objc), provided they conform to a template, currently table is the only implemented template.
This adds support to flipper for handling them.
Reviewed By: danielbuechele
Differential Revision: D14502188
fbshipit-source-id: a96be9b06de1cecf7977c4ef2fd05b168f7f1330
Summary: I have updated the UI of the crash reporter. It doesn't show the multiple crashes now. I will work on that in other diff. This diff just updates the current UI that shows the latest crash, as per the [design](https://our.intern.facebook.com/intern/px/p/pJ11/)
Reviewed By: danielbuechele
Differential Revision: D14399400
fbshipit-source-id: f6f28c2c6d386f4cd99a257922993ef355b1059b
Summary: Overflow on panels was clipped. Setting overflow visible to make it visible.
Reviewed By: passy
Differential Revision: D14519402
fbshipit-source-id: 264f99e3ac20986365c8f69564c4633818dd4a94
Summary: Should also fix the build.
Reviewed By: jknoxville
Differential Revision: D14477777
fbshipit-source-id: 01fcfb2321c9b7a12acdf079473d91b6805d4dda
Summary:
Removing the virtualization in the elements inspector. This didn't really make sense here, because usually the inspector renders 10-1000 rows, which can be easily done in the browser. Having virtualization here, caused some problems with icons flickering and scrolling being broken.
Let's make it less complex and just remove the virtualization!
Reviewed By: jknoxville
Differential Revision: D14209815
fbshipit-source-id: 115d3ed57a1ccdbc20108636ff4fc7fc68e6c9c0
Summary:
The keys in WeakMaps have to be Objects (i.e. can't be primitives) as
they have to be fall under the responsibility of the GC.
Without this check, we may get "TypeError: Invalid value used as weak map key"
as we accept `any` as `data` for the inspector. I'm not entirely
confident if this check is enough, but I also don't have a way of reproducing
the error we got reported.
Reviewed By: jknoxville
Differential Revision: D14182463
fbshipit-source-id: 3397678935f08513e485bf5654377b54053ee32f
Summary:
The search query can only be persisted if we have an identifier for the searchable component. For this we already have a property `tableKey` on our `ManagedTable`. However, we don't want to require every plugin to provide a key for their table.
In this diff, a tableKey is auto-generated from the table's column configuration. This should be good enough to uniquely identify a table and persist it's query.
Reviewed By: passy
Differential Revision: D14168577
fbshipit-source-id: 13e928a606c3a05096dfbfb01ae90b15aa085bf2
Summary:
1. Added onSort() pass-through to ManagedTable which allows to handle sort order changes.
2. columnOrder now gets updated when the corresponding prop is changed indepedently from ref.
Reviewed By: danielbuechele
Differential Revision: D14147857
fbshipit-source-id: 03300629a3316a69be6b745810516966b8060aa6
Summary: Soves the bug which caused the multiselection to clear off when one did ctrl+click
Reviewed By: jknoxville
Differential Revision: D14103906
fbshipit-source-id: 834d79e1c86a89b4d90c26e8db1850c1e8712a5d
Summary:
Unified all imports of Logger. Some were called LogManager before.
Now the fb-stub and the fb variants use the same interface.
Constructor of Logger is no longer exposed so it can't be initialized twice, unless in the case you're explicitly using the fb variant, which has extra functionality.
Reviewed By: danielbuechele
Differential Revision: D14083929
fbshipit-source-id: 9b61a06e1264d5f142b5a9188465c99deaf18193
Summary:
Upgrading to flow 0.91, fixing a bunch of `$FloxFixMe`s that were introduced by upgrading to 0.86.
Also fixing some linting issues.
Reviewed By: priteshrnandgaonkar
Differential Revision: D13900794
fbshipit-source-id: 5d0a1b62371f3b5d34b909bae0876583acb6f977
Summary:
Incorrect imports were causing an error: `invariant is not a function`.
This fixes the imports.
Reviewed By: jknoxville, priteshrnandgaonkar
Differential Revision: D13859945
fbshipit-source-id: 2a5f5f87b4df2840c8e6b749acb293b145805afa
Summary:
Fixes required to be able to run Flipper in node.js:
* Adds checks if the `window`-object exists before using it, to allow running in node.
* Imports from within Flipper should directly reference the file they are requiring instead of `import from 'flipper'`. This was done in most of the places. Fixed a few occurrences where this wasn't the case. This is to prevent cyclic dependencies in node.
* shared packages (React, ReactDOM and Flipper) were exposed on the `window` before, changed this to `global` as this works in browser and node.
* Adds some missing methods to our electron stubs (used for testing and headless Flipper)
Reviewed By: passy
Differential Revision: D13786577
fbshipit-source-id: 145d560f1446e7d0bdec2acd8dd54dae983d7b36
Summary:
Exposing a `<Sheet>` component to plugins. This allows plugins to create sheets, by returning something like this from their render function:
```js
return <div>
contents of my plugin
<Sheet>{() => <div>content of my sheet</div>}
</div>
```
Reviewed By: passy
Differential Revision: D13597251
fbshipit-source-id: 9da6ba6d2036243ddd2d05b73d392bf24be8d375
Summary:
This patch add a new prop on ManageTabled called buildContextMenuItems. It allows
to override the current context menu when right click on the ManagedTable rows.
Pull Request resolved: https://github.com/facebook/flipper/pull/352
Reviewed By: danielbuechele
Differential Revision: D13590258
Pulled By: passy
fbshipit-source-id: a90887a97136818611102a2628361c84988efeac
Summary: Moving the `MarkerTimeline` from the QPL plugin to the Flipper UI library, so it can be used by other plugin.
Reviewed By: priteshrnandgaonkar
Differential Revision: D13377065
fbshipit-source-id: 9ef1f0e044fa85b68a01e23071042600aa5c3c63
Summary:
Moving the scrolling to highlightedRows from `componentWillReceiveProps` to `componentDidUpdate` to make sure the rows are rendered, when this method is called.
The method is called, whenever the highlighted rows change, and on the first update. The reason why this is called on the first update is described in an inline comment.
Reviewed By: passy
Differential Revision: D13376566
fbshipit-source-id: 311a1f430e08fcfb4e31b39a2c5b34910694917f
Summary:
* using `includes` instead of `indexOf` for performance improvements
* fixing bug in Searchable overwriting `defaultFilter` variable
* adding default name for markers without name
Reviewed By: priteshrnandgaonkar
Differential Revision: D13397936
fbshipit-source-id: ee514dab7c2ac4acdaba86ccd41e0ef69815faeb
Summary: When nodes didn't have any metadata, the data was an empty string, which fails json parsing. This causes data be passed to the InspectorSidebarSection as ''. The weak map inside that component expects data to be an object, not a string, and crashes if it's actually a string. This will ensure that data is always an object.
Reviewed By: jknoxville
Differential Revision: D13109384
fbshipit-source-id: 469a1b5c1c00130ef37636bf7c6796b2463fb34b
Summary: Searchbar didn't update the filters when new default filters were added. This adds the new filters when they are added to the searchbar. Existing filters are not touched.
Reviewed By: passy
Differential Revision: D12999885
fbshipit-source-id: 51d9a1579724be2098b54161b39a0769180fb343
Summary: Added JSON parsing to make tree structure for NT subsection in layout inspector
Reviewed By: danielbuechele
Differential Revision: D12938117
fbshipit-source-id: 43967d2e970ff2ce7e9b2e05a99d58a95a71b650
Summary:
This is a collection of small UI fixes for the network plugin:
- image maxWidth is set to 100% to not cause vertical scrolling
- Panels now have horizontal scrollbars, if their content overflows
- fixing missing icon for failed network requests
- removing position sticky from table headers as it was not used and causing some rendering issues and performance problems
- Adding a `label` and `grow` option to the `Select`-component which is used in the sidebar of the network plugin.
Reviewed By: passy
Differential Revision: D12956336
fbshipit-source-id: 6e7e9cf97c058a2ff626576d4afdc6df65007ea1
Summary: This allows sidebar extensions to have more information as to whether they should be enabled or not
Reviewed By: danielbuechele
Differential Revision: D12930405
fbshipit-source-id: 649d3f01da1c535f7d60b7b525b012a888ea78e0
Summary:
persist the state of the redux store of `blacklistedPlugins`, so we don't show notifications for them.
This also fixes a bug where defaultFilters were not shown in the filterbar.
Reviewed By: passy
Differential Revision: D12924356
fbshipit-source-id: ebc5d2f5d2d3acfb5ed63d4085b65b7a78a7b05a