// vim: et:ts=4:sw=4:sts=4:ft=javascript 'use strict'; pandora.ui.onloadDialog = function() { var dialogHeight = Math.round((window.innerHeight - 48) * 0.75), dialogWidth = Math.round(window.innerWidth * 0.75), $input = Ox.Input({ height: dialogHeight - 32, id: 'onload', placeholder: Ox._('/*\nAny JavaScript you paste here will run on load.\n' + 'If you ever need to manually change or remove it, ' + 'you can do so by setting localStorage["pandora.onload"] in the console.\n*/'), type: 'textarea', value: localStorage['pandora.onload'] || '', width: dialogWidth - 32 }) .css({margin: '16px'}), that = Ox.Dialog({ buttons: [ Ox.Button({ title: Ox._('Clear') }) .css({margin: '4px 4px 4px 0'}) .bindEvent({ click: function() { clear(); } }), Ox.Button({ id: 'done', title: Ox._('Done'), width: 48 }).bindEvent({ click: function() { that.close(); } }) ], closeButton: true, content: $input, height: dialogHeight, maximizeButton: true, minHeight: 256, minWidth: 512, removeOnClose: true, title: Ox._('Run Script on Load'), width: dialogWidth }) .bindEvent({ resize: resize }); function resize(data) { dialogHeight = data.height; dialogWidth = data.width; $input.options({ height: dialogHeight - 32, width: dialogWidth - 32 }); } function clear() { delete localStorage['pandora.onload']; $input.options({value: ''}); } that.superClose = that.close; that.close = function() { var value = $input.value(); if (value) { localStorage['pandora.onload'] = value; } else { delete localStorage['pandora.onload']; } that.superClose(); }; return that; };