Skip to content

Commit

Permalink
Fixed #2 extension source code structure
Browse files Browse the repository at this point in the history
  • Loading branch information
kdidenko committed May 23, 2017
1 parent e613aaf commit 80093b5
Show file tree
Hide file tree
Showing 13 changed files with 679 additions and 678 deletions.
21 changes: 11 additions & 10 deletions dialog.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
<html>
<head>
<title id='title'>Remember tabs</title>
<script type="text/javascript" src="tracking.js"></script>
<link type="text/css" rel="stylesheet" href="tabsaver.css">
<script type="text/javascript" src="identity.js"></script>
<script type="text/javascript" src="i18n.js"></script>
<script type="text/javascript" src="dialog.js"></script>
<link type="text/css" rel="stylesheet" href="stylesheets/tabsaver.css">
<script type="text/javascript" src="scripts/tracking.js"></script>
<script type="text/javascript" src="scripts/identity.js"></script>
<script type="text/javascript" src="scripts/i18n.js"></script>
<script type="text/javascript" src="scripts/dialog.js"></script>
</head>
<body>
<div id="wrap">
Expand All @@ -23,7 +23,7 @@
</a>
</div>
<span>
<a class="extUrl" href="http://www.tab-saver.com" title="TabSaver official website" id="ext_name">
<a class="extUrl" href="https://tab-saver.com" title="TabSaver official website" id="ext_name">
Tab <b>Saver</b> <i id="version">v</i>
</a>
</span>
Expand Down Expand Up @@ -84,10 +84,11 @@
</div>
<div id="footer">
<span>
<a class="extUrl" href="https://chrome.google.com/webstore/detail/tab-saver/fmjkkhoegfianolbdbceddpgnidbfpmo" title="TabSaver at Chrome Webstore">TabSaver</a>
&copy; 2016 |
<a class="extUrl" href="http://www.ito-global.com" title="ITO-Global, LLC">ITO-Global, LLC</a></span>
<a class="extUrl" href="https://chrome.google.com/webstore/detail/tab-saver/fmjkkhoegfianolbdbceddpgnidbfpmo" title="TabSaver at Chrome Webstore">Chrome Webstore</a>
&copy; 2017 |
<a class="extUrl" href="https://tab-saver.com" title="Official TabSaver Website">TabSaver Web</a>
</span>
</div>
<script type="text/javascript" src="popup.js"></script>
<script type="text/javascript" src="scripts/popup.js"></script>
</body>
</html>
File renamed without changes
File renamed without changes
File renamed without changes
8 changes: 4 additions & 4 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
},
"background": {
"scripts": [
"background.js"
"scripts/background.js"
],
"persistent": false
},
Expand All @@ -34,8 +34,8 @@
]
},
"icons": {
"16": "icon-16.png",
"48": "icon-48.png",
"128": "icon-128.png"
"16": "icons/icon-16.png",
"48": "icons/icon-48.png",
"128": "icons/icon-128.png"
}
}
4 changes: 2 additions & 2 deletions background.js → scripts/background.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
/*chrome.browserAction.setBadgeText({
text: "save"
/*chrome.browserAction.setBadgeText({
text: "save"
});*/
File renamed without changes.
128 changes: 64 additions & 64 deletions functions.js → scripts/functions.js
Original file line number Diff line number Diff line change
@@ -1,64 +1,64 @@
/**
* Common functions library
* Version 1.0
* Copyright (c) 2015 Kostyantyn Didenko. All rights reserved.
* This software is distributed under GNU GPL v2 licence
* For feedbacks and questions please feel free to contact me at kdidenko@gmail.com
*/

/**
* An alias to test the variables and objects
*/
function isset(v) { return (v != 'undefined' && v != '' && v != null); }


/**
* Timer object for managing the flow when using asynchronous calls
* @deprecated
*/
var timer = (function () {
/**
* private flag to manage the flow - wait or continue
*/
var _wait = true;
/**
* private default timeout for flow to wait = 5 seconds
*/
var _timeout = 5000;
/**
* private flag to determine if timer is running or not
*/
var _running = false;
/**
* return the timer object instance itself
*/
return {
/**
* wait() for milliseconds specified
* @param timeout
* @return time waiting
*/
wait: function (timeout) {
// set the timeout value
_timeout = isset(timeout) && (timeout % 1 === 0) && (timeout > 0) ? timeout : _timeout;
// rememebr when started
var start = new Date().getTime();
// set timer's state as running
_running = true;
// wait until stopped or timout is reached
while (((new Date().getTime() - start) < _timeout) && _wait) { continue }
// set timer's states as stopped
_running = false;
_wait = true;
// return how much time waited
alert('stopped in : ' + (new Date().getTime() - start) + 'ms.');
return new Date().getTime() - start;
},
/**
* stop() waiting
*/
stop: function () {
if(_running) { alert('stopping'); _wait = false }
}
};
})();
/**
* Common functions library
* Version 1.0
* Copyright (c) 2015 Kostyantyn Didenko. All rights reserved.
* This software is distributed under GNU GPL v2 licence
* For feedbacks and questions please feel free to contact me at kdidenko@gmail.com
*/

/**
* An alias to test the variables and objects
*/
function isset(v) { return (v != 'undefined' && v != '' && v != null); }


