From: Joe Wreschnig Date: Thu, 2 Oct 2014 15:57:32 +0000 (+0200) Subject: Allow empty attribute syntax to mean "same command as ID". X-Git-Url: https://git.yukkurigames.com/?a=commitdiff_plain;ds=sidebyside;p=featherfall2.git Allow empty attribute syntax to mean "same command as ID". --- diff --git a/src/yuu/director.js b/src/yuu/director.js index e9996de..4aad9aa 100644 --- a/src/yuu/director.js +++ b/src/yuu/director.js @@ -17,6 +17,13 @@ if (!yuu.InputState) require("./input"); if (!yuu.Material) require("./gfx"); + function getCommand (element) { + var command = element.getAttribute('data-yuu-command'); + if (!command || command === 'data-yuu-command') + element.setAttribute('data-yuu-command', command = element.id); + return command; + } + yuu.Director = yT({ constructor: function (commandStack, input, tickHz) { /** Manage and update a set of Scenes @@ -564,7 +571,7 @@ var elements = element.querySelectorAll("[data-yuu-command]"); yf.each(function (element) { - var command = element.getAttribute("data-yuu-command"); + var command = getCommand(element); switch (element.tagName.toLowerCase()) { case "input": switch (element.type.toLowerCase()) { @@ -632,7 +639,7 @@ function handleElement (event) { /*jshint validthis:true */ /* `this` comes from being a DOM element event handler. */ - var command = this.getAttribute("data-yuu-command"); + var command = getCommand(this); switch (this.tagName.toLowerCase()) { case "input": switch (this.type.toLowerCase()) {