A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/markerikson/project-minimek/commit/3cb01fc7da1242f068bd98fa3835070c213efecf below:

Add ability to display pilot entry from "draft" editingEntities slice · markerikson/project-minimek@3cb01fc · GitHub

File tree Expand file treeCollapse file tree 4 files changed

+58

-18

lines changed

Filter options

Expand file treeCollapse file tree 4 files changed

+58

-18

lines changed Original file line number Diff line number Diff line change

@@ -26,6 +26,9 @@ export function copyEntity(sourceEntities, destinationEntities, payload) {

26 26

const {itemID, itemType} = payload;

27 27 28 28

const newItemAttributes = readEntityData(sourceEntities, itemType, itemID);

29 +

if(newItemAttributes.name) {

30 +

newItemAttributes.name += " (copied)";

31 +

}

29 32

const creationPayload = {itemType, itemID, newItemAttributes}

30 33 31 34

const updatedEntities = createEntity(destinationEntities, creationPayload);

Original file line number Diff line number Diff line change

@@ -1 +1,11 @@

1 -

export const selectEditingEntities = state => state.editingEntities;

1 +

import {createSelector} from "reselect";

2 + 3 +

import schema from "app/schema";

4 + 5 + 6 +

export const selectEditingEntities = state => state.editingEntities;

7 + 8 +

export const getEditingEntitiesSession = createSelector(

9 +

selectEditingEntities,

10 +

editingEntities => schema.from(editingEntities)

11 +

);

Original file line number Diff line number Diff line change

@@ -3,6 +3,7 @@ import {connect} from "react-redux";

3 3

import {Form, Dropdown, Grid, Button} from "semantic-ui-react";

4 4 5 5

import {getEntitiesSession} from "features/entities/entitySelectors";

6 +

import {getEditingEntitiesSession} from "features/editing/editingSelectors";

6 7 7 8

import FormEditWrapper from "common/components/FormEditWrapper";

8 9

@@ -48,17 +49,25 @@ const mapState = (state) => {

48 49

let pilot;

49 50 50 51

const currentPilot = selectCurrentPilot(state);

51 - 52 -

const session = getEntitiesSession(state);

53 -

const {Pilot} = session;

54 - 55 -

if(Pilot.hasId(currentPilot)) {

56 -

pilot = Pilot.withId(currentPilot).ref;

57 -

}

58 52 59 53

const pilotIsSelected = Boolean(currentPilot);

60 54

const isEditingPilot = selectIsEditingPilot(state);

61 55 56 +

if(pilotIsSelected) {

57 +

const session = isEditingPilot ?

58 +

getEditingEntitiesSession(state) :

59 +

getEntitiesSession(state);

60 + 61 +

const {Pilot} = session;

62 + 63 +

if(Pilot.hasId(currentPilot)) {

64 +

pilot = Pilot.withId(currentPilot).ref;

65 +

}

66 +

}

67 + 68 + 69 + 70 + 62 71 63 72

return {pilot, pilotIsSelected, isEditingPilot}

64 73

}

@@ -87,6 +96,16 @@ export class PilotDetails extends Component {

87 96

this.props.updateEntity("Pilot", id, newValues);

88 97

}

89 98 99 +

onStartEditingClicked = () => {

100 +

const {id} = this.props.pilot;

101 +

this.props.startEditingPilot(id);

102 +

}

103 + 104 +

onStopEditingClicked = () => {

105 +

const {id} = this.props.pilot;

106 +

this.props.stopEditingPilot(id);

107 +

}

108 + 90 109 91 110

render() {

92 111

const {pilot={}, pilotIsSelected = false, isEditingPilot = false, ...actions } = this.props;

@@ -187,15 +206,15 @@ export class PilotDetails extends Component {

187 206

primary

188 207

disabled={!canStartEditing}

189 208

type="button"

190 -

onClick={actions.startEditingPilot}

209 +

onClick={this.onStartEditingClicked}

191 210

>

192 211

Start Editing

193 212

</Button>

194 213

<Button

195 214

secondary

196 215

disabled={!canStopEditing}

197 216

type="button"

198 -

onClick={actions.stopEditingPilot}

217 +

onClick={this.onStopEditingClicked}

199 218

>

200 219

Stop Editing

201 220

</Button>

Original file line number Diff line number Diff line change

@@ -1,3 +1,8 @@

1 +

import {

2 +

editExistingItem,

3 +

stopEditingItem

4 +

} from "features/editing/editingActions";

5 + 1 6

import {

2 7

PILOT_SELECT,

3 8

PILOT_EDIT_START,

@@ -11,14 +16,17 @@ export function selectPilot(pilotID) {

11 16

};

12 17

}

13 18 14 -

export function startEditingPilot() {

15 -

return {

16 -

type : PILOT_EDIT_START,

17 -

};

19 +

export function startEditingPilot(pilotID) {

20 +

return (dispatch, getState) => {

21 +

dispatch(editExistingItem("Pilot", pilotID));

22 +

dispatch({type : PILOT_EDIT_START});

23 +

}

24 + 18 25

}

19 26 20 -

export function stopEditingPilot() {

21 -

return {

22 -

type : PILOT_EDIT_STOP,

23 -

};

27 +

export function stopEditingPilot(pilotID) {

28 +

return (dispatch, getState) => {

29 +

dispatch({type : PILOT_EDIT_STOP});

30 +

dispatch(stopEditingItem("Pilot", pilotID));

31 +

}

24 32

}

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4