/** * Error modal. */ beestat.component.modal.error = function() { beestat.component.modal.apply(this, arguments); }; beestat.extend(beestat.component.modal.error, beestat.component.modal); beestat.component.modal.error.prototype.decorate_contents_ = function(parent) { parent.appendChild($.createElement('p').innerHTML(this.message_)); if (this.detail_ !== undefined) { parent.appendChild($.createElement('p').innerHTML('Sorry about that! This error has been logged and will be investigated and appropriately punished. Please reach out to contact@beestat.io if it persists.')); parent.appendChild($.createElement('p') .style({ 'padding': beestat.style.size.gutter / 2, 'background': beestat.style.color.bluegray.dark, 'color': beestat.style.color.gray.light, 'font-family': 'Courier New, Monospace', 'max-height': '200px', 'overflow-y': 'auto', 'font-size': beestat.style.font_size.normal, 'white-space': 'pre' }) .innerHTML(this.detail_)); } }; beestat.component.modal.error.prototype.set_message = function(message) { this.message_ = message; }; beestat.component.modal.error.prototype.set_detail = function(detail) { this.detail_ = detail; }; beestat.component.modal.error.prototype.get_title_ = function() { var titles = [ 'Looks like you broke it again.', 'Yep, it\'s broken.', 'Something went wrong.', 'You have died of dysentery.', 'What a happy accident.', 'Witty title for an error.', 'Greedo shot first!', 'We can\'t all be winners.', 'Don\'t panic!', 'Hello. It\'s me.', '¯\\_(ツ)_/¯' ]; return titles[Math.floor(Math.random() * titles.length)]; };