ngEgg Demo
Demonstration of ngEgg by Scriptwerx.
HTML
<!-- Forgive the quick and dirty DOM -->
<div data-ng-app="EasterEggApp">
<section data-ng-controller="EggController as eggTest">
<!-- EASTER EGG -->
<section data-ng-egg data-ng-model="eggTest.notifications.eggActivated" data-keycode="up,up,down,down">
YOU FOUND THE EGG!
</section>
<!-- ACTUAL CONTENT (hidden when egg is activated) -->
<section data-ng-if="!eggTest.notifications.eggActivated">
<h1>WELCOME TO MY APP</h1>
<form name="myForm" data-ng-submit="eggTest.submitUserData()">
<label for="item1">Item 1</label>
<input id="item1" type="text" data-ng-model="eggTest.userData.item1" />
<br/><br/>
<label for="item2">Item 2</label>
<input id="item2" type="text" data-ng-model="eggTest.userData.item2" />
<br/><br/>
<label for="item3">Item 3</label>
<textarea id="item3" type="text" data-ng-model="eggTest.userData.item3"></textarea>
<br/><br/>
<button type="submit">Submit</button>
</form>
<p data-ng-bind="eggTest.notifications.submittedData"></p>
</section>
<br/>
<p data-ng-bind="'Egg active: ' + eggTest.notifications.eggActivated"></p>
<br/>
<p><a href="https://github.com/scriptwerx/angular-egg">GitHub Link</a></p>
</section>
</div>
JavaScript
/**
* angular-egg - An AngularJS Directive implementation of egg.js by Mike Flynn
* @author Paul Massey, [email protected]
* @version v0.0.5
* @build 22 - Wed Sep 16 2015 15:43:06 GMT+0100 (BST)
* @link http://www.scriptwerx.io
* @license https://github.com/scriptwerx/ngEgg/blob/master/LICENSE
*/
!function(e){"use strict";function t(e){var t={up:38,down:40,left:37,right:39,enter:13,space:32,ctrl:7,alt:8,tab:9},n=Object.keys(t);e=e.split(",").map(function(e){return e.trim()});var i=e.map(function(e){return isNaN(parseInt(e,10))?n.indexOf(e)>-1?t[e]:e.charCodeAt(0):e});return i.join(",")}function n(e){function n(n,u,c,f){function l(e){var t,i=e.which,c=i>=65&&90>=i;if(!("keydown"!==e.type||e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)){var l=e.target.tagName;if(("HTML"===l||"BODY"===l)&&c)return void e.preventDefault()}if("keyup"===e.type)if(c&&!e.shiftKey&&(i+=32),-1===r.indexOf(i)&&o.push(i),t=o.toString().indexOf(a)>=0)o=[],u.css("display","block"),n.$apply(function(){f.$setViewValue(!0)});else if(o.length>10){var s=o.toString(),d=a.split(",")[0];d&&-1!==s.indexOf(d)?(s=s.substr(s.indexOf(d)),s.length>a.length&&(o=[])):o=[]}}f.$setViewValue(!1),u.css("display","none"),a=t(c.keycode?c.keycode:i),e.on("keydown",l),e.on("keyup",l)}var a,o=[];return{restrict:"EA",require:"^ngModel",scope:!0,link:n}}var i="38,up,40,down,left,right,left,right,b,a",r=[16];n.$inject=["$document"],e.module("ngEgg",[]).directive("ngEgg",n)}(window.angular);
//# sourceMappingURL=angular-egg.min.js.map
// Forgive the quick and dirty code
(function(angular) {
'use strict';
function EggController() {
var vm = this;
vm.notifications = {
eggActivated: false,
submittedData: void 0
};
vm.userData = {
item1: void 0,
item2: void 0,
item3: void 0
};
vm.submitUserData = function() {
vm.notifications.submittedData =...