@@ -103,6 +103,10 @@ export default (state: MainLayoutState, action: Action) => {
103103 const oldRegion = activeImage . regions [ regionIndex ]
104104 if ( oldRegion . cls !== action . region . cls ) {
105105 state = saveToHistory ( state , "Change Region Classification" )
106+ const clsIndex = state . regionClsList . indexOf ( action . region . cls )
107+ if ( clsIndex !== - 1 ) {
108+ action . region . color = colors [ clsIndex % colors . length ]
109+ }
106110 }
107111 if ( ! isEqual ( oldRegion . tags , action . region . tags ) ) {
108112 state = saveToHistory ( state , "Change Region Tags" )
@@ -296,7 +300,7 @@ export default (state: MainLayoutState, action: Action) => {
296300 }
297301
298302 let defaultRegionCls = undefined ,
299- defaultRegionColor = "#333333 "
303+ defaultRegionColor = "#ff0000 "
300304 if ( activeImage && ( activeImage . regions || [ ] ) . length > 0 ) {
301305 defaultRegionCls = activeImage . regions . slice ( - 1 ) [ 0 ] . cls
302306 const clsIndex = ( state . regionClsList || [ ] ) . indexOf ( defaultRegionCls )
@@ -334,7 +338,6 @@ export default (state: MainLayoutState, action: Action) => {
334338 cls : defaultRegionCls ,
335339 id : getRandomId ( ) ,
336340 }
337- state = unselectRegions ( state )
338341 state = setIn ( state , [ "mode" ] , {
339342 mode : "RESIZE_BOX" ,
340343 editLabelEditorAfter : true ,
@@ -382,16 +385,14 @@ export default (state: MainLayoutState, action: Action) => {
382385 )
383386 }
384387 default :
385- return state
388+ break
386389 }
387390 }
388391
389- const regions = [ ...( activeImage . regions || [ ] ) ]
390- . map ( ( r ) => ( {
391- ...r ,
392- editingLabels : false ,
393- highlighted : false ,
394- } ) )
392+ const regions = [ ...( getIn ( state , pathToActiveImage ) . regions || [ ] ) ]
393+ . map ( ( r ) =>
394+ setIn ( r , [ "editingLabels" ] , false ) . setIn ( [ "highlighted" ] , false )
395+ )
395396 . concat ( newRegion ? [ newRegion ] : [ ] )
396397
397398 return setIn ( state , [ ...pathToActiveImage , "regions" ] , regions )
0 commit comments