Added navigation plugin
Summary: Adding the auto-genrated scarf files from creating the Flipper navigation plugin. GK for this plugin is flipper-navigation. Reviewed By: jknoxville, danielbuechele Differential Revision: D16119841 fbshipit-source-id: 74e19c82dc95e73fe2ae06d1eb8cef2456b81931
This commit is contained in:
committed by
Facebook Github Bot
parent
1b3ae77c40
commit
4d774ba252
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2018-present, Facebook, Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the LICENSE
|
||||||
|
* file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package com.facebook.flipper.plugins.navigation;
|
||||||
|
|
||||||
|
import static org.hamcrest.CoreMatchers.hasItem;
|
||||||
|
import static org.hamcrest.MatcherAssert.assertThat;
|
||||||
|
|
||||||
|
import com.facebook.flipper.core.FlipperObject;
|
||||||
|
import com.facebook.flipper.testing.FlipperConnectionMock;
|
||||||
|
import com.facebook.flipper.testing.FlipperResponderMock;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
|
||||||
|
@RunWith(RobolectricTestRunner.class)
|
||||||
|
public class NavigationFlipperPluginTest {
|
||||||
|
@Test
|
||||||
|
public void greetingTest() throws Exception {
|
||||||
|
final NavigationFlipperPlugin plugin = new NavigationFlipperPlugin();
|
||||||
|
final FlipperConnectionMock connection = new FlipperConnectionMock();
|
||||||
|
final FlipperResponderMock responder = new FlipperResponderMock();
|
||||||
|
|
||||||
|
plugin.onConnect(connection);
|
||||||
|
connection.receivers.get("greet").onReceive(null, responder);
|
||||||
|
|
||||||
|
assertThat(
|
||||||
|
responder.successes, hasItem(new FlipperObject.Builder().put("greeting", "Hello").build()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* @scarf-info: do not remove, more info: https://fburl.com/scarf */
|
||||||
|
/* @scarf-generated: flipper-plugin android/test/PluginTest.java 0bfa32e5-fb15-4705-81f8-86260a1f3f8e */
|
||||||
58
src/plugins/navigation/index.js
Normal file
58
src/plugins/navigation/index.js
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
/**
|
||||||
|
* 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
|
||||||
|
* @flow strict-local
|
||||||
|
*/
|
||||||
|
|
||||||
|
import {FlipperPlugin, FlexColumn} from 'flipper';
|
||||||
|
|
||||||
|
type State = {||};
|
||||||
|
|
||||||
|
type Data = {||};
|
||||||
|
|
||||||
|
type PersistedState = {|
|
||||||
|
data: Array<Data>,
|
||||||
|
|};
|
||||||
|
|
||||||
|
export default class extends FlipperPlugin<State, {}, PersistedState> {
|
||||||
|
static title = 'Navigation';
|
||||||
|
static id = 'Navigation';
|
||||||
|
static icon = 'directions';
|
||||||
|
static keyboardActions = ['clear'];
|
||||||
|
|
||||||
|
static defaultPersistedState: PersistedState = {
|
||||||
|
data: [],
|
||||||
|
};
|
||||||
|
|
||||||
|
static persistedStateReducer = (
|
||||||
|
persistedState: PersistedState,
|
||||||
|
method: string,
|
||||||
|
data: Data,
|
||||||
|
): $Shape<PersistedState> => {
|
||||||
|
return {
|
||||||
|
...persistedState,
|
||||||
|
data: persistedState.data.concat([data]),
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
onKeyboardAction = (action: string) => {
|
||||||
|
if (action === 'clear') {
|
||||||
|
this.props.setPersistedState({data: []});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<FlexColumn>
|
||||||
|
{this.props.persistedState.data.map((d, i) => (
|
||||||
|
<div key={i}>{JSON.stringify(d)}</div>
|
||||||
|
))}
|
||||||
|
</FlexColumn>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* @scarf-info: do not remove, more info: https://fburl.com/scarf */
|
||||||
|
/* @scarf-generated: flipper-plugin index.js.template 0bfa32e5-fb15-4705-81f8-86260a1f3f8e */
|
||||||
12
src/plugins/navigation/package.json
Normal file
12
src/plugins/navigation/package.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"name": "flipper-plugin-navigation",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"main": "index.js",
|
||||||
|
"license": "MIT",
|
||||||
|
"gatekeeper": "flipper_navigation",
|
||||||
|
"title": "Navigation",
|
||||||
|
"icon": "directions",
|
||||||
|
"bugs": {
|
||||||
|
"email": "beneloca@fb.com"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user