self.rootElement.id = 'cabinet-root';
self.rootElement.innerHTML = '<div id="cabinet-container" class="finder-container"></div>';
+ self.fetchCSS( 'stylesheets/peta.apps.css' );
+
tree = FileAPI.createTree( FILE_DATA_SERVICE_ROOT );
+
+ delete self.onInit;
};
this.onOpen = function( _w, _h ){
finder = self.createFinder( self.rootElement, tree );
self.rootElement.id = 'gallery-root';
self.rootElement.innerHTML = '<div id="gallery-container" class="finder-container"></div>';
+ self.fetchCSS( 'stylesheets/peta.apps.css' );
+
tree = FileAPI.createTree( FILE_DATA_PICTURE_ROOT );
var _root = tree.getRootFile(),
_myPic = _root.getChildFileByIndex( 0 ),
_myPic.getSeqentialFiles();
_pic.getSeqentialFiles();
_myPic.destroy();
- _pic.destroy();
+ _pic.destroy();
};
this.onOpen = function( _w, _h ){
finder = self.createFinder( self.rootElement, tree );
'<div id="image-group-name">NO DATA...</div>',
'<div id="image-group-button" class="button">close</div>'
].join( '' );
-
+
+ self.fetchCSS( 'stylesheets/peta.apps.css' );
+
tree = FileAPI.createTree( FILE_DATA_ARTIST_ROOT );
rootFile = tree.getRootFile();
};
'<a href="#" id="comic-reader-forward-button">▼</a>',
'</div>',
'</div>'
- ].join( '' );
+ ].join( '' );
+
+ self.fetchCSS( 'stylesheets/peta.apps.css' );
+
};
this.onOpen = function( _w, _h, _file ){
headerH = Util.getElementSize( document.getElementById( 'comic-reader-header' ) ).height;
'</div>'
].join( '' );
+ app.fetchCSS( 'stylesheets/peta.apps.css' );
+
delete app.onInit;
};
this.onOpen = function( _w, _h, _file ){
'</div>'
].join( '' );
+ instance.fetchCSS( 'stylesheets/peta.apps.css' );
+
delete instance.onInit;
};
this.onOpen = function( w, h ){
'</div>'
].join( '' );
+ instance.fetchCSS( 'stylesheets/peta.apps.css' );
+
delete instance.onInit;
}
this.onOpen = function( w, h ){
'</div>'
].join( '' );
+ instance.fetchCSS( 'stylesheets/peta.apps.css' );
+
delete instance.onInit;
}
this.onOpen = function( w, h ){
'<div id="artist-console-progress" class="console-progress"> </div>',
'</div>'
].join( '' );
-
+
+ instance.fetchCSS( 'stylesheets/peta.apps.css' );
+
delete instance.onInit;
};
this.onOpen = function( w, h ){
'</div>'
].join( '' );
+ instance.fetchCSS( 'stylesheets/peta.apps.css' );
+
delete instance.onInit;
};
this.onOpen = function( _w, _h, _comicID, _panelID, _panelTimming, _panelW, _panelH, _borderSize, _panelElementArray ){
}\r
\r
var AbstractApplication = function( displayName, appClass, isOverlay ){\r
- var self = null, // init で設定\r
- uiList = [],\r
- finderList = [];\r
+ var self = null, // init で設定\r
+ uiList = [],\r
+ finderList = [],\r
+ fetchResource = false,\r
+ phase = 0;\r
this.rootElement = document.createElement( 'div' );\r
this.bgColor = '#C1CACF';\r
this.getUID = function(){\r
return Util.getIndex( API_USER_LIST, appClass );\r
}\r
this.init = function(){\r
- self = this;\r
+ phase = 1;\r
+ self = this;\r
self.onInit();\r
+ phase = 2;\r
};\r
this.open = function( _w, _h /*, _option */ ){\r
+ phase = 3;\r
if( self.MIN_WIDTH > _w || self.MIN_HEIGHT > _h ){\r
if( Type.isHTMLElement( self.rootElement ) === true ){\r
// 小さすぎる!、と表示\r
} else {\r
self.onOpen( _w, _h );\r
}\r
+ phase = 4;\r
};\r
this.resize = function( _w, _h ){\r
if( self.MIN_WIDTH > _w || self.MIN_HEIGHT > _h ){\r
self.onPaneResize( _w, _h );\r
};\r
this.close = function(){\r
+ phase = 5;\r
if( self.onClose() === false ){\r
return false;\r
};\r
KeyEvent.remove( self );\r
SystemTimer.remove( self );\r
AsyncCall.remove( self );\r
+ Css.unload( self );\r
\r
while( uiList.length > 0 ){\r
uiList.shift().destroy();\r
\r
Application.shutdown( self, isOverlay );\r
self = appClass = uiList = null;\r
+ \r
+ phase = 6;\r
};\r
this.createUIGroup = function(){\r
var _ui = UI.createUIGroup( self );\r
_class.prototype = new AbstractBasicPane();\r
return new _class( _options );\r
};\r
-}\r
+ this.fetchCSS = function( _url, opt_onload, opt_onerror ){\r
+ if( phase === 1 ){\r
+ Css.load( self, _url, fetchResourceComplete );\r
+ };\r
+ };\r
+ \r
+ function fetchResourceComplete(){\r
+ alert( phase );\r
+ };\r
+};\r
\r
AbstractApplication.prototype = new AbstractBasicPane();\r
AbstractApplication.prototype.onInit = function(){\r
}\r
})();\r
\r
+var Css = ( function(){\r
+ var head = doc.getElementsByTagName( 'head' )[ 0 ];\r
+ \r
+ var TICKET_LIST = [];\r
+ var STATE_LIST = 'loaded,complete,uninitialized'.split( ',' );\r
+ \r
+ var FetchCssTicketClass = function( _apiuser, _url, _elm, _onload, _onerror ){\r
+ this.apiusers = [ _apiuser ];\r
+ this.url = _url;\r
+ this.elm = _elm;\r
+ this.onload = [ _onload ];\r
+ this.onerror = [ _onerror ];\r
+ };\r
+ FetchCssTicketClass.prototype = {\r
+ match: function( _apiuser, _url ){\r
+ if( _apiuser && Util.getIndex( this.apiusers, _apiuser ) === -1 ) return false;\r
+ if( _url && _url !== this.url ) return false;\r
+ return true;\r
+ },\r
+ destroy: function( _apiuser, _url ){\r
+ if( this.match( _apiuser, _url ) === false ) return false;\r
+ \r
+ var i = Util.getIndex( this.apiusers, _apiuser );\r
+ \r
+ this.apiusers.splice( i, 1 );\r
+ this.onload.splice( i, 1 );\r
+ this.onerror.splice( i, 1 );\r
+ \r
+ if( this.apiusers.length !== 0 ) return false;\r
+ \r
+ head.removeChild( this.elm );\r
+ this.elm.onreadystatechange = new Function();\r
+ this.elm.onload = null;\r
+ \r
+ delete this.apiusers;\r
+ delete this.url;\r
+ delete this.elm;\r
+ delete this.onload;\r
+ delete this.onerror;\r
+ \r
+ return true;\r
+ },\r
+ done: false\r
+ };\r
+ \r
+ function getTicket( elm ){\r
+ for( var i = TICKET_LIST.length, t; i; ){\r
+ t = TICKET_LIST[ --i ];\r
+ if( t.elm === elm ) return t;\r
+ };\r
+ };\r
+ \r
+ function detect(){\r
+ var t = getTicket( this ), rs = this.readyState, c;\r
+ if( t && t.done === false && ( !rs || Util.getIndex( STATE_LIST, rs ) !== -1 ) ){\r
+ t.done = true;\r
+ for( var i = t.onload.length; i; ){\r
+ c = t.onload[ --i ];\r
+ Type.isFunction( c ) === true && AsyncCall.add( t.apiusers[ i ], c, t.url );\r
+ };\r
+ this.onreadystatechange = new Function();\r
+ this.onload = null;\r
+ };\r
+ };\r
+ \r
+ return {\r
+ load: function( _apiuser, _url, opt_onload, opt_onerror ){\r
+ _url = Util.getAbsolutePath( _url );\r
+ var t;\r
+ for( var i=TICKET_LIST.length; i; ){\r
+ t = TICKET_LIST[ --i ];\r
+ if( t.match( null, _url ) === true ){\r
+ if( t.match( _apiuser, _url ) === false ){\r
+ t.apiusers.push( _apiuser );\r
+ t.onload.push( opt_onload );\r
+ t.onerror( opt_onerror );\r
+ };\r
+ return;\r
+ };\r
+ };\r
+ var elm = doc.createElement( 'link' );\r
+ head.appendChild( elm );\r
+ elm.rel = 'stylesheet';\r
+ elm.type = 'text\/css';\r
+ elm.onreadystatechange = elm.onload = detect;\r
+ elm.href = _url;\r
+ \r
+ TICKET_LIST.push( new FetchCssTicketClass( _apiuser, _url, elm, opt_onload, opt_onerror ) );\r
+ },\r
+ unload: function( _apiuser, _url ){\r
+ _url = _url ? Util.getAbsolutePath( _url ) : null;\r
+ for( var i = 0; i < TICKET_LIST.length; ){\r
+ t = TICKET_LIST[ i ];\r
+ if( t.destroy( _apiuser, _url ) === true ){\r
+ TICKET_LIST.splice( i, 1 );\r
+ } else {\r
+ ++i;\r
+ }\r
+ };\r
+ }\r
+ }\r
+})();\r
+\r
+\r
/* ----------------------------------------\r
*
*/\r