mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +01:00
more event-differ
This commit is contained in:
parent
cc8ccfd403
commit
be35162a94
16
frontend/dist/bundle.js
vendored
16
frontend/dist/bundle.js
vendored
File diff suppressed because one or more lines are too long
2
frontend/dist/bundle.js.map
vendored
2
frontend/dist/bundle.js.map
vendored
File diff suppressed because one or more lines are too long
@ -18,6 +18,67 @@ const SPADEN_CLASS = {
|
||||
N: style.positive, // added
|
||||
};
|
||||
|
||||
function getIcon (type) {
|
||||
if (type.indexOf('created') > -1 ) {
|
||||
return 'add';
|
||||
}
|
||||
|
||||
if (type.indexOf('deleted') > -1 ) {
|
||||
return 'remove';
|
||||
}
|
||||
|
||||
if (type.indexOf('updated') > -1 ) {
|
||||
return 'update';
|
||||
}
|
||||
|
||||
if (type.indexOf('archived') > -1 ) {
|
||||
return 'archived';
|
||||
}
|
||||
return 'bookmark';
|
||||
}
|
||||
|
||||
function buildItemDiff (diff, key) {
|
||||
let change;
|
||||
if (diff.lhs !== undefined) {
|
||||
change = (
|
||||
<div>
|
||||
<div className={SPADEN_CLASS.D}>- {key}: {JSON.stringify(diff.lhs)}</div>
|
||||
</div>
|
||||
);
|
||||
} else if (diff.rhs !== undefined) {
|
||||
change = (
|
||||
<div>
|
||||
<div className={SPADEN_CLASS.N}>+ {key}: {JSON.stringify(diff.rhs)}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return change;
|
||||
}
|
||||
|
||||
function buildDiff (diff, idx) {
|
||||
let change;
|
||||
const key = diff.path.join('.');
|
||||
|
||||
if (diff.item) {
|
||||
change = buildItemDiff(diff.item, key);
|
||||
} else if (diff.lhs !== undefined && diff.rhs !== undefined) {
|
||||
change = (
|
||||
<div>
|
||||
<div className={SPADEN_CLASS.D}>- {key}: {JSON.stringify(diff.lhs)}</div>
|
||||
<div className={SPADEN_CLASS.N}>+ {key}: {JSON.stringify(diff.rhs)}</div>
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
const spadenClass = SPADEN_CLASS[diff.kind];
|
||||
const prefix = DIFF_PREFIXES[diff.kind];
|
||||
|
||||
change = (<div className={spadenClass}>{prefix} {key}: {JSON.stringify(diff.rhs || diff.item)}</div>);
|
||||
}
|
||||
|
||||
return (<div key={idx}>{change}</div>);
|
||||
}
|
||||
|
||||
class HistoryItem extends Component {
|
||||
|
||||
static propTypes () {
|
||||
@ -26,51 +87,11 @@ class HistoryItem extends Component {
|
||||
};
|
||||
}
|
||||
|
||||
getIcon (type) {
|
||||
if (type.indexOf('created') > -1 ) {
|
||||
return 'add';
|
||||
}
|
||||
|
||||
if (type.indexOf('deleted') > -1 ) {
|
||||
return 'remove';
|
||||
}
|
||||
|
||||
if (type.indexOf('updated') > -1 ) {
|
||||
return 'update';
|
||||
}
|
||||
|
||||
if (type.indexOf('archived') > -1 ) {
|
||||
return 'archived';
|
||||
}
|
||||
return 'bookmark';
|
||||
}
|
||||
|
||||
buildDiff (diff, idx) {
|
||||
let change;
|
||||
const key = diff.path.join('.');
|
||||
|
||||
if (diff.lhs !== undefined && diff.rhs !== undefined) {
|
||||
change = (
|
||||
<div>
|
||||
<div className={SPADEN_CLASS.D}>- {key}: {JSON.stringify(diff.lhs)}</div>
|
||||
<div className={SPADEN_CLASS.N}>+ {key}: {JSON.stringify(diff.rhs)}</div>
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
const spadenClass = SPADEN_CLASS[diff.kind];
|
||||
const prefix = DIFF_PREFIXES[diff.kind];
|
||||
|
||||
change = (<div className={spadenClass}>{prefix} {key}: {JSON.stringify(diff.rhs)}</div>);
|
||||
}
|
||||
|
||||
return (<div key={idx}>{change}</div>);
|
||||
}
|
||||
|
||||
renderEventDiff (logEntry) {
|
||||
if (!logEntry.diffs) {
|
||||
return;
|
||||
}
|
||||
const changes = logEntry.diffs.map(this.buildDiff);
|
||||
const changes = logEntry.diffs.map(buildDiff);
|
||||
return (
|
||||
<code className="smalltext man">{changes.length === 0 ? '(no changes)' : changes}</code>
|
||||
);
|
||||
@ -95,7 +116,7 @@ class HistoryItem extends Component {
|
||||
} = this.props.entry;
|
||||
|
||||
const createdAt = (new Date(this.props.entry.createdAt)).toLocaleString('nb-NO');
|
||||
const icon = this.getIcon(type);
|
||||
const icon = getIcon(type);
|
||||
|
||||
const data = this.props.showData ?
|
||||
this.renderFullEventData(this.props.entry) : this.renderEventDiff(this.props.entry);
|
||||
|
Loading…
Reference in New Issue
Block a user