PageSourceSearch

https://pd.reg.sony.jp/uncuor/js/module.js

js sony.jp collected 2026-10-01 08:45:29 UTC 14,816 bytes, 684 lines download raw bytes

1
2
3
4/* ==========================================================================
5   .formDropdown
6   ========================================================================== */
7;( function () {
8
9  var app = {};
10  // window.app = {};
11
12  app.data = new ( Backbone.Model.extend( {
13    defaults: {
14      id: 0,
15      dataByDate: null,
16      dataByModel: null
17    }
18  } ) );
19
20
21  app.DropdownView = Backbone.View.extend( {
22
23    el: '.s5-formDropdown',
24
25    events: {
26      'mouseleave': 'onleave',
27      'click .s5-formDropdown__selected': 'onfocus',
28      'click .s5-formDropdown__option'  : 'onchange',
29      'change .c5-address1'  : 'onchangeOption'
30    },
31
32    initialize: function () {
33
34      this.listenTo( app.data, 'change', this.render );
35
36      this.$display  = this.$el.find( '.s5-formDropdown__selected' );
37      this.$list     = this.$el.find( '.s5-formDropdown__list' );
38      this.$item     = this.$el.find( '.s5-formDropdown__option' );
39      this.$selectOption     = this.$el.find( 'select option' );
40      this.className = 's5-formDropdown__option--selected';
41
42      this.$list.hide();
43
44      var $defaultOption = this.$item.filter( ':first' );
45      var params = {
46        categoryId: $( document.body ).attr( 'data-cid' ),
47        id      : $defaultOption.data( 'id' )
48      };
49
50    },
51
52    render: function () {
53      // var $item = this.$item.filter( '[data-id=2]');
54      var $item = this.$item.filter( '[data-id=' + app.data.get( 'id' ) + ']');
55      // var $item = this.$item.filter( '[data-id=3]');
56      this.$item.removeClass( this.className );
57      $item.addClass( this.className );
58      // this.$display.text( $item.text() );
59
60      var $selectOption = this.$selectOption.filter( '[data-id=' + app.data.get( 'id' ) + ']');
61      $selectOption.prop('selected', true);
62
63      var selectOptionStr = this.$selectOption.filter( '[data-id=' + app.data.get( 'id' ) + ']').text();
64      this.$display.html(selectOptionStr);
65
66    },
67
68    onleave: function () {
69      this.$list.slideUp( 100 );
70    },
71
72    onfocus: function () {
73      this.$list.slideToggle( 100 );
74    },
75
76    onchange: function ( e ) {
77      var $option = $( e.currentTarget );
78
79      var params = {
80        id      : $option.data( 'id' )
81      };
82      this.$list.slideUp( 100 );
83      app.data.set( { 'id': params.id } );
84      this.render();
85
86    },
87
88    onchangeOption: function ( e ) {
89
90      var $option = $( e.currentTarget).children('option:selected');
91      var params = {
92        id      : $option.data( 'id' )
93      };
94      this.$list.slideUp( 100 );
95      app.data.set( { 'id': params.id } );
96      this.render();
97
98    }
99
100  } );
101
102
103
104  $( function () {
105
106    new app.DropdownView();
107
108  } );
109
110} )();
111
112
113
114/* ==========================================================================
115   .homeOrOffice
116   ========================================================================== */
117;( function () {
118
119  var app = {};
120
121  app.data = new ( Backbone.Model.extend( {
122    defaults: {
123      id: 0
124    }
125  } ) );
126
127  app.HomeOrOfficeView = Backbone.View.extend( {
128
129    el: '.c5-HomeOrOfficeView',
130
131    events: {
132      'change [type="radio"].c5-HomeOrOfficeView__radio'  : 'onchange'
133    },
134
135    initialize: function () {
136
137      this.listenTo( app.data, 'change', this.render );
138      this.$block = this.$el.find('.c5-HomeOrOfficeView__block');
139      this.$block.hide(100);
140
141    },
142
143    render: function () {
144      if(app.data.id==1) this.$block.show(100);
145      else this.$block.hide(100);
146    },
147
148    onchange: function ( e ) {
149
150      var $radio = $( e.currentTarget );
151      var params = {
152        id      : $radio.data( 'id' )
153      };
154      app.data.set( { 'id': params.id } );
155      this.render();
156
157    }
158
159  } );
160
161
162
163  $( function () {
164
165    new app.HomeOrOfficeView();
166
167  } );
168
169} )();
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187$( function() {
188
189  // $('[data-scrollableTable]').s5_scrollableTable();
190
191  var $config = $( '.s5-config' );
192
193  var checkIsChecked = function () {
194
195    var i, l;
196    var itemClassNames = [
197      's5-config__textListItem',
198      's5-config__imageListItem'
199    ];
200
201    var className;
202
203    for ( i = 0, l = itemClassNames.length; i < l; i ++ ) {
204
205      className = itemClassNames[ i ];
206
207      $config.find( '.' + className ).each( function () {
208
209        var $item = $( this );
210        var $checkbox = $item.find( 'input' );
211
212        if ( $checkbox.prop( 'checked' ) ) {
213
214          $item.addClass( className + '--checked' );
215
216        } else {
217
218          $item.removeClass( className + '--checked' );
219
220        }
221
222      } );
223
224    }
225
226  };
227
228
229
230$( '.s5-config__group' ).each( function () {
231
232    var $group = $( this );
233    var $checkbox  = $group.find( 'input[type="checkbox"]' );
234    // var $checkAll  = $group.find( '.s5-config__selectAll' );
235    // var $removeAll = $group.find( '.s5-config__reset' );
236
237    // $checkbox.filter(':visible').prop( 'checked', false );
238
239    checkIsChecked();
240
241    // $checkAll.on( 'click',  function () {
242
243    //   $checkbox.filter(':visible').prop( 'checked', true );
244    //   checkIsChecked();
245
246    // } );
247
248    // $removeAll.on( 'click', function () {
249
250    //   $checkbox.filter(':visible').prop( 'checked', false );
251    //   checkIsChecked();
252
253    // } );
254
255    $checkbox.on( 'change', function () {
256
257      checkIsChecked();
258
259    } );
260
261  } );
262
263
264
265} );
266
267
268
269
270
271
272
273/* ==========================================================================
274   .s5-checkBoxLarge__conditionItem
275   ========================================================================== */
276
277
278$( function() {
279
280  // $('[data-scrollableTable]').s5_scrollableTable();
281
282  var $config = $( '.s5-checkBoxLarge__conditionItem' );
283
284  var checkIsChecked = function () {
285
286    var i, l;
287    var itemClassNames = [
288      's5-checkBoxLarge__checkbox'
289    ];
290
291    var className;
292
293    for ( i = 0, l = itemClassNames.length; i < l; i ++ ) {
294
295      className = itemClassNames[ i ];
296
297      $config.find( '.' + className ).each( function () {
298
299        var $item = $( this );
300        var $checkbox = $item.find( 'input' );
301
302        if ( $checkbox.prop( 'checked' ) ) {
303
304          $item.addClass( className + '--checked' );
305
306        } else {
307
308          $item.removeClass( className + '--checked' );
309
310        }
311
312      } );
313
314    }
315
316  };
317
318
319
320$( '.s5-checkBoxLarge__conditionItem' ).each( function () {
321
322    var $group = $( this );
323    var $checkbox  = $group.find( 'input[type="checkbox"]' );
324
325    checkIsChecked();
326
327    $checkbox.on( 'change', function () {
328
329      checkIsChecked();
330
331    } );
332
333  } );
334
335
336} );
337
338
339
340
341
342
343/* ==========================================================================
344   .formRadioButton
345   ========================================================================== */
346
347
348;( function ( $ ) {
349
350  $( function () {
351
352    var classNames = [
353      's5-searchResultFrame__checkbox',
354      's5-searchResultFrame__radio'
355    ];
356    var modifier = '--checked';
357
358    var checkChecked = function () {
359
360      var i, l, className, $el;
361
362      for ( i = 0, l = classNames.length; i < l; i ++ ) {
363
364        className = classNames[ i ];
365        $el = $( '.' + className );
366
367        $el.each( function () {
368
369          var $this = $( this );
370          var $input = $this.find( 'input' );
371
372          if ( $input.prop( 'checked' ) ) {
373
374            $this.addClass( className + modifier );
375
376          } else {
377
378            $this.removeClass( className + modifier );
379
380          }
381
382        } );
383
384      }
385
386    }
387
388    $( '.' + classNames.join( ',.' ) ).each( function () {
389
390      var $this = $( this );
391      var $input = $this.find( 'input' );
392
393      $input.on( 'change', function () {
394
395        checkChecked();
396
397      } );
398
399    } );
400
401    checkChecked();
402
403  } );
404
405  $( function () {
406
407    var BREAK_POINT = 768;
408    var $header = $( '.s5-searchResultFrame__conditionHeader' );
409    var $body   = $( '.s5-searchResultFrame__conditionBody' );
410    var modifier = 's5-searchResultFrame__conditionBody--visible';
411
412    $header.on( 'click', function () {
413
414      if ( viewportSize.getWidth() < BREAK_POINT ) {
415
416        $.when( $body.slideToggle() ).done( function () {
417
418          if ( $body.is( ':visible' ) ) {
419
420            $body.addClass( modifier );
421            $body.removeAttr( 'style' );
422
423          } else {
424
425            $body.removeClass( modifier );
426            $body.removeAttr( 'style' );
427
428          }
429
430        } );
431
432      }
433
434    } );
435
436  } );
437
438} )( jQuery );
439
440
441
442/* ==========================================================================
443   jquery.jpostal
444   ========================================================================== */
445
446
447;( function ( $ ) {
448
449  $( function () {
450
451    $('.s5-secondaryButton').jpostal({
452      click : '.s5-secondaryButton',
453      postcode : [
454        '.c5-postcode1',
455        '.c5-postcode2'
456      ],
457      address : {
458        '.c5-address1'  : '%3',
459        '.c5-address2'  : '%4',
460        '.c5-address3'  : '%5'
461      },
462      url : {
463        'http'  : '/uncuor/js/jquery.jpostal/json/',
464        'https' : '/uncuor/js/jquery.jpostal/json/',
465      }
466    });
467
468  } );
469
470} )( jQuery );
471
472
473
474
475
476
477
478    /*  banner jsonp
479    ==================== */
480;( function () {
481
482    var app = {};
483
484 
485    /*  bannerエリア jsonp
486    ==================== */
487
488    app.Banner = Backbone.View.extend({
489
490        el: '.c5-banner',
491
492        templateLayout: [],
493        template: "",
494
495        initialize: function() {
496
497            if (this.$el.length === 0) return false;
498
499            // ua 
500            var appView = /MySonyClub/.test( navigator.userAgent );
501            if ( appView ) return false;
502
503            var _self = this;
504            var layoutType = this.$el.data("template-type");
505
506            this.templateLayout['banner_line_1'] = '' +
507                '<div class="s5-getStarted">' +
508                '<ul>' +
509                '<% _.each(data, function(val) { %>' +
510                  '<li class="s5-getStarted__item1">' +
511                    '<a href="<%= val.link %>" target="<%= val.target %>">' +
512                      '<div class="s5-getStarted__default">' +
513                      '<img src="<%= val.img_l %>" width="1200" height="148">' +
514                      '<% if(val.target=="_blank") { %><span class="s5-getStartedBlank s5-icon-window"></span><% } %>' +
515                      '</div>' +
516
517                      '<% if(val.sp_visible=="true") { %>' +
518                        '<div class="s5-getStarted__alt">' +
519                        '<img src="<%= val.img_s %>" width="592" height="148">' +
520                        '<% if(val.target=="_blank") { %><span class="s5-getStartedBlank s5-icon-window"></span><% } %>' +
521                        '</div>' +
522                      '<% } %>' +
523
524                    '</a>' +
525                  '</li>' +
526                '<% }); %>' +
527                '</ul>' +
528                '</div>';
529
530            this.template = _.template(this.templateLayout[layoutType]);
531
532            $.ajax({
533                type: 'GET',
534                scriptCharset: 'UTF-8',
535                // scriptCharset: 'Shift-JIS',
536                url: 'https://www.sony.jp/msc/service/msapp/campaign/partial/banner.jsonp',
537                dataType: 'jsonp',
538                jsonpCallback: 'banner',
539                success: function(list) {
540
541                    if (list.length === 0)
542                    {
543                        _self.$el.remove();
544                    }
545                    else
546                    {
547                        _self.$el.html(_self.template({
548                            data: list
549                        }));
550                    }
551
552
553                }
554            });
555
556        },
557
558        render: function() {
559
560        }
561
562    });
563
564
565  $( function () {
566
567    new app.Banner();
568
569  } );
570
571} )();
572
573    /*  bannerBtm jsonp
574    ==================== */
575;( function () {
576
577    var app = {};
578
579 
580    /*  bannerBtmエリア jsonp
581    ==================== */
582
583    app.BannerBtm = Backbone.View.extend({
584
585        el: '.c5-bannerBtm',
586
587        templateLayout: [],
588        template: "",
589
590        initialize: function() {
591
592            if (this.$el.length === 0) return false;
593
594            // ua 
595            var appView = /MySonyClub/.test( navigator.userAgent );
596            if ( appView ) return false;
597
598            var _self = this;
599
600            this.templateLayout = '' +
601                '<span class="c5-bottomBanner">' +
602                '<span class="c5-bottomBanner__icon--close"></span>' +
603                '<a href="<%= data.link %>" target="<%= data.target %>">' +
604                '<img src="<%= data.img_s %>">' +
605                '<% if(data.target=="_blank") { %><span class="s5-getStartedBlank s5-icon-window"></span><% } %>' +
606                '</a>' +
607                '</span>';
608
609            this.template = _.template(this.templateLayout);
610
611            $.ajax({
612                type: 'GET',
613                scriptCharset: 'UTF-8',
614                // scriptCharset: 'Shift-JIS',
615                url: 'https://www.sony.jp/msc/service/msapp/campaign/partial/banner.jsonp',
616                dataType: 'jsonp',
617                jsonpCallback: 'banner',
618                success: function(list) {
619
620                    if (list.length === 0)
621                    {
622                        _self.$el.remove();
623                    }
624                    else
625                    {
626                        _self.$el.html(_self.template({
627                            data: list[0]
628                        }));
629
630                        // バナースライドクッキー発動
631                        rtboxApp.init();
632                    }
633
634
635                }
636            });
637
638        },
639
640        render: function() {
641
642        }
643
644    });
645
646
647  $( function () {
648
649    new app.BannerBtm();
650
651  } );
652
653} )();
654
655
656
657
658/* ==========================================================================
659   height match
660   ========================================================================== */
661
662$(window).on('load', function(){
663
664  $( function () {
665
666    if ( !document.querySelectorAll ) { return }
667
668    var itemMin = new Lineups( [
669      // 
670      '.c5-categoryNaviList__item',
671      '.c5-categoryNaviList__text'
672    ], {
673      resize: true
674    } );
675
676    s5.vent.on( 'lineupForceUpdate', function () {
677
678      itemMin.refreshAll();
679
680    } );
681
682  } );
683
684});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.