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 }) { export default function UploadContentButton({ uploadContent }) {
let fileInput;
return ( return (
<FileChooser <FileChooser
icon="fa-upload" icon="fa-upload"

View File

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

View File

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

View File

@ -107,14 +107,15 @@ fetchApi.put = (url, json, options) => fetchApi(
...options ...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) { export function getDiff(obj1, obj2) {
let result = {...obj2}; let result = {...obj2};
for(let key in obj1) { for(let key in obj1) {
if(_.isEqual(obj2[key], obj1[key])) if(_.isEqual(obj2[key], obj1[key]))
result[key] = undefined result[key] = undefined
else if(!(Array.isArray(obj2[key]) && Array.isArray(obj1[key])) && else if(Object.prototype.toString.call(obj2[key]) === '[object Object]' &&
typeof obj2[key] == 'object' && typeof obj1[key] == 'object') Object.prototype.toString.call(obj1[key]) === '[object Object]' )
result[key] = getDiff(obj1[key], obj2[key]) result[key] = getDiff(obj1[key], obj2[key])
} }
return result return result