Search code examples
javascriptcoffeescripteventtriggercustom-eventsframerjs

How can i create and trigger custom events in Framer Studio (Framer.js) using coffeescript?


var event = new Event('build');

// Listen for the event.
elem.addEventListener('build', function (e) { ... }, false);

// Dispatch the event.
elem.dispatchEvent(event);

enter link description here This article demonstrates how to create and dispatch DOM events. Such events are commonly called synthetic events, as opposed to the events fired by the browser itself.


Solution

  • Got this link from Framer group at FB.

    Here is a simple cs example that works for my needs

    # npm install events
    EventsEmitter = require('events')
    
    class customEvent extends EventsEmitter
        constructor: ->
            @on "startScan", -> startAppsScan()
            @on "cancelScan", -> cancelScan()
    
    startScanButton = new Layer
        x: Align.center
        y: Align.center(-150)
        backgroundColor: "yellow"
    
    cancelScanButton = new Layer
        x: Align.center
        y: Align.center(150)
        backgroundColor: "red"
    
    startScanButton.onClick ->
        evt = new customEvent
        evt.emit "startScan"
    
    cancelScanButton.onClick ->
        evt = new customEvent
        evt.emit "cancelScan"
    
    startAppsScan = ->
        print "starting scan...."
    
    cancelScan = ->
        print "scan is cancelled !"