プロジェクト

全般

プロフィール

Bug(バグ) #3531

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

誠二 天重10年以上前に追加. 10年以上前に更新.

ステータス:
Pending Review(レビュー待ち)
優先度:
Normal(通常)
担当者:
開始日:
2013-12-24
期日:
進捗率:

50%

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

説明

現象

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>

関連するチケット

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

履歴

#1 誠二 天重10年以上前に更新

  • 説明 を更新 (diff)

#2 誠二 天重10年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 3.8 で発生するかUnknown (未調査) から Yes (はい) に変更

#3 誠二 天重10年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#4 kaoru n10年以上前に更新

  • 担当者誠二 天重 から kaoru n に変更

#5 kaoru n10年以上前に更新

  • 担当者kaoru n から 誠二 天重 に変更

他の形式にエクスポート: Atom PDF