OSDN Git Service

client is version0.4.12, added register Artist console (don't register...)
authoritozyun <itozyun@gmail.com>
Sun, 1 Apr 2012 10:14:50 +0000 (19:14 +0900)
committeritozyun <itozyun@gmail.com>
Sun, 1 Apr 2012 10:14:50 +0000 (19:14 +0900)
app/views/layouts/application.html.erb
public/assets/common.js
public/assets/system.js
public/assets/work.js

index 16ac966..c0778fb 100644 (file)
                        <!-- home -->\r
                                <div id="entrance" class="console-page main" style="display:block;">\r
                                        <%= yield %>\r
-                               <h3>クイックアクセス</h3>\r
-                               <p><a href="#" onclick="pettanr.view.show('editor');return false;">新しいコマを描く</a></p>\r
+                               <p><a href="#" onclick="pettanr.view.show('editor');return false;">新しいコマを描く(いまだけ)</a></p>\r
                                <p><a href="#" onclick="pettanr.comicConsole._quickAccessShow();return false;">新しいコミックをつくる</a></p>\r
                                <p><a href="#" onclick="pettanr.uploadConsole._quickAccessShow();return false;">画像のアップロード</a></p>\r
                                <p><a href="#" onclick="pettanr.panelConsole._quickAccessShow();return false;">コマの追加(開発用)</a></p>\r
+                               <p><a href="#" onclick="pettanr.artistConsole._quickAccessShow();return false;">アーティスト登録(すでに登録している場合も操作可能)</a></p>\r
                                <h3>座長からのお知らせ</h3>\r
                                <p>メンテナンスについて</p>\r
                        </div>\r
                                <div id="image-gruop-button" class="button">cancel</div>\r
                        </div>\r
 \r
+               <!-- 作家登録 -->\r
+                       <div id="artist-console-wrapper" class="console-wrapper">\r
+                               <div id="artist-console-header" class="console-header">Register Artist</div>\r
+                               <div id="artist-console" class="console-inner">\r
+                                       <div id="register"></div>\r
+                                       <div class="console-button-container">\r
+                                               <div id="artist-console-post-button" class="button console-submit-button">register</div>\r
+                                               <div id="artist-console-cancel-button" class="button console-cancel-button">cancel</div>\r
+                                       </div>\r
+                                       <div id="artist-console-progress" class="console-progress">&nbsp;</div>                                 \r
+                               </div>\r
+                       </div>\r
+\r
                <!-- パネルのポスト(テスト) -->\r
                        <div id="panel-console-wrapper" class="console-wrapper">\r
                                <div id="panel-console-header" class="console-header">Create New Panel (dev)</div>\r
                                <div id="panel-console" class="console-inner">\r
                                        <div id="newpanel"></div>\r
                                        <div class="console-button-container">\r
-                                               <div id="panel-console-post-button" class="button console-submit-button">upload</div>\r
+                                               <div id="panel-console-post-button" class="button console-submit-button">post</div>\r
                                                <div id="panel-console-cancel-button" class="button console-cancel-button">cancel</div>\r
                                        </div>\r
                                        <div id="panel-console-progress" class="console-progress">&nbsp;</div>                                  \r
index aa711ac..13120a3 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR common.js\r
- *   version 0.4.11\r
+ *   version 0.4.12\r
  * \r
  * author: itozyun\r
  */\r
@@ -771,6 +771,7 @@ pettanr.CONST = ( function(){
                CREATE_COMIC_JS:                        isLocal === true ? 'js\/create_new_comic.js' : PETTANR_ROOT_PATH + 'comics\/new.js',\r
                CREATE_PANEL_JS:                        isLocal === true ? 'js\/create_new_panel.js' : PETTANR_ROOT_PATH + 'panels\/new.js',\r
                UPLOAD_PICTURE_JS:                      isLocal === true ? 'js\/upload_picture.js' : PETTANR_ROOT_PATH + 'original_pictures\/new.js',\r
+               RESISTER_ARTIST_JS:                     isLocal === true ? 'js\/register_artist.js' : PETTANR_ROOT_PATH + 'artists\/new.js',\r
                JQUERY_URL:                                     isLocal === true ? 'javascripts\/jquery-1.6.2.min.js' : PETTANR_ROOT_PATH + 'assets\/jquery-162_min.js'\r
        }\r
 })();\r
