refactoring

This commit is contained in:
Clemens 2016-08-19 09:23:41 +02:00
parent 9a86750e9d
commit d4b18eae81
4 changed files with 7 additions and 9 deletions

View File

@ -7,8 +7,6 @@ UploadContentButton.propTypes = {
export default function UploadContentButton({ uploadContent }) {
let fileInput;
return (
<FileChooser
icon="fa-upload"

View File

@ -1,7 +1,7 @@
import React, { Component, PropTypes } from 'react'
import classnames from 'classnames'
export function Divider () { return <hr className="divider"/>}
export const Divider = () => <hr className="divider"/>
export default class Dropdown extends Component {

View File

@ -152,6 +152,5 @@ export function setContent(content){
}
export function stopEdit(flow, modifiedFlow) {
let diff = getDiff(flow, modifiedFlow)
return flowsActions.update(flow, diff)
return flowsActions.update(flow, getDiff(flow, modifiedFlow))
}

View File

@ -107,14 +107,15 @@ fetchApi.put = (url, json, options) => fetchApi(
...options
}
)
// deep comparison of two json objects (dicts). arrays are handeled as a single value.
// return: json object including only the changed keys value pairs.
export function getDiff(obj1, obj2) {
let result = {...obj2};
for(let key in obj1) {
if(_.isEqual(obj2[key], obj1[key]))
result[key] = undefined
else if(!(Array.isArray(obj2[key]) && Array.isArray(obj1[key])) &&
typeof obj2[key] == 'object' && typeof obj1[key] == 'object')
else if(Object.prototype.toString.call(obj2[key]) === '[object Object]' &&
Object.prototype.toString.call(obj1[key]) === '[object Object]' )
result[key] = getDiff(obj1[key], obj2[key])
}
return result