Top Banner
PULP PULP FICTION FICTION
48

Javascript Pulp Fiction

Jan 20, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Javascript Pulp Fiction

PULPPULPFICTIONFICTION

Page 2: Javascript Pulp Fiction

Théodore 'nod_' BIADALA

Core JS maintainerTechnical consultant at Acquia

PULPPULPFICTIONFICTION

Page 3: Javascript Pulp Fiction

Théodore 'nod_' BIADALA

Core JS maintainerTechnical consultant at Acquia

Drupal Dev Days SZEGED 2014

PULPPULPFICTIONFICTION

Page 4: Javascript Pulp Fiction

Frontend developers&

Drupal's theme layer

Page 5: Javascript Pulp Fiction

HTML/CSS dev

JS dev

Page 6: Javascript Pulp Fiction
Page 7: Javascript Pulp Fiction

Don't you remove 'views-group-title' class

Page 8: Javascript Pulp Fiction
Page 9: Javascript Pulp Fiction

Custom HTML?

Page 10: Javascript Pulp Fiction

Divitis

Classitis

Page 11: Javascript Pulp Fiction

It's not that bad for the JS developer

Page 12: Javascript Pulp Fiction

Use data- attributes for everything JS$('[data-drupal-progress]').once('butch');

Page 13: Javascript Pulp Fiction

// JS

var $el = $(context).find('#mydiv');

var $el = context.querySelector('[data-mydiv]');

// PHP

$element['#attributes']['data-mydiv'] = TRUE;

// HTML

<div data-mydiv class='whatever themers want'>

Page 14: Javascript Pulp Fiction

TWIG

Page 15: Javascript Pulp Fiction

Drupal 8 frontend

Page 16: Javascript Pulp Fiction

The gold feature

Page 17: Javascript Pulp Fiction

Frontend testing,it's been well hidden

Page 18: Javascript Pulp Fiction
Page 19: Javascript Pulp Fiction

JS Patching

Page 20: Javascript Pulp Fiction

Core team is scared of frontend getting broken all the time.

Help.

Page 21: Javascript Pulp Fiction

The overlay situation

Page 22: Javascript Pulp Fiction

Overlay module

Page 23: Javascript Pulp Fiction

Look!I wrote 10 lines of JS!

Page 24: Javascript Pulp Fiction

Oups.

Page 25: Javascript Pulp Fiction

Bojhan'sUX napkin

Page 26: Javascript Pulp Fiction

Angry user

Page 27: Javascript Pulp Fiction

meh. Good coffee though

Page 28: Javascript Pulp Fiction

Follow UX core gateand I'll commit your patch

Page 29: Javascript Pulp Fiction

UX Team

They solve problems

Page 30: Javascript Pulp Fiction
Page 31: Javascript Pulp Fiction

Cue months of UX testing

Page 32: Javascript Pulp Fiction

And some clean-up

Page 33: Javascript Pulp Fiction

Tests went well, all wrapped up for commit

Page 34: Javascript Pulp Fiction

Overlay, 'Like it never happened'

Page 35: Javascript Pulp Fiction

Coffee issessionStorage

Page 36: Javascript Pulp Fiction

// escapeAdmin.js

var winLoc = window.location;var store = sessionStorage;var pathInfo = drupalSettings.path;var isAdminPath = pathInfo.currentPathIsAdmin;var dest = /destination=/.test(winLoc.search);

var adminPath = store.getItem('escapeAdminPath');

if (!isAdminPath && !destination) { store.setItem('escapeAdminPath', winLoc);}

Drupal.behavior = { attach: function () { $('[data-toolbar-escape-admin]') .once('escapeAdmin') .attr('href', adminPath); }};

Page 37: Javascript Pulp Fiction

Extras

Page 38: Javascript Pulp Fiction

Jules on IE8 support

Page 39: Javascript Pulp Fiction

Butch on variables taking a leak in his global scope

Page 40: Javascript Pulp Fiction

Butch on people not using JSHint

Page 41: Javascript Pulp Fiction

Butch on people not using*.libraries.yml to declare dependencies

Page 42: Javascript Pulp Fiction

// mymodule.libraries.yml

tip: js: js/tooltip.js: {} js/tooltip.effects.js: { scope: 'footer' } css: # Use SMACSS categories component: css/tooltip.css: {} dependencies: - core/drupal - core/jquery - core/drupalSettings

// Somewhere in the PHP

$el['#attached']['libraries'][] = 'mymodule/tip';

Page 43: Javascript Pulp Fiction

Vincent & Jules on drupal_add_js() & drupal_add_css()

Page 44: Javascript Pulp Fiction

Marcellus on outdated JS libraries

Page 45: Javascript Pulp Fiction

Jimmie & The Wolf on using jQuery

Page 46: Javascript Pulp Fiction

Drupal 8 FTW!

Page 47: Javascript Pulp Fiction

Questions?

Page 48: Javascript Pulp Fiction

nod_theodore.biadala at acquia.com