wnw_show 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: