UNPKG

glintcms-starter-glintcms

Version:

This is a WebSite implementation with GlintCMS. It shows how you can use GlintCMS.

45 lines (30 loc) 1.2 kB
var debug = require('debug')('page-main:contact'); var isBrowser = require('is-browser'); module.exports = function contact(o) { if (isBrowser) { var form = document.querySelector(o.selectorForm); var buttons = document.querySelectorAll(o.selectorButton); function contact(e) { var target = e.target || e.srcElement; function getAttributes(config, form, names) { var attributes = {}; names.forEach(function(name) { var value = config[name] || ''; if (form) { var input = form.querySelector('[name=' + name + ']'); if (input) value = input.value || input.text || input.placeholder; } attributes[name] = value; }); return attributes; } var attr = getAttributes(o, form, ['email', 'subject', 'message']); debug('button', e, target, attr); var href = 'mailto:' + attr.email + '?subject=' + encodeURIComponent(attr.subject) + '&body=' + encodeURIComponent(attr.message); target.setAttribute('href', href); } [].slice.call(buttons).forEach(function(button) { button.addEventListener('click', contact, false); }); } };