Skip to content

Modules

philipeachille edited this page Mar 27, 2020 · 9 revisions

All code is structured using the "Model View Presenter" concept, wrapped into modules that follow the "Revealing Module Pattern".

Here is an example for the basic structure of a module, as used a lot in the code base.

`const SomeModule = ( function() {

/**

  • Module to do something

*/

'use strict';

const someVariable = 'whatever';

/* ================== private methods ================= */

function doSomethingOnAppLaunch() { // do something here, for example also using someVariable }

function presenter( which, options ) { // get some data and/or component according to the 'which' parameter, mash it into usable stuff considering the options parameter, and send it to the view

return {
  someStuff: someStuff,
};

}

function view( stuff ) { // do something with the stuff, like updating the DOM }

/* ============ public methods and exports ============ */

function launch() { doSomethingOnAppLaunch(); }

function draw( options ) { view( presenter( which, options ) ); }

return { launch: launch, draw: draw, };

} )();`

Clone this wiki locally