Settings.onOpenConfig = function(e) { var options; var url; var listener = util2.last(state.listeners); if (listener) { e = { originalEvent: e, options: state.options, url: listener.params.url, }; var result; if (listener.open) { result = listener.open(e); if (result === false) { return; } } url = typeof result === 'string' ? result : listener.params.url; options = state.options; } else { url = Settings.settingsUrl; options = Settings.getBaseOptions(); return; } var hash = encodeURIComponent(JSON.stringify(options)); Pebble.openURL(url + '#' + hash); };
Settings.onCloseConfig = function(e) { var listener = util2.last(state.listeners); var options = {}; var format; if (e.response && e.response !== 'CANCELLED') { try { options = JSON.parse(decodeURIComponent(e.response)); format = 'json'; } catch (err) {} if (!format && e.response.match(/(&|=)/)) { options = ajax.deformify(e.response); if (util2.count(options) > 0) { format = 'form'; } } } if (listener) { e = { originalEvent: e, response: e.response, originalOptions: state.options, options: options, url: listener.params.url, failed: !format, format: format, }; if (format && listener.params.autoSave !== false) { e.originalOptions = util2.copy(state.options); util2.copy(options, state.options); Settings.saveOptions(); } return listener.close(e); } };
WindowStack.prototype.top = function() { return util2.last(this._items); };