Color selector component has a full color range if color is required

stable
Xavier Julián 2016-09-12 14:52:55 +02:00 committed by David Barragán Merino
parent 19d0a5d0ac
commit 8e3e49c1a7
7 changed files with 18 additions and 7 deletions

View File

@ -242,7 +242,7 @@ patch = (oldImmutable, newImmutable) ->
DEFAULT_COLOR_LIST = [ DEFAULT_COLOR_LIST = [
'#fce94f', '#edd400', '#c4a000', '#8ae234', '#73d216', '#4e9a06', '#d3d7cf', '#fce94f', '#edd400', '#c4a000', '#8ae234', '#73d216', '#4e9a06', '#d3d7cf',
'#fcaf3e', '#f57900', '#ce5c00', '#729fcf', '#3465a4', '#204a87', '#888a85', '#fcaf3e', '#f57900', '#ce5c00', '#729fcf', '#3465a4', '#204a87', '#888a85',
'#ad7fa8', '#75507b', '#5c3566', '#ef2929', '#cc0000', '#a40000' '#ad7fa8', '#75507b', '#5c3566', '#ef2929', '#cc0000', '#a40000', '#222222'
] ]
getRandomDefaultColor = () -> getRandomDefaultColor = () ->

View File

@ -24,13 +24,18 @@ getDefaulColorList = taiga.getDefaulColorList
class ColorSelectorController class ColorSelectorController
constructor: () -> constructor: () ->
@.colorList = getDefaulColorList() @.colorList = getDefaulColorList()
@.checkIsColorRequired()
@.displayColorList = false @.displayColorList = false
checkIsColorRequired: () ->
if !@.isColorRequired
@.colorList = _.dropRight(@.colorList);
setColor: (color) -> setColor: (color) ->
@.color = @.initColor @.color = @.initColor
resetColor: () -> resetColor: () ->
if @.isRequired and not @.color if @.isColorRequired and not @.color
@.color = @.initColor @.color = @.initColor
toggleColorList: () -> toggleColorList: () ->
@ -45,7 +50,7 @@ class ColorSelectorController
onKeyDown: (event) -> onKeyDown: (event) ->
if event.which == 13 # ENTER if event.which == 13 # ENTER
event.stopPropagation() event.stopPropagation()
if @.color or not @.isRequired if @.color or not @.isColorRequired
@.onSelectDropdownColor(@.color) @.onSelectDropdownColor(@.color)

View File

@ -36,6 +36,12 @@ describe "ColorSelector", ->
inject ($controller) -> inject ($controller) ->
controller = $controller controller = $controller
it.only "require Color on Selector", () ->
colorSelectorCtrl = controller "ColorSelectorCtrl"
colorSelectorCtrl.colorList = ["#000000", "#123123"]
colorSelectorCtrl.isColorRequired = false
colorSelectorCtrl.checkIsColorRequired()
expect(colorSelectorCtrl.colorList).to.be.eql(["#000000"])
it "display Color Selector", () -> it "display Color Selector", () ->
colorSelectorCtrl = controller "ColorSelectorCtrl" colorSelectorCtrl = controller "ColorSelectorCtrl"

View File

@ -53,7 +53,7 @@ ColorSelectorDirective = ($timeout) ->
controller: "ColorSelectorCtrl", controller: "ColorSelectorCtrl",
controllerAs: "vm", controllerAs: "vm",
bindToController: { bindToController: {
isRequired: "=", isColorRequired: "=",
onSelectColor: "&", onSelectColor: "&",
initColor: "=" initColor: "="
}, },

View File

@ -13,7 +13,7 @@
ng-click="vm.onSelectDropdownColor(color)" ng-click="vm.onSelectDropdownColor(color)"
) )
li.empty-color( li.empty-color(
ng-if="!vm.isRequired" ng-if="!vm.isColorRequired"
ng-click="vm.onSelectDropdownColor(null)" ng-click="vm.onSelectDropdownColor(null)"
) )
.custom-color-selector .custom-color-selector

View File

@ -9,7 +9,7 @@ tg-lightbox-close
.color-selector .color-selector
fieldset fieldset
tg-color-selector( tg-color-selector(
is-required="true" is-color-required="true"
init-color="vm.newEpic.color" init-color="vm.newEpic.color"
on-select-color="vm.selectColor(color)" on-select-color="vm.selectColor(color)"
) )

View File

@ -20,7 +20,7 @@ div.wrapper(
.detail-header-container.epic-header-container(ng-class="{blocked: epic.is_blocked}") .detail-header-container.epic-header-container(ng-class="{blocked: epic.is_blocked}")
tg-color-selector.color-selector( tg-color-selector.color-selector(
is-required="true" is-color-required="true"
init-color="epic.color" init-color="epic.color"
on-select-color="ctrl.onSelectColor(color)" on-select-color="ctrl.onSelectColor(color)"
) )