feat(CountersSelector): add 'm' shortcut
This commit is contained in:
parent
56558fad7a
commit
69b31f24a9
@ -131,7 +131,7 @@ local function renderTitle(win, countersMap, selectedCounter, titleFn)
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function incrementCounter(countersMap, selectedCounter)
|
local function incrementSelectedCounter(countersMap, selectedCounter)
|
||||||
local counterPayload = countersMap[selectedCounter]
|
local counterPayload = countersMap[selectedCounter]
|
||||||
|
|
||||||
if counterPayload and counterPayload.count then
|
if counterPayload and counterPayload.count then
|
||||||
@ -146,7 +146,7 @@ local function incrementCounter(countersMap, selectedCounter)
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
local function decrementCounter(countersMap, selectedCounter)
|
local function decrementSelectedCounter(countersMap, selectedCounter)
|
||||||
local counterPayload = countersMap[selectedCounter]
|
local counterPayload = countersMap[selectedCounter]
|
||||||
|
|
||||||
if counterPayload and counterPayload.count and counterPayload.count > 0 then
|
if counterPayload and counterPayload.count and counterPayload.count > 0 then
|
||||||
@ -161,6 +161,24 @@ local function decrementCounter(countersMap, selectedCounter)
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function switchMinMaxSelectedCounter(countersMap, selectedCounter, maxPossibleCount)
|
||||||
|
local counterPayload = countersMap[selectedCounter]
|
||||||
|
|
||||||
|
if counterPayload and counterPayload.count then
|
||||||
|
if counterPayload.count > 0 then
|
||||||
|
countersMap[selectedCounter] = {
|
||||||
|
count = 0,
|
||||||
|
name = counterPayload.name
|
||||||
|
}
|
||||||
|
else
|
||||||
|
countersMap[selectedCounter] = {
|
||||||
|
count = maxPossibleCount,
|
||||||
|
name = counterPayload.name
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local function CountersSelector(initialCountersMap, config)
|
local function CountersSelector(initialCountersMap, config)
|
||||||
local countersMap = utils.shallowClone(initialCountersMap)
|
local countersMap = utils.shallowClone(initialCountersMap)
|
||||||
local counterMax = config.counterMax
|
local counterMax = config.counterMax
|
||||||
@ -201,15 +219,19 @@ local function CountersSelector(initialCountersMap, config)
|
|||||||
elseif keyPressed == keys.down then
|
elseif keyPressed == keys.down then
|
||||||
selectedCounter = math.min(nbCounters, selectedCounter + 1)
|
selectedCounter = math.min(nbCounters, selectedCounter + 1)
|
||||||
elseif keyPressed == keys.left and globalCounter > 0 then
|
elseif keyPressed == keys.left and globalCounter > 0 then
|
||||||
if decrementCounter(countersMap, selectedCounter) then
|
if decrementSelectedCounter(countersMap, selectedCounter) then
|
||||||
globalCounter = globalCounter - 1
|
globalCounter = globalCounter - 1
|
||||||
end
|
end
|
||||||
elseif keyPressed == keys.right and globalCounter < counterMax then
|
elseif keyPressed == keys.right and globalCounter < counterMax then
|
||||||
if incrementCounter(countersMap, selectedCounter) then
|
if incrementSelectedCounter(countersMap, selectedCounter) then
|
||||||
globalCounter = globalCounter + 1
|
globalCounter = globalCounter + 1
|
||||||
end
|
end
|
||||||
|
elseif keyPressed == keys.m then
|
||||||
|
switchMinMaxSelectedCounter(countersMap, selectedCounter, counterMax - globalCounter)
|
||||||
|
globalCounter = getTotalCount(countersMap)
|
||||||
elseif keyPressed == keys.r then
|
elseif keyPressed == keys.r then
|
||||||
countersMap = resetAllCounters(countersMap)
|
countersMap = resetAllCounters(countersMap)
|
||||||
|
globalCounter = 0
|
||||||
elseif keyPressed == keys.enter then
|
elseif keyPressed == keys.enter then
|
||||||
shouldContinue = false
|
shouldContinue = false
|
||||||
elseif keypRessed == keys.q then
|
elseif keypRessed == keys.q then
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user