Skip to content
This repository has been archived by the owner on Mar 11, 2019. It is now read-only.

Commit

Permalink
Version 1.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
akrylysov committed Nov 7, 2013
1 parent da16b18 commit 6ac6655
Show file tree
Hide file tree
Showing 28 changed files with 393 additions and 361 deletions.
36 changes: 18 additions & 18 deletions BrowserEvents/src/common/main.js
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
function getDomainFromUrl(url) {
var matches = url.match(/:\/\/(.[^/]+)/);
return ((matches != null && typeof matches[1] != 'undefined') ? matches[1] : null);
var matches = url.match(/:\/\/(.[^/]+)/);
return ((matches != null && typeof matches[1] != 'undefined') ? matches[1] : null);
}

kango.browser.addEventListener(kango.browser.event.BEFORE_NAVIGATE, function(event) {
kango.console.log('BeforeNavigate\nUrl=' + event.url + '\nIs tab active=' + event.target.isActive());
var domain = getDomainFromUrl(event.url);
// i don't like bing, redirect to google
if (domain == 'www.bing.com' || domain == 'bing.com') {
event.target.navigate('http://google.com/');
}
kango.console.log('BeforeNavigate\nUrl=' + event.url + '\nIs tab active=' + event.target.isActive());
var domain = getDomainFromUrl(event.url);
// i don't like bing, redirect to google
if (domain == 'www.bing.com' || domain == 'bing.com') {
event.target.navigate('http://google.com/');
}
});

kango.browser.addEventListener(kango.browser.event.DOCUMENT_COMPLETE, function(event) {
kango.console.log('DocumentComplete\nUrl=' + event.url + '\nTitle=' + event.title + '\nIs tab active=' + event.target.isActive());
kango.console.log('DocumentComplete\nUrl=' + event.url + '\nTitle=' + event.title + '\nIs tab active=' + event.target.isActive());
});

kango.browser.addEventListener(kango.browser.event.TAB_CREATED, function(event) {
kango.console.log('Tab Created\nTarget tab url=' + event.target.getUrl() + '\nTab id=' + event.tabId);
kango.console.log('Tab Created\nTarget tab url=' + event.target.getUrl() + '\nTab id=' + event.tabId);
});

kango.browser.addEventListener(kango.browser.event.TAB_CHANGED, function(event) {
kango.console.log('Tab Changed\nTarget tab url=' + event.target.getUrl() + '\nTab id=' + event.tabId);
kango.console.log('Tab Changed\nTarget tab url=' + event.target.getUrl() + '\nTab id=' + event.tabId);
});

kango.browser.addEventListener(kango.browser.event.TAB_REMOVED, function(event) {
kango.console.log('Tab Removed\nTab id=' + event.tabId);
kango.console.log('Tab Removed\nTab id=' + event.tabId);
});

kango.ui.browserButton.addEventListener(kango.ui.browserButton.event.COMMAND, function() {
// output to console all opened tabs urls
kango.browser.tabs.getAll(function(tabs) {
for (var i = 0; i < tabs.length; i++) {
kango.console.log(tabs[i].getUrl())
}
});
// output to console all opened tabs urls
kango.browser.tabs.getAll(function(tabs) {
for (var i = 0; i < tabs.length; i++) {
kango.console.log(tabs[i].getUrl())
}
});
});
14 changes: 7 additions & 7 deletions ChristmasTree/src/common/tree.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
var $ = window.$.noConflict(true); // Required for Opera and IE

var tree = $(document.createElement('img')).attr({
src: 'http://kangoextensions.com/misc/tree.png',
title: 'Christmas tree'
src: 'http://kangoextensions.com/misc/tree.png',
title: 'Christmas tree'
}).css({
position: 'absolute',
top: '10px',
left: document.body.clientWidth - 280 + 'px',
'z-index': '10000'
position: 'absolute',
top: '10px',
left: document.body.clientWidth - 280 + 'px',
'z-index': '10000'
}).appendTo(document.body);

tree.click(function() {
alert('Tree click');
alert('Tree click');
});
36 changes: 18 additions & 18 deletions ContextMenuItem/src/common/content.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,26 @@
// ==/UserScript==

