/*
* pettanR peta.apps.js
- * version 0.5.44
+ * version 0.5.49
*
* author:
* itozyun
data = createFileData( json, LICENSE_GROUP_ARRAY, 'name,caption,url,classname' );
addChildData( FILE_DATA_LISENCE_GROUP, data );
break;
-
+
+ // Speech Balloon Templete
+ case FILE_DATA_BALLOON_ROOT :
+ case BALLOON_TEMPLETE_ARRAY :
+ json.type = FILE_TYPE.BALLOON_TEMPLETE;
+ // register pettanr.balloon
+ pettanr.newBalloon.register( json.settings );
+ data = createFileData( json, BALLOON_TEMPLETE_ARRAY, 'name,caption,classname,settings' );
+ addChildData( FILE_DATA_BALLOON_ROOT, data );
+ break;
+
// Author
case FILE_DATA_AUTHOR_ROOT :
case AUTHOR_ARRAY :
return [ data.name, '先生' ].join( '' );
case FILE_TYPE.ARTIST :
return [ data.name, '画伯' ].join( '' );
+ case FILE_TYPE.BALLOON_TEMPLETE :
+ return [ data.id, data.caption ].join( ':' );
case FILE_TYPE.FOLDER :
};
return data.name;
return { className: 'file-type-author' };
case FILE_TYPE.ARTIST :
return { className: 'file-type-artist' };
+ case FILE_TYPE.BALLOON_TEMPLETE :
+ return { className: 'file-type-balloon' };
case FILE_TYPE.FOLDER :
return { className: 'file-type-folder' };
};
return 'author id:' + data.id;
case FILE_TYPE.ARTIST :
return [ 'artist id:', data.id, ' Email:', data.email || 'empty' , ', HP:', data.homepage_url || 'empty' ].join( '' );
+ case FILE_TYPE.BALLOON_TEMPLETE :
+ return data.name + ', ' + data.settings;
case FILE_TYPE.FOLDER :
return 'pettanR folder';
};
this.viewerApplicationList = function( file ){
var data = FileAPI.getFileData( file ),
type = data !== null ? data.type : null;
+ if( data === FILE_DATA_MY_ORIGINAL_PICTURES_ROOT ) return [ PremiumSatge ];
switch( type ){
case FILE_TYPE.COMIC :
case FILE_TYPE.PANEL :
break;
case FILE_TYPE.ARTIST :
return [ PremiumSatge ];
- default :
- if( data === FILE_DATA_MY_ORIGINAL_PICTURES_ROOT ){
- return [ PremiumSatge ];
- };
+ default :
};
return [];
};
STORY : FileAPI.createFileTypeID(),
PANEL : FileAPI.createFileTypeID(),
PANEL_ELEMENT : FileAPI.createFileTypeID(),
- BALLOON : FileAPI.createFileTypeID(),
+ BALLOON : FileAPI.createFileTypeID(),
+ BALLOON_TEMPLETE : FileAPI.createFileTypeID(),
ORIGINAL_PICTURE : FileAPI.createFileTypeID(),
RESOURCE_PICTURE : FileAPI.createFileTypeID(),
PICTURE : FileAPI.createFileTypeID(),
AUTHOR : FileAPI.createFileTypeID(),
ARTIST : FileAPI.createFileTypeID(),
LICENSE : FileAPI.createFileTypeID(),
- LICENSE_GROUP : FileAPI.createFileTypeID()
+ LICENSE_GROUP : FileAPI.createFileTypeID(),
}
),
AUTHOR_ARRAY = [],
children: []
},
FILE_DATA_BALLOON_ROOT = {
- name: 'Balloon templetes',
+ name: 'Balloon Templetes',
type: FILE_TYPE.FOLDER,
- children: []
+ children: [],
+ driver: Driver,
+ json: pettanr.CONST.SPEECH_BALOON_TEMPLETE
};
FILE_DATA_SERVICE_ROOT.children.push( FILE_DATA_COMICS_ROOT, FILE_DATA_RESOURCE_PICTURES_ROOT, FILE_DATA_ORIGINAL_PICTURES_ROOT, FILE_DATA_LISENCE_ROOT, FILE_DATA_BALLOON_ROOT );
FILE_DATA_COMICS_ROOT.children.push( FILE_DATA_MY_COMICS_ROOT, FILE_DATA_LATEST_COMICS, FILE_DATA_AUTHOR_ROOT, FILE_DATA_STORY_ROOT, FILE_DATA_PANELS_ROOT );
var ImageGroupIconClass = function( index, data ){
var elmIconWrap = elmIconOrigin.cloneNode( true ),
elmIconTitle = Util.getElementsByClassName( elmIconWrap, 'image-group-item-title' )[ 0 ],
- originalPicture = data.original_picture,
+ originalPicture = data.original_picture || data,
SRC = [ BASE_PATH, data.id, '.', data.ext ].join( ''),
- LOW_SRC = originalPicture.filesize && originalPicture.filesize > LIMIT_FILESIZE ? [ THUMB_PATH, data.id, '.', originalPicture.ext ].join( '') : null,
+ LOW_SRC = originalPicture.filesize && originalPicture.filesize > LIMIT_FILESIZE ? [ THUMB_PATH, data.id, '.', data.ext ].join( '' ) : null,
reversibleImage = null,
timer = null,
onEnterFlag = false,
var ELM_ITEM_CLASSNAME = 'menubar-item',
currentMenu = null,
elmBar, elmBox,
- nodeBar, nodeBox,
+ nodeBar, nodeBox, layerBox,
barH, menuW;
/** -----------------------------------------
* PrivateOptionDataClass
};
MenuClass.prototype = {
show: function(){
- data = MenuPrivateDataClass.get( this );
+ var data = MenuPrivateDataClass.get( this );
if( data.visible === true ) return;
data.elm.className = ELM_ITEM_CLASSNAME + '-focus';
},
firstOpen : function(){
var win = this.window,
- elmHead = this.elmHead = Util.getElementsByClassName( this.elm, 'window-header' )[ 0 ];
+ elmHead = this.elmHead = Util.getElementsByClassName( this.elm, 'window-header' )[ 0 ],
elmBody = this.elmBody = Util.getElementsByClassName( this.elm, 'window-body' )[ 0 ],
elmClose = Util.getElementsByClassName( this.elm, 'window-close-button' )[ 0 ],
elmFoot = Util.getElementsByClassName( this.elm, 'window-footer' )[ 0 ],
{ x: 1, w: -1, y: 0, h: 1}, //bottom-left
{ x: 0, w: 1, y: 0, h: 1} //bottom-right
],
- startX, startY, startW, startH, startFilpV, startFilpH, startAspect,
+ startX, startY, startW, startH,
+ flipV, flipH, startFilpV, startFilpH, startAspect,
baseX, baseY, baseW, baseH,
currentX, currentY, currentW, currentH,
offsetX, offsetY,
pushoutH = 0,
pushout = false,
currentType = -1,
+ currentElement = null,
visible = false,
node = null,
- ui, inputX, inputY, inputZ, inputA, inputW, inputH, inputAspectRatio,
+ ui, inputX, inputY, inputZ, inputA, inputW, inputH, inputPercentW, inputPercentH, inputAspectRatio,
buttonBack, buttonForward, buttonDel, buttonEdit, butonChange;
function layerBack(){
};
function change(){
if( currentElement === null ) return;
- PremiumSatge.boot( currentElement.artistID, currentElement.resourcePicture, currentElement );
+ PremiumSatge.boot( currentElement.artistID, currentElement.realPicture, currentElement );
};
return {
this.$ = jqImageElementOrigin.clone( true );
this.data = data;
this.z = data.z;
- this.timing = data.t || PANEL_ELEMENT_ARRAY.length + 1;
+ this.timing = data.t || PANEL_ELEMENT_ARRAY.length;
this.keepSize = false;
this.flipV = data.height < 0 ? -1 : 1;
this.flipH = data.width < 0 ? -1 : 1;
this.rPicture = data.picture;
- //this.oPicture = this.rPicture.original_picture;
- //this.artistID = this.oPicture.artist.id || -1;
var self = this;
function animeComplete(){
this.flipV = updateV === true ? -this.flipV : this.flipV;
this.reversibleImage.resize( this.flipH * this.w, this.flipV * this.h );
},
- resourcePicture : function( _rPicture ){
+ realPicture : function( _rPicture ){
if( _rPicture && _rPicture !== this.rPicture ){
HISTORY_CONTROL.saveState( this._updateResourcePicture, this.rPicture, _rPicture, this );
this._updateResourcePicture( _rPicture );
this.actualH = this.oPicture.height;
var _reversibleImage = pettanr.image.createReversibleImage(
- [ pettanr.CONST.RESOURCE_PICTURE_PATH, this.rPicture.id, '.', this.rPicture.ext ].join( '' ),
+ [ pettanr.CONST.PICTURE_PATH, this.rPicture.id, '.', this.rPicture.ext ].join( '' ),
this.flipH * this.w, this.flipV * this.h
);
if( this.reversibleImage !== null ){
})();
this.balloon = pettanr.balloon.createBalloon( data.width, data.height, data.tail, this.type );
this.z = data.z;
- this.timing = data.t || PANEL_ELEMENT_ARRAY.length + 1;
+ this.timing = data.t || PANEL_ELEMENT_ARRAY.length;
this.$.find( 'img' ).eq( 0 ).replaceWith( this.balloon.elm );
var _panelElement;
if( isPanelPictureData !== true ){
_panelElement = new ImageElementClass( {
- picture : data,
+ picture : data.picture,
x : Math.floor( panelW / 2 - data.width / 2 ),
y : Math.floor( panelH / 2 - data.height / 2 ),
z : -1,
- t : PANEL_ELEMENT_ARRAY.length + 1,
+ t : 0,
width : 1,
height : 1
});
x: Math.floor( panelW / 2 - 100 + Math.random() * 10 ),
y: Math.floor( panelH / 2 - 100 + Math.random() * 10 ),
z: -1,
- t: PANEL_ELEMENT_ARRAY.length + 1,
+ t: 0,
width: 200,
height: 200,
speeches_attributes: {
function getPanelElementByTiming(){
var i, l = panelElementArray.length;
while( timing < l * 2 ){
- for( i=0; i<l; ++i ){
+ for( i = 0; i < l; ++i ){
if( timing === panelElementArray[ i ].timing ){
// console.log( timing + ' , ' + panelElementArray[ i ].timing );
++timing;
return null;
};
function panelElementToHtml( _panelElement, isAbsoluteUrl, isXHTML ){
- var url;
+ var rPic, url;
if( _panelElement.type === 0 ){
- url = [ pettanr.CONST.RESOURCE_PICTURE_PATH, _panelElement.resourcePicture().id, '.', _panelElement.resourcePicture().ext ].join( '' );
+ rPic = _panelElement.realPicture();
+ url = [ pettanr.CONST.RESOURCE_PICTURE_PATH, rPic.id, '.', rPic.ext ].join( '' );
return [
'<img ',
'src="', isAbsoluteUrl !== true ? url : Util.getAbsolutePath( url ), '" ',
};
};
function getImageJsonGET( _imageElement ){
- var cr = pettanr.LINE_FEED_CODE_TEXTAREA;
+ var cr = pettanr.LINE_FEED_CODE_TEXTAREA,
+ rPic = _imageElement.realPicture();
return [
'{', cr,
'"resource_picture": {', cr,
- '"id": ', _imageElement.resourcePicture().id, ',', cr,
- '"ext": ', '"',_imageElement.resourcePicture().ext, '"', cr,
+ '"id": ', rPic.id, ',', cr,
+ '"ext": ', '"', rPic.ext, '"', cr,
'},', cr,
'"x": ', _imageElement.x, ',', cr,
'"y": ', _imageElement.y, ',', cr,
'}'
].join( '');
};
- function imageToJson( _imageElement, _timing ){
+ function imageToJson( _imageElement, t ){
var cr = pettanr.LINE_FEED_CODE_TEXTAREA;
return [
'{', cr,
- '"picture_id": ', _imageElement.resourcePicture().id, ',', cr,
+ '"picture_id": ', _imageElement.realPicture().id, ',', cr,
'"x": ', _imageElement.x, ',', cr,
'"y": ', _imageElement.y, ',', cr,
'"z": ', _imageElement.z + 1, ',', cr,
- '"t": ', _timing, ',', cr,
+ '"t": ', t, ',', cr,
'"width": ', _imageElement.flipH * _imageElement.w, ',', cr,
'"height": ', _imageElement.flipV * _imageElement.h, cr,
'}'
].join( '');
};
- function balloonToJson( _textElement, _timing ){
+ function balloonToJson( _textElement, t ){
var cr = pettanr.LINE_FEED_CODE_TEXTAREA;
return [
'{', cr,
- '"balloon_template_id": ', 1, ',', cr,
- '"system_picture_id": ', 1, ',', cr,
- '"size": ', 1, ',', cr,
- '"tail": ', _textElement.a, ',', cr,
- '"x": ', _textElement.x, ',', cr,
- '"y": ', _textElement.y, ',', cr,
- '"z": ', _textElement.z + 1, ',', cr,
- '"t": ', timing, ',', cr,
- '"width": ', _textElement.w, ',', cr,
- '"height": ', _textElement.h, ',', cr,
- '"speeches_attributes": {', cr,
- '"newf', timing, '": {', cr,
- '"content": "', _textElement.content, '",', cr,
+ '"speech_balloon_template_id": ', 1, ',', cr,
+ '"classname": "Square",',
+ '"z": ', _textElement.z + 1, ',', cr,
+ '"t": ', t, ',', cr,
+ '"settings": "{\'tail\':' + _textElement.a + '}",',
+ '"balloons_attributes": {', cr,
+ '"newb', t, '": {', cr,
+ '"system_picture_id": ', 2, ',', cr,
+ '"caption": "alt text",', cr,
'"x": ', _textElement.x, ',', cr,
'"y": ', _textElement.y, ',', cr,
- '"t": ', timing, ',', cr,
'"width": ', _textElement.w, ',', cr,
'"height": ', _textElement.h, cr,
'}', cr,
+ '},', cr,
+ '"speeches_attributes": {', cr,
+ '"news', t, '": {', cr,
+ '"content": "', _textElement.content, '",', cr,
+ '"x": ', Math.floor( _textElement.w * 0.16 ), ',', cr,
+ '"y": ', Math.floor( _textElement.w * 0.16 ), ',', cr,
+ '"width": ', Math.floor( _textElement.w * 0.66 ), ',', cr,
+ '"height": ', Math.floor( _textElement.h * 0.66 ), cr,
+ '}', cr,
'}', cr,
'}'
].join( '');
comboboxFormat, inputOption,
buttonSubmit, buttonClose,
windowW, windowH,
- timing = 0,
comicID, panelID, panelTimming, panelW, panelH, borderSize, panelElementArray,
app = this,
model = null;
this.onClose = function(){
elmOutputArea.value = '';
model.destroy();
- elmOutputArea = comboboxFormat = inputOption = buttonSubmit = buttonClose = panelElementArray = instance = model = null;
+ elmOutputArea = comboboxFormat = inputOption = buttonSubmit = buttonClose = panelElementArray = model = null;
};
}, true, false, 'Output Console', 'outputConsole', null, '#2D89F0' );