Project

General

Profile

Bug(バグ) #3531

opLikePluginと同時使用するとアップロードダイアログが表示されない

Added by 誠二 天重 over 9 years ago. Updated over 9 years ago.

Status:
Pending Review(レビュー待ち)
Priority:
Normal(通常)
Assignee:
Start date:
2013-12-24
Due date:
% Done:

50%

3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Yes (はい)

Description

現象

opLikePluginとopUploadFilePluginを同時使用すると,ファイルアップロード用ダイアログが表示されなくなる。
なお,apiを利用してファイルアップロードは可能。

bootstrap参考URL
http://getbootstrap.com/javascript/#modals

原因

原因としては,opUploadFilePlugin と opLikePlugin のどちらもが bootstrap-modal.js を呼び出しており,かつ,どちらもが bootstrap-modal.js に用意されているAPIを利用しているため,二重にイベントが登録されている模様。

具体的には,opUploadFilePlugin の apps/pc_frontend/modules/f/templates/_fMenu.php の35行目

    <li><a href="#file-uploadmodal" data-toggle="modal">アップロード</a></li>

上記の data-toggle=modal が bootstrap-modal.js の以下の箇所で,クリックイベントとして登録される。
  $(function () {
    $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
      var $this = $(this)
        , href = $this.attr('href')
        , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
        , option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())

      e.preventDefault()

      $target
        .modal(option)
        .one('hide', function () {
          $this.focus()
        })
    })
  })

opLikePluginを入れている場合,(おそらく)opUploadFilePluginで一度イベント登録されたあと,opLikePluginの読み込みのタイミングで再度イベント登録され(どちらが先に読まれているかは不明),一つのクリックイベントに対して二度toggle処理される結果として表示されない,という筋になっていそう。

修正方針

opUploadFilePlugin, opLikePluginともに,bootstrap-modal.js に用意されたapi(data-toggle="modal")を利用せず,自前でイベント登録する,という方針。

修正箇所

apps/pc_frontend/modules/f/templates/_fMenu.php
35:    <li><a href="#file-uploadmodal" data-toggle="modal">アップロード</a></li>

Related issues

Related to opLikePlugin - Bug(バグ) #3532: opLikePluginとopUploadFilePluginを同時使用すると,ファイルアップロード用ダイアログが表示されなくなる。 Fixed(完了) 2013-12-24

History

#1 Updated by 誠二 天重 over 9 years ago

  • Description updated (diff)

#2 Updated by 誠二 天重 over 9 years ago

  • Status changed from New(新規) to Accepted(着手)
  • 3.8 で発生するか changed from Unknown (未調査) to Yes (はい)

#3 Updated by 誠二 天重 over 9 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

#4 Updated by kaoru n over 9 years ago

  • Assignee changed from 誠二 天重 to kaoru n

#5 Updated by kaoru n over 9 years ago

  • Assignee changed from kaoru n to 誠二 天重

Also available in: Atom PDF