From 2c5da2d64399ec816f7c9e89f3cc3ebc5c6939d7 Mon Sep 17 00:00:00 2001 From: itozyun Date: Sat, 31 Mar 2012 11:15:36 +0900 Subject: [PATCH] client is version0.4.7, start to fix comic exporoler. --- public/assets/common.js | 15 ++++++++----- public/assets/system.js | 59 ++++++++++++++++++++++++++++++++++--------------- public/assets/work.js | 6 ++--- 3 files changed, 54 insertions(+), 26 deletions(-) diff --git a/public/assets/common.js b/public/assets/common.js index e4090b16..af4816ae 100644 --- a/public/assets/common.js +++ b/public/assets/common.js @@ -1,6 +1,6 @@ /* * pettanR common.js - * version 0.4.6 + * version 0.4.7 * * author: itozyun */ @@ -547,17 +547,21 @@ pettanr.util = ( function(){ if( ua.isIE){ el.onreadystatechange = detect; } else { - setTimeout( onLoad, 0); + el.onload = onLoad; } function detect(){ - if ( this.readyState == "complete") { + if ( this.readyState === "complete") { this.onreadystatechange = new Function(); this.onreadystatechange = null; - onLoad(); + setTimeout( asynkCallback, 0 ); } } function onLoad(){ - callback( el); + el.onload = null; + setTimeout( asynkCallback, 0 ); + } + function asynkCallback(){ + callback( el ); } } } @@ -695,6 +699,7 @@ pettanr.CONST = ( function(){ return { PETTANR_ROOT_PATH: PETTANR_ROOT_PATH, URL_ORIGINAL_PICTURES_JSON: ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'original_pictures.json', + URL_COMICS_JSON: ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'comics.json', URL_PANELS_JSON: ( isLocal === true ? 'json\/' : PETTANR_ROOT_PATH) + 'panels.json', NS_PETTANR_COMIC: 'pettanr-comic', RESOURCE_PICTURE_PATH: ( isLocal === true ? pettanr.ROOT_PATH : PETTANR_ROOT_PATH) + 'resource_pictures\/', diff --git a/public/assets/system.js b/public/assets/system.js index 04016677..fe25f91d 100644 --- a/public/assets/system.js +++ b/public/assets/system.js @@ -1,6 +1,6 @@ /* * pettanR system.js - * version 0.4.6 + * version 0.4.7 * * author: * itozyun @@ -950,7 +950,7 @@ pettanr.driver = ( function(){ if( _type === pettanr.driver.FILE_TYPE.PICTURE){ return { image: [ pettanr.CONST.RESOURCE_PICTURE_PATH, 'thumbnail/', _data.id, '.', _data.ext ].join( '')}; } - if( _data === FILE_DATA_COMIC_ROOT){ + if( _data === FILE_DATA_COMICS_ROOT){ return { className: 'file-type-cabinet'}; } if( _type === pettanr.driver.FILE_TYPE.COMIC){ @@ -977,11 +977,18 @@ pettanr.driver = ( function(){ type: pettanr.file.FILE_TYPE.FOLDER, children: [] }, - FILE_DATA_COMIC_ROOT = { + FILE_DATA_COMICS_ROOT = { name: 'Comics', type: pettanr.file.FILE_TYPE.FOLDER, children: [], driver: Driver, + json: pettanr.CONST.URL_COMICS_JSON + }, + FILE_DATA_PANELS_ROOT = { + name: 'Panels', + type: pettanr.file.FILE_TYPE.FOLDER, + children: [], + driver: Driver, json: pettanr.CONST.URL_PANELS_JSON }, FILE_DATA_PICTURE_ROOT = { @@ -1029,8 +1036,8 @@ pettanr.driver = ( function(){ BALLOON_TEMPLETE_ARRAY = [], 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_COMIC_ROOT, FILE_DATA_PICTURE_ROOT, FILE_DATA_LICENSE_ROOT, FILE_DATA_BALLOON_ROOT); - FILE_DATA_COMIC_ROOT.children.push( FILE_DATA_MY_COMICS_ROOT, FILE_DATA_AUTHOR_ROOT); + FILE_DATA_SERVICE_ROOT.children.push( FILE_DATA_COMICS_ROOT, FILE_DATA_PICTURE_ROOT, FILE_DATA_PANELS_ROOT, FILE_DATA_LICENSE_ROOT, FILE_DATA_BALLOON_ROOT); + FILE_DATA_COMICS_ROOT.children.push( FILE_DATA_MY_COMICS_ROOT, 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); @@ -1060,7 +1067,11 @@ pettanr.driver = ( function(){ var _type, _array, _id = _data.id, i, l; - if( _parent === FILE_DATA_COMIC_ROOT){ + if( _parent === FILE_DATA_COMICS_ROOT){ + _data.type = pettanr.driver.FILE_TYPE.COMIC; + _array = COMIC_ARRAY; + } else + if( _parent === FILE_DATA_PANELS_ROOT){ _data.type = pettanr.driver.FILE_TYPE.PANEL; _array = PANEL_ARRAY; } else @@ -1091,24 +1102,31 @@ pettanr.driver = ( function(){ // _array に _data を格納 または 上書き if( typeof _id === 'number'){ - var __data = _array[ _id]; + --_id; + var __data = _array[ _id ]; if( __data){ for( var key in _data){ __data[ key ] = _data[ key ]; } _data = __data; // このタイミングで参照が切れるので注意!! } else { - _array[ _id] = _data; + _array[ _id ] = _data; } } - - if( _parent === FILE_DATA_COMIC_ROOT){ + 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 ); + } + } else + if( _parent === FILE_DATA_PANELS_ROOT){ if( _data.comic && _data.author){ - var _comic = getFolderData( _data, 'comic', FILE_DATA_COMIC_ROOT), - _comicList = getFolderData( _data, 'author', FILE_DATA_AUTHOR_ROOT); + var _comic = getFolderData( _data, 'comic', FILE_DATA_COMICS_ROOT), + _author = getFolderData( _data, 'author', FILE_DATA_AUTHOR_ROOT); _comic.children.push( _data); - pettanr.util.getIndex( _comicList.children, _comic) === -1 && _comicList.children.push( _comic); - _comicList.id === MyAuthorID && pettanr.util.getIndex( FILE_DATA_MY_COMICS_ROOT.children, _comic) === -1 && FILE_DATA_MY_COMICS_ROOT.children.push( _comic); + pettanr.util.getIndex( _author.children, _comic) === -1 && _author.children.push( _comic); + _author.id === MyAuthorID && pettanr.util.getIndex( FILE_DATA_MY_COMICS_ROOT.children, _comic) === -1 && FILE_DATA_MY_COMICS_ROOT.children.push( _comic); } // picture data をファイルに取り出し var _elements = _data.panel_elements || [], @@ -1139,13 +1157,14 @@ pettanr.driver = ( function(){ function getFolderData( _data, _key, _parentData){ if( typeof _data[ _key ] !== 'object') return {children:[]}; var _ret, - _id = _data[ _key ].id, + _id = _data[ _key ].id - 1, _array; if( typeof _id !== 'number') return {children:[]}; _array = _parentData === FILE_DATA_ARTIST_ROOT ? ARTIST_ARRAY : _parentData === FILE_DATA_AUTHOR_ROOT ? AUTHOR_ARRAY : - _parentData === FILE_DATA_COMIC_ROOT ? COMIC_ARRAY : [] + _parentData === FILE_DATA_COMICS_ROOT ? COMIC_ARRAY : + _parentData === FILE_DATA_PANELS_ROOT ? PANEL_ARRAY : [] if( typeof _array[ _id] === 'object'){ var __data = _array[ _id]; @@ -1169,7 +1188,11 @@ pettanr.driver = ( function(){ if( _parentData === FILE_DATA_ARTIST_ROOT){ _ret.type = pettanr.driver.FILE_TYPE.ARTIST; } else - if( _parentData === FILE_DATA_COMIC_ROOT){ + if( _parentData === FILE_DATA_PANELS_ROOT){ + _ret.type = pettanr.driver.FILE_TYPE.COMIC; + return _ret; + } else + if( _parentData === FILE_DATA_COMICS_ROOT){ _ret.type = pettanr.driver.FILE_TYPE.COMIC; return _ret; } else { @@ -1183,7 +1206,7 @@ pettanr.driver = ( function(){ return { createComicTree: function(){ - return pettanr.file.createTree( FILE_DATA_SERVICE_ROOT); //FILE_DATA_COMIC_ROOT); + return pettanr.file.createTree( FILE_DATA_SERVICE_ROOT); //FILE_DATA_COMICS_ROOT); }, createPictureTree: function(){ return pettanr.file.createTree( FILE_DATA_PICTURE_ROOT); diff --git a/public/assets/work.js b/public/assets/work.js index 1cdf898f..19b60959 100644 --- a/public/assets/work.js +++ b/public/assets/work.js @@ -1,6 +1,6 @@ /* * pettanR work.js - * version 0.4.6 + * version 0.4.7 * * author: * itozyun @@ -3576,10 +3576,10 @@ pettanr.comicConsole = ( function(){ _name = _select.name; _optionList = _select.getElementsByTagName( 'option' ) if( _name === 'comic[visible]'){ - + _select.selectedIndex = 1; } else if( _name === 'comic[editable]'){ - + _select.selectedIndex = 0; } } try { -- 2.11.0