function handleContextMenuClick() {
var clickedElement = null;
var clickedElement = null;

if ('addEventListener' in document) {
document.addEventListener('mousedown', function(event) {
if (event.button == 2) {
clickedElement = event.target;
}
}, true);
} else {
document.attachEvent('onmousedown', function(event) {
event = event || window.event;
if (event.button == 2) {
clickedElement = event.srcElement;
}
});
}
if ('addEventListener' in document) {
document.addEventListener('mousedown', function(event) {
if (event.button == 2) {
clickedElement = event.target;
}
}, true);
} else {
document.attachEvent('onmousedown', function(event) {
event = event || window.event;
if (event.button == 2) {
clickedElement = event.srcElement;
}
});
}

kango.addMessageListener('ContextMenuItemClick', function(event) {
alert(clickedElement);
});
kango.addMessageListener('ContextMenuItemClick', function(event) {
alert(clickedElement);
});
}

handleContextMenuClick();
6 changes: 3 additions & 3 deletions ContextMenuItem/src/common/extension_info.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"tooltipText": "ContextMenuItemDemo",
"icon": "icons/button.png"
},
"context_menu_item": {
"caption": "ContextMenuItemDemo"
}
"context_menu_item": {
"caption": "ContextMenuItemDemo"
}
}
8 changes: 4 additions & 4 deletions ContextMenuItem/src/common/main.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
kango.ui.contextMenuItem.addEventListener(kango.ui.contextMenuItem.event.CLICK, function() {
kango.console.log('Context menu item click');
kango.browser.tabs.getCurrent(function(tab) {
tab.dispatchMessage('ContextMenuItemClick');
});
kango.console.log('Context menu item click');
kango.browser.tabs.getCurrent(function(tab) {
tab.dispatchMessage('ContextMenuItemClick');
});
});
2 changes: 1 addition & 1 deletion GmailChecker/src/chrome/extension_info.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"id": "{6F4DCD7C-7E52-11E0-8BAC-3CB64724019B}"
"id": "{6F4DCD7C-7E52-11E0-8BAC-3CB64724019B}"
}
24 changes: 12 additions & 12 deletions GmailChecker/src/common/extension_info.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"name": "Gmail Checker",
"version": "1.2.0",
"description": "Gmail Checker",
"creator": "Kango",
"homepage_url": "http://kangoextensions.com/",
"background_scripts": ["main.js"],
"browser_button": {
"icon": "icons/button_gray.png",
"tooltipText": "Gmail Checker",
"caption": "Gmail Checker"
},
"default_locale": "en"
"name": "Gmail Checker",
"version": "1.2.0",
"description": "Gmail Checker",
"creator": "Kango",
"homepage_url": "http://kangoextensions.com/",
"background_scripts": ["main.js"],
"browser_button": {
"icon": "icons/button_gray.png",
"tooltipText": "Gmail Checker",
"caption": "Gmail Checker"
},
"default_locale": "en"
}
4 changes: 2 additions & 2 deletions GmailChecker/src/common/locales/en.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"Offline": "Offline",
"Unread count": "Unread count"
"Offline": "Offline",
"Unread count": "Unread count"
}
4 changes: 2 additions & 2 deletions GmailChecker/src/common/locales/ru.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"Offline": "Не подключен",
"Unread count": "Количество непрочитанных"
"Offline": "Не подключен",
"Unread count": "Количество непрочитанных"
}
84 changes: 42 additions & 42 deletions GmailChecker/src/common/main.js
Original file line number Diff line number Diff line change
@@ -1,53 +1,53 @@
function GmailChecker() {
var self = this;
self.refresh();
kango.ui.browserButton.addEventListener(kango.ui.browserButton.event.COMMAND, function() {
kango.browser.tabs.create({url: 'https://mail.google.com/'});
self.refresh();
});
window.setInterval(function() {
self.refresh()
}, self._refreshTimeout);
var self = this;
self.refresh();
kango.ui.browserButton.addEventListener(kango.ui.browserButton.event.COMMAND, function() {
kango.browser.tabs.create({url: 'https://mail.google.com/'});
self.refresh();
});
window.setInterval(function() {
self.refresh()
}, self._refreshTimeout);
}

