Skip to content

Instantly share code, notes, and snippets.

@petvas
petvas / paginator.js
Last active February 2, 2016 15:37
simple pagination paginator
/*global define, module */
/**
*
* Paginator object facotry
* @param {[Array]} dv dataset
* @param {[Integer]} ipp items per page
* @return {[Object]} paginator object
*
* @example <caption>Example usage.</caption>
* var p = paginator([0,1,2,3,4,5,6,7,8,9,0] , 3, function (currentPaginator) {console.log(currentPaginator.current())});
@petvas
petvas / promisesChaining.js
Last active February 25, 2016 22:29
Promises Chaining (Sequences)
/**
* Promises Chaining
*/
(function () {
var promises = [
() => Promise.resolve('1st'),
() => Promise.resolve('2nd'),
() => Promise.resolve('...'),
() => Promise.resolve('n'),
@petvas
petvas / promisesRace.js
Last active February 26, 2016 16:14
Promises Race
/**
* Promises Race
*/
(function () {
var promises = [
Promise.resolve('1st'),
Promise.resolve('2nd'),
Promise.resolve('...'),
Promise.resolve('n'),
@petvas
petvas / promisesAll.js
Last active February 26, 2016 16:15
Promises All Paralel
/**
* Promises All
*/
(function () {
var promises = [
Promise.resolve('1st'),
Promise.resolve('2nd'),
Promise.resolve('...'),
Promise.resolve('n'),
var codes = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-_".split('');
function to64(d) {
var r = d % 64;
var result;
if (d - r == 0)
result = codes[r];
else
result = to64((d - r) / 64) + codes[r];
return result;
@petvas
petvas / eventEmitter.js
Created April 29, 2016 21:30
class less Event Emitter in 20 lines
function eventEmitter() {
var events = {};
return {
bind: function bind(name, cb) {
events[name] = events[name] || [];
events[name].push(cb);
},
unBind: function unBind(name, cb) {
if (!events[name]) return;
events[name].splice(events[name].indexOf(cb), 1);
@petvas
petvas / KonamiCode.js
Created August 8, 2017 19:46
Simple Detector
function onKonamiCode(cb) {
var input = '';
var key = '38384040373937396665';
document.addEventListener('keydown', function (e) {
input += ("" + e.keyCode);
console.log(input, key.indexOf(input));
if (input === key) {
return cb();
}
if (!key.indexOf(input)) return;
@petvas
petvas / rating
Last active August 10, 2017 16:31
Simple star rate with Glyphicons
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<style type="text/css">
.stars {
position: relative;
width: 70px;
height: 20px;
}
{
"presets": [
["@babel/preset-env", {
"modules": false,
"targets": {
"browsers": ["last 2 versions", "ie >= 8", "safari >= 7"],
},
"useBuiltIns": "usage",
"debug": true,
}],
const path = require('path');
const webpack = require('webpack');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const ManifestPlugin = require('webpack-manifest-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');
plugins = [
new webpack.EnvironmentPlugin(['NODE_ENV']),
new ManifestPlugin(),
new CleanWebpackPlugin([__dirname + '/src/Website/Scripts/dist']),