onlogin: function (assertion) { if (! assertion) return; DOM('#signup').off('submit', onSignUpSubmit); DOM('#signup [name=assertion]').val(assertion); navigator.id.logout(); }
render: function () { var html = DOM(this.root).html(); DOM(this.root).remove(); var tooltip = this._tooltip = Tooltip.create(); tooltip.init({ html: html }); },
show: function (data, x, y) { if (! this._tooltip) { this.render(); } var tooltip = this._tooltip; tooltip.show(); tooltip.move(x, y); var occurredAt = data.date; var occurredAtStr = StringUtils.format('%s-%s-%s', occurredAt.getFullYear(), occurredAt.getMonth() + 1, StringUtils.padLeft(occurredAt.getDate(), 2, 0)); DOM(this._tooltip.root()).find('[name="occurredAt"]').attr('value', occurredAtStr); DOM('#occurredAtContainer').hide(); }
init: function (options) { options = options || {}; this.root = options.root || '#enter-annotation-container'; DOM('#annotations').hide(); // the delay is used to prevent the tooltip from immediately // being hidden if the tooltip is shown on a click. Events.on('day-click', delay(function (eventData) { this.show(eventData.data, eventData.x, eventData.y); }.bind(this))); },
init: function(options) { this.root = options.root; this.data = options.data; this.width = options.width || DOM(this.root).nth(0).clientWidth; this.height = options.height || (30 * this.data.length + margin.top); },
function isSignUpFormValid() { return !!(DOM('#signup [name=name]').val() && DOM('#signup [name=assertion]').val()); }
onlogout: function () { if (isSignUpFormValid()) { DOM('#signup').nth(0).submit(); } },
function isSignInFormValid() { return !!DOM('#signin [name=assertion]').val(); }
(function () { var DOM = require('dominator'); // no caching the assertion. DOM('[name=assertion]').val(''); // Flow: // 1) When user submits the form, prevent form submission and // request an assertion instead. // 2) When an assertion arrives, disconnect the submit handler, enter // the assertion into the form. // 3) Sign the user out of Persona, then submit the form to the server. DOM('#signin').on('submit', onSignInSubmit); function onSignInSubmit(event) { // no assertion available, request one then re-submit the form. event.preventDefault(); // Immediately sign out upon receiving the assertion. When onlogout // is invoked, re-submit the form. navigator.id.watch({ onlogout: function () { if (isSignInFormValid()) { DOM('#signin').nth(0).submit(); } }, onlogin: function (assertion) { if (! assertion) return; DOM('#signin').off('submit', onSignInSubmit); DOM('#signin [name=assertion]').val(assertion); navigator.id.logout(); } }); navigator.id.request({ siteName: 'RUM Diary', backgroundColor: '#ffa200' }); } function isSignInFormValid() { return !!DOM('#signin [name=assertion]').val(); } DOM('#signup').on('submit', onSignUpSubmit); function onSignUpSubmit(event) { // no assertion available, request one then re-submit the form. event.preventDefault(); // Immediately sign out upon receiving the assertion. When onlogout // is invoked, re-submit the form. navigator.id.watch({ onlogout: function () { if (isSignUpFormValid()) { DOM('#signup').nth(0).submit(); } }, onlogin: function (assertion) { if (! assertion) return; DOM('#signup').off('submit', onSignUpSubmit); DOM('#signup [name=assertion]').val(assertion); navigator.id.logout(); } }); navigator.id.request({ siteName: 'RUM Diary', backgroundColor: '#ffa200' }); } function isSignUpFormValid() { return !!(DOM('#signup [name=name]').val() && DOM('#signup [name=assertion]').val()); } }());