/**
* Timer object for managing the flow when using asynchronous calls
* @deprecated
*/
var timer = (function () {
/**
* private flag to manage the flow - wait or continue
*/
var _wait = true;
/**
* private default timeout for flow to wait = 5 seconds
*/
var _timeout = 5000;
/**
* private flag to determine if timer is running or not
*/
var _running = false;
/**
* return the timer object instance itself
*/
return {
/**
* wait() for milliseconds specified
* @param timeout
* @return time waiting
*/
wait: function (timeout) {
// set the timeout value
_timeout = isset(timeout) && (timeout % 1 === 0) && (timeout > 0) ? timeout : _timeout;
// rememebr when started
var start = new Date().getTime();
// set timer's state as running
_running = true;
// wait until stopped or timout is reached
while (((new Date().getTime() - start) < _timeout) && _wait) { continue }
// set timer's states as stopped
_running = false;
_wait = true;
// return how much time waited
alert('stopped in : ' + (new Date().getTime() - start) + 'ms.');
return new Date().getTime() - start;
},
/**
* stop() waiting
*/
stop: function () {
if(_running) { alert('stopping'); _wait = false }
}
};
})();
106 changes: 53 additions & 53 deletions i18n.js → scripts/i18n.js
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@

function translate(id, attribute, text) {
var el = document.getElementById(id);
// check if element exists
if(el !== null && el !== 'undefined' && el !== '') {
if(attribute !== 'innerHTML') {
el.setAttribute(attribute, text);
} else {
el.innerHTML = text;
}
} else {
console.log ('could not find element with id: ' + id);
}
}


/**
* entry point for internationalization functionality
*/
function i18n() {
var title = chrome.i18n.getMessage("title");
translate('title', 'innerHTML', title);
var ext_name = chrome.i18n.getMessage("ext_name");
translate('ext_name', 'innerHTML', ext_name);
var save_btn = chrome.i18n.getMessage("save_btn");
translate('save_btn', 'innerHTML', save_btn);
var open_btn = chrome.i18n.getMessage("open_btn");
translate('open_btn', 'innerHTML', open_btn);
var ssn_sess = chrome.i18n.getMessage("ssn_sess");
translate('ssn_sess', 'innerHTML', ssn_sess);
var inpt_name = chrome.i18n.getMessage("inpt_name");
translate('inpt_name', 'placeholder', inpt_name);
var save = chrome.i18n.getMessage("save");
translate('save', 'value', save);
/*** v 1.0.9 ***/
/* removed at v 1.1.3
var list_action_choose = chrome.i18n.getMessage("list_action_choose");
translate('list_action_choose', 'innerHTML', list_action_choose);
*/
var list_action_select = chrome.i18n.getMessage("list_action_select");
translate('list_action_select', 'innerHTML', list_action_select);
var list_action_clear = chrome.i18n.getMessage("list_action_clear");
translate('list_action_clear', 'innerHTML', list_action_clear);
var list_action_toggle = chrome.i18n.getMessage("list_action_toggle");
translate('list_action_toggle', 'innerHTML', list_action_toggle);
/*** v 1.0.9 ***/
}

/**
* Event listener to handle document onload
*/
document.addEventListener('DOMContentLoaded', function() {
i18n();

function translate(id, attribute, text) {
var el = document.getElementById(id);
// check if element exists
if(el !== null && el !== 'undefined' && el !== '') {
if(attribute !== 'innerHTML') {
el.setAttribute(attribute, text);
} else {
el.innerHTML = text;
}
} else {
console.log ('could not find element with id: ' + id);
}
}


/**
* entry point for internationalization functionality
*/
function i18n() {
var title = chrome.i18n.getMessage("title");
translate('title', 'innerHTML', title);
var ext_name = chrome.i18n.getMessage("ext_name");
translate('ext_name', 'innerHTML', ext_name);
var save_btn = chrome.i18n.getMessage("save_btn");
translate('save_btn', 'innerHTML', save_btn);
var open_btn = chrome.i18n.getMessage("open_btn");
translate('open_btn', 'innerHTML', open_btn);
var ssn_sess = chrome.i18n.getMessage("ssn_sess");
translate('ssn_sess', 'innerHTML', ssn_sess);
var inpt_name = chrome.i18n.getMessage("inpt_name");
translate('inpt_name', 'placeholder', inpt_name);
var save = chrome.i18n.getMessage("save");
translate('save', 'value', save);
/*** v 1.0.9 ***/
/* removed at v 1.1.3
var list_action_choose = chrome.i18n.getMessage("list_action_choose");
translate('list_action_choose', 'innerHTML', list_action_choose);
*/
var list_action_select = chrome.i18n.getMessage("list_action_select");
translate('list_action_select', 'innerHTML', list_action_select);
var list_action_clear = chrome.i18n.getMessage("list_action_clear");
translate('list_action_clear', 'innerHTML', list_action_clear);
var list_action_toggle = chrome.i18n.getMessage("list_action_toggle");
translate('list_action_toggle', 'innerHTML', list_action_toggle);
/*** v 1.0.9 ***/
}

/**
* Event listener to handle document onload
*/
document.addEventListener('DOMContentLoaded', function() {
i18n();
});

0 comments on commit 80093b5

Please sign in to comment.