OSDN Git Service

client is version0.4.9, fixed console desine.
[pettanr/pettanr.git] / public / assets / system.js
index fe25f91..e3ccb87 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * pettanR system.js
- *   version 0.4.7
+ *   version 0.4.9
  *   
  * author:
  *   itozyun
@@ -400,12 +400,11 @@ pettanr.file = ( function(){
                },
                getChildFileLength: function(){
                        var children = FILE_CONTROLER.getChildren( this);
-                       return children !== null && typeof children.length === 'number' ? children.length : 0;
+                       return Type.isArray( children ) === true ? children.length : -1;
                },
                getChildFileIndex: function( _FILEorFILEDATA){
                        var children = FILE_CONTROLER.getChildren( this);
-                       
-                       if( children === null || typeof children.length !== 'number') return -1;
+                       if( Type.isArray( children.length ) === false ) return -1;
                        var l = children.length,
                                _fileData = FILE_CONTROLER.getFileData( _FILEorFILEDATA);
                        if( _fileData === null) return -1;
@@ -842,7 +841,7 @@ pettanr.finder = ( function(){
                        var l = ICON_ARRAY.length;
                        if( i < l){
                                var _file = tree.getCurrentFile().getChildFileByIndex( i);
-                               if( _file !== null && ( _file.getChildFileLength() > 0 || _file.getType() === pettanr.file.FILE_TYPE.FOLDER)){
+                               if( _file !== null && ( _file.getChildFileLength() !== -1 || _file.getType() === pettanr.file.FILE_TYPE.FOLDER)){
                                        tree.down( i);
                                        draw();
                                }
@@ -921,10 +920,14 @@ pettanr.driver = ( function(){
                        getSeqentialFiles: function( _file){
                                var _data = FileAPI.getFileData( _file),
                                        _json = _data !== null ? _data.json : null;
+                               if( _json === true && _data.type === pettanr.driver.FILE_TYPE.COMIC ){
+                                       _json = [ pettanr.CONST.PETTANR_ROOT_PATH, 'comics\/', _data.id, '.json\/play\/' ].join( '' );
+                               }
                                if( typeof _json === 'string'){
                                        FileAPI.getJson( _file, _json, onLoadJson, onErrorJson);
                                        _data.state = pettanr.file.FILE_STATE.LOADING;
-                                       delete _data.json;
+                                       _data.json = null;
+                                       return;
                                }
                        },
                        getName: function( _file){
@@ -996,17 +999,20 @@ pettanr.driver = ( function(){
                        type:           pettanr.file.FILE_TYPE.FOLDER,
                        children:       [],
                        driver:         Driver,
-                       json:           pettanr.CONST.URL_ORIGINAL_PICTURES_JSON
+                       json:           pettanr.CONST.URL_RESOURCE_PICTURES_JSON
                },
                FILE_DATA_MY_COMICS_ROOT = {
                        name:           'My Comics',
-                       type:           pettanr.file.FILE_TYPE.FOLDER,
-                       children:       []
+                       type:           pettanr.file.FILE_TYPE.AUTHOR,
+                       children:       [],
+                       driver:         Driver
                },
                FILE_DATA_MY_PICTURES_ROOT = {
                        name:           'My Pictures',
-                       type:           pettanr.file.FILE_TYPE.FOLDER,
-                       children:       []
+                       type:           pettanr.file.FILE_TYPE.ARTIST,
+                       children:       [],
+                       driver:         Driver,
+                       json:           pettanr.CONST.URL_ORIGINAL_PICTURES_JSON
                },
                FILE_DATA_AUTHOR_ROOT = {
                        name:           'Authors',
@@ -1041,7 +1047,7 @@ pettanr.driver = ( function(){
        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){
                var _access = FileAPI.getFileDataAccess( _file),
                        _data = _access !== null ? _access.DATA : null,
@@ -1067,6 +1073,10 @@ pettanr.driver = ( function(){
                var _type, _array,
                        _id = _data.id,
                        i, l;
+               if( _parent.type === pettanr.driver.FILE_TYPE.COMIC ){
+                       _data.type = pettanr.driver.FILE_TYPE.PANEL;
+                       _array = PANEL_ARRAY;
+               } else
                if( _parent === FILE_DATA_COMICS_ROOT){
                        _data.type = pettanr.driver.FILE_TYPE.COMIC;
                        _array = COMIC_ARRAY;
@@ -1075,7 +1085,7 @@ pettanr.driver = ( function(){
                        _data.type = pettanr.driver.FILE_TYPE.PANEL;
                        _array = PANEL_ARRAY;
                } else
-               if( _parent === FILE_DATA_PICTURE_ROOT){
+               if( _parent === FILE_DATA_PICTURE_ROOT || _parent === FILE_DATA_MY_PICTURES_ROOT ){
                        _data.type = pettanr.driver.FILE_TYPE.PICTURE;
                        _array = RESOURCE_PICTURE_ARRAY;
                        
@@ -1113,12 +1123,30 @@ pettanr.driver = ( function(){
                                _array[ _id ] = _data;
                        }
                }
-               if( _parent === FILE_DATA_COMICS_ROOT){
+               if( _parent.type === pettanr.driver.FILE_TYPE.COMIC ){
+                       var _panels = _data.panels,
+                               _panel;
+                       if( _panels && Type.isArray( _panels ) === true){
+                               if( Type.isArray( _data.children ) === false){
+                                       _data.children = [];
+                               };
+                               for( i=0, l=_panels.length; i<l; ++i){
+                                       _panel = buildFileData( _panels[ i ], FILE_DATA_PANELS_ROOT );
+                                       /*
+                                        * 間違い! t 順に格納
+                                        */
+                                       _data.children.push( _panel );
+                               }
+                               delete _data.panels;
+                       }                       
+               } else
+               if( _parent === FILE_DATA_COMICS_ROOT ){
                        if( _data.author ){
                                var _author = getFolderData( _data, 'author', FILE_DATA_AUTHOR_ROOT);
                                pettanr.util.getIndex( _author.children, _data) === -1 && _author.children.push( _data);
                                _author.id === MyAuthorID && pettanr.util.getIndex( FILE_DATA_MY_COMICS_ROOT.children, _data) === -1 && FILE_DATA_MY_COMICS_ROOT.children.push( _data );
                        }
+                       _data.json = true;
                } else
                if( _parent === FILE_DATA_PANELS_ROOT){
                        if( _data.comic && _data.author){
@@ -1130,18 +1158,19 @@ pettanr.driver = ( function(){
                        }
                        // picture data をファイルに取り出し
                        var _elements = _data.panel_elements || [],
-                               _elm;
-                       for(var i=0, l=_elements.length; i<l; ++i){
+                               _elm, _rpicID;
+                       for( i=0, l=_elements.length; i<l; ++i){
                                _elm = _elements[ i];
                                if( _elm.resource_picture){
                                        _elm.resource_picture = buildFileData( _elm.resource_picture, FILE_DATA_PICTURE_ROOT); // 上記参照切れに備えてここで上書き
                                }
-                               if( _elm.resource_picture_id && RESOURCE_PICTURE_ARRAY[ _elm.resource_picture_id]){
-                                       _elm.resource_picture = RESOURCE_PICTURE_ARRAY[ _elm.resource_picture_id];
+                               _rpicID = _elm.resource_picture_id - 1;
+                               if( _rpicID && RESOURCE_PICTURE_ARRAY[ _rpicID ]){
+                                       _elm.resource_picture = RESOURCE_PICTURE_ARRAY[ _rpicID ];
                                }
                        }
                } else
-               if( _parent === FILE_DATA_PICTURE_ROOT){
+               if( _data.type = pettanr.driver.FILE_TYPE.PICTURE ){
                        if( _data.artist){
                                var _pictureList = getFolderData( _data, 'artist', FILE_DATA_ARTIST_ROOT);
                                pettanr.util.getIndex( _pictureList.children, _data) === -1 && _pictureList.children.push( _data);