Last active
May 2, 2017 17:10
-
-
Save TaylorAckley/46592f75d5af6caf4e76d27a8f0ed137 to your computer and use it in GitHub Desktop.
Faker Scaffold/Replacer
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Requires momentjs and faker.js. | |
//usage | |
/* | |
<div class="scaffold-user"> | |
<span class="scaffold-name"></span> OR <span class="scaffold-name">{{scaffold-name}} - other text here</span> | |
<span class="scaffold-initials"></span> | |
<span class="scaffold-email"></span> | |
</div> | |
<span class="scaffold-future-date"></span> | |
etc.... | |
*/ | |
String.prototype.getInitials = function (glue) { | |
if (typeof glue == "undefined") { | |
var glue = true; | |
} | |
var initials = this.replace(/[^a-zA-Z- ]/g, "").match(/\b\w/g); | |
if (glue) { | |
return initials.join(''); | |
} | |
return initials; | |
}; | |
String.prototype.capitalize = function () { | |
return this.toLowerCase().replace(/\b\w/g, function (m) { | |
return m.toUpperCase(); | |
}); | |
}; | |
$(function () { | |
var mustache = new RegExp(/{{\s*[\w\.]+\s*}}/g); | |
$('.scaffold-user').each(function (i) { | |
var _name = faker.fake("{{name.firstName}} {{name.lastName}}"); | |
var _initials = _name.getInitials(); | |
var _this = this; | |
var _nameInterpolate = function () { | |
var content = $(_this).find('.scaffold-name').text(); | |
if (/{{\s*[\w\.]+\s*}}/g.test(content) === true) { | |
var newContent = content.replace(mustache, _name); | |
return newContent; | |
} else { | |
return _name; | |
} | |
}; | |
var _email = function () { | |
name = _name.replace(" ", "").toLowerCase(); | |
return name + "@example.com"; | |
} | |
$(this).find('.scaffold-name').text(_nameInterpolate()); | |
$(this).find('.scaffold-initials').html(_initials); | |
$(this).find('.scaffold-email').html(_email); | |
}); | |
$('.scaffold-date-future').each(function () { | |
var _date = faker.date.future(); | |
var value = moment(_date).format('MMMM Do, YYYY'); | |
$(this).text(value); | |
}); | |
$('.scaffold-date-past').each(function () { | |
var _date = faker.date.past(); | |
var value = moment(_date).format('MMMM Do, YYYY'); | |
$(this).text(value); | |
}); | |
$('.scaffold-number').each(function (i) { | |
var max = this.attr('data-num-max') || 100; | |
var _num = faker.random.number(max); | |
$(this).text(_num); | |
}); | |
$('.scaffold-number-chart').each(function (i) { | |
var _num = faker.random.number(100); | |
$(this).addClass('p'+_num); | |
$(this).find('span').text(_num + '%'); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment