OSDN Git Service

add xdoc.js
[pettanr/clientJs.git] / 0.5.x / javascripts / peta-common.js
index d718096..8b49c55 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR peta.common.js\r
- *   version 0.5.41\r
+ *   version 0.5.47\r
  * \r
  *   author:\r
  *     itozyun\r
@@ -84,25 +84,27 @@ pettanr.CONST = ( function(){
                })();\r
                \r
        return {\r
-               PETTANR_ROOT_PATH:                      PETTANR_ROOT_PATH,\r
-               URL_ORIGINAL_PICTURES_JSON: ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'original_pictures.json',\r
-               URL_RESOURCE_PICTURES_JSON: ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'resource_pictures.json',\r
-               URL_MY_RESOURCE_PICTURES_JSON: ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/resource_picture.json',\r
-               URL_COMICS_JSON:                        ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'comics.json',\r
-               URL_MY_COMICS_JSON:                     ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/comic.json',\r
-               URL_PANELS_JSON:                        ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'panels.json',\r
-               URL_MY_PANELS_JSON:                     ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/panel.json',\r
-               NS_PETTANR_COMIC:                       'pettanr-comic',\r
-               THUMBNAIL_PATH:             SERVER_SUPPORT === false ? RELATIVE + 'resource_pictures\/thumbnail\/' : PETTANR_ROOT_PATH + 'resource_pictures\/',\r
-               RESOURCE_PICTURE_PATH:          SERVER_SUPPORT === false ? RELATIVE + 'resource_pictures\/' : PETTANR_ROOT_PATH + 'resource_pictures\/full\/',\r
-               PANEL_PICTURE_PATH:                 SERVER_SUPPORT === false ? RELATIVE + 'resource_pictures\/' : PETTANR_ROOT_PATH + 'pictures\/',\r
-               SYSTEM_PICTURE_PATH:            ( SERVER_SUPPORT === false ? RELATIVE : PETTANR_ROOT_PATH ) + 'system_pictures\/',\r
-               CREATE_COMIC_JS:                        SERVER_SUPPORT === false ? 'js\/create_new_comic.js' : PETTANR_ROOT_PATH + 'comics\/new.js',\r
-               CREATE_PANEL_JS:                        SERVER_SUPPORT === false ? 'js\/create_new_panel.js' : PETTANR_ROOT_PATH + 'panels\/new.js',\r
-               UPLOAD_PICTURE_JS:                      SERVER_SUPPORT === false ? 'js\/upload_picture.js' : PETTANR_ROOT_PATH + 'original_pictures\/new.js',\r
-               REGISTER_ARTIST_JS:                     SERVER_SUPPORT === false ? 'js\/register_artist.js' : PETTANR_ROOT_PATH + 'artists\/new.js',\r
-               SERVER_SUPPORT:                         SERVER_SUPPORT,\r
-               URL_PETA_APPS_CSS:                      ( SERVER_SUPPORT === false ? 'stylesheets' : '\/assets' ) + '\/peta.apps.css'\r
+               PETTANR_ROOT_PATH             : PETTANR_ROOT_PATH,\r
+               URL_MY_ORIGINAL_PICTURES_JSON : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'original_pictures.json',\r
+               URL_MY_RESOURCE_PICTURES_JSON : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/resource_pictures.json',\r
+               URL_RESOURCE_PICTURES_JSON    : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'resource_pictures.json',\r
+               URL_MY_RESOURCE_PICTURES_JSON : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/resource_picture.json',\r
+               URL_COMICS_JSON               : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'comics.json',\r
+               URL_MY_COMICS_JSON            : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/comic.json',\r
+               URL_PANELS_JSON               : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'panels.json',\r
+               URL_MY_PANELS_JSON            : ( SERVER_SUPPORT === false ? 'json\/' : PETTANR_ROOT_PATH ) + 'home\/panel.json',\r
+               NS_PETTANR_COMIC              : 'pettanr-comic',\r
+               THUMBNAIL_PATH                : SERVER_SUPPORT === false ? RELATIVE + 'resource_pictures\/thumbnail\/' : PETTANR_ROOT_PATH + 'resource_pictures\/',\r
+               RESOURCE_PICTURE_PATH         : SERVER_SUPPORT === false ? RELATIVE + 'resource_pictures\/' : PETTANR_ROOT_PATH + 'resource_pictures\/full\/',\r
+               ORIGINAL_PICTURE_PATH         : SERVER_SUPPORT === false ? RELATIVE + 'resource_pictures\/' : PETTANR_ROOT_PATH + 'original_pictures\/',\r
+               PICTURE_PATH                  : SERVER_SUPPORT === false ? RELATIVE + 'pictures\/' : PETTANR_ROOT_PATH + 'pictures\/',\r
+               SYSTEM_PICTURE_PATH           : ( SERVER_SUPPORT === false ? RELATIVE : PETTANR_ROOT_PATH ) + 'system_pictures\/',\r
+               CREATE_COMIC_JS               : SERVER_SUPPORT === false ? 'js\/create_new_comic.js' : PETTANR_ROOT_PATH + 'comics\/new.js',\r
+               CREATE_PANEL_JS               : SERVER_SUPPORT === false ? 'js\/create_new_panel.js' : PETTANR_ROOT_PATH + 'panels\/new.js',\r
+               UPLOAD_PICTURE_JS             : SERVER_SUPPORT === false ? 'js\/upload_picture.js' : PETTANR_ROOT_PATH + 'original_pictures\/new.js',\r
+               REGISTER_ARTIST_JS            : SERVER_SUPPORT === false ? 'js\/register_artist.js' : PETTANR_ROOT_PATH + 'artists\/new.js',\r
+               SERVER_SUPPORT                : SERVER_SUPPORT,\r
+               URL_PETA_APPS_CSS             : ( SERVER_SUPPORT === false ? 'stylesheets' : '\/assets' ) + '\/peta.apps.css'\r
        }\r
 })();\r
 \r
