Skip to content
Snippets Groups Projects
Select Git revision
  • d93256730caad41fcbaad4e138b899d4de92ac3c
  • master default protected
  • at_palomagr
3 results

button.js

Blame
  • button.js 854 B
    // boilerplate atkapi header
    const InOut = require('../../lib/jsunit.js')
    let Input = InOut.Input
    let Output = InOut.Output
    let State = InOut.State
    let Button = InOut.Button
    
    // a constructor, a fn, a javascript mess
    function uiButton() {
    
        var button = {
            // descriptions are used in UI
            description: {
                name: 'Button!',
                alt: 'for clicking'
            }
        }
    
        button.state = State()
        // alias !
        var state = button.state 
    
        state.button = Button('WHAM')
        state.onChange('button', onButtonPress)
    
        button.inputs = {
            thru: Input('any', onButtonPress) // makes anything into '1' event
        }
    
        button.outputs = {
            whammy: Output('number')
        }
    
        function onButtonPress(evt){
            button.outputs.whammy.emit(1)
        }
    
        return button
    }
    
    // exports 
    module.exports = uiButton