Now custom color selection flow is coherent
parent
97453a927c
commit
3851d1fdb4
|
@ -40,7 +40,8 @@ class ColorSelectorController
|
|||
@.colorList = _.dropRight(@.colorList)
|
||||
|
||||
setColor: (color) ->
|
||||
@.color = @.initColor
|
||||
@.color = color
|
||||
@.customColor = color
|
||||
|
||||
resetColor: () ->
|
||||
if @.isColorRequired and not @.color
|
||||
|
@ -48,6 +49,7 @@ class ColorSelectorController
|
|||
|
||||
toggleColorList: () ->
|
||||
@.displayColorList = !@.displayColorList
|
||||
@.setColor(@.initColor)
|
||||
@.resetColor()
|
||||
|
||||
onSelectDropdownColor: (color) ->
|
||||
|
@ -57,8 +59,8 @@ class ColorSelectorController
|
|||
|
||||
onKeyDown: (event) ->
|
||||
if event.which == 13 # ENTER
|
||||
if @.color or not @.isColorRequired
|
||||
@.onSelectDropdownColor(@.color)
|
||||
if @.customColor or not @.isColorRequired
|
||||
@.onSelectDropdownColor(@.customColor)
|
||||
event.preventDefault()
|
||||
|
||||
|
||||
|
|
|
@ -73,11 +73,11 @@ describe "ColorSelector", ->
|
|||
colorSelectorCtrl.onSelectDropdownColor = sinon.stub()
|
||||
|
||||
event = {which: 13, preventDefault: sinon.stub()}
|
||||
color = "#fabada"
|
||||
customColor = "#fabada"
|
||||
|
||||
colorSelectorCtrl.color = color
|
||||
colorSelectorCtrl.customColor = customColor
|
||||
|
||||
colorSelectorCtrl.onKeyDown(event)
|
||||
expect(event.preventDefault).have.been.called
|
||||
expect(colorSelectorCtrl.onSelectDropdownColor).have.been.called
|
||||
expect(colorSelectorCtrl.onSelectDropdownColor).have.been.calledWith(color)
|
||||
expect(colorSelectorCtrl.onSelectDropdownColor).have.been.calledWith(customColor)
|
||||
|
|
|
@ -26,18 +26,18 @@
|
|||
)
|
||||
.custom-color-selector
|
||||
.display-custom-color.empty-color(
|
||||
ng-if="!vm.color"
|
||||
ng-if="!vm.customColor"
|
||||
)
|
||||
.display-custom-color-wrapper
|
||||
.display-custom-color(
|
||||
ng-if="vm.color"
|
||||
ng-style="{'background': vm.color}"
|
||||
ng-click="vm.onSelectDropdownColor(vm.color)"
|
||||
ng-if="vm.customColor"
|
||||
ng-style="{'background': vm.customColor}"
|
||||
ng-click="vm.onSelectDropdownColor(vm.customColor)"
|
||||
)
|
||||
input.custom-color-input(
|
||||
type="text"
|
||||
maxlength="7"
|
||||
placeholder="Type hex code"
|
||||
ng-model="vm.color"
|
||||
ng-model="vm.customColor"
|
||||
ng-keydown="vm.onKeyDown($event)"
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue