Skip to content
This repository
Browse code

クライアントサイドのプログラムにコメントを追加

  • Loading branch information...
commit 8de3416710cdfbd2548a4b87584308f9bfddab93 1 parent 1aaf52b
Yuya Nishiyama authored November 12, 2012

Showing 35 changed files with 382 additions and 6 deletions. Show diff stats Hide diff stats

  1. 6  public/js/chatroomApp.js
  2. 5  public/js/createChatroomApp.js
  3. 5  public/js/deactivationApp.js
  4. 5  public/js/deleteChatroomApp.js
  5. 38  public/js/dist/chatroom.js
  6. 10  public/js/dist/common.js
  7. 21  public/js/dist/createChatroom.js
  8. 13  public/js/dist/deactivation.js
  9. 13  public/js/dist/deleteChatroom.js
  10. 20  public/js/dist/login.js
  11. 41  public/js/dist/mypage.js
  12. 19  public/js/dist/register.js
  13. 24  public/js/dist/top.js
  14. 6  public/js/loginApp.js
  15. 5  public/js/menu.js
  16. 5  public/js/models/chat.js
  17. 5  public/js/models/chatroom.js
  18. 6  public/js/models/login.js
  19. 5  public/js/models/user.js
  20. 5  public/js/mypageApp.js
  21. 6  public/js/registerApp.js
  22. 8  public/js/templates/chat.js
  23. 7  public/js/templates/chatroom.js
  24. 10  public/js/templates/mypage.js
  25. 5  public/js/topApp.js
  26. 7  public/js/upload.js
  27. 5  public/js/util.js
  28. 17  public/js/views/chat.js
  29. 11  public/js/views/createChatroom.js
  30. 8  public/js/views/deactivation.js
  31. 8  public/js/views/deleteChatroom.js
  32. 8  public/js/views/login.js
  33. 16  public/js/views/mypage.js
  34. 8  public/js/views/register.js
  35. 7  public/js/views/top.js
6  public/js/chatroomApp.js
... ...
@@ -1,3 +1,9 @@
  1
+/******************************************************************
  2
+ * 部屋詳細画面の起点となるスクリプト
  3
+ * Socket.IOの初期化処理を実行
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
   var host = $('html').data('host');
5  public/js/createChatroomApp.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * 部屋作成画面の起点となるスクリプト
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
5  public/js/deactivationApp.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * 退会画面の起点となるスクリプト
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
5  public/js/deleteChatroomApp.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * 部屋削除画面の起点となるスクリプト
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
38  public/js/dist/chatroom.js
... ...
@@ -1,9 +1,16 @@
  1
+/******************************************************************
  2
+ * チャット関連のHTMLテンプレートを動的に生成するスクリプト
  3
+ * Handlebarsライブラリを使用
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
   syaberi.templates = this.syaberi.templates != null ? this.syaberi.templates : this.syaberi.templates = {};
4 10
 
5 11
   syaberi.templates.chat = {};
6 12
 
  13
+  //オーナーの発言を表示するテンプレート
7 14
   syaberi.templates.chat.chatL = Handlebars.compile(
8 15
     '<div class="message-owner-inbox" id="chat-content-{{chatId}}">\
9 16
         <div class="owner-icon">\
@@ -29,6 +36,7 @@
29 36
     </div>'
30 37
   );
31 38
 
  39
+  //オーナー以外のユーザーの発言を表示するテンプレート
32 40
   syaberi.templates.chat.chatR = Handlebars.compile(
33 41
     '<div class="message-member-inbox" id="chat-content-{{chatId}}">\
34 42
         <div class="member-icon">\
@@ -59,6 +67,11 @@
59 67
 
60 68
 }).call(this);
61 69
 
  70
+/******************************************************************
  71
+ * チャット情報を扱うBackbone.jsのModel/Collectionクラス
  72
+ ******************************************************************/
  73
+
  74
+
62 75
 (function() {
63 76
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
64 77
 
@@ -82,6 +95,11 @@
82 95
 
83 96
 }).call(this);
84 97
 
  98
+/******************************************************************
  99
+ * チャット情報を扱うBackbone.jsのViewクラス
  100
+ * 部屋詳細画面のロジックを記述
  101
+ ******************************************************************/
  102
+
85 103
 (function() {
86 104
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
87 105
   var CHAT_COMMENT = 1;
@@ -103,6 +121,7 @@
103 121
       this.uploadCancelFlg = 0;
104 122
       this._csrf = $('#_csrf').val(); //for CSRF
105 123
     },
  124
+    //チャット投稿処理
106 125
     submit: function(event) {
107 126
       var message = $.trim($('#message1').val());
108 127
 
@@ -129,6 +148,7 @@
129 148
         return false;
130 149
       }
131 150
     },
  151
+    //チャット入力フィールドのキーボード入力を監視
132 152
     keydown: function(event) {
133 153
       //shiftKey だったら改行
134 154
       if (event.shiftKey === true) {
@@ -141,6 +161,7 @@
141 161
         }
142 162
       }
