OSDN Git Service

pettanR version0.4.15
authoritozyun <itozyun@gmail.com>
Sat, 7 Apr 2012 05:53:18 +0000 (14:53 +0900)
committeritozyun <itozyun@gmail.com>
Sat, 7 Apr 2012 05:53:18 +0000 (14:53 +0900)
0.4.x/javascripts/common.js
0.4.x/javascripts/system.js
0.4.x/javascripts/work.js
0.4.x/stylesheets/work.css
0.4.x/work.html

index 13120a3..744cd38 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR common.js\r
- *   version 0.4.12\r
+ *   version 0.4.15\r
  * \r
  * author: itozyun\r
  */\r
                isNumber : function(v) {\r
                        return typeof v === 'number';\r
                },\r
-               isHTMLElement : ( 'HTMLElement' in window ?\r
-                       function(v){\r
-                               return v instanceof HTMLElement\r
-                       } :\r
-                       function(v) {\r
-                               if( Type.isObject(v) === false ){\r
-                                       return false;\r
+               isFinite : function(v){\r
+                       return Type.isNumber(v) === true && isFinite(v);\r
+               },\r
+               isHTMLElement : function(v){\r
+                       if( 'HTMLElement' in window ){\r
+                               Type.isHTMLElement = function(v){\r
+                                       return v instanceof HTMLElement;\r
                                }\r
-                               var r;\r
-                               if(v && v.nodeType === 1){\r
-                                       try{\r
-                                               r = v.cloneNode(false);\r
-                                       } catch(n) {\r
+                       } else {\r
+                               Type.isHTMLElement = function(v) {\r
+                                       if( Type.isObject(v) === false ){\r
                                                return false;\r
                                        }\r
-                                       if(r === v) return false;\r
-                                       try{\r
-                                               r.nodeType = 9;\r
-                                               return r.nodeType === 1;\r
-                                       } catch(n) {}\r
-                                       return true;\r
+                                       var r;\r
+                                       if(v && v.nodeType === 1){\r
+                                               try{\r
+                                                       r = v.cloneNode(false);\r
+                                               } catch(n) {\r
+                                                       return false;\r
+                                               }\r
+                                               if(r === v) return false;\r
+                                               try{\r
+                                                       r.nodeType = 9;\r
+                                                       return r.nodeType === 1;\r
+                                               } catch(n) {}\r
+                                               return true;\r
+                                       }\r
+                                       return false;\r
                                }\r
-                               return false;\r
                        }\r
-               ),\r
+                       return Type.isHTMLElement(v);\r
+               },\r
                /*\r
                isElementCollection : function(v) {\r
                        return (Object.prototype.toString.call(v) === "[object HTMLCollection]");\r
@@ -83,7 +90,7 @@ var pettanr = ( function(){
                                        if( elm.length === 2){\r
                                                v = decodeURIComponent( elm[ 1]);\r
                                                if( '' + parseFloat( v) === v) v = parseFloat( v);\r
-                                               if( '' + parseInt( v) === '0' + v) v = parseInt( v);\r
+                                               if( '' + parseInt( v, 10 ) === '0' + v) v = parseInt( v, 10 );\r
                                                if( v === 'true') v = true;\r
                                                if( v === 'false') v = false;\r
                                                if( v === 'null') v = null;\r
@@ -101,7 +108,7 @@ var pettanr = ( function(){
                IS_DEBUG = typeof URL_PARAMS.debug === 'boolean' ? URL_PARAMS.debug : IS_LOCAL === true,\r
                jqWindow , jqDocument , jqBody;\r
        return {\r
-               version: '0.4.11',\r
+               version: '0.4.13',\r
                init: function(){\r
                        jqWindow = $( window);\r
                        jqDocument = $( document);\r
@@ -771,7 +778,7 @@ pettanr.CONST = ( function(){
                CREATE_COMIC_JS:                        isLocal === true ? 'js\/create_new_comic.js' : PETTANR_ROOT_PATH + 'comics\/new.js',\r
                CREATE_PANEL_JS:                        isLocal === true ? 'js\/create_new_panel.js' : PETTANR_ROOT_PATH + 'panels\/new.js',\r
                UPLOAD_PICTURE_JS:                      isLocal === true ? 'js\/upload_picture.js' : PETTANR_ROOT_PATH + 'original_pictures\/new.js',\r
-               RESISTER_ARTIST_JS:                     isLocal === true ? 'js\/register_artist.js' : PETTANR_ROOT_PATH + 'artists\/new.js',\r
+               REGISTER_ARTIST_JS:                     isLocal === true ? 'js\/register_artist.js' : PETTANR_ROOT_PATH + 'artists\/new.js',\r
                JQUERY_URL:                                     isLocal === true ? 'javascripts\/jquery-1.6.2.min.js' : PETTANR_ROOT_PATH + 'assets\/jquery-162_min.js'\r
        }\r
 })();\r
@@ -781,8 +788,7 @@ pettanr.view = ( function(){
        var location = document.location.pathname,\r
                isWorkPage =    document.location.href.indexOf( 'http:\/\/localhost:3000\/' ) === 0 ||\r
                                                location.indexOf( pettanr.CONST.PETTANR_ROOT_PATH ) === 0 ||\r
-                                               location.indexOf( '\/work.html') !== -1 ||\r
-                                               location.indexOf( '\work.html') !== -1,\r
+                                               location.indexOf( '\/work.html') !== -1,\r
                deep =  location.indexOf( '\/diary\/') !== -1 ||\r
                                location.indexOf( '\/test\/') !== -1 ||\r
                                location.indexOf( '\/help\/') !== -1 ||\r
@@ -791,42 +797,26 @@ pettanr.view = ( function(){
                LoginUserNavi;\r
        \r
        if( isWorkPage === false){\r
-               LoginUserNavi = ( function(){\r
-                       var _body = document.body,\r
-                               _root = document.getElementsByTagName( 'html' )[ 0 ],\r
-                               filter,\r
-                               iframe, visible = false;\r
-                       return {\r
-                               show: function(){\r
-                                       document.location.href = [\r
-                                                       deep === true ? '../' : '',\r
-                                                       'work.html',\r
-                                                       typeof viewIndex === 'number' ? '?view=' + viewIndex : ''\r
-                                               ].join( '');\r
-                               },\r
-                               hide: function(){}\r
-                       }\r
-               })();\r
+               LoginUserNavi = {\r
+                       show: function(){\r
+                               var i = pettanr.util.getChildIndex( this.parentNode, this );\r
+                               document.location.href = [\r
+                                               deep === true ? '../' : '',\r
+                                               'work.html',\r
+                                               typeof i === 'number' ? '?view=' + i : ''\r
+                                       ].join( '');\r
+                               return false;\r
+                       },\r
+                       hide: function(){}\r
+               }\r
        } else {\r
-               LoginUserNavi = ( function(){\r
-                       return {\r
-                               show: function(){\r
-                                       var i = pettanr.util.getChildIndex( this.parentNode, this );\r
-                                       i !== -1 && pettanr.view.show( i );\r
-                                       return false;\r
-                               },\r
-                               hide: function(){}\r
-                       }\r
-               })();\r
-\r
-               if( pettanr.IS_IFRAME === true){\r
-                       var _nodes = document.getElementsByTagName( 'a'),\r
-                               _a, _href;\r
-                       for(var i=0, l = _nodes.length; i<l; i++){\r
-                               _a = _nodes[ i];\r
-                               _href = _a.href.split('?')[0].split('#')[0];\r
-                               if( pettanr.util.getAbsolutePath( _href) !== location) _a.target = '_parent';\r
-                       }\r
+               LoginUserNavi = {\r
+                       show: function(){\r
+                               var i = pettanr.util.getChildIndex( this.parentNode, this );\r
+                               i !== -1 && pettanr.view.show( i );\r
+                               return false;\r
+                       },\r
+                       hide: function(){}\r
                }\r
                \r
                if( pettanr.DEBUG === true){\r
@@ -882,10 +872,9 @@ pettanr.view = ( function(){
                        pettanr.DEBUG === true && ret.push( 'debug');\r
                        return ret;\r
                })(),\r
-               l = items.length,\r
                item;\r
        origin.href = '#';\r
-       for(var i=0; i<l; ++i){\r
+       for(var i=0, l = items.length; i<l; ++i){\r
                item = origin.cloneNode( true);\r
                item.appendChild( document.createTextNode( items[ i]) );\r
                item.onclick = LoginUserNavi.show;\r
@@ -930,21 +919,17 @@ pettanr.view = ( function(){
        \r
        pettanr.DEBUG === true && VIEW_ID_ARRAY.push( 'debug');\r
        \r
-       show();\r
+       open();\r
        \r
        function onWindowResize(){\r
                var _fn,\r
                        l = funcArray.length,\r
                        w = jqWindow.width(),\r
                        h = jqWindow.height();\r
-               //for( var i=0; i<l; ++i){\r
-               //      _fn = funcArray[ i];\r
-               //      _fn.onWindowResize && _fn.onWindowResize( w, h);\r
-               //}\r
                currentView && currentView.onWindowResize && currentView.onWindowResize( w, h);\r
                pettanr.overlay.currentID !== null && pettanr.overlay.onWindowResize( w, h);\r
        }\r
-       function show(){\r
+       function open( _option ){\r
                if( isWorkPage === false) return;\r
                \r
                var _elm = document.getElementById( currentID);\r
@@ -962,19 +947,31 @@ pettanr.view = ( function(){
                }\r
                \r
                if( !pettanr.view || pettanr.view.init !== undefined) return;\r
-               currentView = pettanr[ currentID];\r
-               if( !currentView) return;\r
-               typeof currentView.onOpen === 'function' && currentView.onOpen();\r
-               setTimeout( onWindowResize, 0);\r
+               typeof currentView.onClose === 'function' && currentView.onClose();\r
+               currentView = pettanr[ currentID ];\r
+               typeof currentView.onOpen === 'function' && currentView.onOpen( jqWindow.width(), jqWindow.height(), _option );\r
+               // setTimeout( onWindowResize, 0);\r
        }\r
        \r
        var AbstractBasicPane = function(){\r
-               this.UID = '', // element の ID と一致\r
-               this.onOpen = function(){};\r
-               this.onClose = function(){};\r
-               this.onPaneResize = function( _w, _h){};\r
-               this.MIN_WIDTH = 0;\r
-               this.MIN_HEIGHT = 0;\r
+               this.rootElement = null;\r
+               this.onOpen = function( _w, _h, _option ){};\r
+               this.onClose = function(){ return true; } // false の場合、close の拒否 \r
+               this.onPaneResize = function( _w, _h ){}\r
+               this.resize = function( _w, _h ){\r
+                       if( this.MIN_WIDTH > _w || this.MIN_HEIGHT > _h ){\r
+                               if( Type.isHTMLElement( this.rootElement ) === true ){\r
+                                       // 小さすぎる!、と表示\r
+                               }\r
+                               return;\r
+                       }\r
+                       this.onPaneResize( _w, _h );\r
+               }\r
+               this.MIN_WIDTH = 240;\r
+               this.MIN_HEIGHT = 240;\r
+       }\r
+       var AbstractApplication = function(){\r
+               this.prototype = new AbstractBasicPane();\r
        }\r
        \r
        return {\r
@@ -983,14 +980,15 @@ pettanr.view = ( function(){
                        jqWindow = pettanr.jqWindow();\r
                        jqWindow.resize( onWindowResize);\r
                        \r
-                       currentView = currentView || pettanr[ currentID];\r
-                       currentView && typeof currentView.onOpen === 'function' && currentView.onOpen();\r
+                       currentView = currentView || pettanr[ currentID ];\r
+                       var _option = {}; // urlパラメータ\r
+                       currentView && typeof currentView.onOpen === 'function' && currentView.onOpen( jqWindow.width(), jqWindow.height(), _option );\r
                        \r
-                       setTimeout( onWindowResize, 100);\r
+                       // setTimeout( onWindowResize, 100);\r
                        \r
                        delete pettanr.view.init;\r
                },\r
-               show: function( _viewID){\r
+               show: function( _viewID ){\r
                        if( typeof _viewID === 'number' && _viewID < VIEW_ID_ARRAY.length){\r
                                _viewID = VIEW_ID_ARRAY[ _viewID];\r
                        } else\r
@@ -1003,20 +1001,27 @@ pettanr.view = ( function(){
                                if( pettanr.view[ key] === _viewID){\r
                                        if( currentID !== _viewID && document.getElementById( _viewID)){\r
                                                this.currentID = currentID = _viewID;\r
-                                               show();\r
+                                               open();\r
                                        }\r
                                        return;\r
                                }\r
                        }\r
                        alert( _viewID);\r
                },\r
-               resisterAsBasicPane: function( _basicPane){\r
+               registerAsBasicPane: function( _basicPane ){\r
                        if( pettanr.view.isBasicPaneInstance( _basicPane ) === true ) return;\r
                        _basicPane.prototype = new AbstractBasicPane();\r
                },\r
-               isBasicPaneInstance: function( _basicPane){\r
+               registerApplication: function( _application ){\r
+                       if( pettanr.view.isApplicationInstance( _application ) === true ) return;\r
+                       _application.prototype = new AbstractApplication();\r
+               },\r
+               isBasicPaneInstance: function( _basicPane ){\r
                        return  _basicPane instanceof AbstractBasicPane;\r
                },\r
+               isApplicationInstance: function( _application ){\r
+                       return _application instanceof AbstractApplication;\r
+               },\r
                currentID:      currentID,\r
                HOME:           HOME_ID,\r
                COMICS:         VIEW_ID_ARRAY[ 1],\r
@@ -1060,9 +1065,11 @@ pettanr.overlay = ( function(){
                },\r
                show: function( _currentOverlay){\r
                        if( visible === true && currentOverlay === _currentOverlay) return;\r
+                       document.body.style.overflow = 'hidden';\r
                        jqConteiner.stop().css( {\r
                                filter:         '',\r
-                               opacity:        ''\r
+                               opacity:        '',\r
+                               top:            document.documentElement.scrollTop || document.body.scrollTop\r
                        }).fadeIn();\r
                        this.visible = visible = true;\r
                        currentOverlay = _currentOverlay;\r
@@ -1072,6 +1079,7 @@ pettanr.overlay = ( function(){
                hide: function(){\r
                        currentOverlay = null;\r
                        if( visible === false) return;\r
+                       document.body.style.overflow = '';\r
                        jqConteiner.stop().css( {\r
                                filter:         '',\r
                                opacity:        ''\r
@@ -1082,15 +1090,18 @@ pettanr.overlay = ( function(){
                visible: visible,\r
                currentID: null,\r
                onWindowResize: function( _windowW, _windowH){\r
-                       jqConteiner.css( { height:      _windowH});\r
+                       jqConteiner.css({\r
+                               height:         _windowH,\r
+                               top:            document.documentElement.scrollTop || document.body.scrollTop\r
+                       });\r
                        jqShadow.css( { height: _windowH});\r
                        windowW = _windowW;\r
                        windowH = _windowH;\r
                        // 先にeditorのcanvasを確定する。\r
                        currentOverlay && currentOverlay.onWindowResize && setTimeout( asyncResize, 0);\r
                },\r
-               resisterOverlay: function( _basicPane){\r
-                       pettanr.view.resisterAsBasicPane( _basicPane);\r
+               registerOverlay: function( _basicPane){\r
+                       var _api = pettanr.view.registerAsBasicPane( _basicPane);\r
                        // OverlayAPI\r
                        return {\r
                                show: function( _basicPane ){\r
@@ -2264,7 +2275,7 @@ var VisualEffect = ( function(){
        var VisualEffectClass = function( ELM){\r
                var isHtmlElement;\r
                \r
-               function resisterAnime( _cssObject, _onComplete, _onEnterFrame, _time){\r
+               function registerAnime( _cssObject, _onComplete, _onEnterFrame, _time){\r
                        var _numFrames = Math.floor( _time / fpms);\r
                        startAnimation( ELM, _cssObject, _onComplete, _onEnterFrame, _numFrames);\r
                }\r
@@ -2279,7 +2290,7 @@ var VisualEffect = ( function(){
                        \r
                }\r
                \r
-               this.anime = resisterAnime;\r
+               this.anime = registerAnime;\r
                this.fadeIn = startFadeIn;\r
                this.fadeOut = startFadeOut;\r
                this.update = update;\r
index bb45944..5941d01 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * pettanR system.js
- *   version 0.4.11
+ *   version 0.4.15
  *   
  * author:
  *   itozyun
@@ -40,7 +40,7 @@ pettanr.file = ( function(){
                FILEDATA_RESITER = [],                  // store all of fileData( json object )
                FILEDATA_ACCESS = [],                   // file operations for Kernel only ! hide from Out of pettanr.file
                FILE_OBJECT_POOL = [],
-               EVENT_LISTENER_RESISTER = [],
+               EVENT_LISTENER_REGISTER = [],
                TREE_ARRAY = [],
                TREE_ACCESS_ARRAY = [];
        
@@ -156,15 +156,15 @@ pettanr.file = ( function(){
                },
                addEventListener: function( FILEorNULL, _eventType, _callback){
                        var _uid = FILEorNULL instanceof FileClass ? FILEorNULL.getUID() : FILEorNULL;
-                       EVENT_LISTENER_RESISTER.push( new FileEventTicketClass( _uid, _eventType, _callback));
+                       EVENT_LISTENER_REGISTER.push( new FileEventTicketClass( _uid, _eventType, _callback));
                },
                removeEventListener: function( FILEorNULL, _eventType, _callback){
                        var _uid = FILEorNULL instanceof FileClass ? FILEorNULL.getUID() : FILEorNULL,
                                _ticket;
-                       for(var i=0, l = EVENT_LISTENER_RESISTER.length; i<l; ++i){
-                               _ticket = EVENT_LISTENER_RESISTER[i];
+                       for(var i=0, l = EVENT_LISTENER_REGISTER.length; i<l; ++i){
+                               _ticket = EVENT_LISTENER_REGISTER[i];
                                if( _ticket.fileUID === _uid && _ticket.eventType === _eventType && _ticket.callBack === _callback){
-                                       EVENT_LISTENER_RESISTER.splice( i, 1);
+                                       EVENT_LISTENER_REGISTER.splice( i, 1);
                                        _ticket.destroy();
                                }
                        }
@@ -212,9 +212,9 @@ pettanr.file = ( function(){
                                _targetFile = e.targetFile,
                                _uid = _targetFile.getUID(),
                                _ticket, _type, _callback;
-                       for(var i=0, l = EVENT_LISTENER_RESISTER.length; i<l; ++i){
-                               _ticket = EVENT_LISTENER_RESISTER[i],
-                               _type = _ticket.eventType,
+                       for(var i=0, l = EVENT_LISTENER_REGISTER.length; i<l; ++i){
+                               _ticket = EVENT_LISTENER_REGISTER[i];
+                               _type = _ticket.eventType;
                                _callback = _ticket.callBack;
                                if( _eventType === _type && _uid === _ticket.fileUID){
                                        _callback( _eventType, _targetFile, e.key, e.value);
@@ -356,7 +356,9 @@ pettanr.file = ( function(){
                        if( _index === -1 || _access === null) return;
                        FILEDATA_ACCESS.splice( _index, 1);
                        TREE = parentFile = data = null;
-                       delete _access.DATA, _access.updateParent, _access.dispatchFileEvent;
+                       delete _access.DATA;
+                       delete _access.updateParent;
+                       delete _access.dispatchFileEvent;
                }
        };
        
@@ -413,6 +415,13 @@ pettanr.file = ( function(){
                        var _data = FILE_CONTROLER.getFileData( this);
                        return typeof _data.state === 'number' ? _data.state : pettanr.file.FILE_STATE.OK;
                },
+               getSummary: function(){
+                       var driver = FILE_CONTROLER.getDriver( this );
+                       if( typeof driver.getSummary === 'function'){
+                               return driver.getSummary( this );
+                       }
+                       return FileDriverBase.getSummary( this);
+               },
                isWritable: function(){
                        return FILE_CONTROLER.getUpdateFlag( this, pettanr.file.FILE_UPDATE_POLICY.WRITE);
                },
@@ -432,11 +441,19 @@ pettanr.file = ( function(){
                write: function( _newName, _newData){
                        return false;
                },
-               viwerApps: function(){
-                       
+               viwerApplicationList: function(){
+                       var driver = FILE_CONTROLER.getDriver( this );
+                       if( typeof driver.viwerApplicationList === 'function'){
+                               return driver.viwerApplicationList( this );
+                       }
+                       return FileDriverBase.viwerApplicationList( this );
                },
-               editorApps: function(){
-                       
+               editorApplicationList: function(){
+                       var driver = FILE_CONTROLER.editorApplicationList( this );
+                       if( typeof driver.editorApplicationList === 'function'){
+                               return driver.editorApplicationList( this );
+                       }
+                       return FileDriverBase.viwerApps( this );
                },
                create: function(){
                        
@@ -463,7 +480,7 @@ pettanr.file = ( function(){
                        return _data.name || 'No Name';
                },
                getThumbnail: function( _file){
-                       var _data = FILE_CONTROLER.getFileData( _file);
+                       var _data = FILE_CONTROLER.getFileData( _file),
                                _type = _data.type,
                                _className = '';
                        if( _type === pettanr.file.FILE_TYPE.FOLDER){
@@ -492,6 +509,32 @@ pettanr.file = ( function(){
                                className:      ' file-type-' + _className
                        }
                },
+               getSummary: function( _file ){
+                       var _data = FILE_CONTROLER.getFileData( _file ),
+                               _type = _data.type;
+                       if( _type === pettanr.file.FILE_TYPE.FOLDER){
+                               return 'folder';
+                       } else
+                       if( _type === pettanr.file.FILE_TYPE.IMAGE){
+                               return 'image file';
+                       } else
+                       if( _type === pettanr.file.FILE_TYPE.TEXT){
+                               return 'text file';
+                       } else
+                       if( _type === pettanr.file.FILE_TYPE.HTML){
+                               return 'html document file';
+                       } else
+                       if( _type === pettanr.file.FILE_TYPE.CSV){
+                               return 'csv daat file';
+                       } else
+                       if( _type === pettanr.file.FILE_TYPE.JSON){
+                               return 'json data file';
+                       } else
+                       if( _type === pettanr.file.FILE_TYPE.XML){
+                               return 'xml data file';
+                       }
+                       return '';
+               },
                getUpdatePolicy: function( _file){
                        // debug用 全てのメニューを許可
                        return pettanr.file.FILE_UPDATE_POLICY.SRWC;
@@ -502,6 +545,12 @@ pettanr.file = ( function(){
                write: function( _newName, _newData){
                        return false;
                },
+               viwerApplicationList: function(){
+                       return [];
+               },
+               editorApplicationList: function(){
+                       return [];
+               },
                onCreate: function(){
                        
                },
@@ -530,7 +579,7 @@ pettanr.file = ( function(){
                        .dispatchFileEvent( new FileEventClass( pettanr.file.FILE_EVENT.GET_SEQENTIAL_FILES, ROOT_FILE, 'children', null));
        }
        function createFileEvent( _eventType, _file, _key, _value){
-               return new FileEventClass( _eventType, _file, _key, _value)
+               return new FileEventClass( _eventType, _file, _key, _value);
        }
        function createFileTypeID(){
                return ++numFileType;
@@ -542,7 +591,7 @@ pettanr.file = ( function(){
                        //FILE_CONTROLER.init();
                        delete pettanr.file.init;
                },
-               resisterDriver: function( _driver){
+               registerDriver: function( _driver){
                        _driver.prototype = FileDriverBase;
                        /*
                         * File API
@@ -623,15 +672,16 @@ pettanr.finder = ( function(){
                ELM_ORIGIN_FINDER_ICON = pettanr.util.pullHtmlAsTemplete( 'templete-finder-icon'),
                ELM_ORIGIN_CONTAINER = pettanr.util.pullHtmlAsTemplete( 'templete-finder-container'),
                ICON_HEIGHT = pettanr.util.getElementSize( ELM_ORIGIN_FINDER_ICON).height,
-               ICON_CLASSNAME = ELM_ORIGIN_FINDER_ICON.getElementsByTagName( 'div')[0].className,
+               ICON_CLASSNAME = 'finder-icon-thumbnail',
                FINDER_ICON_POOL = [],
                BREAD_OBJECT_POOL = [];
        
        var FinderIconClass = function(){
                var elmContainer,
                        ELM_WRAPPER = ELM_ORIGIN_FINDER_ICON.cloneNode( true),
-                       ELM_THUMBNAIL = pettanr.util.getElementsByClassName( ELM_WRAPPER, 'finder-icon-thumbnail', 'div')[0],
-                       ELM_FILENAME = pettanr.util.getElementsByClassName( ELM_WRAPPER, 'finder-icon-filename', 'div')[0],
+                       ELM_THUMBNAIL = pettanr.util.getElementsByClassName( ELM_WRAPPER, ICON_CLASSNAME )[0],
+                       ELM_FILENAME = pettanr.util.getElementsByClassName( ELM_WRAPPER, 'finder-icon-filename' )[0],
+                       ELM_DESCRIPTION = pettanr.util.getElementsByClassName( ELM_WRAPPER, 'finder-icon-summary' )[0],
                        file, w, index, style, instansce, callback;
                
                ELM_WRAPPER.onclick = onClick;
@@ -649,6 +699,7 @@ pettanr.finder = ( function(){
                                ELM_THUMBNAIL.style.backgroundImage = '';
                        }
                        ELM_FILENAME.innerHTML = file.getName();
+                       ELM_DESCRIPTION.innerHTML = file.getSummary();
                }
                function resize(){
                        ELM_WRAPPER.style.top = (index * ICON_HEIGHT) +'px';
@@ -750,7 +801,7 @@ pettanr.finder = ( function(){
                }
        }
        
-       var FinderClass = function( ELM_CONTAINER, tree, detailSwitchEnabled, styleSwitchEnabled, actionSwitchEnabled){
+       var FinderClass = function( ELM_CONTAINER, tree, header, footer ){
                var ICON_ARRAY = [],
                        BREAD_ARRAY = [],
                        elmContainer = ELM_ORIGIN_CONTAINER.cloneNode( true),
@@ -759,23 +810,26 @@ pettanr.finder = ( function(){
                        elmSidebarButton = nodesDiv[1],
                        elmStyleButton = nodesDiv[2],
                        elmActionButton = nodesDiv[3],
-                       elmBody = nodesDiv[ nodesDiv.length -1],
+                       elmBody = nodesDiv[ nodesDiv.length -1 ],
                        //tree = pettanr.file.createTree( TREE_TYPE),
                        headX,
                        headY,
-                       headH = pettanr.util.getElementSize( ELM_ORIGIN_FINDER_ICON).height,
+                       headH = pettanr.util.getElementSize( nodesDiv[0] ).height,
                        bodyY,
                        currentFile = null,
                        breadW = 90,
-                       size = pettanr.util.getElementSize( ELM_ORIGIN_FINDER_ICON),
+                       size = pettanr.util.getElementSize( ELM_ORIGIN_FINDER_ICON ),
                        iconW = size.width,
                        iconH = size.height,
-                       style = 0;
-                       w = 800;
-
+                       style = 0,
+                       w, h, bodyH;
+                       
                tree.addTreeEventListener( pettanr.file.TREE_EVENT.UPDATE, draw);
                
-               function draw(){
+               function draw( _w, _h ){
+                       w = Type.isFinite( _w ) === true ? _w : w;
+                       h = Type.isFinite( _h ) === true ? _h : h;
+                       bodyH = _h - headH;
                        var     l = tree.hierarchy() +1,
                                m = BREAD_ARRAY.length,
                                _file, _bread;
@@ -798,20 +852,28 @@ pettanr.finder = ( function(){
                                if( i < m){
                                        ICON_ARRAY[ i].init( _file.getChildFileByIndex( i), elmBody, w, i, style, onBodyClick);
                                } else {
-                                       ICON_ARRAY.push( getFinderIcon( _file.getChildFileByIndex( i), elmBody, w, i, style, onBodyClick));
+                                       ICON_ARRAY.push( getFinderIcon( _file.getChildFileByIndex( i), elmBody, _w, i, style, onBodyClick));
                                }
                        }
+                       if( _file.getState() === pettanr.file.FILE_STATE.LOADING ){
+                               elmBody.className = 'finder-body loading';
+                       } else {
+                               elmBody.className = 'finder-body';
+                       }
+                       elmBody.style.height = bodyH + 'px';
+                       
                        while( l < ICON_ARRAY.length){
                                ICON_ARRAY.pop().destroy();
                        }
                }
+               
                function onHeadClick( i){
                        var l = BREAD_ARRAY.length -1;
                        if( i < l){
                                var _file = tree.getParentFileAt( i);
                                if( _file !== null){
                                        tree.up( i);
-                                       draw();
+                                       draw( w, h );
                                }
                        }
                }
@@ -821,7 +883,7 @@ pettanr.finder = ( function(){
                                var _file = tree.getCurrentFile().getChildFileByIndex( i);
                                if( _file !== null && ( _file.getChildFileLength() !== -1 || _file.getType() === pettanr.file.FILE_TYPE.FOLDER)){
                                        tree.down( i);
-                                       draw();
+                                       draw( w, h );
                                }
                        }
                }
@@ -836,17 +898,28 @@ pettanr.finder = ( function(){
                        bodyY = pettanr.util.getAbsolutePosition( elmBody).y;
                        delete this.init;
                }
-               this.onOpen = function(){
+               this.onOpen = function( _w, _h, _option ){
                        this.init !== undefined && this.init();
-                       draw();
+                       draw( _w, _h );
                }
                this.onClose = function(){
-                       
+                       return true;
                }
-               this.onWindowResize = function( _w, _h){
-                               
+               this.onPaneResize = function( _w, _h){
+                       w = _w;
+                       h = _h;
+                       elmBody.style.height = ( _h - headH ) + 'px';
+                       
+                       for(var i=0, l=ICON_ARRAY.length; i<l; ++i){
+                               ICON_ARRAY[ i].onResize( _w );
+                       }
                }
+               this.MIN_WIDTH = 240;
+               this.MIN_HEIGHT = 240;
        }
+       
+       pettanr.view.registerAsBasicPane( FinderClass );
+       
        function getFinderIcon( _file, _elmContainer, w, index, style, callback){
                var _icon;
                if( FINDER_ICON_POOL.length > 0){
@@ -873,27 +946,32 @@ pettanr.finder = ( function(){
                init: function(){
                        
                },
-               createFinder: function( _elmTarget, _tree, detailSwitchEnabled, styleSwitchEnabled, actionSwitchEnabled){
-                       var _finder = new FinderClass( _elmTarget, _tree, detailSwitchEnabled, styleSwitchEnabled, actionSwitchEnabled);
+               createFinder: function( _elmTarget, _tree, _header, _footer ){
+                       var _finder = new FinderClass( _elmTarget, _tree, _header, _footer );
                        FINDER_ARRAY.push( _finder);
                        return _finder;
                },
-               createFinderHead: function(){
+               registerFinderHead: function(){
                        
                },
-               resisterFinderPane: function( _finderPane){
+               registerFinderPane: function( _finderPane){
                        
                },
                isFinderInstance: function( _finder){
                        return _finder instanceof FinderClass;
+               },
+               isFinderPaneInstance: function(){
+                       
+               },
+               isFinderHeadInstance: function(){
                }
        }
 })();
 
 
 pettanr.driver = ( function(){
-       var MyAuthorID = 'current_author' in window ? current_author.id : 1,
-               MyArtistID = 'current_artist' in window ? current_artist.id : 1,
+       var MyAuthorID = 'current_author' in window ? current_author.id : ( pettanr.DEBUG ? 1 : -1 ),
+               MyArtistID = 'current_artist' in window ? current_artist.id : ( pettanr.DEBUG ? 1 : -1 ),
                Driver = {
                        getSeqentialFiles: function( _file){
                                var _data = FileAPI.getFileData( _file),
@@ -929,7 +1007,7 @@ pettanr.driver = ( function(){
                                return _data.name;
                        },
                        getThumbnail: function( _file){
-                               var _data = FileAPI.getFileData( _file);
+                               var _data = FileAPI.getFileData( _file),
                                        _type = _data !== null ? _data.type : null;
                                if( _type === pettanr.driver.FILE_TYPE.PICTURE){
                                        return { image: [ pettanr.CONST.RESOURCE_PICTURE_PATH, 'thumbnail/', _data.id, '.', _data.ext ].join( '')};
@@ -949,13 +1027,49 @@ pettanr.driver = ( function(){
                                if( _type === pettanr.driver.FILE_TYPE.ARTIST){
                                        return { className: 'file-type-artist'};
                                }
-                               if( _type === pettanr.driver.FILE_TYPE.FOLDEER){
+                               if( _type === pettanr.file.FILE_TYPE.FOLDER){
                                        return { className: 'file-type-folder'};
                                }
-                               return { className: 'file-type-folder'};
+                               return { className: 'file-type-broken'};
+                       },
+                       getSummary: function( _file ){
+                               var _data = FileAPI.getFileData( _file),
+                                       _type = _data !== null ? _data.type : null;
+                               if( _type === pettanr.driver.FILE_TYPE.PICTURE){
+                                       return [ _data.width, 'x', _data.height, ', filesize:', _data.filesize, ', lisence:', _data.license ].join( '' );
+                               }
+                               if( _data === FILE_DATA_COMICS_ROOT){
+                                       return 'cabinet file';
+                               }
+                               if( _type === pettanr.driver.FILE_TYPE.COMIC){
+                                       return 'comic file';
+                               }
+                               if( _type === pettanr.driver.FILE_TYPE.PANEL){
+                                       return [ _data.width, 'x', _data.height ].join( '' );
+                               }
+                               if( _type === pettanr.driver.FILE_TYPE.AUTHOR){
+                                       return 'author file';
+                               }
+                               if( _type === pettanr.driver.FILE_TYPE.ARTIST){
+                                       return [ 'Email:', _data.email || 'empty' , ', HP:', _data.homepage_url || 'empty' ].join( '' );
+                               }
+                               if( _type === pettanr.file.FILE_TYPE.FOLDER){
+                                       return 'pettanR folder';
+                               }
+                               return 'pettanR unknown file';
+                       },
+                       viwerApplicationList: function( _file ){
+                               var _data = FileAPI.getFileData( _file ),
+                                       _type = _data !== null ? _data.type : null;
+                               return [];
+                       },
+                       editorApplicationList: function( _file ){
+                               var _data = FileAPI.getFileData( _file ),
+                                       _type = _data !== null ? _data.type : null;
+                               return [];
                        }
                },
-               FileAPI = pettanr.file.resisterDriver( Driver),
+               FileAPI = pettanr.file.registerDriver( Driver),
                FILE_DATA_SERVICE_ROOT = {
                        name:           'PettanR root',
                        type:           pettanr.file.FILE_TYPE.FOLDER,
@@ -984,13 +1098,18 @@ pettanr.driver = ( function(){
                },
                FILE_DATA_MY_COMICS_ROOT = {
                        name:           'My Comics',
-                       type:           pettanr.file.FILE_TYPE.AUTHOR,
+                       type:           pettanr.file.FILE_TYPE.FOLDER,
                        children:       [],
                        driver:         Driver
                },
+               FILE_DATA_LATEST_COMICS = {
+                       name:           'Latest Comics',
+                       type:           pettanr.file.FILE_TYPE.FOLDER,
+                       children:       []
+               },
                FILE_DATA_MY_PICTURES_ROOT = {
                        name:           'My Pictures',
-                       type:           pettanr.file.FILE_TYPE.ARTIST,
+                       type:           pettanr.file.FILE_TYPE.FOLDER,
                        children:       [],
                        driver:         Driver,
                        json:           pettanr.CONST.URL_ORIGINAL_PICTURES_JSON
@@ -1024,12 +1143,12 @@ pettanr.driver = ( function(){
                ORIGINAL_LICENSE_ARRAY = [],
                BASIC_LICENSES = 'cc_by,cc_nc,cc_nd,cc_sa,keep_aspect_ratio,no_convert,no_flip,no_resize'.split( ',');
        FILE_DATA_SERVICE_ROOT.children.push( FILE_DATA_COMICS_ROOT, FILE_DATA_PICTURE_ROOT, FILE_DATA_PANELS_ROOT, FILE_DATA_LISENCE_ROOT, FILE_DATA_BALLOON_ROOT);
-       FILE_DATA_COMICS_ROOT.children.push( FILE_DATA_MY_COMICS_ROOT, FILE_DATA_AUTHOR_ROOT);
+       FILE_DATA_COMICS_ROOT.children.push( FILE_DATA_MY_COMICS_ROOT, FILE_DATA_LATEST_COMICS, FILE_DATA_AUTHOR_ROOT);
        FILE_DATA_PICTURE_ROOT.children.push( FILE_DATA_MY_PICTURES_ROOT, FILE_DATA_ARTIST_ROOT);
        
        FileAPI.createFolderUnderRoot( FILE_DATA_SERVICE_ROOT);
 
-       function onLoadJson( _file, _json){
+       function onLoadJson( _file, _json ){
                var _access = FileAPI.getFileDataAccess( _file),
                        _data = _access !== null ? _access.DATA : null,
                        l;
@@ -1040,7 +1159,7 @@ pettanr.driver = ( function(){
                _data.state = pettanr.file.FILE_STATE.OK;
                
                if( Type.isArray( _json ) === true ){
-                       var l = _json.length;
+                       l = _json.length;
                        if( l === 0) return;
                        for( var i=0; i<l; ++i ){
                                buildFileData( _json[ i], _data);
@@ -1094,11 +1213,13 @@ pettanr.driver = ( function(){
                        // original_license を含まなければ、license object を削除して ビットデータ で保持
                        // original_license なら ファイルを作る buildFileData( _license, FILE_DATA_LISENCE_ROOT)
                        var _license = _data.license,
+                               _rule,
                                _Math_pow = Math.pow,
                                _bits = 0;
                        if( typeof _license === 'object'){
                                for( i=0, l=BASIC_LICENSES.length; i<l; ++i){
-                                       if( typeof _license[ BASIC_LICENSES[ i]] === 'number'){
+                                       _rule = _license[ BASIC_LICENSES[ i]]
+                                       if( typeof _rule === 'number' && _rule === 1 ){
                                                _bits += _Math_pow( 2, i);
                                        }
                                }
@@ -1162,10 +1283,13 @@ pettanr.driver = ( function(){
                                addChildData( _author, _data );
                                _author.id === MyAuthorID && addChildData( FILE_DATA_MY_COMICS_ROOT, _data );
                        }
+                       if( _parent === FILE_DATA_COMICS_ROOT ){
+                               addChildData( FILE_DATA_LATEST_COMICS, _data);
+                       }
                } else
                // Panel
                if( _parent === FILE_DATA_PANELS_ROOT ){
-                       _data.comic = getResource( COMIC_ARRAY, _data.comic_id ),
+                       _data.comic = getResource( COMIC_ARRAY, _data.comic_id );
                        _data.author = getResource( AUTHOR_ARRAY, _data.author_id );
 
                        // picture data をファイルに取り出し
@@ -1183,7 +1307,7 @@ pettanr.driver = ( function(){
                        }
                } else
                // Picture
-               if( _data.type = pettanr.driver.FILE_TYPE.PICTURE ){
+               if( _data.type == pettanr.driver.FILE_TYPE.PICTURE ){
                        var _artist = _data.artist || getResource( ARTIST_ARRAY, _data.artist_id );
                        if( _artist){
                                _data.artist = _artist = buildFileData( _artist, FILE_DATA_ARTIST_ROOT );
@@ -1238,12 +1362,44 @@ pettanr.driver = ( function(){
        }
 })();
 
+pettanr.entrance = {
+               onOpen: function( _w, _h, _option ){
+                       var pageHeaderH = pettanr.util.getElementSize( document.getElementById('header') ).height;
+                       document.getElementById('inner-wrapper').style.height = ( _h - pageHeaderH ) + 'px';
+               },
+               onClose: function(){
+                       document.getElementById('inner-wrapper').style.height = '0px';
+               },
+               onWindowResize: function( _w, _h){
+                       pettanr.entrance.onOpen( _w, _h );
+               }
+       }
+pettanr.backyard = {
+               onOpen: function( _w, _h, _option ){
+               },
+               onClose: function(){
+               },
+               onWindowResize: function( _w, _h){
+               }
+       }
+pettanr.debug = {
+               onOpen: function( _w, _h, _option ){
+                       var pageHeaderH = pettanr.util.getElementSize( document.getElementById('header') ).height;
+                       document.getElementById('inner-wrapper').style.height = ( _h - pageHeaderH ) + 'px';
+               },
+               onClose: function(){
+                       document.getElementById('inner-wrapper').style.height = '0px';
+               },
+               onWindowResize: function( _w, _h){
+                       pettanr.debug.onOpen( _w, _h );
+               }
+       }
 
 pettanr.gallery = ( function(){
        var finder,
                elmContainer = document.getElementById( 'gallery'),
-               option;
-               
+               option,
+               pageHeaderH = pettanr.util.getElementSize( document.getElementById('header') ).height;
        return {
                init: function( _option){
                        option = _option;
@@ -1253,16 +1409,16 @@ pettanr.gallery = ( function(){
                        finder = pettanr.finder.createFinder( elmContainer, pettanr.driver.createPictureTree());
                        delete pettanr.gallery.firstOpen;
                },
-               onOpen: function(){
+               onOpen: function( _w, _h, _option ){
                        pettanr.gallery.firstOpen !== undefined && pettanr.gallery.firstOpen();
-                       finder.onOpen();
+                       finder.onOpen( _w, _h - pageHeaderH, _option );
                        
                },
                onClose: function(){
                        finder.onClose();
                },
                onWindowResize: function( _w, _h){
-                       finder.onWindowResize( _w, _h);
+                       finder.resize( _w, _h - pageHeaderH );
                }
        }
 })();
@@ -1270,7 +1426,8 @@ pettanr.gallery = ( function(){
 pettanr.cabinet = ( function(){
        var finder,
                elmContainer = document.getElementById( 'cabinet'),
-               option;
+               option,
+               pageHeaderH = pettanr.util.getElementSize( document.getElementById('header') ).height;
                
        return {
                init: function( _option){
@@ -1281,16 +1438,16 @@ pettanr.cabinet = ( function(){
                        finder = pettanr.finder.createFinder( elmContainer, pettanr.driver.createComicTree());
                        delete pettanr.cabinet.firstOpen;
                },
-               onOpen: function(){
+               onOpen: function( _w, _h, _option ){
                        pettanr.cabinet.firstOpen !== undefined && pettanr.cabinet.firstOpen();
-                       finder.onOpen();
+                       finder.onOpen( _w, _h - pageHeaderH, _option );
                        
                },
                onClose: function(){
                        finder.onClose();
                },
                onWindowResize: function( _w, _h){
-                       finder.onWindowResize( _w, _h);
+                       finder.resize( _w, _h - pageHeaderH);
                }
        }
 })();
index 25d3256..291ee01 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR work.js\r
- *   version 0.4.12\r
+ *   version 0.4.15\r
  *   \r
  * author:\r
  *   itozyun\r
@@ -1404,7 +1404,7 @@ pettanr.editor = ( function(){
                                        finder.onOpen( _w, _h);\r
                                },\r
                                onResize: function( _w, _h){\r
-                                       finder.onWindowResize( _w, _h);\r
+                                       finder.resize( _w, _h);\r
                                }\r
                        },\r
                        'image-exproler', 'Album', 0, 215, 400, 350, false, true, true, 300, 300\r
@@ -3428,7 +3428,7 @@ pettanr.editor = ( function(){
                        \r
                        delete pettanr.editor.firstOpen;\r
                },\r
-               onOpen: function( _file){\r
+               onOpen: function( _w, _h, _file){\r
                        if( pettanr.file.isFileInstance( _file) === true){\r
                                // pettanr.file.isPettanFileInstance( _file) === true\r
                                // \r
@@ -3449,6 +3449,10 @@ pettanr.editor = ( function(){
                        MENU_BAR_CONTROL.open();\r
                        \r
                        pettanr.editor.firstOpen !== undefined && pettanr.editor.firstOpen();\r
+                       \r
+                       windowW = _w;\r
+                       windowH = _h;\r
+                       pettanr.editor.onWindowResize( _w, _h );\r
                },\r
                onClose: function(){\r
                        HISTORY_CONTROL.close();\r
@@ -3465,8 +3469,8 @@ pettanr.editor = ( function(){
                        MENU_BAR_CONTROL.open();\r
                },\r
                onWindowResize: function( _windowW, _windowH){\r
-                       windowW = _windowW;\r
-                       windowH = _windowH;\r
+                       windowW = _windowW || windowW;\r
+                       windowH = _windowH || windowH;\r
                        if( pettanr.editor.firstOpen) return;\r
                        /*\r
                         * ieは +'px'が不要みたい\r
@@ -3708,7 +3712,7 @@ pettanr.comicConsole = ( function(){
                        COMIC_CONSOLE.init();\r
                        delete pettanr.comicConsole.init;\r
                },\r
-               onOpen: function( _file){\r
+               onOpen: function( _w, _h, _file){\r
                        if( pettanr.driver.isPettanrFileInstance( _file ) === true && _file.getType() === pettanr.driver.FILE_TYPE.COMIC){\r
                                // _data = _file.read();\r
                        }\r
@@ -3729,7 +3733,7 @@ pettanr.comicConsole = ( function(){
 \r
 pettanr.uploadConsole = ( function(){\r
        var UPLOAD_CONSOLE = ( function(){\r
-               var jqWrap,\r
+               var jqWrap, windowW, windowH,\r
                        ID = 'uploadConsole',\r
                        TARGET_FRAME_NAME = 'targetFrame',\r
                        elmContainer = document.getElementById( 'uploader'),\r
@@ -3814,6 +3818,7 @@ pettanr.uploadConsole = ( function(){
                        elmIframe = _iframe;\r
                        elmForm.target = _iframe.name;\r
                        elmProgress.innerHTML = '';\r
+                       UPLOAD_CONSOLE.onWindowResize( windowW, windowH );\r
                }\r
                /*\r
                 * 
@@ -3855,6 +3860,8 @@ pettanr.uploadConsole = ( function(){
                                UPLOAD_CONSOLE.onWindowResize( w, h);\r
                        },\r
                        onWindowResize: function( _windowW, _windowH){\r
+                               windowW = _windowW;\r
+                               windowH = _windowH;\r
                                jqWrap.css(\r
                                        {\r
                                                left:   Math.floor( ( _windowW -jqWrap.width()) /2),\r
@@ -3886,7 +3893,7 @@ pettanr.uploadConsole = ( function(){
                        UPLOAD_CONSOLE.init();\r
                        delete pettanr.comicConsole.init;\r
                },\r
-               onOpen: function( _file){\r
+               onOpen: function( _w, _h, _file){\r
                        if( pettanr.driver.isPettanrFileInstance( _file ) === true && _file.getType() === pettanr.driver.FILE_TYPE.COMIC){\r
                                // _data = _file.read();\r
                        }\r
@@ -3907,7 +3914,7 @@ pettanr.uploadConsole = ( function(){
 \r
 pettanr.panelConsole = ( function(){\r
        var PANEL_CONSOLE = ( function(){\r
-               var jqWrap,\r
+               var jqWrap, windowW, windowH,\r
                        ID = 'panelConsole',\r
                        TARGET_FRAME_NAME = 'targetFrameCreateNewPanel',\r
                        elmContainer = document.getElementById( 'newpanel'),\r
@@ -3987,6 +3994,7 @@ pettanr.panelConsole = ( function(){
                        elmIframe = _iframe;\r
                        elmForm.target = _iframe.name;\r
                        elmProgress.innerHTML = '';\r
+                       PANEL_CONSOLE.onWindowResize( windowW, windowH );\r
                }\r
                /*\r
                 * \r
@@ -4028,6 +4036,8 @@ pettanr.panelConsole = ( function(){
                                PANEL_CONSOLE.onWindowResize( w, h );\r
                        },\r
                        onWindowResize: function( _windowW, _windowH){\r
+                               windowW = _windowW;\r
+                               windowH = _windowH;\r
                                jqWrap.css(\r
                                        {\r
                                                left:   Math.floor( ( _windowW -jqWrap.width()) /2),\r
@@ -4059,7 +4069,7 @@ pettanr.panelConsole = ( function(){
                        PANEL_CONSOLE.init();\r
                        delete pettanr.comicConsole.init;\r
                },\r
-               onOpen: function(){\r
+               onOpen: function( _w, _h, _file ){\r
                        \r
                },\r
                onClose: function(){\r
@@ -4078,9 +4088,9 @@ pettanr.panelConsole = ( function(){
 \r
 pettanr.artistConsole = ( function(){\r
        var ARTIST_CONSOLE = ( function(){\r
-               var jqWrap,\r
+               var jqWrap, windowW, windowH,\r
                        ID = 'artistConsole',\r
-                       TARGET_FRAME_NAME = 'targetFrameResisterArtist',\r
+                       TARGET_FRAME_NAME = 'targetFrameRegisterArtist',\r
                        elmContainer = document.getElementById( 'register'),\r
                        elmProgress = document.getElementById( 'artist-console-progress'),\r
                        timer = null,\r
@@ -4158,6 +4168,7 @@ pettanr.artistConsole = ( function(){
                        elmIframe = _iframe;\r
                        elmForm.target = _iframe.name;\r
                        elmProgress.innerHTML = '';\r
+                       ARTIST_CONSOLE.onWindowResize( windowW, windowH );\r
                }\r
                /*\r
                 * \r
@@ -4184,7 +4195,7 @@ pettanr.artistConsole = ( function(){
                                 */                             \r
                                elmScript = document.createElement( 'script');\r
                                elmScript.type = 'text\/javascript';\r
-                               elmScript.src = pettanr.CONST.RESISTER_ARTIST_JS;\r
+                               elmScript.src = pettanr.CONST.REGISTER_ARTIST_JS;\r
                                document.body.appendChild( elmScript);\r
                                \r
                                jqWrap.show();\r
@@ -4198,7 +4209,9 @@ pettanr.artistConsole = ( function(){
                                \r
                                ARTIST_CONSOLE.onWindowResize( w, h );\r
                        },\r
-                       onWindowResize: function( _windowW, _windowH){\r
+                       onWindowResize: function( _windowW, _windowH ){\r
+                               windowW = _windowW;\r
+                               windowH = _windowH;\r
                                jqWrap.css(\r
                                        {\r
                                                left:   Math.floor( ( _windowW -jqWrap.width()) /2),\r
@@ -4230,7 +4243,7 @@ pettanr.artistConsole = ( function(){
                        ARTIST_CONSOLE.init();\r
                        delete pettanr.comicConsole.init;\r
                },\r
-               onOpen: function(){\r
+               onOpen: function( _w, _h, _option ){\r
                        \r
                },\r
                onClose: function(){\r
index b14d594..3f2f596 100644 (file)
@@ -6,9 +6,15 @@
  *   version 0.4.1\r
  *\r
  */\r
+       html, body {\r
+               overflow:                               hidden;\r
+       }\r
        #entrance, #backyard, #debug {\r
                padding:                                20px 10px;\r
        }\r
+       #inner-wrapper {\r
+               overflow:                               auto;\r
+       }\r
 \r
        \r
        /*  View Container\r
  -------------------------------------------------------------------------------------*/\r
        .finder-body {\r
                position:                               relative;\r
+               overflow:                               auto;\r
        }\r
-\r
+               .finder-container .loading {\r
+                        background-position: 50% bottom;\r
+               }\r
        .finder-header {\r
                height:                                 40px;\r
                position:                               relative;\r
                height:                                         74px;\r
                width:                                          100%;\r
                border-bottom:                          1px solid #ccc;\r
+               clear:                                          both;\r
        }\r
-               .finder-icon-thumbnail {\r
-                       width:                                          64px;\r
-                       height:                                         64px;\r
-                       position:                                       absolute;\r
-                       top:                                            5px;\r
-                       left:                                           20px;\r
-                       cursor:                                         pointer;\r
-                       background-position:            50% 50%;\r
-                       background-repeat:                      no-repeat;\r
-               }\r
-               .finder-icon-thumbnail {\r
-                       background-image:                       url('../images/sprite.gif');\r
-               }\r
-               \r
-               .finder-icon .file-type-folder {\r
-                       background-position:            0 -80px;\r
-               }\r
-               .finder-icon .file-type-album {\r
-                       background-image:                       url('../images/folder_album.png');\r
-               }\r
-               .finder-icon .file-type-author {\r
-                       background-position:            -70px -80px;\r
-               }               \r
-               .finder-icon .file-type-comic {\r
-                       background-position:            0 -150px;\r
-               }\r
-               .finder-icon .file-type-cabinet {\r
-                       background-position:            -70px -150px;\r
-               }\r
-               .finder-icon .file-type-panel {\r
-                       background-position:            0 -220px;\r
+               .finder-icon a,\r
+               .finder-icon a:link,\r
+               .finder-icon a:visited,\r
+               .finder-icon a:active {\r
+                       display:                                        block;\r
+                       height:                                         74px;\r
+                       text-decoration:                        none;\r
+                       *background:                            #fff;\r
                }\r
-               .finder-icon .file-type-artist {\r
-                       background-position:            -70px -220px;\r
+               .finder-icon a:hover {\r
+                       background-color:                       #eee;\r
                }\r
-               .finder-icon .file-type-balloon {\r
-                       background-position:            0 -290px;\r
-               }\r
-               .finder-icon .file-type-charactor {\r
-                       background-position:            -70px -290px;\r
-               }               \r
-               .has-thumbnail {\r
-                       background-image:                       url('../images/folder_album.png');\r
-               }\r
-               /*\r
-                * http://www.iconfinder.com/icondetails/18336/64/folder_image_photo_icon\r
-                * http://www.iconfinder.com/icondetails/27849/48/folder_yellow_icon\r
-                * http://www.iconfinder.com/icondetails/45347/64/cabinet_icon\r
-                * http://www.iconfinder.com/icondetails/3659/64/broken_file_icon\r
-                * http://www.iconfinder.com/icondetails/44733/64/address_book_icon
-                */\r
-               .finder-icon-filename {\r
+                       .finder-icon-handle,\r
+                       .finder-icon-thumbnail,\r
+                       .finder-icon-filename,\r
+                       .finder-icon-summary {\r
+                               display:                                        table-cell;\r
+                       vertical-align:                         middle;\r
+                       height:                                         74px;\r
+                       *height:                                        64px;\r
+                       line-height:                            1.3em;\r
+                       }\r
+                   /* IE 6 */\r
+                       .finder-icon-handle,\r
+                       .finder-icon-thumbnail,\r
+                       .finder-icon-filename,\r
+                       .finder-icon-summary {\r
+                       *display:                                       inline;\r
+                       zoom:                                           1;\r
+                   }\r
+                   /*\*//*/\r
+                   * html .finder-icon span {\r
+                       display: inline-block;\r
+                   }\r
+                   /**/\r
+                       \r
+                       .finder-icon-handle {\r
+                               width:                                          20px;\r
+                       }\r
+                       \r
+                       .finder-icon-thumbnail {\r
+                               width:                                          64px;\r
+                               cursor:                                         pointer;\r
+                               background-repeat:                      no-repeat;\r
+                       }\r
+                       .finder-icon-thumbnail {\r
+                               background-image:                       url('../images/sprite.gif');\r
+                       }\r
+                       \r
+                       .finder-icon .file-type-folder {\r
+                               background-position:            0 -75px;\r
+                       }\r
+                       .finder-icon .file-type-album {\r
+                       }\r
+                       .finder-icon .file-type-author {\r
+                               background-position:            -70px -75px;\r
+                       }               \r
+                       .finder-icon .file-type-comic {\r
+                               background-position:            0 -145px;\r
+                       }\r
+                       .finder-icon .file-type-cabinet {\r
+                               background-position:            -70px -145px;\r
+                       }\r
+                       .finder-icon .file-type-panel {\r
+                               background-position:            0 -215px;\r
+                       }\r
+                       .finder-icon .file-type-artist {\r
+                               background-position:            -70px -215px;\r
+                       }\r
+                       .finder-icon .file-type-balloon {\r
+                               background-position:            0 -285px;\r
+                       }\r
+                       .finder-icon .file-type-charactor {\r
+                               background-position:            -70px -285px;\r
+                       }               \r
+                       .has-thumbnail {\r
+                       }\r
+                       /*\r
+                        * http://www.iconfinder.com/icondetails/18336/64/folder_image_photo_icon\r
+                        * http://www.iconfinder.com/icondetails/27849/48/folder_yellow_icon\r
+                        * http://www.iconfinder.com/icondetails/45347/64/cabinet_icon\r
+                        * http://www.iconfinder.com/icondetails/3659/64/broken_file_icon\r
+                        * http://www.iconfinder.com/icondetails/44733/64/address_book_icon
+                        */\r
+                       .finder-icon-filename {\r
+                               width:                                          200px;\r
+                               padding:                                        5px;\r
+                               font-weight:                            bold;\r
+                               color:                                          #333;\r
+                       }\r
+                       a:hover .finder-icon-filename {\r
+                               color:                                          #000;\r
+                       }\r
+                       .finder-icon-summary {\r
+                               width:                                          300px;\r
+                               padding:                                        5px;\r
+                               color:                                          #666;\r
+                       }\r
+               .finder-icon-console {\r
                        position:                                       absolute;\r
-                       top:                                            30px;\r
-                       left:                                           100px;\r
-               }
\ No newline at end of file
+                       top:                                            0;\r
+                       right:                                          0;\r
+               }\r
+                       .finder-icon-console div {\r
+                               width:                                          74px;\r
+                               height:                                         74px;\r
+                               border-left:                            1px solid #ccc;\r
+                               float:                                          right;\r
+                               cursor:                                         pointer;\r
+                               background-position:            50% 50%;\r
+                               background-repeat:                      no-repeat;\r
+                       }\r
+                       .finder-icon-console-action {\r
+\r
+                       }\r
+                       .finder-icon-console-editor-apps {\r
+\r
+                       }\r
+                       .finder-icon-console-viewer-apps {\r
+\r
+                       }
\ No newline at end of file
index 0add674..bf62b64 100644 (file)
                                <p>Hello, xxxxx.</p>\r
                                <p>This page is login user console.</p>\r
                                <h3>クイックアクセス</h3>\r
-                               <p>新しいコミックをつくる</p>\r
-                               <p><a href="#" onclick="pettanr.view.show('editor');return false;">新しいコマを描く</a></p>\r
-                               <p><a href="#" onclick="pettanr.comicConsole._quickAccessShow();return false;">コミックの新規作成</a></p>\r
+                               <p><a href="#" onclick="pettanr.view.show('editor');return false;">新しいコマを描く(いまだけ)</a></p>\r
+                               <p><a href="#" onclick="pettanr.comicConsole._quickAccessShow();return false;">新しいコミックをつくる</a></p>\r
                                <p><a href="#" onclick="pettanr.uploadConsole._quickAccessShow();return false;">画像のアップロード</a></p>\r
+                               <p><a href="#" onclick="pettanr.panelConsole._quickAccessShow();return false;">コマの追加(開発用)</a></p>\r
+                               <p><a href="#" onclick="pettanr.artistConsole._quickAccessShow();return false;">アーティスト登録(すでに登録している場合も操作可能)</a></p>\r
                                <h3>座長からのお知らせ</h3>\r
                                <p>メンテナンスについて</p>\r
                        </div>\r
                                <div id="image-gruop-button" class="button">cancel</div>\r
                        </div>\r
 \r
+               <!-- 作家登録 -->\r
+                       <div id="artist-console-wrapper" class="console-wrapper">\r
+                               <div id="artist-console-header" class="console-header">Register Artist</div>\r
+                               <div id="artist-console" class="console-inner">\r
+                                       <div id="register"></div>\r
+                                       <div class="console-button-container">\r
+                                               <div id="artist-console-post-button" class="button console-submit-button">register</div>\r
+                                               <div id="artist-console-cancel-button" class="button console-cancel-button">cancel</div>\r
+                                       </div>\r
+                                       <div id="artist-console-progress" class="console-progress">&nbsp;</div>                                 \r
+                               </div>\r
+                       </div>\r
+\r
+               <!-- パネルのポスト(テスト) -->\r
+                       <div id="panel-console-wrapper" class="console-wrapper">\r
+                               <div id="panel-console-header" class="console-header">Create New Panel (dev)</div>\r
+                               <div id="panel-console" class="console-inner">\r
+                                       <div id="newpanel"></div>\r
+                                       <div class="console-button-container">\r
+                                               <div id="panel-console-post-button" class="button console-submit-button">post</div>\r
+                                               <div id="panel-console-cancel-button" class="button console-cancel-button">cancel</div>\r
+                                       </div>\r
+                                       <div id="panel-console-progress" class="console-progress">&nbsp;</div>                                  \r
+                               </div>\r
+                       </div>\r
+\r
                <!-- 画像のアップロード-->\r
-                       <div id="upload-console-wrapper" style="display: none;">\r
-                               <div id="upload-console-header">Upload Picture</div>\r
-                               <div id="upload-console">\r
+                       <div id="upload-console-wrapper" class="console-wrapper">\r
+                               <div id="upload-console-header" class="console-header">Upload Picture</div>\r
+                               <div id="upload-console" class="console-inner">\r
                                        <div id="uploader"></div>\r
-                                       <div id="upload-console-button-container">\r
-                                               <div id="upload-console-post-button" class="button">upload</div>\r
-                                               <div id="upload-console-cancel-button" class="button">cancel</div>\r
+                                       <div class="console-button-container">\r
+                                               <div id="upload-console-post-button" class="button console-submit-button">upload</div>\r
+                                               <div id="upload-console-cancel-button" class="button console-cancel-button">cancel</div>\r
                                        </div>\r
-                                       <div id="upload-console-progress"></div>                                        \r
+                                       <div id="upload-console-progress" class="console-progress">&nbsp;</div>                                 \r
                                </div>\r
                        </div>\r
 \r
                <!-- コミックの新規作成・編集・削除 -->\r
-                       <div id="comic-console-wrapper" style="display: none;">\r
-                               <div id="comic-console-header">Create New Comic</div>\r
-                               <div id="comic-console">\r
+                       <div id="comic-console-wrapper" class="console-wrapper">\r
+                               <div id="comic-console-header" class="console-header">Create New Comic</div>\r
+                               <div id="comic-console" class="console-inner">\r
                                        <div id="comic-console-title" class="comic-console-line">\r
                                                <span class="comic-console-label">Title:</span>\r
                                                <span id="comic-console-title-value" class="comic-console-value editable-value">No Title</span>\r
                                                <span class="comic-console-label">Editable:</span>\r
                                                <span id="comic-console-editable-value" class="comic-console-value editable-value">1</span>\r
                                        </div>\r
-                                       <div id="comic-console-button-container">\r
-                                               <div id="comic-console-post-button" class="button">post(update)</div>\r
-                                               <div id="comic-console-cancel-button" class="button">cancel</div>\r
+                                       <div class="console-button-container">\r
+                                               <div id="comic-console-post-button" class="button console-submit-button">post(update)</div>\r
+                                               <div id="comic-console-cancel-button" class="button console-cancel-button">cancel</div>\r
                                        </div>\r
-                                       <div id="comic-console-progress"></div>\r
+                                       <div id="comic-console-progress" class="console-progress">&nbsp;</div>\r
                                </div>\r
                        </div>\r
                        \r
                                <div class="finder-body">\r
                                        <!-- Finder icon -->\r
                                        <div id="templete-finder-icon" class="finder-icon">\r
+                                               <div class="finder-icon-handle"></div>\r
                                                <div class="finder-icon-thumbnail"></div>\r
                                                <div class="finder-icon-filename"></div>\r
+                                               <div class="finder-icon-summary">file descriptiion</div>\r
+                                               <div class="finder-icon-console">\r
+                                                       <div class="finder-icon-console-action"></div>\r
+                                                       <div class="finder-icon-console-editor-apps"></div>\r
+                                                       <div class="finder-icon-console-viwer-apps"></div>\r
+                                               </div>\r
                                        </div>\r
                                        \r
                                </div>\r