Last Modified: 2023-12-19
classDiagram

editorIndex
editorIndex *-- menu : 1. User clicks Timer
commands o-- selectBook
commands o-- selectPage
commands o-- selectLayer
commands o-- selectTimer


class selectors{
  - List: App, Book,Page
  - List: Layer, Audio, Group, Timer ..
  + projectPageSelector
  + componentSelector
  - componentHandler()
}

class selectorBase{
  + selectorIcon
  + entries
  + onClick()
}

selectors <|..selectorBase: 1.1 onClick calls componentHandler

menu *-- selectors

selectors ..> store :1.2 commandHandler sets Timer entries

class commands {
  + page
  + book
  + layer
  * class
  store.set()
}

class selectTimer {
  controller:command()
}

class editorTimer {
  + timerTable as selectbox
  + controlbox
  + buttons
  + controller
}

class timerTable {
  oncllick()
}

class controller {
  command()
    - util.decode(params)
    - controlbox:didHide(UI)
    - controlbox:destroy(UI)
    - controlbox:init(UI)
    - controlbox:setValue(decoded)
    - controlbox:create(UI)
    - controlbox:didShow(UI)
    - controlbox:show()
    - onCompletebox:show()
    - buttons:show()
}

timerTable ..> BTree: 2. User clicks a timer entry <br> 2.1 BTree select timer TRUE

editorTimer *-- timerTable

editorTimer <|.. controller

timerTable <|.. baseTable

editorTimer *-- conrolbox

conrolbox <|.. baseProps

class baseTable {
  + entries
  commandHandler()
  store.listener()
  render()
}

class BTree{
  setCondition()
  setActionStatus()
}

BTree ..> commands : 2.2. load timer (Activated) <br> 2.3 menu/controller/selettor/selectTimer

commands ..> selectTimer: 2.5. select timer
selectTimer ..> controller: 2.5 calls command() to display timerEditor

store ..> baseTable : 1.3. calls listenr in baseTable

https://zenn.dev/taroman_zenn/articles/3c811b1245240d