index 42fa929..bb45944 100644 (file)
@@ -1308,6 +1308,7 @@ pettanr.fn( pettanr.editor);
 pettanr.fn( pettanr.comicConsole);
 pettanr.fn( pettanr.uploadConsole);
 pettanr.fn( pettanr.panelConsole);
+pettanr.fn( pettanr.artistConsole);
 
 pettanr.fn( pettanr.file);
 pettanr.fn( pettanr.finder);
index fe4a577..25d3256 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * pettanR work.js\r
- *   version 0.4.11\r
+ *   version 0.4.12\r
  *   \r
  * author:\r
  *   itozyun\r
@@ -4074,4 +4074,175 @@ pettanr.panelConsole = ( function(){
                        PANEL_CONSOLE.show( w, h);\r
                }\r
        }\r
+})();\r
+\r
+pettanr.artistConsole = ( function(){\r
+       var ARTIST_CONSOLE = ( function(){\r
+               var jqWrap,\r
+                       ID = 'artistConsole',\r
+                       TARGET_FRAME_NAME = 'targetFrameResisterArtist',\r
+                       elmContainer = document.getElementById( 'register'),\r
+                       elmProgress = document.getElementById( 'artist-console-progress'),\r
+                       timer = null,\r
+                       elmScript = null,\r
+                       elmForm = null,\r
+                       elmIframe = null,\r
+                       isUploading = false;\r
+               /*\r
+                * upload ボタンが押されたらまず iframe をつくる.\r
+                */\r
+               function clickOK(){\r
+                       if( !elmForm || !elmIframe || isUploading === true ) return false;\r
+                       elmProgress.innerHTML = 'uploading.';\r
+                       isUploading = true;\r
+                       submit();\r
+                       return false;\r
+               }\r
+               /*\r
+                * form の target に iframe を指定したのち submit();\r
+                */\r
+                       function submit(){\r
+                               try {\r
+                                       elmForm.submit();\r
+                               } catch( e){\r
+                                       elmProgress.innerHTML = 'submit() err..';\r
+                                       isUploading = false;\r
+                                       setTimeout( clickCancel , 3000);\r
+                                       return;\r
+                               }\r
+                               \r
+                               if( pettanr.ua.isIE){\r
+                                       elmIframe.onreadystatechange = detectIframe;\r
+                               } else {\r
+                                       elmIframe.onload = onLoad;\r
+                               }\r
+                               elmProgress.innerHTML = 'uploading..';\r
+                       }\r
+               /*\r
+                * ie の 場合、readyState をチェック.\r
+                */\r
+                               function detectIframe(){\r
+                           if ( elmIframe.readyState === 'complete') {\r
+                               elmIframe.onreadystatechange = new Function();\r
+                               elmIframe.onreadystatechange = null;\r
+                               onLoad();\r
+                           }\r
+                               }\r
+                                       function onLoad(){\r
+                                               elmIframe.onload = null;\r
+                                               ( elmIframe.contentWindow || elmIframe.contentDocument.parentWindow ).close();\r
+                                               elmProgress.innerHTML = 'success!';\r
+                                               setTimeout( clickCancel , 1000);\r
+                                               isUploading = false;\r
+                                       }\r
+               \r
+               function detectForm(){\r
+                       elmForm = elmContainer.getElementsByTagName( 'form' )[ 0 ];\r
+                       if( elmForm){\r
+                               var _inputList = elmForm.getElementsByTagName( 'input' ),\r
+                                       _input;\r
+                               for( var i=0, l= _inputList.length; i<l; ++i){\r
+                                       _input = _inputList[ i ];\r
+                                       if( _input.type === 'submit'){\r
+                                               _input.style.display = 'none';\r
+                                       }\r
+                               }\r
+                               window.clearInterval( timer);\r
+                               timer = null;\r
+                               pettanr.util.createIframe( TARGET_FRAME_NAME, onCreateIframe);\r
+                               elmProgress.innerHTML = 'create iframe';\r
+                       }\r
+               }\r
+               function onCreateIframe( _iframe ){\r
+                       elmContainer.appendChild( _iframe );\r
+                       elmIframe = _iframe;\r
+                       elmForm.target = _iframe.name;\r
+                       elmProgress.innerHTML = '';\r
+               }\r
+               /*\r
+                * \r
+                */\r
+               function clickCancel(){\r
+                       if( isUploading === true) return false;\r
+                       pettanr.overlay.hide();\r
+                       ARTIST_CONSOLE.onClose();\r
+                       return false;\r
+               }\r
+               \r
+               return {\r
+                       init: function(){\r
+                               this.jqWrap = jqWrap = $( '#artist-console-wrapper').hide();\r
+                               $( '#artist-console-post-button').click( clickOK );\r
+                               $( '#artist-console-cancel-button').click( clickCancel );\r
+\r
+                               delete ARTIST_CONSOLE.init;\r
+                       },\r
+                       jqWrap: null,\r
+                       show: function( w, h){\r
+                               /*\r
+                                * ie 6, 7 で fadeIn 中の要素に appendChild すると クラッシュするので、document.body に追加.\r
+                                */                             \r
+                               elmScript = document.createElement( 'script');\r
+                               elmScript.type = 'text\/javascript';\r
+                               elmScript.src = pettanr.CONST.RESISTER_ARTIST_JS;\r
+                               document.body.appendChild( elmScript);\r
+                               \r
+                               jqWrap.show();\r
+                               pettanr.overlay.show( ARTIST_CONSOLE );\r
+\r
+                               if( timer === null){\r
+                                       timer = window.setInterval( detectForm, 250 );\r
+                               }\r
+                               \r
+                               elmProgress.innerHTML = 'loading form.';\r
+                               \r
+                               ARTIST_CONSOLE.onWindowResize( w, h );\r
+                       },\r
+                       onWindowResize: function( _windowW, _windowH){\r
+                               jqWrap.css(\r
+                                       {\r
+                                               left:   Math.floor( ( _windowW -jqWrap.width()) /2),\r
+                                               top:    Math.floor( ( _windowH -jqWrap.height()) /2)\r
+                                       }\r
+                               );\r
+                       },\r
+                       onClose: function(){\r
+                               elmForm !== null && $( elmContainer.children ).remove();\r
+                               elmForm = elmIframe = null;\r
+                               isUploading = false;\r
+                               \r
+                               if( elmScript !== null ){\r
+                                       document.body.removeChild( elmScript);\r
+                                       elmScript = null;                                       \r
+                               }\r
+                               if( timer !== null){\r
+                                       window.clearInterval( timer);\r
+                                       timer = null;\r
+                               }\r
+                               jqWrap.hide();\r
+                       },\r
+                       ID: ID\r
+               }\r
+       })();\r
+       \r
+       return {\r
+               init: function(){\r
+                       ARTIST_CONSOLE.init();\r
+                       delete pettanr.comicConsole.init;\r
+               },\r
+               onOpen: function(){\r
+                       \r
+               },\r
+               onClose: function(){\r
+                       \r
+               },\r
+               onWindowResize: function( _windowW, _windowH){\r
+               },\r
+               _quickAccessShow: function(){\r
+                       jqWindow = pettanr.jqWindow();\r
+                       var w = jqWindow.width(),\r
+                               h = jqWindow.height();\r
+                       ARTIST_CONSOLE.show( w, h);\r
+               }\r
+       }\r
 })();
\ No newline at end of file