Javascript Flow - UNC-Libraries/wilson-clue-app GitHub Wiki

There are 2 javascript files in ./resources/assets/js/. app.js is a constant that contains all the application functions. router.js instantiates these functions based on the current route information which is added as data attributes on the <body> element.

For example:

The DNA route uses the UiController, and the dna method Route::get('dna', 'UiController@dna')->name('ui.dna');

This adds the following to the <body> element:

<body data-controller="ui" data-action="dna">

Which corresponds to the ui.dna method in router.js, instantiating the initDnaForm method from app.js

ui: {
    init: function() {
      clue.initSeenAlert();
      clue.initUiAlerts();
    },
    dna: function() {
      clue.initDnaForm();
    },

The init function is for ALL UiController views.

⚠️ **GitHub.com Fallback** ⚠️