@@ -628,7 +630,7 @@ pettanr.image = ( function(){
 pettanr.bind = ( function(){\r
        var BIND_WORKER_ARRAY   = [],\r
                NAMESPACE_CLASSNAME = pettanr.CONST.NS_PETTANR_COMIC + '-',\r
-               PICTURE_PATH        = pettanr.CONST.PANEL_PICTURE_PATH,\r
+               PICTURE_PATH        = pettanr.CONST.PICTURE_PATH,\r
                ELM_DETECT_WIDTH    = ( function(){\r
                        var ret = document.createElement( 'div' );\r
                        ret.style.cssText = 'width: auto;height: 0;padding: 0;margin: 0;display: block;visibility: hidden;float: none;position: static;';\r
@@ -644,10 +646,10 @@ pettanr.bind = ( function(){
         */\r
        var ResizeAgentClass = function( onResizeFunction, opt_elmCheck){\r
                var     _globalLock = 0,\r
-                       _size = { w: 0, h: 0 };\r
+                       _size = { w: 0, h: 0 },\r
                        _ie = !!document.all,\r
                        _quirks = (document.compatMode || "") !== "CSS1Compat",\r
-                       _ieroot = _quirks ? "body" : "documentElement";\r
+                       _ieroot = _quirks ? "body" : "documentElement",\r
                        _root = opt_elmCheck ? opt_elmCheck : ( _ie ? document[_ieroot] : window);\r
 \r
                function getInnerSize(){\r
@@ -686,12 +688,12 @@ pettanr.bind = ( function(){
                        this.clean();\r
                        \r
                        // json is Comic ? Panel ?\r
-                       var panels = json.children || json.stories,\r
+                       var stories = json.children || json.stories,\r
                                i, l;\r
-                       if( Type.isArray( panels ) === true ){\r
+                       if( Type.isArray( stories ) === true ){\r
                                // comic\r
-                               for( i = 0, l = panels.length; i<l; ++i ){\r
-                                       this.buildPanelElement( panels[ i ], zoom );\r
+                               for( i = 0, l = stories.length; i<l; ++i ){\r
+                                       this.buildPanelElement( stories[ i ], zoom );\r
                                };\r
                        } else\r
                        if( json.elements ){\r
@@ -701,6 +703,30 @@ pettanr.bind = ( function(){
                                // invalid json\r
                        };\r
                },\r
+               buildFromFile : function( file, zoom ){\r
+                       this.clean();\r
+                       \r
+                       var l    = file.getChildFileLength(),\r
+                               data = file.read(),\r
+                               i, story;\r
+                       if( data.title ){\r
+                               // comic\r
+                               for( i = 0; i<l; ++i ){\r
+                                       story = file.getChildFileAt( i ).read();\r
+                                       this.buildPanelElement( story.panel, zoom );\r
+                               };\r
+                       } else\r
+                       if( data.panel ){\r
+                               // story\r
+                               this.buildPanelElement( data.panel, zoom );\r
+                       } else\r
+                       if( data.border ){\r
+                               // panel\r
+                               this.buildPanelElement( data, zoom );\r
+                       } else {\r
+                               // invalid json\r
+                       };\r
+               },\r
                buildComicElement : function(){\r
                        \r
                },\r
@@ -711,10 +737,10 @@ pettanr.bind = ( function(){
                                                width:                          json.width  + 'px',\r
                                                height:                         json.height + 'px'\r
                                },\r
-                               cssText = [],\r
-                               elements = json.elements || ( json.panel ? json.panel.elements : [] ),\r
-                               rPic,\r
-                               p, i, l;\r
+                               cssText  = [],\r
+                               elements = json.elements,\r
+                               realPic,\r
+                               p, i, l, data;\r
                        this.elmTarget.appendChild( elmPanel );\r
                        \r
                        if( this.noClassname === true ){\r
@@ -727,19 +753,20 @@ pettanr.bind = ( function(){
                        };\r
                        elmPanel.style.cssText = cssText.join( ';' );\r
                        \r
+                       if( !elements ) return;\r
                        for( i = 0, l = elements.length; i < l; ++i ){\r
-                               data = elements[ i ];\r
-                               rPic = data.picture;\r
-                               if( rPic ){\r
-                                       this.buildImage( elmPanel, data, rPic );\r
+                               data    = elements[ i ];\r
+                               realPic = data.picture;\r
+                               if( realPic ){\r
+                                       this.buildImage( elmPanel, data, realPic );\r
                                } else {\r
                                        this.buildBalloon( elmPanel, data );\r
                                };\r
                        };\r
                },\r
-               buildImage : function( elmPanel, data, rPic ){\r
+               buildImage : function( elmPanel, data, realPic ){\r
                        var rImg = pettanr.image.createReversibleImage(\r
-                                       [ PICTURE_PATH, data.picture_id, '.', rPic.ext ].join( '' ),\r
+                                       [ PICTURE_PATH, realPic.id, '.', realPic.ext ].join( '' ),\r
                                        data.width, data.height\r
                                ),\r
                                elmImg = rImg.elm;\r
@@ -832,6 +859,9 @@ pettanr.bind = ( function(){
                        this._json = json;\r
                        this.builder.build( json, this.noClassname );\r
                },\r
+               file : function( file ){\r
+                       this.builder.buildFromFile( file, this.noClassname );\r
+               },\r
                targetElement : function(){\r
                                \r
                },\r