2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the 'License');
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an 'AS IS' BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 * or implied. See the License for the specific language governing
14 * permissions and limitations under the License.
16 import {actionTypes} from './MergeEditorConstants.js';
18 export default (state = [], action) => {
19 switch (action.type) {
20 case actionTypes.LOAD_CONFLICT: {
21 let cdata = {...action.data};
22 // let data = state.conflicts ? {...state.conflicts.data} : {} ;
23 // data[cdata.id] = cdata;
24 let conflicts = state.conflicts ? {...state.conflicts} : {};
25 conflicts[cdata.id] = cdata;
31 case actionTypes.DATA_PROCESSED: {
32 let conflicts = {...state.conflicts};
34 if (data && data.cid) {
35 let yours = {...conflicts[data.cid].yours};
36 let theirs = {...conflicts[data.cid].theirs};
37 let {yoursField, theirsField} = data;
39 yours[yoursField.name] = yoursField.value;
40 conflicts[data.cid].yours = yours;
43 theirs[theirsField.name] = theirsField.value;
44 conflicts[data.cid].theirs = theirs;
54 case actionTypes.LOAD_CONFLICTS:
55 let conflictFiles = [];
57 conflictFiles = [...action.data.conflictInfoList];
60 inMerge: conflictFiles.length > 0,