From b1814b7ce4dc8c7587a41bf6ceaabf7280b14e93 Mon Sep 17 00:00:00 2001 From: Will Bradley Date: Thu, 2 May 2013 16:44:27 -0700 Subject: [PATCH] Initial commit --- README | 3 +++ freshbooks-resizer.js | 22 ++++++++++++++++++++++ injected.js | 19 +++++++++++++++++++ manifest.json | 15 +++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 README create mode 100644 freshbooks-resizer.js create mode 100644 injected.js create mode 100644 manifest.json diff --git a/README b/README new file mode 100644 index 0000000..c6422d8 --- /dev/null +++ b/README @@ -0,0 +1,3 @@ +This Chrome extension puts a resize button inside the Freshbooks Timer so you can quickly resize the window and continue working with it in the corner of your screen. + +Written by Will Bradley, 2013, released to the public domain. diff --git a/freshbooks-resizer.js b/freshbooks-resizer.js new file mode 100644 index 0000000..5e37119 --- /dev/null +++ b/freshbooks-resizer.js @@ -0,0 +1,22 @@ +function injectJs(link) { +var scr = document.createElement('script'); +scr.type="text/javascript"; +scr.src=link; +document.getElementsByTagName('head')[0].appendChild(scr) +//document.body.appendChild(scr); +} + +injectJs(chrome.extension.getURL('injected.js')); + +function insertFreshbooksResizer() { + var bodyTag = document.getElementsByTagName('body')[0]; + var resizerDiv = document.createElement('div'); + + resizerDiv.setAttribute('id',"freshbooks-resizer"); + resizerDiv.setAttribute('style',"position:absolute;top: 0;right: 0;z-index: 1000;font-size: 16px;color: white;border: 1px solid white;line-height: 1em;"); + resizerDiv.innerHTML = ''; + + bodyTag.appendChild(resizerDiv); +} + +insertFreshbooksResizer(); \ No newline at end of file diff --git a/injected.js b/injected.js new file mode 100644 index 0000000..627e4d2 --- /dev/null +++ b/injected.js @@ -0,0 +1,19 @@ + +window.normalWidth = window.outerWidth; +window.normalHeight = window.outerHeight; + +window.minWidth = 250; +window.minHeight = 160; + +function freshbooksResize(){ + var resizeButton = document.getElementById("freshbooks-resize-button"); + + if(window.outerHeight == window.normalHeight){ + window.resizeTo(window.minWidth,window.minHeight); + resizeButton.innerHTML = "▲"; + } + else{ + window.resizeTo(window.normalWidth,window.normalHeight); + resizeButton.innerHTML = "▼"; + } +} diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..c7f788f --- /dev/null +++ b/manifest.json @@ -0,0 +1,15 @@ +{ + "manifest_version": 2, + + "name": "Freshbooks Timer Resizer", + "description": "This extension lets you easily minimize the Freshbooks Timesheet timer window.", + "version": "1.0", + + "content_scripts": [ + { + "matches": ["https://*.freshbooks.com/internal.php*"], + "js": ["freshbooks-resizer.js","injected.js"] + } + ], + "web_accessible_resources": ["injected.js"] +}