commit e6eb7ea34d3a999c119747934d4330535cebe4bc
| author | 斟酌 鵬兄 <tgckpg@gmail.com> |
| date | 2018-05-15T09:55:56Z |
| subject | Dropped Swd & ExtAPI |
commit e6eb7ea34d3a999c119747934d4330535cebe4bc
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date: 2018-05-15T09:55:56Z
Dropped Swd & ExtAPI
---
botanjs/src/Components/Mouse/Clipboard.js | 96 ++++++---------
botanjs/src/Components/Mouse/ContextMenu.js | 2 -
botanjs/src/Dandelion/Swf/ExtAPI.css | 7 --
botanjs/src/Dandelion/Swf/ExtAPI.js | 44 -------
botanjs/src/Dandelion/Swf/_this.css | 56 ---------
botanjs/src/Dandelion/Swf/_this.js | 173 ----------------------------
botanjs/src/externs/Dandelion.Swf.ExtAPI.js | 5 -
botanjs/src/externs/Dandelion.Swf.js | 7 --
8 files changed, 37 insertions(+), 353 deletions(-)
diff --git a/botanjs/src/Components/Mouse/Clipboard.js b/botanjs/src/Components/Mouse/Clipboard.js
index 73229d6..4a5d6c3 100644
--- a/botanjs/src/Components/Mouse/Clipboard.js
+++ b/botanjs/src/Components/Mouse/Clipboard.js
@@ -9,52 +9,49 @@
var Perf = __import( "System.utils.Perf" );
/** @type {System.Cycle} */
var Cycle = __import( "System.Cycle" );
+ /** @type {Dandelion.IDOMElement} */
+ var IDOMElement = __import( "Dandelion.IDOMElement" );
/** @type {Dandelion} */
var Dand = __import( "Dandelion" );
- /** @type {Dandelion.Swf} */
- var Swf = __import( "Dandelion.Swf" );
- /** @type {Dandelion.Swf.ExtAPI} */
- var ExtAPI = __import( "Dandelion.Swf.ExtAPI" );
- var stage
- , helperAddress = "/assets/swf/iClipboard.swf"
- , helperId
- , cCallback
- ;
-
- /** @type {Components.Mouse.Clipboard.SwfHelperObj */
- var clipboardHelper = null;
+ var stage, cCallback;
var init = function ()
{
- if( stage ) return;
- stage = Dand.wrapc('ch_obj no_transition no_transition_recursive');
-
- if( Global.IE )
+ if( !stage )
{
- document.body.appendChild(stage);
- Cycle.next(
- function (){
- stage.innerHTML = Swf.create(
- helperAddress, 20, 20, helperId = Perf.uuid, 'always', 'transparent'
- );
+ stage = Dand.wrapc('ch_obj no_transition no_transition_recursive');
+ stage.style.width = "20px";
+ stage.style.height= "20px";
+ stage.style.overflow = "hidden";
+ stage.style.cursor = "default";
+ stage.style.opacity = "0";
+ stage.style.background = "rgba( 0, 204, 255, 0.5 )";
+ document.body.appendChild( stage );
+
+ IDOMElement( stage ).addEventListener( "Click", function( e )
+ {
+ if( document.body.createTextRange )
+ {
+ var range = document.body.createTextRange();
+ range.moveToElementText( stage );
+ range.select();
+ }
+ else if( window.getSelection )
+ {
+ var sel = window.getSelection();
+ var range = document.createRange();
+ range.selectNodeContents( stage );
+ sel.removeAllRanges();
+ sel.addRange( range );
}
- );
- }
- else
- {
- stage.appendChild(
- Swf.create(
- helperAddress, 20, 20, helperId = Perf.uuid, 'always', 'transparent'
- )
- );
- document.body.appendChild(stage);
+ document.execCommand( "copy" );
+ stage.style.display = "none";
+ if( cCallback )
+ cCallback();
+ });
}
-
- stage.style.visibility = "hidden";
-
- ExtAPI.init();
};
// Using onmouse<action> properties since event needs to be unique. e.g. single handler
@@ -69,47 +66,30 @@
if( trigger() )
{
Global.IE && (event || (event = e));
- stage.style.visibility = "";
stage.style.left = ( e.pageX - 10 ) + "px";
stage.style.top = ( e.pageY - 10 ) + "px";
}
}
};
- var setTextToCopy = function (textToCopy)
+ var setTextToCopy = function( _text )
{
- if( clipboardHelper && clipboardHelper.copy )
- {
- clipboardHelper.copy( textToCopy );
- if( Global.debug && clipboardHelper.debug ) clipboardHelper.debug();
- }
- else
- {
- // This will loop though cycle by cycle until the movie is ready
- Cycle.next(function () {
- clipboardHelper = Swf( helperId );
- setTextToCopy( textToCopy );
- });
- }
+ stage.innerHTML = _text;
};
- // Called by swf
var textCopied = function ()
{
if( cCallback ) cCallback();
debug.Info( "[Clipboard] Text copied" );
- stage.style.visibility = "hidden";
-
- // Release the focus on swf
- clipboardHelper.blur();
-
document.onmousemove = null;
};
var onMouseOver = function ( callback )
{
if( callback == undefined ) return stage.onmouseover;
+
+ stage.style.display = "block";
stage.onmouseover = callback;
};
@@ -117,7 +97,6 @@
{
if( callback == undefined ) return stage.onmouseout;
stage.onmouseout = function () {
- stage.style.visibility = "hidden";
this._callback();
}.bind({_callback: callback});
};
@@ -127,5 +106,4 @@
ns[ NS_EXPORT ]( EX_FUNC, "capture", capture );
ns[ NS_EXPORT ]( EX_VAR, "onMouseOver", onMouseOver );
ns[ NS_EXPORT ]( EX_VAR, "onMouseOut", onMouseOut );
- ns[ NS_EXPORT ]( EX_FUNC, "_textCopied", textCopied );
})();
diff --git a/botanjs/src/Components/Mouse/ContextMenu.js b/botanjs/src/Components/Mouse/ContextMenu.js
index 8a2a55a..f22e152 100644
--- a/botanjs/src/Components/Mouse/ContextMenu.js
+++ b/botanjs/src/Components/Mouse/ContextMenu.js
@@ -19,7 +19,6 @@
/** @type {Components.Mouse.Clipboard} */
var Clipboard = __import( "Components.Mouse.Clipboard" );
-
var ContextMenu = function ( target, items, whichButton, menuInsideTarget, overrides )
{
if ( !target.id )
@@ -490,6 +489,5 @@
return false;
};
-
ns[ NS_EXPORT ]( EX_CLASS, "ContextMenu", ContextMenu );
})();
diff --git a/botanjs/src/Dandelion/Swf/ExtAPI.css b/botanjs/src/Dandelion/Swf/ExtAPI.css
deleted file mode 100644
index d7913d9..0000000
--- a/botanjs/src/Dandelion/Swf/ExtAPI.css
+++ /dev/null
@@ -1,7 +0,0 @@
-#extAPIConsole {
- -webkit-transition: all 0s;
- -moz-transition: all 0s;
- -ms-transition: all 0s;
- -o-transition: all 0s;
- transition: all 0s;
-}
\ No newline at end of file
diff --git a/botanjs/src/Dandelion/Swf/ExtAPI.js b/botanjs/src/Dandelion/Swf/ExtAPI.js
deleted file mode 100644
index e29c3a5..0000000
--- a/botanjs/src/Dandelion/Swf/ExtAPI.js
+++ /dev/null
@@ -1,44 +0,0 @@
-(function(){
- var ns = __namespace( "Dandelion.Swf.ExtAPI" );
- /** @type {System.Debug} */
- var debug = __import( "System.Debug" );
-
- var jsReady = false
- , as = 0
- , cutConnection = false
-
- , watchDogTime = new Date().getTime()
- , watchDogCounter = 0
- , lastCount = 0
- ;
-
- var ExtAPI = function ()
- {
- // TODO
- };
-
- var isReady = function () { return jsReady; };
-
- var init = function ()
- {
- jsReady = true;
- debug.Info( "[ExtAPI] " + new Date().toString() );
- };
-
- var watch = function ()
- {
- if( watchDogCounter - lastCount < 300 )
- {
- lastCount = watchDogCounter;
- }
- else
- {
- cutConnection = true;
- debug.Warning( "[ExtAPI] Console Disabled: possible hanging dectected." )
- }
- watchDogTime = new Date().getTime();
- };
-
- ns[ NS_EXPORT ]( EX_FUNC, "init", init );
- ns[ NS_EXPORT ]( EX_FUNC, "ready", isReady );
-})();
diff --git a/botanjs/src/Dandelion/Swf/_this.css b/botanjs/src/Dandelion/Swf/_this.css
deleted file mode 100644
index 75a7f7c..0000000
--- a/botanjs/src/Dandelion/Swf/_this.css
+++ /dev/null
@@ -1,56 +0,0 @@
-.swf_wrapper {
- position: relative;
- overflow: hidden;
-}
-
-.swf_wrapper > div {
- position: relative;
- width: 100%;
- height: 100%;
-}
-
-.swf_inactive {
- background: rgba(0, 0, 0, 0.2);
- opacity: 1;
-}
-
-.swf_inactive:hover {
- opacity: 0.6;
-}
-
-.swf_inactive > div {
- width: 0;
- height: 0;
- border-top: 3.5em solid transparent;
- border-bottom: 3.5em solid transparent;
- border-left: 5em solid #FFF;
- position: absolute;
-
- left: 50%;
- top: 50%;
- margin-top: -3.5em;
- margin-left: -1.8em;
-}
-
- /* title */
-.swf_caption {
- bottom: 0;
-
- position: absolute;
-
- display: block;
- width: 100%;
-
- color: white;
- background: rgba(0, 0, 0, 0.8);
-
- padding: 0.2em;
-
- font-size: 2em;
-
- cursor: default;
-}
-
-.swf_desc {
- font-size: 60%;
-}
\ No newline at end of file
diff --git a/botanjs/src/Dandelion/Swf/_this.js b/botanjs/src/Dandelion/Swf/_this.js
deleted file mode 100644
index 0ea91f0..0000000
--- a/botanjs/src/Dandelion/Swf/_this.js
+++ /dev/null
@@ -1,173 +0,0 @@
-(function(){
- var ns = __namespace( "Dandelion" );
-
- /** @type {System.utils} */
- var utils = __import( "System.utils" );
- /** @type {System.utils.IKey} */
- var IKey = __import( "System.utils.IKey" );
- /** @type {System.Policy} */
- var Policy = __import( "System.Policy" );
- /** @type {System.Debug} */
- var Dand = __import( "Dandelion" );
-
- var IE = __import( "System.Global.IE" );
-
- var s_current = {player: false, mask: false, stage: false, listener: false, sid: null};
-
- var Swf = function (movieName)
- {
- if ( navigator.appName.indexOf("Microsoft") != -1 )
- {
- return window[movieName];
- }
- else
- {
- return document[movieName];
- }
- };
-
- var realize = function (id)
- {
- var movieElement = Dand.id('swfWrapper_' + id)
- , swf_origin = Dand.wrap('a')
- , _src = movieElement.getAttribute("value")
-
- swf_origin.href = _src;
-
- if( Policy.isAllowedOrigin( stf_origin.host ) ) {
- swf_origin = "always";
- } else {
- swf_origin = "never";
- }
-
- movieElement.onclick = ( IE ? createMovieIE : createMovie ).bind({
- sid: id
- , src: _src
- , width: movieElement.style.width
- , height: movieElement.style.height
- , s_stage:movieElement
- , origin: swf_origin
- });
- };
-
- /*
- var getCurrentMovie = function (args)
- {
- if ( window.ExtAPI )
- {
- return thisMovie( s_current.sid );
- }
- return null;
- };
- */
-
- var createMovieIE = function ()
- {
- // Remove previous movie if exists
- if(s_current.stage)
- {
- s_current.stage.firstChild.className = "swf_inactive";
- s_current.stage.firstChild.innerHTML = s_current.player;
- s_current.stage.childNodes[1].style.bottom = "";
- s_current.stage.onclick = s_current.listener;
- }
-
- this.s_stage.childNodes[1].style.bottom = "-2em";
- s_current.sid = "swf_" + this.sid;
-
- s_current.stage = this.s_stage;
- s_current.player = this.s_stage.firstChild.innerHTML;
-
- this.s_stage.firstChild.className = "swf_active";
- this.s_stage.firstChild.innerHTML = makeStageIE(this.src, this.width, this.height, s_current.sid, this.origin);
-
- // Save event listener
- s_current.listener = this.s_stage.onclick;
-
- // disable click event
- this.s_stage.onclick = null;
- };
-
- var createMovie = function ()
- {
-
- // Remove previous movie if exists
- if(s_current.stage)
- {
- s_current.stage.removeChild(s_current.player);
- s_current.stage.firstChild.style.bottom = "";
- s_current.stage.insertBefore(mask, stage.firstChild);
- s_current.stage.onclick = s_current.listener;
- }
-
-
- this.s_stage.childNodes[1].style.bottom = "-2em";
- s_current.sid = "swf_" + this.sid;
-
- // Remove mask
- (s_current.stage = this.s_stage).removeChild(s_current.mask = this.s_stage.childNodes[0]);
-
- s_current.player = makeStage(this.src, this.width, this.height, s_current.sid, this.origin);
- this.s_stage.appendChild(s_current.player);
-
- // Save event listener
- s_current.listener = this.s_stage.onclick;
-
- // disable click event
- this.s_stage.onclick = null;
-
- };
-
- var makeStage = function (src, width, height, sid, origin, wmode)
- {
- return Dand.wrapna("embed",
- [
- new IKey("src", src)
- , new IKey("quality", "high")
- , new IKey("bgcolor", "#869ca7")
- , new IKey("width", width)
- , new IKey("height", height)
- , new IKey("name", sid)
- , new IKey("align", "middle")
- , new IKey("wmode", wmode || "direct")
- , new IKey("play", "true")
- , new IKey("loop", "false")
- , new IKey("quality", "high")
- , new IKey("allowScriptAccess", origin)
- , new IKey("type", "application/x-shockwave-flash")
- , new IKey("pluginspage", "http://www.macromedia.com/go/getflashplayer")
- ]
- );
- };
-
- var makeStageIE = function (src, width, height, sid, origin, wmode)
- {
- return Dand.wrape(
- Dand.wrapne('object',
- [
- Dand.wrapna("param", [new IKey("name", "wmode"), new IKey("value", wmode || "direct")])
- , Dand.wrapna("param", [new IKey("name", "quality"), new IKey("value", "high")])
- , Dand.wrapna("param", [new IKey("name", "movie"), new IKey("value", src)])
- , Dand.wrapna("param", [new IKey("name", "bgcolor"), new IKey("value", "#869ca7")])
- , Dand.wrapna("param", [new IKey("name", "allowScriptAccess"), new IKey("value", origin)])
- ]
- ,
- [
- new IKey("classid", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000")
- , new IKey("id", sid)
- , new IKey("name", sid)
- , new IKey("width", width)
- , new IKey("height", height)
- , new IKey("data", src)
- , new IKey("type", "application/x-shockwave-flash")
- , new IKey("codebase", "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab")
- ]
- )
- ).innerHTML;
- };
-
- __static_method( Swf, "create", IE ? makeStageIE : makeStage );
- __static_method( Swf, "realize", realize );
-
- ns[ NS_EXPORT ]( EX_CLASS, "Swf", Swf );
-})();
diff --git a/botanjs/src/externs/Dandelion.Swf.ExtAPI.js b/botanjs/src/externs/Dandelion.Swf.ExtAPI.js
deleted file mode 100644
index 2cceb3e..0000000
--- a/botanjs/src/externs/Dandelion.Swf.ExtAPI.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/** @constructor */
-Dandelion.Swf.ExtAPI = function (){}
-
-/** @type {Function} */
-Dandelion.Swf.ExtAPI.ready;
diff --git a/botanjs/src/externs/Dandelion.Swf.js b/botanjs/src/externs/Dandelion.Swf.js
deleted file mode 100644
index 27381f8..0000000
--- a/botanjs/src/externs/Dandelion.Swf.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/** @constructor */
-Dandelion.Swf = function (){}
-
-/** @type {Function} */
-Dandelion.Swf.create;
-/** @type {Function} */
-Dandelion.Swf.realize;