143 163
     },
  164
+    //チャット削除処理
144 165
     destroy: function(event) {
145 166
       if (window.confirm('本当に削除しますか?')) {
146 167
         var target = $(event.target);
@@ -157,6 +178,8 @@
157 178
         });
158 179
       }
159 180
     },
  181
+    //参加申請を承認する処理
  182
+    //(参加申請機能が無くなった為現在は未使用)
160 183
     invite: function(event) {
161 184
       var target = $(event.target);
162 185
       var memberId = target.data('userid');
@@ -174,6 +197,8 @@
174 197
         });
175 198
       }
176 199
     },
  200
+    //ファイルアップロード処理
  201
+    //(未実装の為現在は未使用)
177 202
     upload: function() {
178 203
       $('#uploadings_input').upload('/upload', function(res) {
179 204
 
@@ -210,6 +235,8 @@
210 235
         }
211 236
       }, 'html');
212 237
     },
  238
+    //ファイルアップロード処理
  239
+    //(未実装の為現在は未使用)
213 240
     uploadOff: function() {
214 241
       //添付とコメントを同時に投稿できぬようテキストエリアをdisable化を解除
215 242
       $('#message1').removeAttr('disabled');
@@ -218,6 +245,7 @@
218 245
         this.uploadCancelFlg = 0;
219 246
       }
220 247
     },
  248
+    //チャット投稿後に呼ばれるチャット表示処理
221 249
     appendMessage: function(data) {
222 250
       var chatTemplate;
223 251
       var status = $('html').data('status');
@@ -276,12 +304,13 @@
276 304
         }, "slow");
277 305
       }
278 306
     },
  307
