fixing new entries addition
parent
7de1735300
commit
fcdc0841b0
|
|
@ -30,10 +30,15 @@ function simpleAttrAccessor(attrPred: any) {
|
|||
let lexItem = _.cloneDeep(li);
|
||||
let allProps = _.get<any>(lexItem, lens, []);
|
||||
if (allProps.length > 0) {
|
||||
let prop = _.filter<any>(allProps, (m) => {
|
||||
return pred(m);
|
||||
let keepProps = _.filter<any>(allProps, (m) => {
|
||||
return !pred(m);
|
||||
});
|
||||
_.set(prop, '[0]._', value);
|
||||
_.set(lexItem, lens, _.concat(keepProps, [def(value)]));
|
||||
// if (prop.length > 0) {
|
||||
// _.set(prop, '[0]._', value);
|
||||
// } else {
|
||||
//
|
||||
// }
|
||||
} else {
|
||||
_.set(lexItem, lens, [def(value)]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,8 +82,9 @@ function LexMatches(params: any) {
|
|||
</Container>
|
||||
);
|
||||
} else {
|
||||
let fm = props.fieldMetaMap;
|
||||
let editEntries = props.matchedEntries.map((mObj: any) => {
|
||||
let uniqueKey = mObj.guid[0] + '#' + mObj.$.id;
|
||||
let uniqueKey = fm.guid.get(mObj) + '#' + fm.lang.get(mObj);
|
||||
return (
|
||||
<LexEdit
|
||||
{...props}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@ function updateXMLState(state: any = {}, action: any) {
|
|||
let lang = action.lexSelector.lang.get(action.lexItem);
|
||||
let entries = _.get<any>(newState, 'document.lexicon[0].item');
|
||||
let entGuid = _.find(entries, (o) => _.isEqual(_.get<any>(o, '$.guid'), guid));
|
||||
let entLang = _.get<any>(entGuid, 'entry');
|
||||
let entLang = _.get<any>(entGuid, 'entry', []);
|
||||
// TODO handle new entries
|
||||
let entlang = _.find(entLang, (o) => _.isEqual(_.get<any>(o, 'lang[0].$.id'), lang));
|
||||
_.set(entlang, 'lang[0]', action.lexItem);
|
||||
return newState;
|
||||
|
|
|
|||
Loading…
Reference in New Issue