GmailChecker.prototype = {

_refreshTimeout: 60 * 1000 * 15, // 15 minutes
_feedUrl: 'https://mail.google.com/mail/feed/atom',
_refreshTimeout: 60 * 1000 * 15, // 15 minutes
_feedUrl: 'https://mail.google.com/mail/feed/atom',

_setOffline: function() {
kango.ui.browserButton.setTooltipText(kango.i18n.getMessage('Offline'));
kango.ui.browserButton.setIcon('icons/button_gray.png');
kango.ui.browserButton.setBadgeValue(0);
},
_setOffline: function() {
kango.ui.browserButton.setTooltipText(kango.i18n.getMessage('Offline'));
kango.ui.browserButton.setIcon('icons/button_gray.png');
kango.ui.browserButton.setBadgeValue(0);
},

_setUnreadCount: function(count) {
kango.ui.browserButton.setTooltipText(kango.i18n.getMessage('Unread count') + ': ' + count);
kango.ui.browserButton.setIcon('icons/button.png');
kango.ui.browserButton.setBadgeValue(count);
},
_setUnreadCount: function(count) {
kango.ui.browserButton.setTooltipText(kango.i18n.getMessage('Unread count') + ': ' + count);
kango.ui.browserButton.setIcon('icons/button.png');
kango.ui.browserButton.setBadgeValue(count);
},

refresh: function() {
var details = {
url: this._feedUrl,
method: 'GET',
async: true,
contentType: 'text'
};
var self = this;
kango.xhr.send(details, function(data) {
if (data.status == 200 && data.response != null) {
var count = 0;
var matches = data.response.match(/<fullcount>(\d+)<\/fullcount>/); // Old IE versions doensn't support getElementsByTagNameNS, so we using RegExp
if (matches != null && matches.length > 0) {
count = matches[1];
}
self._setUnreadCount(count);
} else { // something went wrong
self._setOffline();
}
});
}
refresh: function() {
var details = {
url: this._feedUrl,
method: 'GET',
async: true,
contentType: 'text'
};
var self = this;
kango.xhr.send(details, function(data) {
if (data.status == 200 && data.response != null) {
var count = 0;
var matches = data.response.match(/<fullcount>(\d+)<\/fullcount>/); // Old IE versions doensn't support getElementsByTagNameNS, so we using RegExp
if (matches != null && matches.length > 0) {
count = matches[1];
}
self._setUnreadCount(count);
} else { // something went wrong
self._setOffline();
}
});
}
};

var extension = new GmailChecker();
2 changes: 1 addition & 1 deletion GmailChecker/src/firefox/extension_info.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"id": "{6F4DCD7C-7E52-11E0-8BAC-3CB64724019B}"
"id": "{6F4DCD7C-7E52-11E0-8BAC-3CB64724019B}"
}
2 changes: 1 addition & 1 deletion GmailChecker/src/opera/extension_info.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"id": "http://kangoextensions.com/extensions/gmailchecker"
"id": "http://kangoextensions.com/extensions/gmailchecker"
}
2 changes: 1 addition & 1 deletion GmailChecker/src/safari/extension_info.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"id": "com.kangoextensions.gmailchecker"
"id": "com.kangoextensions.gmailchecker"
}
28 changes: 14 additions & 14 deletions InternationalizationDemo/src/common/extension_info.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"name": "Extension name",
"version": "1.2.0",
"description": "Extension description",
"creator": "Kango",
"homepage_url": "http://kangoextensions.com/",
"background_scripts": [
"main.js"
],
"browser_button": {
"caption": "Kango",
"icon": "icons/button.png",
"tooltipText": "Kango"
},
"default_locale": "en"
"name": "Extension name",
"version": "1.3.0",
"description": "Extension description",
"creator": "Kango",
"homepage_url": "http://kangoextensions.com/",
"background_scripts": [
"main.js"
],
"browser_button": {
"caption": "Kango",
"icon": "icons/button.png",
"tooltipText": "Kango"
},
"default_locale": "en"
}
7 changes: 4 additions & 3 deletions InternationalizationDemo/src/common/locales/en.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"__info_name__": "Extension name",
"__info_description__": "Extension description",
"Hello": "Hello"
"__info_name__": "Internationalization demo",
"__info_description__": "Extension description",
"Logo": "Logo",
"Hello": "Hello {name}"
}
7 changes: 4 additions & 3 deletions InternationalizationDemo/src/common/locales/ru.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"__info_name__": "Название расширения",
"__info_description__": "Описание расширения",
"Hello": "Привет"
"__info_name__": "Демонстрация интернационализации",
"__info_description__": "Описание расширения",
"Logo": "Логотип",
"Hello": "Привет {name}"
}
3 changes: 2 additions & 1 deletion InternationalizationDemo/src/common/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
kango.console.log('Default locale = ' + kango.getExtensionInfo().default_locale);
kango.console.log('Current locale = ' + kango.i18n.getCurrentLocale());
kango.console.log('Messages = ' + JSON.stringify(kango.i18n.getMessages()));
kango.console.log('Hello message = ' + kango.i18n.getMessage('Hello'));
kango.console.log('Logo message = ' + kango.i18n.getMessage('Logo'));
kango.console.log('Hello message = ' + kango.i18n.getMessage('Hello', {name: 'Bob'}));
Loading

0 comments on commit 6ac6655

Please sign in to comment.