Skip to content
This repository has been archived by the owner on Nov 18, 2020. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
ページ内のDOM要素を削除したり操作するTomblooパッチ
- E4X廃止
  • Loading branch information
polygonplanet committed Mar 23, 2013
1 parent a77d473 commit 71bf2e5
Showing 1 changed file with 44 additions and 44 deletions.
88 changes: 44 additions & 44 deletions tombloo.service.actions.element.js
Expand Up @@ -11,10 +11,10 @@
* *
* ----------------------------------------------------------------------- * -----------------------------------------------------------------------
* *
* @version 1.01 * @version 1.02
* @date 2011-11-16 * @date 2013-03-24
* @author polygon planet <polygon.planet@gmail.com> * @author polygon planet <polygon.planet.aqua@gmail.com>
* - Blog : http://polygon-planet.blogspot.com/ * - Blog : http://polygon-planet-log.blogspot.com/
* - Twitter : http://twitter.com/polygon_planet * - Twitter : http://twitter.com/polygon_planet
* - Tumblr : http://polygonplanet.tumblr.com/ * - Tumblr : http://polygonplanet.tumblr.com/
* @license Same as Tombloo * @license Same as Tombloo
Expand All @@ -26,15 +26,15 @@




// Define language // Define language
const LANG = (function(n) { var LANG = function(n) {
return ((n && (n.language || n.userLanguage || return ((n && (n.language || n.userLanguage ||
n.browserLanguage || n.systemLanguage)) || n.browserLanguage || n.systemLanguage)) ||
'en').split(/[^a-zA-Z0-9]+/).shift().toLowerCase(); 'en').split(/[^a-zA-Z0-9]+/).shift().toLowerCase();
})(navigator); }(navigator);




