From aa444ff665f5612485f812c4de45c6e1cb935bd1 Mon Sep 17 00:00:00 2001 From: Alfredo De la calle Date: Fri, 16 Dec 2016 00:11:22 +0100 Subject: [PATCH] Initial commit feat(.gitignore): Added exclusions --- .gitignore | 5 ++ README.md | 38 ++++++++++++ bower.json | 14 +++++ demo/index.html | 28 +++++++++ index.html | 16 +++++ key-pad-styles.html | 133 +++++++++++++++++++++++++++++++++++++++++ key-pad.html | 51 ++++++++++++++++ key-pad.js | 99 ++++++++++++++++++++++++++++++ test/key-pad_test.html | 30 ++++++++++ 9 files changed, 414 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 bower.json create mode 100644 demo/index.html create mode 100644 index.html create mode 100644 key-pad-styles.html create mode 100644 key-pad.html create mode 100644 key-pad.js create mode 100644 test/key-pad_test.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..392dc70 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# Created by https://www.gitignore.io/api/polymer + +### Polymer ### +#Installed components via bower +bower_components/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..61ae1c7 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# \ + +A custom UI keypad + +## Install the Polymer-CLI + +First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) installed. Then run `polymer serve` to serve your application locally. + +## Viewing Your Application + +``` +$ polymer serve +``` + +## Building Your Application + +``` +$ polymer build +``` + +This will create a `build/` folder with `bundled/` and `unbundled/` sub-folders +containing a bundled (Vulcanized) and unbundled builds, both run through HTML, +CSS, and JS optimizers. + +You can serve the built versions by giving `polymer serve` a folder to serve +from: + +``` +$ polymer serve build/bundled +``` + +## Running Tests + +``` +$ polymer test +``` + +Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally. diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..0196039 --- /dev/null +++ b/bower.json @@ -0,0 +1,14 @@ +{ + "name": "key-pad", + "description": "A custom UI keypad", + "main": "key-pad.html", + "dependencies": { + "polymer": "Polymer/polymer#^1.4.0" + }, + "devDependencies": { + "iron-component-page": "PolymerElements/iron-component-page#^1.0.0", + "iron-demo-helpers": "PolymerElements/iron-demo-helpers#^1.0.0", + "web-component-tester": "^4.0.0", + "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" + } +} diff --git a/demo/index.html b/demo/index.html new file mode 100644 index 0000000..0e1517d --- /dev/null +++ b/demo/index.html @@ -0,0 +1,28 @@ + + + + + + + key-pad demo + + + + + + + + + + +
+

Basic key-pad demo

+ + + +
+ + diff --git a/index.html b/index.html new file mode 100644 index 0000000..349d8b7 --- /dev/null +++ b/index.html @@ -0,0 +1,16 @@ + + + + + + + key-pad + + + + + + + + + diff --git a/key-pad-styles.html b/key-pad-styles.html new file mode 100644 index 0000000..b4e5b7d --- /dev/null +++ b/key-pad-styles.html @@ -0,0 +1,133 @@ + + + \ No newline at end of file diff --git a/key-pad.html b/key-pad.html new file mode 100644 index 0000000..438fd88 --- /dev/null +++ b/key-pad.html @@ -0,0 +1,51 @@ + + + + + + + + diff --git a/key-pad.js b/key-pad.js new file mode 100644 index 0000000..d8b14dc --- /dev/null +++ b/key-pad.js @@ -0,0 +1,99 @@ +'use strict'; + +Polymer({ + + is: 'key-pad', + + properties: { + /** + * Number introduced + * @type {String} + */ + model: { + type: String + }, + + keyLength: { + type: Number, + value: 0 + }, + + _keypadNums: { + type: Array + } + + }, + + attached: function() { + this.set('_keypadNums', this._getRandomNumbers()); + }, + + reset: function() { + + }, + + _fillPoints: function() { + //TODO + //Add class to points to fill + + }, + + _shake: function() { + //TODO + //Add class shake to the points + }, + + _onTapOk: function() { + + }, + + /** + * Generate a random array + * @param {Integer} inPutArray Number of elements in array + * @return {Array} A shuffled array + */ + _uniqueRandomNumber: function(inPutArray) { + var sArray = []; + var storeList = []; + var k = 1; + + // Inserts Numbers in Array + for (var i = 1; i <= inPutArray; i++) { + sArray.push(i); + } + // Outputs numbers non-repeated + while (k <= inPutArray) { + // Search for value inside the Array in a random position + var randomPos = Math.floor(Math.random() * sArray.length); + // Selects value and removes it from Array + var valueFromArray = sArray.splice(randomPos, 1); + // Converts value in number + var numberRand = parseInt(valueFromArray); + //store and make array key for as like 0,1,2 for length :3 + storeList.push(numberRand - 1); + k++; + } + return storeList; + }, + + /** + * Generate keypad numbers + * @param {Boolean} forceOrdering Determine if Numbers will be shuffled or not + * @return {Array} Array of numbers + */ + _getRandomNumbers: function(forceOrdering) { + var arr = forceOrdering ? [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] : this._uniqueRandomNumber(10); + var arrTmp = []; + var row = []; + + for (var i = 0, len = arr.length; i < len; i++) { + if (i % 3 === 0) { + row = []; + arrTmp.push(row); + } + row.push(arr[i]); + } + return arrTmp; + } + +}); diff --git a/test/key-pad_test.html b/test/key-pad_test.html new file mode 100644 index 0000000..e4ae052 --- /dev/null +++ b/test/key-pad_test.html @@ -0,0 +1,30 @@ + + + + + + + key-pad test + + + + + + + + + + + + + +