+    //チャット削除後に呼ばれるチャット削除表示処理
279 308
     destroyMessage: function(data) {
280 309
       var chatId = data.chatId;
281 310
       var userId = $('html').data('userid');
282 311
       var ownerId = $('html').data('ownerid');
283 312
 
284  
-      //申込者の投稿フォームを復活
  313
+      //申込者の投稿フォームを復活(参加申請機能で使用)
285 314
       if (userId && ownerId != userId && data.userId === userId) {
286 315
         $('#section_thread_bottom').animate({
287 316
           height:'show',
@@ -300,6 +329,7 @@
300 329
     },
301 330
     render: function() {
302 331
     },
  332
+    //チャット投稿後にチャット入力フィールドを空にする処理
303 333
     clearInputUserMessage: function() {
304 334
       $('#message1').val('').focus();
305 335
 
@@ -311,6 +341,12 @@
311 341
 
312 342
 }).call(this);
313 343
 
  344
+/******************************************************************
  345
+ * 部屋詳細画面の起点となるスクリプト
  346
+ * Socket.IOの初期化処理を実行
  347
+ ******************************************************************/
  348
+
  349
+
314 350
 (function() {
315 351
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
316 352
   var host = $('html').data('host');
10  public/js/dist/common.js
@@ -14613,6 +14613,11 @@ Handlebars.VM = {
14613 14613
 Handlebars.template = Handlebars.VM.template;
14614 14614
 ;
14615 14615
 
  14616
+/******************************************************************
  14617
+ * ヘッダーメニューに関連する処理を記述しているスクリプト
  14618
+ ******************************************************************/
  14619
+
  14620
+
14616 14621
 (function() {
14617 14622
 
14618 14623
   var fukidashi_my = 0;
@@ -14653,6 +14658,11 @@ Handlebars.template = Handlebars.VM.template;
14653 14658
 
14654 14659
 }).call(this);
14655 14660
 
  14661
+/******************************************************************
  14662
+ * 自作のユーティリティ関数を記述するスクリプト
  14663
+ ******************************************************************/
  14664
+
  14665
+
14656 14666
 (function() {
14657 14667
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
14658 14668
 
21  public/js/dist/createChatroom.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * 部屋情報を扱うBackbone.jsのModel/Collectionクラス
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
@@ -43,6 +48,12 @@
43 48
 
44 49
 }).call(this);
45 50
 
  51
+/******************************************************************
  52
+ * 部屋情報を扱うBackbone.jsのViewクラス
  53
+ * 部屋作成画面のロジックを記述
  54
+ ******************************************************************/
  55
+
  56
+
46 57
 (function() {
47 58
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
48 59
 
@@ -58,6 +69,7 @@
58 69
       Backbone.Validation.bind(this);
59 70
       this._csrf = $('#_csrf').val(); //for CSRF
60 71
     },
  72
+    //部屋作成の実行処理
61 73
     submit: function(event) {
62 74
       event.preventDefault();
63 75
       var self = this;
@@ -118,19 +130,23 @@
118 130
         self._setSearchText($('#title2'));
119 131
       });
120 132
     },
  133
+    //タイトル入力フィールドのテキスト表示処理
121 134
     clearSearchText: function(event) {
122 135
       var target = $(event.target);
123 136
       this._clearSearchText(target);
124 137
     },
  138
+    //タイトル入力フィールドのテキスト表示処理
125 139
     _clearSearchText: function(target) {
126 140
       if (target.val() === target.prop('defaultValue')) {
127 141
         target.css('color', '#000').val('');
128 142
       }
129 143
     },
  144
+    //タイトル入力フィールドのテキスト表示処理
130 145
     setSearchText: function(event) {
131 146
       var target = $(event.target);
132 147
       this._setSearchText(target);
133 148
     },
  149
+    //タイトル入力フィールドのテキスト表示処理
134 150
     _setSearchText: function(target) {
135 151
       if($.trim(target.val()) === "") {
136 152
         target.css('color', '#999')
@@ -143,6 +159,11 @@
143 159
 
144 160
 }).call(this);
145 161
 
  162
+/******************************************************************
  163
+ * 部屋作成画面の起点となるスクリプト
  164
+ ******************************************************************/
  165
+
  166
+
146 167
 (function() {
147 168
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
148 169
 
13  public/js/dist/deactivation.js
... ...
@@ -1,3 +1,9 @@
  1
+/******************************************************************
  2
+ * 退会情報を扱うBackbone.jsのViewクラス
  3
+ * 退会画面のロジックを記述
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
@@ -10,6 +16,7 @@
10 16
     initialize: function() {
11 17
       this._csrf = $('#_csrf').val(); //for CSRF
12 18
     },
  19
+    //退会処理を実行
13 20
     submit: function(event) {
14 21
       event.preventDefault();
15 22
       var self = this;
@@ -23,6 +30,7 @@
23 30
         }
24 31
       });
25 32
     },
  33
+    //キャンセル処理を実行
26 34
     cancel: function(event) {
27 35
       event.preventDefault();
28 36
       location.href = '/mypage';
@@ -33,6 +41,11 @@
33 41
 
34 42
 }).call(this);
35 43
 
  44
+/******************************************************************
  45
+ * 退会画面の起点となるスクリプト
  46
+ ******************************************************************/
  47
+
  48
+
36 49
 (function() {
37 50
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
38 51
 
13  public/js/dist/deleteChatroom.js
... ...
@@ -1,3 +1,9 @@
  1
+/*******************************************
  2
+ * 部屋の削除を扱うBackbone.jsのViewクラス
  3
+ * 部屋削除画面のロジックを記述
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
@@ -10,6 +16,7 @@
10 16
     initialize: function() {
11 17
       this._csrf = $('#_csrf').val(); //for CSRF
12 18
     },
  19
+    //部屋の削除処理を実行
13 20
     submit: function(event) {
14 21
       event.preventDefault();
15 22
       var self = this;
@@ -24,6 +31,7 @@
24 31
         }
25 32
       });
26 33
     },
  34
+    //キャンセル処理を実行
27 35
     cancel: function(event) {
28 36
       event.preventDefault();
29 37
       var chatroomId = $('html').data('chatroom');
@@ -36,6 +44,11 @@
36 44
 
37 45
 }).call(this);
38 46
 
  47
+/******************************************************************
  48
+ * 部屋削除画面の起点となるスクリプト
  49
+ ******************************************************************/
  50
+
  51
+
39 52
 (function() {
40 53
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
41 54
 
20  public/js/dist/login.js
... ...
@@ -1,3 +1,9 @@
  1
+/******************************************************************
  2
+ * ログイン情報を扱うBackbone.jsのModel/Collectionクラス
  3
+ * (オリジナルアカウント管理が無くなった為現在は未使用)
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
@@ -16,6 +22,13 @@
16 22
 
17 23
 }).call(this);
18 24
 
  25
+/******************************************************************
  26
+ * ログイン情報を扱うBackbone.jsのViewクラス
  27
+ * ログイン画面のロジックを記述
  28
+ * (オリジナルアカウント管理が無くなった為現在は未使用)
  29
+ ******************************************************************/
  30
+
  31
+
19 32
 (function() {
20 33
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
21 34
 
@@ -28,6 +41,7 @@
28 41
       this.model = new syaberi.Login;
29 42
       Backbone.Validation.bind(this);
30 43
     },
  44
+    //ログイン認証処理を実行
31 45
     submit: function(event) {
32 46
       event.preventDefault();
33 47
       var email = $.trim($('#email').val());
@@ -54,6 +68,12 @@
54 68
 
55 69
 }).call(this);
56 70
 
  71
+/******************************************************************
  72
+ * オリジナルログイン画面の起点となるスクリプト
  73
+ * (オリジナルアカウント管理が無くなった為現在は未使用)
  74
+ ******************************************************************/
  75
+
  76
+
57 77
 (function() {
58 78
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
59 79
 
41  public/js/dist/mypage.js
... ...
@@ -1,10 +1,16 @@
  1
+/******************************************************************
  2
+ * マイページ関連のHTMLテンプレートを動的に生成するスクリプト
  3
+ * Handlebarsライブラリを使用
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
   syaberi.templates = this.syaberi.templates != null ? this.syaberi.templates : this.syaberi.templates = {};
4 10
 
5 11
   syaberi.templates.mypage = {};
6 12
 
7  
-  //チャットルーム一覧
  13
+  //作成した部屋/参加中の部屋一覧のテンプレート
8 14
   syaberi.templates.mypage.list = Handlebars.compile(
9 15
     '<div class="room">\
10 16
         <div class="room-inbox">\
@@ -35,7 +41,7 @@
35 41
     </div>'
36 42
   );
37 43
 
38  
-  //プロフィール編集
  44
+  //プロフィール設定のテンプレート
39 45
   syaberi.templates.mypage.profile = Handlebars.compile(
40 46
       '<form method="" action="" style="padding-top:20px;">\
41 47
           <table>\
@@ -72,6 +78,11 @@
72 78
 
73 79
 }).call(this);
74 80
 
  81
+/******************************************************************
  82
+ * ユーザー情報を扱うBackbone.jsのModel/Collectionクラス
  83
+ ******************************************************************/
  84
+
  85
+
75 86
 (function() {
76 87
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
77 88
 
@@ -105,6 +116,11 @@
105 116
 
106 117
 }).call(this);
107 118
 
  119
+/******************************************************************
  120
+ * 部屋情報を扱うBackbone.jsのModel/Collectionクラス
  121
+ ******************************************************************/
  122
+
  123
+
108 124
 (function() {
109 125
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
110 126
 
@@ -150,6 +166,12 @@
150 166
 
151 167
 }).call(this);
152 168
 
  169
+/******************************************************************
  170
+ * マイページ情報を扱うBackbone.jsのViewクラス
  171
+ * マイページ画面のロジックを記述
  172
+ ******************************************************************/
  173
+
  174
+
153 175
 (function() {
154 176
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
155 177
 
@@ -172,28 +194,34 @@
172 194
       this._csrf = $('#_csrf').val(); //for CSRF
173 195
       Backbone.Validation.bind(this);
174 196
     },
  197
+    //作成した部屋一覧の取得処理
175 198
     getOwnerChatrooms: function(event) {
176 199
       this.init_list();
177 200
       $('li', '#owner-chatrooms').addClass('active');
178 201
       this.mode = 'owner';
179 202
       this.getChatrooms();
180 203
     },
  204
+    //申請中の部屋一覧の取得処理
  205
+    //(参加申請機能が無くなった為現在は未使用)
181 206
     getEntryChatrooms: function(event) {
182 207
       this.init_list();
183 208
       $('li', '#entry-chatrooms').addClass('active');
184 209
       this.mode = 'entry';
185 210
       this.getChatrooms();
186 211
     },
  212
+    //参加中の部屋一覧の取得処理
187 213
     getJoinChatrooms: function(event) {
188 214
       this.init_list();
189 215
       $('li', '#join-chatrooms').addClass('active');
190 216
       this.mode = 'join';
191 217
       this.getChatrooms();
192 218
     },
  219
+    //「もっと見る」の実行処理
193 220
     getMore: function(event) {
194 221
       var page = this.collection.nextPage;
195 222
       this.getChatrooms(page);
196 223
     },
  224
+    //部屋一覧を取得する共通処理
197 225
     getChatrooms: function(page) {
198 226
       var self = this;
199 227
       page = page || 1;
@@ -227,6 +255,7 @@
227 255
         }
228 256
       });
229 257
     },
  258
+    //プロフィール設定を表示
230 259
     showProfile: function(event) {
231 260
       var userName = $('html').data('profilename');
232 261
       var email = $('html').data('profileemail');
@@ -244,6 +273,7 @@
244 273
       });
245 274
       $('#article_area').append(template);
246 275
     },
  276
+    //プロフィール更新処理を実行
247 277
     editProfile: function(event) {
248 278
       event.preventDefault();
249 279
       var userId = $('html').data('profileid');
@@ -285,6 +315,8 @@
285 315
     render: function() {
286 316
       this.getOwnerChatrooms();
287 317
     },
  318
+    //部屋一覧を初期化
  319
+    //部屋一覧を取得時に事前に実行
288 320
     init_list: function() {
289 321
       $('li', '#owner-chatrooms').removeClass('active');
290 322
       $('li', '#join-chatrooms').removeClass('active');
@@ -295,6 +327,11 @@
295 327
 
296 328
 }).call(this);
297 329
 
  330
+/******************************************************************
  331
+ * マイページ画面の起点となるスクリプト
  332
+ ******************************************************************/
  333
+
  334
+
298 335
 (function() {
299 336
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
300 337
 
19  public/js/dist/register.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * ユーザー情報を扱うBackbone.jsのModel/Collectionクラス
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
@@ -31,6 +36,13 @@
31 36
 
32 37
 }).call(this);
33 38
 
  39
+/******************************************************************
  40
+ * ユーザー登録を扱うBackbone.jsのViewクラス
  41
+ * ユーザー登録画面のロジックを記述
  42
+ * Twitter認証後に呼び出される
  43
+ ******************************************************************/
  44
+
  45
+
34 46
 (function() {
35 47
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
36 48
 
@@ -44,6 +56,7 @@
44 56
       this._csrf = $('#_csrf').val(); //for CSRF
45 57
       Backbone.Validation.bind(this);
46 58
     },
  59
+    //ユーザー登録実行処理
47 60
     submit: function(event) {
48 61
       event.preventDefault();
49 62
       var userName = $.trim($('#userName').val());
@@ -92,6 +105,12 @@
92 105
 
93 106
 }).call(this);
94 107
 
  108
+/******************************************************************
  109
+ * ユーザー新規登録画面の起点となるスクリプト
  110
+ * Twitter認証後に呼び出される
  111
+ ******************************************************************/
  112
+
  113
+
95 114
 (function() {
96 115
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
97 116
 
24  public/js/dist/top.js
... ...
@@ -1,9 +1,16 @@
  1
+/******************************************************************
  2
+ * 部屋関連のHTMLテンプレートを動的に生成するスクリプト
  3
+ * Handlebarsライブラリを使用
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
   syaberi.templates = this.syaberi.templates != null ? this.syaberi.templates : this.syaberi.templates = {};
4 10
 
5 11
   syaberi.templates.chatroom = {};
6 12
 
  13
+  //トップページの「もっと見る」をクリックした時に追記される部屋一覧のテンプレート
7 14
   syaberi.templates.chatroom.list = Handlebars.compile(
8 15
     '<div class="room">\
9 16
         <div class="room-inbox">\
@@ -64,6 +71,11 @@
64 71
 
65 72
 }).call(this);
66 73
 
  74
+/******************************************************************
  75
+ * 部屋情報を扱うBackbone.jsのModel/Collectionクラス
  76
+ ******************************************************************/
  77
+
  78
+
67 79
 (function() {
68 80
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
69 81
 
@@ -109,6 +121,12 @@
109 121
 
110 122
 }).call(this);
111 123
 
  124
+/******************************************************************
  125
+ * トップページ情報を扱うBackbone.jsのViewクラス
  126
+ * トップページ画面のロジックを記述
  127
+ ******************************************************************/
  128
+
  129
+
112 130
 (function() {
113 131
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
114 132
 
@@ -122,6 +140,7 @@
122 140
     initialize: function() {
123 141
       this.collection = new syaberi.Chatrooms;
124 142
     },
  143
+    //部屋一覧の「もっと見る」をクリック時の処理
125 144
     getMore: function(event) {
126 145
       $('#view-more-events').hide();
127 146
       $('#view-more-loader').show();
@@ -150,6 +169,11 @@
150 169
 
151 170
 }).call(this);
152 171
 
  172
+/******************************************************************
  173
+ * トップページ画面の起点となるスクリプト
  174
+ ******************************************************************/
  175
+
  176
+
153 177
 (function() {
154 178
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
155 179
 
6  public/js/loginApp.js
... ...
@@ -1,3 +1,9 @@
  1
+/******************************************************************
  2
+ * オリジナルログイン画面の起点となるスクリプト
  3
+ * (オリジナルアカウント管理が無くなった為現在は未使用)
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
5  public/js/menu.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * ヘッダーメニューに関連する処理を記述しているスクリプト
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
 
3 8
   var fukidashi_my = 0;
5  public/js/models/chat.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * チャット情報を扱うBackbone.jsのModel/Collectionクラス
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
5  public/js/models/chatroom.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * 部屋情報を扱うBackbone.jsのModel/Collectionクラス
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
6  public/js/models/login.js
... ...
@@ -1,3 +1,9 @@
  1
+/******************************************************************
  2
+ * ログイン情報を扱うBackbone.jsのModel/Collectionクラス
  3
+ * (オリジナルアカウント管理が無くなった為現在は未使用)
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
5  public/js/models/user.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * ユーザー情報を扱うBackbone.jsのModel/Collectionクラス
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
5  public/js/mypageApp.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * マイページ画面の起点となるスクリプト
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
6  public/js/registerApp.js
... ...
@@ -1,3 +1,9 @@
  1
+/******************************************************************
  2
+ * ユーザー新規登録画面の起点となるスクリプト
  3
+ * Twitter認証後に呼び出される
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
8  public/js/templates/chat.js
... ...
@@ -1,9 +1,16 @@
  1
+/******************************************************************
  2
+ * チャット関連のHTMLテンプレートを動的に生成するスクリプト
  3
+ * Handlebarsライブラリを使用
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
   syaberi.templates = this.syaberi.templates != null ? this.syaberi.templates : this.syaberi.templates = {};
4 10
 
5 11
   syaberi.templates.chat = {};
6 12
 
  13
+  //オーナーの発言を表示するテンプレート
7 14
   syaberi.templates.chat.chatL = Handlebars.compile(
8 15
     '<div class="message-owner-inbox" id="chat-content-{{chatId}}">\
9 16
         <div class="owner-icon">\
@@ -29,6 +36,7 @@
29 36
     </div>'
30 37
   );
31 38
 
  39
+  //オーナー以外のユーザーの発言を表示するテンプレート
32 40
   syaberi.templates.chat.chatR = Handlebars.compile(
33 41
     '<div class="message-member-inbox" id="chat-content-{{chatId}}">\
34 42
         <div class="member-icon">\
7  public/js/templates/chatroom.js
... ...
@@ -1,9 +1,16 @@
  1
+/******************************************************************
  2
+ * 部屋関連のHTMLテンプレートを動的に生成するスクリプト
  3
+ * Handlebarsライブラリを使用
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
   syaberi.templates = this.syaberi.templates != null ? this.syaberi.templates : this.syaberi.templates = {};
4 10
 
5 11
   syaberi.templates.chatroom = {};
6 12
 
  13
+  //トップページの「もっと見る」をクリックした時に追記される部屋一覧のテンプレート
7 14
   syaberi.templates.chatroom.list = Handlebars.compile(
8 15
     '<div class="room">\
9 16
         <div class="room-inbox">\
10  public/js/templates/mypage.js
... ...
@@ -1,10 +1,16 @@
  1
+/******************************************************************
  2
+ * マイページ関連のHTMLテンプレートを動的に生成するスクリプト
  3
+ * Handlebarsライブラリを使用
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
   syaberi.templates = this.syaberi.templates != null ? this.syaberi.templates : this.syaberi.templates = {};
4 10
 
5 11
   syaberi.templates.mypage = {};
6 12
 
7  
-  //チャットルーム一覧
  13
+  //作成した部屋/参加中の部屋一覧のテンプレート
8 14
   syaberi.templates.mypage.list = Handlebars.compile(
9 15
     '<div class="room">\
10 16
         <div class="room-inbox">\
@@ -35,7 +41,7 @@
35 41
     </div>'
36 42
   );
37 43
 
38  
-  //プロフィール編集
  44
+  //プロフィール設定のテンプレート
39 45
   syaberi.templates.mypage.profile = Handlebars.compile(
40 46
       '<form method="" action="" style="padding-top:20px;">\
41 47
           <table>\
5  public/js/topApp.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * トップページ画面の起点となるスクリプト
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
7  public/js/upload.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * ファイルアップロード関連処理のスクリプト
  3
+ * (実装途中の為現在は未使用)
  4
+ ******************************************************************/
  5
+
1 6
 /*
2 7
  * jQuery.upload v1.0.2
3 8
  *
@@ -9,4 +14,4 @@
9 14
 (function(b){function m(e){return b.map(n(e),function(d){return'<input type="hidden" name="'+d.name+'" value="'+d.value+'"/>'}).join("")}function n(e){function d(c,f){a.push({name:c,value:f})}if(b.isArray(e))return e;var a=[];if(typeof e==="object")b.each(e,function(c){b.isArray(this)?b.each(this,function(){d(c,this)}):d(c,b.isFunction(this)?this():this)});else typeof e==="string"&&b.each(e.split("&"),function(){var c=b.map(this.split("="),function(f){return decodeURIComponent(f.replace(/\+/g," "))});
10 15
 d(c[0],c[1])});return a}function o(e,d){var a;a=b(e).contents().get(0);if(b.isXMLDoc(a)||a.XMLDocument)return a.XMLDocument||a;a=b(a).find("body").html();switch(d){case "xml":a=a;if(window.DOMParser)a=(new DOMParser).parseFromString(a,"application/xml");else{var c=new ActiveXObject("Microsoft.XMLDOM");c.async=false;c.loadXML(a);a=c}break;case "json":a=window.eval("("+a+")");break}return a}var p=0;b.fn.upload=function(e,d,a,c){var f=this,g,j,h;h="jquery_upload"+ ++p;var k=b('<iframe name="'+h+'" style="position:absolute;top:-9999px" />').appendTo("body"),
11 16
 i='<form target="'+h+'" method="post" enctype="multipart/form-data" />';if(b.isFunction(d)){c=a;a=d;d={}}j=b("input:checkbox",this);h=b("input:checked",this);i=f.wrapAll(i).parent("form").attr("action",e);j.removeAttr("checked");h.attr("checked",true);g=(g=m(d))?b(g).appendTo(i):null;i.submit(function(){k.load(function(){var l=o(this,c),q=b("input:checked",f);i.after(f).remove();j.removeAttr("checked");q.attr("checked",true);g&&g.remove();setTimeout(function(){k.remove();c==="script"&&b.globalEval(l);
12  
-a&&a.call(f,l)},0)})}).submit();return this}})(jQuery);
  17
+a&&a.call(f,l)},0)})}).submit();return this}})(jQuery);
5  public/js/util.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * 自作のユーティリティ関数を記述するスクリプト
  3
+ ******************************************************************/
  4
+
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
 
17  public/js/views/chat.js
... ...
@@ -1,3 +1,8 @@
  1
+/******************************************************************
  2
+ * チャット情報を扱うBackbone.jsのViewクラス
  3
+ * 部屋詳細画面のロジックを記述
  4
+ ******************************************************************/
  5
+
1 6
 (function() {
2 7
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 8
   var CHAT_COMMENT = 1;
@@ -19,6 +24,7 @@
19 24
       this.uploadCancelFlg = 0;
20 25
       this._csrf = $('#_csrf').val(); //for CSRF
21 26
     },
  27
+    //チャット投稿処理
22 28
     submit: function(event) {
23 29
       var message = $.trim($('#message1').val());
24 30
 
@@ -45,6 +51,7 @@
45 51
         return false;
46 52
       }
47 53
     },
  54
+    //チャット入力フィールドのキーボード入力を監視
48 55
     keydown: function(event) {
49 56
       //shiftKey だったら改行
50 57
       if (event.shiftKey === true) {
@@ -57,6 +64,7 @@
57 64
         }
58 65
       }
59 66
     },
  67
+    //チャット削除処理
60 68
     destroy: function(event) {
61 69
       if (window.confirm('本当に削除しますか?')) {
62 70
         var target = $(event.target);
@@ -73,6 +81,8 @@
73 81
         });
74 82
       }
75 83
     },
  84
+    //参加申請を承認する処理
  85
+    //(参加申請機能が無くなった為現在は未使用)
76 86
     invite: function(event) {
77 87
       var target = $(event.target);
78 88
       var memberId = target.data('userid');
@@ -90,6 +100,8 @@
90 100
         });
91 101
       }
92 102
     },
  103
+    //ファイルアップロード処理
  104
+    //(未実装の為現在は未使用)
93 105
     upload: function() {
94 106
       $('#uploadings_input').upload('/upload', function(res) {
95 107
 
@@ -126,6 +138,8 @@
126 138
         }
127 139
       }, 'html');
128 140
     },
  141
+    //ファイルアップロード処理
  142
+    //(未実装の為現在は未使用)
129 143
     uploadOff: function() {
130 144
       //添付とコメントを同時に投稿できぬようテキストエリアをdisable化を解除
131 145
       $('#message1').removeAttr('disabled');
@@ -134,6 +148,7 @@
134 148
         this.uploadCancelFlg = 0;
135 149
       }
136 150
     },
  151
+    //チャット投稿後に呼ばれるチャット表示処理
137 152
     appendMessage: function(data) {
138 153
       var chatTemplate;
139 154
       var status = $('html').data('status');
@@ -192,6 +207,7 @@
192 207
         }, "slow");
193 208
       }
194 209
     },
  210
+    //チャット削除後に呼ばれるチャット削除表示処理
195 211
     destroyMessage: function(data) {
196 212
       var chatId = data.chatId;
197 213
       var userId = $('html').data('userid');
@@ -216,6 +232,7 @@
216 232
     },
217 233
     render: function() {
218 234
     },
  235
+    //チャット投稿後にチャット入力フィールドを空にする処理
219 236
     clearInputUserMessage: function() {
220 237
       $('#message1').val('').focus();
221 238
 
11  public/js/views/createChatroom.js
... ...
@@ -1,3 +1,9 @@
  1
+/******************************************************************
  2
+ * 部屋情報を扱うBackbone.jsのViewクラス
  3
+ * 部屋作成画面のロジックを記述
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
@@ -13,6 +19,7 @@
13 19
       Backbone.Validation.bind(this);
14 20
       this._csrf = $('#_csrf').val(); //for CSRF
15 21
     },
  22
+    //部屋作成の実行処理
16 23
     submit: function(event) {
17 24
       event.preventDefault();
18 25
       var self = this;
@@ -73,19 +80,23 @@
73 80
         self._setSearchText($('#title2'));
74 81
       });
75 82
     },
  83
+    //タイトル入力フィールドのテキスト表示処理
76 84
     clearSearchText: function(event) {
77 85
       var target = $(event.target);
78 86
       this._clearSearchText(target);
79 87
     },
  88
+    //タイトル入力フィールドのテキスト表示処理
80 89
     _clearSearchText: function(target) {
81 90
       if (target.val() === target.prop('defaultValue')) {
82 91
         target.css('color', '#000').val('');
83 92
       }
84 93
     },
  94
+    //タイトル入力フィールドのテキスト表示処理
85 95
     setSearchText: function(event) {
86 96
       var target = $(event.target);
87 97
       this._setSearchText(target);
88 98
     },
  99
+    //タイトル入力フィールドのテキスト表示処理
89 100
     _setSearchText: function(target) {
90 101
       if($.trim(target.val()) === "") {
91 102
         target.css('color', '#999')
8  public/js/views/deactivation.js
... ...
@@ -1,3 +1,9 @@
  1
+/******************************************************************
  2
+ * 退会情報を扱うBackbone.jsのViewクラス
  3
+ * 退会画面のロジックを記述
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
@@ -10,6 +16,7 @@
10 16
     initialize: function() {
11 17
       this._csrf = $('#_csrf').val(); //for CSRF
12 18
     },
  19
+    //退会処理を実行
13 20
     submit: function(event) {
14 21
       event.preventDefault();
15 22
       var self = this;
@@ -23,6 +30,7 @@
23 30
         }
24 31
       });
25 32
     },
  33
+    //キャンセル処理を実行
26 34
     cancel: function(event) {
27 35
       event.preventDefault();
28 36
       location.href = '/mypage';
8  public/js/views/deleteChatroom.js
... ...
@@ -1,3 +1,9 @@
  1
+/*******************************************
  2
+ * 部屋の削除を扱うBackbone.jsのViewクラス
  3
+ * 部屋削除画面のロジックを記述
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
@@ -10,6 +16,7 @@
10 16
     initialize: function() {
11 17
       this._csrf = $('#_csrf').val(); //for CSRF
12 18
     },
  19
+    //部屋の削除処理を実行
13 20
     submit: function(event) {
14 21
       event.preventDefault();
15 22
       var self = this;
@@ -24,6 +31,7 @@
24 31
         }
25 32
       });
26 33
     },
  34
+    //キャンセル処理を実行
27 35
     cancel: function(event) {
28 36
       event.preventDefault();
29 37
       var chatroomId = $('html').data('chatroom');
8  public/js/views/login.js
... ...
@@ -1,3 +1,10 @@
  1
+/******************************************************************
  2
+ * ログイン情報を扱うBackbone.jsのViewクラス
  3
+ * ログイン画面のロジックを記述
  4
+ * (オリジナルアカウント管理が無くなった為現在は未使用)
  5
+ ******************************************************************/
  6
+
  7
+
1 8
 (function() {
2 9
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 10
 
@@ -10,6 +17,7 @@
10 17
       this.model = new syaberi.Login;
11 18
       Backbone.Validation.bind(this);
12 19
     },
  20
+    //ログイン認証処理を実行
13 21
     submit: function(event) {
14 22
       event.preventDefault();
15 23
       var email = $.trim($('#email').val());
16  public/js/views/mypage.js
... ...
@@ -1,3 +1,9 @@
  1
+/******************************************************************
  2
+ * マイページ情報を扱うBackbone.jsのViewクラス
  3
+ * マイページ画面のロジックを記述
  4
+ ******************************************************************/
  5
+
  6
+
1 7
 (function() {
2 8
   var syaberi = this.syaberi != null ? this.syaberi : this.syaberi = {};
3 9
 
@@ -20,28 +26,34 @@
20 26
       this._csrf = $('#_csrf').val(); //for CSRF
21 27
       Backbone.Validation.bind(this);
22 28
     },
  29
+    //作成した部屋一覧の取得処理
23 30
     getOwnerChatrooms: function(event) {
24 31
       this.init_list();
25 32
       $('li', '#owner-chatrooms').addClass('active');
26 33
       this.mode = 'owner';
27 34
       this.getChatrooms();
28 35
     },
  36
+    //申請中の部屋一覧の取得処理
  37
+    //(参加申請機能が無くなった為現在は未使用)
29 38
     getEntryChatrooms: function(event) {
30 39
       this.init_list();
31 40
       $('li', '#entry-chatrooms').addClass('active');
32 41
       this.mode = 'entry';
33 42
       this.getChatrooms();
34 43
     },
  44
+    //参加中の部屋一覧の取得処理
35 45
     getJoinChatrooms: function(event) {
36 46
       this.init_list();
37 47
       $('li', '#join-chatrooms').addClass('active');
38 48
       this.mode = 'join';
39 49
       this.getChatrooms();
40 50
     },
  51
+    //「もっと見る」の実行処理
41 52
     getMore: function(event) {
42 53
       var page = this.collection.nextPage;
43 54
       this.getChatrooms(page);
44 55
     },
  56
+    //部屋一覧を取得する共通処理
45 57
     getChatrooms: function(page) {
46 58
       var self = this;
47 59
       page = page || 1;
@@ -75,6 +87,7 @@
75 87
         }
76 88
       });
77 89
     },
  90
+    //プロフィール設定を表示
78 91
     showProfile: function(event) {
79 92
       var userName = $('html').data('profilename');
80 93
       var email = $('html').data('profileemail');
@@ -92,6 +105,7 @@
92 105
       });
93 106
       $('#article_area').append(template);
94 107
     },
  108
+    //プロフィール更新処理を実行
95 109
     editProfile: function(event) {