wnw_show 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  module WnwShow
2
2
  module Rails
3
- VERSION = "1.1.1"
3
+ VERSION = "1.1.2"
4
4
  end
5
5
  end
data/sample/list.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <TITLE>WeddinNow List Sample</TITLE>
7
7
  <script type=text/javascript src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
8
8
  <script type=text/javascript src="js/jquery-ui-1.8.18.custom.min.js"></script>
9
- <script type=text/javascript src="../javascripts/wnw_show/list.js.erb"></script>
9
+ <script type=text/javascript src="../vendor/assets/javascripts/wnw_show/list.js.erb"></script>
10
10
  <script type=text/javascript>
11
11
  function init(){
12
12
  //画像のリスト
@@ -23,6 +23,10 @@
23
23
  // 例) "/js/vendor/wnw_list"
24
24
  var contextPath = "/wnw_list"
25
25
 
26
+ wnw.list.assetPath = function(name) {
27
+ return "/wnw_show/vendor/assets/images/wnw_show/list/" + name;
28
+ };
29
+
26
30
  //呼び出し
27
31
  wnw.list.display(imageUrlList,message,logoUrl,contextPath);
28
32
  };
@@ -31,52 +31,56 @@ if (!wnw.list) wnw.list = {};
31
31
  // -------------------------------------
32
32
  // 定数
33
33
  // -------------------------------------
34
- var IMAGE_RATIO = 0.6; //画像の拡大サイズ
35
34
  var LEFT_MARGIN = 50; //左のマージン
36
35
  var TOP_MARGIN = 200; //上のマージン
37
- var Y_SPAN = 250; //写真の縦の間隔
38
- var ROW_NO = 4; //写真の列数
39
- var SQEW_SPAN = 30; //写真の配置のゆがみ
40
- var ROTATE_DEGREE = 2; //画像の傾き角度の最大値
41
- var PHOTO_DEL_Y = 500;//画像が消えるときに移動するY方向
42
- var PHOTO_DEL_X_SPAN = 100;//画像が消えるときに移動するX方向の幅
43
-
36
+ var BACKGROUND_IMAGE = 'bord.jpg';//背景画像
37
+ //画像
38
+ var MSG_RATIO = 0.6; //画像の拡大サイズ
39
+ var MSG_Y_SPAN = 250; //写真の縦の間隔
40
+ var MSG_ROW_NO = 4; //写真の列数
41
+ var MSG_SPAN_SQEW = 30; //写真の配置のゆがみ
42
+ var MSG_ROTATE_MAX = 2; //画像の傾き角度の最大値
43
+ var MSG_DEL_Y = 500; //画像が消えるときに移動するY方向
44
+ var MSG_DEL_X_SPAN = 100; //画像が消えるときに移動するX方向の幅
45
+ var MSG_DRAG_DISTANCE = 10 ;//これ以上座標を動かすとドラックとみなす
46
+ //ピン
44
47
  var PIN_TOP = -10; //ピンが写真のトップからx方向にどれだけずれているか
45
48
  var PIN_DEL_Y = -200;//ピンが消えるときに移動するY方向
46
49
  var PIN_DEL_X_SPAN = -100;//ピンが消えるときに移動するX方向の幅
47
50
  var PIN_WIDTH = 20; //ピンの横幅
48
51
  var PIN_IMAGE_PREFIX = "/images/pin-";//ピン画像の接頭辞
49
52
  var PIN_IMAGE_SURFIX = ".png"; //ピン画像の接尾辞
50
-
53
+ //画像追加
51
54
  var ADD_IMAGE_RANGE_X = 1000;//画像が追加されるときのX座標の範囲
52
55
  var ADD_IMAGE_RANGE_Y = 0;//画像が追加されるときのY座標の範囲
53
- var ZOOM_TIME = 300;//画像が拡大する時の時間[ms]
54
- var SOUND_FILE = "/sounds/SoundUnit.swf";//ピンが抜ける音
55
- var SOUND_CODEBASE = "/sounds/swflash.cab";//音の再生
56
- var SEITON_BTN_IMAGE = assetPath('seiton.png');//整頓ボタン画像
56
+ //整頓
57
+ var SEITON_BTN_IMAGE = 'seiton.png';//整頓ボタン画像
57
58
  var SEITON_LEFT = 1000;//整頓ボタン画像
