|
2998 | 2998 | let subInputs = ractive.get(grandParentOf(grandParentOf(event.keypath))) |
2999 | 2999 | _.each(subInputs, function (subInput) { |
3000 | 3000 | if (typeof subInput.input.values[ event.index.inputValueIndex ].searchable === 'boolean') { |
3001 | | - subInput.input.values[ event.index.inputValueIndex ].searchable = true |
| 3001 | + ractive.set(`${subInput.input.keypath}.values.${event.index.inputValueIndex}.searchable`, true) |
3002 | 3002 | } |
3003 | 3003 | if (typeof subInput.input.values[ event.index.inputValueIndex ].suggested === 'object') { |
3004 | | - subInput.input.values[ event.index.inputValueIndex ].suggested = null |
| 3004 | + ractive.set(`${subInput.input.keypath}.values.${event.index.inputValueIndex}.suggested`, null) |
3005 | 3005 | } |
| 3006 | + ractive.set(`${subInput.input.keypath}.values.${event.index.inputValueIndex}.nonEditable`, null) |
3006 | 3007 | }) |
3007 | 3008 | ractive.update() |
3008 | 3009 | }, |
|
3068 | 3069 |
|
3069 | 3070 | ractive.observe('inputGroups.*.inputs.*.subInputs.*.input.values.*.current.value', function (newValue, oldValue, keypath) { |
3070 | 3071 | checkRequiredSubInput(newValue, keypath) |
3071 | | - }) |
| 3072 | + }, { init: false }) |
| 3073 | + |
| 3074 | + ractive.observe('inputGroups.*.inputs.*.subInputs.*.input.values.*.nonEditable', function (newValue, oldValue, keypath) { |
| 3075 | + let compoundInputKeypath = grandParentOf(grandParentOf(grandParentOf(keypath))) |
| 3076 | + let valueIndex = _.last(parentOf(keypath).split('.')) |
| 3077 | + let nonEditableTarget = `${compoundInputKeypath}.subInputs.0.input.values.${valueIndex}.nonEditable` |
| 3078 | + if (newValue === true && ractive.get(nonEditableTarget) !== true) { |
| 3079 | + ractive.set(nonEditableTarget, true) |
| 3080 | + } |
| 3081 | + }, { init: false }) |
3072 | 3082 |
|
3073 | 3083 | ractive.observe('inputGroups.*.inputs.*.values.0.current.value', function (newValue, oldValue, keypath) { |
3074 | 3084 | if (Boolean(newValue) !== Boolean(oldValue)) { |
|
3080 | 3090 | }) |
3081 | 3091 | } |
3082 | 3092 | } |
3083 | | - }) |
| 3093 | + }, { init: false }) |
3084 | 3094 |
|
3085 | 3095 | ractive.observe('inputGroups.*.inputs.*.values.*', function (newValue, oldValue, keypath) { |
3086 | 3096 | if (newValue && newValue.current) { |
|
0 commit comments