// UI labels // UI labels
const LABELS = { var LABELS = {
translate : function(name) { translate : function(name) {
return LABELS[name][LANG === 'en' && LANG || 'ja']; return LABELS[name][LANG === 'en' && LANG || 'ja'];
}, },
Expand Down Expand Up @@ -66,16 +66,16 @@ Tombloo.Service.actions.register({
name : LABELS.translate('MENU_TOP'), name : LABELS.translate('MENU_TOP'),
type : 'context', type : 'context',
// icon: tag.png : http://www.famfamfam.com/ // icon: tag.png : http://www.famfamfam.com/
icon : strip(<> icon : strip([
data:image/png;base64, 'data:image/png;base64,',
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0',
U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEXSURBVDjLY/j//z8DJZhhmBpg2POQn2wD 'U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEXSURBVDjLY/j//z8DJZhhmBpg2POQn2wD',
DDof8HvOe3osYtXzDzCxuM2vP3gvfn4MJIfXAP22e0Ies58eK9r2+r//3Kf3YOIhq17eK9v95j9I 'DDof8HvOe3osYtXzDzCxuM2vP3gvfn4MJIfXAP22e0Ies58eK9r2+r//3Kf3YOIhq17eK9v95j9I',
Trv2jhBWA/Ra7kVEr375vXDrq/9+s57eUy+4IY0kJx2w6Nk9kFzE0uffgXIRKAboNtxlC1/+/GPl 'Trv2jhBWA/Ra7kVEr375vXDrq/9+s57eUy+4IY0kJx2w6Nk9kFzE0uffgXIRKAboNtxlC1/+/GPl',
jjdABc9+q+ZcM0Z3qmb5LWOQXOmml/8DZz7+qJB0hQ3FBerFNyNC5z/9nrXqxX+Pvgf35OMuSSPJ 'jjdABc9+q+ZcM0Z3qmb5LWOQXOmml/8DZz7+qJB0hQ3FBerFNyNC5z/9nrXqxX+Pvgf35OMuSSPJ',
SXtPfXQPJBc089F3oFwE1jBQTLkiZNtw51jq4qf/XVvuwsPAa9Kjexkrnv8HyclFXxTCGwsyERf4 'SXtPfXQPJBc089F3oFwE1jBQTLkiZNtw51jq4qf/XVvuwsPAa9Kjexkrnv8HyclFXxTCGwsyERf4',
LctvHvPuvAePBf8pDz/Y1N45BpIbKUmZFAwAR3nW32nUrY0AAAAASUVORK5CYII= 'LctvHvPuvAePBf8pDz/Y1N45BpIbKUmZFAwAR3nW32nUrY0AAAAASUVORK5CYII='
</>), ].join('\n')),
children : [{ children : [{
name : LABELS.translate('MENU_REMOVE_THIS'), name : LABELS.translate('MENU_REMOVE_THIS'),
type : 'context', type : 'context',
Expand All @@ -99,7 +99,7 @@ Tombloo.Service.actions.register({
name : LABELS.translate('MENU_REMOVE_SELECTION'), name : LABELS.translate('MENU_REMOVE_SELECTION'),
type : 'context', type : 'context',
check : function(ctx) { check : function(ctx) {
let sel; var sel;
try { try {
sel = ctx.window.getSelection().toString(); sel = ctx.window.getSelection().toString();
} catch (e) {} } catch (e) {}
Expand Down Expand Up @@ -136,7 +136,7 @@ Tombloo.Service.actions.register({
}, },
execute : function(ctx) { execute : function(ctx) {
return selectElement(ctx.document).addCallback(function(elem) { return selectElement(ctx.document).addCallback(function(elem) {
let pos, rect, mark, orgDisplay; var pos, rect, mark, orgDisplay;
pos = getElementPosition(elem); pos = getElementPosition(elem);
orgDisplay = elem.style.display; orgDisplay = elem.style.display;
elem.style.display = 'inline-block'; elem.style.display = 'inline-block';
Expand Down Expand Up @@ -165,7 +165,7 @@ Tombloo.Service.actions.register({
}, },
execute : function(ctx) { execute : function(ctx) {
return selectRegion(ctx.document).addCallback(function(region) { return selectRegion(ctx.document).addCallback(function(region) {
let elems, styles = [], rect; var elems, styles = [], rect;
rect = { rect = {
x : region.position.x, x : region.position.x,
y : region.position.y, y : region.position.y,
Expand Down Expand Up @@ -243,9 +243,9 @@ function strip(s) {




function getElementsInRect(rect, doc) { function getElementsInRect(rect, doc) {
let results = []; var results = [];
Array.prototype.slice.call(doc.body.getElementsByTagName('*')).forEach(function(elem) { Array.prototype.slice.call(doc.body.getElementsByTagName('*')).forEach(function(elem) {
let pos; var pos;
try { try {
pos = getElementPosition(elem); pos = getElementPosition(elem);
if (!pos || pos.x == null) { if (!pos || pos.x == null) {
Expand All @@ -265,12 +265,12 @@ function getElementsInRect(rect, doc) {




function highlightElement(elem) { function highlightElement(elem) {
let cssText, style; var cssText, style;
style = elem.style; style = elem.style;
cssText = style.cssText; cssText = style.cssText;
style.border = '2px solid #fece33'; style.border = '2px solid #fece33';
style.MozBorderRadius = '3px'; style.borderRadius = '3px';
style.MozBoxShadow = '1px 1px 5px #333'; style.boxShadow = '1px 1px 5px #333';
return { return {
clear : function(delay) { clear : function(delay) {
callLater(delay || 0, function() { callLater(delay || 0, function() {
Expand All @@ -284,24 +284,24 @@ function highlightElement(elem) {




function showButton(doc, rect, remove, cancel, center) { function showButton(doc, rect, remove, cancel, center) {
let buttons, button = doc.createElement('div'); var buttons, button = doc.createElement('div');
button.setAttribute('style', <> button.setAttribute('style', [
display : inline-block; 'display : inline-block;',
position : absolute; 'position : absolute;',
left : {Math.floor(rect.x + (rect.w * (center ? 0.492 : 0.875)))}px; 'left : ' + Math.floor(rect.x + (rect.w * (center ? 0.492 : 0.875))) + 'px;',
top : {Math.floor(rect.y + rect.h + 22)}px; 'top : ' + Math.floor(rect.y + rect.h + 22) + 'px;',
z-index : 99999998; 'z-index : 99999998;',
border : 2px solid #555; 'border : 2px solid #555;',
-moz-border-radius : 3px; 'border-radius : 3px;',
-moz-box-shadow : 1px 1px 3px #333; 'box-shadow : 1px 1px 3px #333;',
color : #555; 'color : #555;',
font-size : 12px; 'font-size : 12px;',
font-family : verdana, sans-serif; 'font-family : verdana, sans-serif;',
padding : 2px 4px; 'padding : 2px 4px;',
cursor : pointer; 'cursor : pointer;',
background : #f6f6ff; 'background : #f6f6ff;',
-moz-user-select : none; 'user-select : none;'
</>.toString()); ].join('\n'));
buttons = { buttons = {
remove : button, remove : button,
cancel : button.cloneNode(false) cancel : button.cloneNode(false)
Expand Down

0 comments on commit 71bf2e5

Please sign in to comment.