58
59
  var SEITON_TOP = 20;//整頓ボタン画像
59
- // var DELETE_BTN_IMAGE = assetPath('delete.png');//削除ボタン画像
60
- var BACKGROUND_IMAGE = assetPath('bord.jpg');//背景画像
61
- var LOADING_IMAGE = assetPath('loading.gif');//ロード中画像
62
- var DRAG_DISTANCE = 10 ;//これ以上座標を動かすとドラックとみなす
63
- var MOJI_Z_INDEX = 0;
64
- var Z_INDEX_BUTTON = 1000;
65
- var Z_INDEX_ZOOM = 1001;
60
+ var BUTTON_Z_INDEX = 1000;
61
+ //ズーム
62
+ var ZOOM_Z_INDEX = 1001;
63
+ var ZOOM_TIME = 300;//画像が拡大する時の時間[ms]
64
+ //画像前後ボタン
66
65
  var Z_INDEX_NEXT_PREV = 1002;
67
66
  var NEXT_BUTTON_ID = "nextButton";
68
67
  var PREV_BUTTON_ID = "prevButton";
69
68
  // ロゴ
70
- var LOGO_WIDTH = 140;
71
69
  //var LOGO_HEIGHT = 150;
70
+ var LOGO_WIDTH = 140;
72
71
  var LOGO_LEFT = 50;
73
72
  var LOGO_TOP = 30;
74
73
  var LOGO_Z_INDEX = 0;
75
74
  // 文字
75
+ var MOJI_Z_INDEX = 0;
76
76
  var MOJI_TOP = 35;
77
77
  var MOJI_LEFT = 200;
78
78
  var MOJI_SIZE = 40;
79
79
  var MOJI_WIDTH= 1000;
80
+ //var SOUND_FILE = "/sounds/SoundUnit.swf";//ピンが抜ける音
81
+ //var SOUND_CODEBASE = "/sounds/swflash.cab";//音の再生
82
+ //var DELETE_BTN_IMAGE = assetPath('delete.png');//削除ボタン画像
83
+ //var LOADING_IMAGE = 'loading.gif';//ロード中画像
80
84
 
81
85
  // -------------------------------------
82
86
  // 変数
@@ -96,18 +100,18 @@ if (!wnw.list) wnw.list = {};
96
100
 
97
101
  // ピンの画像のURLをランダムで返す
98
102
  var getPinImgPath = function() {
99
- var imgPaths = [
100
- assetPath('pin-0.png'),
101
- assetPath('pin-1.png'),
102
- assetPath('pin-2.png'),
103
- assetPath('pin-3.png'),
104
- assetPath('pin-4.png'),
105
- assetPath('pin-5.png'),
106
- assetPath('pin-6.png'),
107
- assetPath('pin-7.png'),
108
- assetPath('pin-8.png'),
109
- assetPath('pin-9.png')
110
- ];
103
+ var imgPaths = [
104
+ wnw.list.assetPath('pin-0.png'),
105
+ wnw.list.assetPath('pin-1.png'),
106
+ wnw.list.assetPath('pin-2.png'),
107
+ wnw.list.assetPath('pin-3.png'),
108
+ wnw.list.assetPath('pin-4.png'),
109
+ wnw.list.assetPath('pin-5.png'),
110
+ wnw.list.assetPath('pin-6.png'),
111
+ wnw.list.assetPath('pin-7.png'),
112
+ wnw.list.assetPath('pin-8.png'),
113
+ wnw.list.assetPath('pin-9.png')
114
+ ];
111
115
  return imgPaths[Math.floor(Math.random() * 9)];
112
116
  };
113
117
 
@@ -120,11 +124,11 @@ if (!wnw.list) wnw.list = {};
120
124
  return Math.floor(Math.random() * x * 2 - x);
121
125
  }
122
126
  //音を出す
123
- function playSound(){
124
- var div = document.getElementById("SoundUnit");
125
- var innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase=' + gContextPath + SOUND_CODEBASE + ' width="0" height="0" id="SoundUnit"><param name="movie" value="' + gContextPath + SOUND_FILE + '" /><embed loop=false src="' + gContextPath + SOUND_FILE + '" width="0" height="0" name="SoundUnit" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
126
- div.innerHTML = innerHTML;
127
- }
127
+ // function playSound(){
128
+ // var div = document.getElementById("SoundUnit");
129
+ // var innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase=' + gContextPath + SOUND_CODEBASE + ' width="0" height="0" id="SoundUnit"><param name="movie" value="' + gContextPath + SOUND_FILE + '" /><embed loop=false src="' + gContextPath + SOUND_FILE + '" width="0" height="0" name="SoundUnit" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
130
+ // div.innerHTML = innerHTML;
131
+ // }
128
132
 
