projects
/
osm
/
UI.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix problem where the connection-point UI was not updating list correctly when button...
[osm/UI.git]
/
skyquake
/
plugins
/
composer
/
src
/
src
/
components
/
EditDescriptorModelProperties.js
diff --git
a/skyquake/plugins/composer/src/src/components/EditDescriptorModelProperties.js
b/skyquake/plugins/composer/src/src/components/EditDescriptorModelProperties.js
index
c1d65be
..
01cd5b2
100644
(file)
--- a/
skyquake/plugins/composer/src/src/components/EditDescriptorModelProperties.js
+++ b/
skyquake/plugins/composer/src/src/components/EditDescriptorModelProperties.js
@@
-25,6
+25,10
@@
import _includes from 'lodash/includes'
import _isArray from 'lodash/isArray'
import _cloneDeep from 'lodash/cloneDeep'
import _debounce from 'lodash/debounce';
import _isArray from 'lodash/isArray'
import _cloneDeep from 'lodash/cloneDeep'
import _debounce from 'lodash/debounce';
+import _uniqueId from 'lodash/uniqueId';
+import _set from 'lodash/set';
+import _get from 'lodash/get';
+import _has from 'lodash/has';
import utils from '../libraries/utils'
import React from 'react'
import ClassNames from 'classnames'
import utils from '../libraries/utils'
import React from 'react'
import ClassNames from 'classnames'
@@
-50,6
+54,14
@@
import '../styles/EditDescriptorModelProperties.scss'
const EMPTY_LEAF_PRESENT = '--empty-leaf-set--';
const EMPTY_LEAF_PRESENT = '--empty-leaf-set--';
+function resolveReactKey(value) {
+ const keyPath = ['uiState', 'fieldKey'];
+ if (!_has(value, keyPath)) {
+ _set(value, keyPath, _uniqueId());
+ }
+ return _get(value, keyPath);
+}
+
function getDescriptorMetaBasicForType(type) {
const basicPropertiesFilter = d => _includes(DESCRIPTOR_MODEL_FIELDS[type], d.name);
return DescriptorModelMetaFactory.getModelMetaForType(type, basicPropertiesFilter) || {properties: []};
function getDescriptorMetaBasicForType(type) {
const basicPropertiesFilter = d => _includes(DESCRIPTOR_MODEL_FIELDS[type], d.name);
return DescriptorModelMetaFactory.getModelMetaForType(type, basicPropertiesFilter) || {properties: []};
@@
-656,7
+668,7
@@
export default function EditDescriptorModelProperties(props) {
if (isArray) {
valuePath.push(index);
if (isArray) {
valuePath.push(index);
- fieldId
+= index
;
+ fieldId
= resolveReactKey(value)
;
}
if (isMetaField) {
}
if (isMetaField) {