OSDN Git Service

client is versiion 0.5.6, post panel on panel editor.
[pettanr/pettanr.git] / app / assets / javascripts / system.js
index 9799331..b34240a 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR system.js\r
- *   version 0.5.5\r
+ *   version 0.5.6\r
  * \r
  * \r
  * Type\r
                        getChildIndex: function( _parent, _child ){\r
                                var _children = _parent.getElementsByTagName( _child.tagName ),\r
                                        l = _children.length;\r
-                               for(var i=0; i<l; ++i){\r
-                                       if( _children[ i] === _child) return i;\r
-                               }\r
+                               for( var i=0; i<l; ++i ){\r
+                                       if( _children[ i ] === _child ) return i;\r
+                               };\r
                                return -1;\r
                        },\r
-                       hasClassName: function( _elm, _className){\r
-                               var _classes = ( _elm.className || '').split( ' ');\r
-                               for( var i=0, l=_classes.length; i<l; ++i){\r
-                                       if( _classes[ i] === _className) return true;\r
-                               }\r
-                               return false;\r
+                       hasClassName: function( _elm, _className ){\r
+                               return Util.getIndex( ( _elm.className || '' ).split( ' ' ), _className ) !== -1;\r
+                       },\r
+                       addClass: function( _elm, _className ){\r
+                               if( Util.hasClassName( _elm, _className ) === false ){\r
+                                       var sp = ' ';\r
+                                       var _array = ( _elm.className || '' ).replace( /\s+/g, sp ).split( sp );\r
+                                       _array.push( _className );\r
+                                       _elm.className = _array.join( sp );\r
+                               };\r
+                       },\r
+                       removeClass: function( _elm, _className ){\r
+                               var sp     = ' ',\r
+                                       _array = _elm.className.replace( /\s+/g, sp ).split( sp ),\r
+                                       i      = Util.getIndex( _array, _className );\r
+                               if( i !== -1 ){\r
+                                       _array.splice( i, 1 );\r
+                                       _elm.className = _array.join( sp );\r
+                               };\r
+                       },\r
+                       toggleClass: function( _elm, _className ){\r
+                               Util.hasClassName( _elm, _className ) === false ? Util.addClass( _elm, _className ) : Util.removeClass( _elm, _className );\r
                        },\r
                        removeAllChildren: function ( _elm){\r
                                while( _elm.firstChild){\r
                        /*\r
                         * \r
                         */\r
-                       createGlobalFunction: function( _func ){\r
-                               var randomKey = null;\r
-                               while( true) {\r
-                                       randomKey = '_glovalFunction_' + ( '' + Math.random()).replace( /\./,'');\r
-                                       if( eval( 'typeof '+randomKey) === 'undefined') {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               window[ randomKey ] = _func;\r
-                               return randomKey;\r
-                       },\r
-                       createGlobalFunc: function( func){\r
-                               var randomKey = null;\r
-                               while(true) {\r
-                                       randomKey = 'hogeGlovalFunc_'+(''+Math.random()).replace(/\./,'');\r
-                                       if(eval('typeof '+randomKey) == 'undefined') {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               eval(randomKey+'='+((typeof func=='string') ? func : func.toString()));\r
-                               return randomKey;\r
-                       },\r
-                       createGlobalVar: function( obj){\r
-                               var randomKey = null;\r
-                               while(true) {\r
-                                       randomKey = 'hogeGlovalVar_'+(''+Math.random()).replace(/\./,'');\r
-                                       if(eval('typeof '+randomKey+'') == 'undefined') {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               var globalObj = eval(randomKey+'={}');\r
-                               globalObj.value = obj;\r
-                               return randomKey;\r
-                       },\r
                        createGlobalUniqueName: function(){\r
                                var randomKey = null;\r
                                while(true) {\r
@@ -1692,6 +1674,8 @@ var AbstractApplication = function( displayName, appClass, isOverlay ){
                };\r
                \r
                function onOpen(){\r
+                       self.rootElement.style.display = '';\r
+                       \r
                        if( self.MIN_WIDTH > _w || self.MIN_HEIGHT > _h ){\r
                                if( Type.isHTMLElement( self.rootElement ) === true ){\r
                                        // 小さすぎる!、と表示\r
@@ -1881,7 +1865,7 @@ var Application = ( function(){
                        if( currentApplication ){\r
                                if( currentApplication.getUID() === uid ) return null;\r
                                if( isOverlay === false && currentApplication.close() === false ) return null;\r
-                       }\r
+                       };\r
 \r
                        appClass.prototype = new AbstractApplication( displayName, appClass, isOverlay );\r
                        var application = new appClass(); // new は boot で\r
@@ -1894,6 +1878,7 @@ var Application = ( function(){
                                body.style.backgroundColor = application.bgColor;\r
                                \r
                                body.appendChild( application.rootElement );\r
+                               application.rootElement.style.display = 'none';\r
                                application.init();\r
 \r
                                application.addAsyncCall( asyncOpen, arg );\r
@@ -3089,9 +3074,8 @@ var Overlay = ( function(){
                \r
                //body.appendChild( application.rootElement );\r
                elmContainer.insertBefore( application.rootElement, elmCloseButton );\r
+               application.rootElement.style.display = 'none';\r
                application.init();\r
-               \r
-               \r
        };\r
        function asyncOpen( /* arguments */ ){\r
                \r
@@ -3288,11 +3272,10 @@ var UI = ( function(){
        }\r
        \r
        var ButtonClass = function( apiuser, uiGroup, elmWrapper, onUpdate ){\r
-               var className = elmWrapper.className || '',\r
-                       instance = this,\r
-                       focus = false,\r
-                       visible = true,\r
-                       enabled = true;\r
+               var instance  = this,\r
+                       focus     = false,\r
+                       visible   = true,\r
+                       enabled   = true;\r
                MouseEvent.add( apiuser, elmWrapper, 'click', onClick );\r
                \r
                function onClick(){\r
@@ -3302,16 +3285,20 @@ var UI = ( function(){
                };\r
                this.focus = function(){\r
                        focus = true;\r
-                       elmWrapper.className = className + ' button-has-focus';\r
+                       Util.addClass( elmWrapper, 'button-has-focus' );\r
                        start( apiuser, uiGroup, instance );\r
                };\r
                this.blur = function( keyCode ){\r
                        keyCode === 13 && onClick();\r
-                       elmWrapper.className = className;\r
+                       Util.removeClass( elmWrapper, 'button-has-focus' );\r
                        focus = false;\r
                        finish( apiuser, uiGroup, instance );\r
                };\r
-               this.enabled = function(){\r
+               this.enabled = function( _enabled ){\r
+                       if( Type.isBoolean( _enabled ) === true && enabled !== _enabled ){\r
+                               _enabled === true ? Util.removeClass( elmWrapper, 'button-disabled' ) : Util.addClass( elmWrapper, 'button-disabled' );\r
+                               enabled = _enabled;\r
+                       };\r
                        return enabled;\r
                };\r
                this.visible = function( _visible ){\r