129
133
  // 画像を表示する
130
134
  //
@@ -142,8 +146,8 @@ if (!wnw.list) wnw.list = {};
142
146
  .addClass("photo")
143
147
  .attr("id","img"+no)
144
148
  .attr("no", no)
145
- .attr("nextId", "img"+ (no+1))
146
- .attr("prevId", "img"+ (no-1))
149
+ .attr("next", no+1)
150
+ .attr("prev", no-1)
147
151
  .attr("src",url)
148
152
  .attr("orgTop",orgtop)
149
153
  .attr("orgLeft",orgleft)
@@ -158,8 +162,8 @@ if (!wnw.list) wnw.list = {};
158
162
  "left":left,
159
163
  "z-index":zIndex,
160
164
  "opacity":0,
161
- "-webkit-transform": "rotate(" + rand2(ROTATE_DEGREE) + "deg)",
162
- "-moz-transform": "rotate(" + rand2(ROTATE_DEGREE) + "deg)"})
165
+ "-webkit-transform": "rotate(" + rand2(MSG_ROTATE_MAX) + "deg)",
166
+ "-moz-transform": "rotate(" + rand2(MSG_ROTATE_MAX) + "deg)"})
163
167
  .click(function(){
164
168
  if (gNowDragging){
165
169
  //ドラッグの場合はzoomしない
@@ -178,7 +182,7 @@ if (!wnw.list) wnw.list = {};
178
182
  };
179
183
  })
180
184
  .draggable({
181
- distance : DRAG_DISTANCE,
185
+ distance : MSG_DRAG_DISTANCE,
182
186
  start: function(e,ui){
183
187
  gNowDragging = true;
184
188
  // move photo
@@ -196,10 +200,10 @@ if (!wnw.list) wnw.list = {};
196
200
  }
197
201
  })
198
202
  .load(function(){
199
- $(this).width($(this).naturalWidth() * IMAGE_RATIO);
200
- $(this).height($(this).naturalHeight() * IMAGE_RATIO);
201
- $(this).attr("orgWidth",$(this).naturalWidth() * IMAGE_RATIO);
202
- $(this).attr("orgHeight",$(this).naturalHeight() * IMAGE_RATIO);
203
+ $(this).width($(this).naturalWidth() * MSG_RATIO);
204
+ $(this).height($(this).naturalHeight() * MSG_RATIO);
205
+ $(this).attr("orgWidth",$(this).naturalWidth() * MSG_RATIO);
206
+ $(this).attr("orgHeight",$(this).naturalHeight() * MSG_RATIO);
203
207
  $(this).css({"opacity":1});
204
208
  //pin
205
209
  var pin=$("<img />")
@@ -225,8 +229,8 @@ if (!wnw.list) wnw.list = {};
225
229
  "opacity":0});
226
230
  // drop image animation
227
231
  var photo = $("#" +$(this).attr('img_id'));
228
- photo.animate({"top":photo.offset().top + PHOTO_DEL_Y ,
229
- "left":photo.offset().left + rand2(PHOTO_DEL_X_SPAN),
232
+ photo.animate({"top":photo.offset().top + MSG_DEL_Y ,
233
+ "left":photo.offset().left + rand2(MSG_DEL_X_SPAN),
230
234
  "opacity":0});
231
235
  });
232
236
  $("#bord").append(pin);
@@ -256,16 +260,8 @@ if (!wnw.list) wnw.list = {};
256
260
  "top":$("body").scrollTop() + $(window).height()/2,
257
261
  "left":$("body").scrollLeft()
258
262
  });
259
- if(_img.attr("no") == 0 ){
260
- $("#" + NEXT_BUTTON_ID).show();
261
- $("#" + PREV_BUTTON_ID).hide();
262
- }else if(_img.attr("no") == gImgUrlList.length - 1){
263
- $("#" + NEXT_BUTTON_ID).hide();
264
- $("#" + PREV_BUTTON_ID).show();
265
- }else{
266
- $("#" + NEXT_BUTTON_ID).show();
267
- $("#" + PREV_BUTTON_ID).show();
268
- }
263
+ $("#" + NEXT_BUTTON_ID).show();
264
+ $("#" + PREV_BUTTON_ID).show();
269
265
  //画像
270
266
  if($(window).width() > $(window).height()){//横長
271
267
  var ratio = 1.0 * $(window).height() / _img.height();
@@ -285,7 +281,7 @@ if (!wnw.list) wnw.list = {};
285
281
  _img.attr("orgLeft",_img.offset().left)
286
282
  .attr("orgTop",_img.offset().top)
287
283
  .attr("orgZIndex",_img.css("z-index"));
288
- _img.css({"z-index": Z_INDEX_ZOOM});
284
+ _img.css({"z-index": ZOOM_Z_INDEX});
289
285
  _img.animate({"display":"block",
290
286
  "position" : "absolute",
291
287
  "top": zTop,
@@ -321,15 +317,15 @@ if (!wnw.list) wnw.list = {};
321
317
  //整列後の位置を先に計算
322
318
  gImgUrlList.push(url);
323
319
  var no = gImgList.length;
324
- var orgtop = TOP_MARGIN + Math.floor(no / ROW_NO ) * Y_SPAN;
325
- if(no % ROW_NO == 0){ //1列目
320
+ var orgtop = TOP_MARGIN + Math.floor(no / MSG_ROW_NO ) * MSG_Y_SPAN;
321
+ if(no % MSG_ROW_NO == 0){ //1列目
326
322
  var orgleft = LEFT_MARGIN;
327
323
  }else{
328
324
  leftside = gImgList[no - 1];
329
325
  var orgleft = leftside.offset().left + leftside.width();
330
326
  }
331
- orgtop += rand1(SQEW_SPAN) - SQEW_SPAN/2;
332
- orgleft += rand1(SQEW_SPAN) - SQEW_SPAN/2;
327
+ orgtop += rand1(MSG_SPAN_SQEW) - MSG_SPAN_SQEW/2;
328
+ orgleft += rand1(MSG_SPAN_SQEW) - MSG_SPAN_SQEW/2;
333
329
  //実際に表示するのはランダムな位置
334
330
  gZIndexMax += 1;
335
331
  viewImage(url, rand1(ADD_IMAGE_RANGE_Y),rand1(ADD_IMAGE_RANGE_X),gZIndexMax,orgtop,orgleft,function(){});
@@ -366,7 +362,7 @@ if (!wnw.list) wnw.list = {};
366
362
  gMessage = msg;
367
363
 
368
364
  //背景
369
- $("body").css("background","url(" + BACKGROUND_IMAGE+ ")")
365
+ $("body").css("background","url(" + wnw.list.assetPath(BACKGROUND_IMAGE) + ")")
370
366
  .append($("<div/>").attr("id","bord"))
371
367
  .append($("<div/>").attr("id","SoundUnit"));
372
368
  //loading
@@ -382,7 +378,7 @@ if (!wnw.list) wnw.list = {};
382
378
  // "margin" : "0 auto",
383
379
  // "padding" : "10",
384
380
  // "opacity" : "0.8"})
385
- // .html("<center><font size=5>Now Loading...<span id=loadno></span></font><img src=" + LOADING_IMAGE + "></center>");
381
+ // .html("<center><font size=5>Now Loading...<span id=loadno></span></font><img src=" + assetPath(LOADING_IMAGE) + "></center>");
386
382
 
387
383
  // ロゴ
388
384
  $("#bord").append(
@@ -432,15 +428,15 @@ if (!wnw.list) wnw.list = {};
432
428
  var no = gImgList.length;
433
429
  var url = gImgUrlList[no];
434
430
  //位置計算
435
- var top = TOP_MARGIN + Math.floor(no / ROW_NO ) * Y_SPAN;
436
- if(no % ROW_NO == 0){ //1列目
431
+ var top = TOP_MARGIN + Math.floor(no / MSG_ROW_NO ) * MSG_Y_SPAN;
432
+ if(no % MSG_ROW_NO == 0){ //1列目
437
433
  var left = LEFT_MARGIN;
438
434
  }else{
439
435
  leftside = gImgList[no - 1];
440
436
  var left = leftside.offset().left + leftside.width();
441
437
  }
442
- top += rand1(SQEW_SPAN) - SQEW_SPAN/1.5;
443
- left += rand1(SQEW_SPAN) - SQEW_SPAN/1.5;
438
+ top += rand1(MSG_SPAN_SQEW) - MSG_SPAN_SQEW/1.5;
439
+ left += rand1(MSG_SPAN_SQEW) - MSG_SPAN_SQEW/1.5;
444
440
  var zIndex = rand1(gZIndexMax);
445
441
  viewImage(url,top,left,zIndex,top,left,viewNextImage);
446
442
  }else{
@@ -455,12 +451,15 @@ if (!wnw.list) wnw.list = {};
455
451
  $("body").append(
456
452
  $("<img/>")
457
453
  .attr("id",NEXT_BUTTON_ID)
458
- .attr("src",assetPath('next.png'))
454
+ .attr("src",wnw.list.assetPath('next.png'))
459
455
  .click(function(){
460
- var _id = $("#" + gZoomImgId).attr("nextId");
461
- console.log("nextZoom:" + gZoomImgId + "->" + _id);
456
+ var _id = $("#" + gZoomImgId).attr("next");
457
+ if(_id == gImgList.length){
458
+ _id = 0;
459
+ }
460
+ console.log("nextZoom:" + gZoomImgId + "->" + "img" + _id );
462
461
  unzoom(gZoomImgId);
463
- zoom(_id);
462
+ zoom("img" + _id ) ;
464
463
  })
465
464
  .css({
466
465
  "position":"absolute" ,
@@ -474,12 +473,15 @@ if (!wnw.list) wnw.list = {};
474
473
  $("body").append(
475
474
  $("<img/>")
476
475
  .attr("id",PREV_BUTTON_ID)
477
- .attr("src",assetPath('prev.png'))
476
+ .attr("src",wnw.list.assetPath('prev.png'))
478
477
  .click(function(){
479
- var _id = $("#" + gZoomImgId).attr("prevId");
480
- console.log("nextZoom:" + gZoomImgId + "->" + _id);
478
+ var _id = $("#" + gZoomImgId).attr("prev");
479
+ if(_id == -1){
480
+ _id = gImgList.length - 1;
481
+ }
482
+ console.log("nextZoom:" + gZoomImgId + "->" + "img" +_id );
481
483
  unzoom(gZoomImgId);
482
- zoom(_id);
484
+ zoom("img" + _id );
483
485
  })
484
486
  .css({
485
487
  "position":"absolute" ,
@@ -497,7 +499,7 @@ if (!wnw.list) wnw.list = {};
497
499
  // .css({"position":"absolute" ,
498
500
  // "top":10 ,
499
501
  // "left":1000 ,
500
- // "z-index" :Z_INDEX_BUTTON})
502
+ // "z-index" :BUTTON_Z_INDEX})
501
503
  // .click(function(){alert("削除したい写真をここにドロップしてください");})
502
504
  // .droppable({
503
505
  // drop: function(e,ui) {
@@ -507,7 +509,6 @@ if (!wnw.list) wnw.list = {};
507
509
  // var url = img.attr('msg_id');
508
510
  // $.ajax({type: "delete",url: url});
509
511
  // img.css({"display":"none"});
510
-
511
512
  // }
512
513
  // },
513
514
  // tolerance: "pointer"
@@ -516,12 +517,12 @@ if (!wnw.list) wnw.list = {};
516
517
  //整頓ボタン
517
518
  $("#bord").append(
518
519
  $("<img/>")
519
- .attr("src", SEITON_BTN_IMAGE)
520
+ .attr("src", wnw.list.assetPath(SEITON_BTN_IMAGE))
520
521
  .css({
521
522
  "position":"absolute" ,
522
523
  "top":SEITON_TOP ,
523
524
  "left":SEITON_LEFT ,
524
- "z-index" :Z_INDEX_BUTTON })
525
+ "z-index" :BUTTON_Z_INDEX })
525
526
  .click(reset));
526
527
 
527
528
  };
@@ -530,6 +531,7 @@ if (!wnw.list) wnw.list = {};
530
531
  wnw.list.display = display;
531
532
  wnw.list.addImage = addImage;
532
533
  wnw.list.reset = reset;
534
+ wnw.list.assetPath = assetPath;
533
535
  })();
534
536
 
535
537
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wnw_show
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: