りんちゃんの日記

日常を書き留めていきます。

redmineトラッカーに応じてカスタムフィールドの位置指定

【備忘録】過去に設定したJs

//注意事項
//「説明」の前、後なのどを指定して移動する場合は、「説明」が入力されていないと
//移動されなくなって表示されない→そのため「説明」を入力必須にすること。

 

※view_customizeプラグインを使用
※トラッカーの値に応じて表示画面と編集画面を設定する

 

$(function() {

  var changeCustomFieldPositon = function(){

  //----------------------------------------------------------------------
  // トラッカーの値に応じて表示画面と編集画面を設定する
  //----------------------------------------------------------------------
    var trackerId = $('#issue_tracker_id').val();
    //alert(trackerId);

    if (trackerId == '1'){
 

      //----------------------------------------------------------------------
      // 表示画面の設定
      //----------------------------------------------------------------------
            // 対象のカスタムフィールドの要素を取得
            var cf1 = $('.cf_1.attribute');
            var cf2 = $('.cf_2.attribute');
            var cf3 = $('.cf_3.attribute');
            var cf4 = $('.cf_4.attribute');

            // 対象のフィールドの要素を取得
            var assign = $('.assigned-to.attribute');

  
            // 説明の後に移動
            $('.description')
              .after(
              //    '<br>',
              '<hr>',
              '<p><b>フィールド移動</b></p>',
              $('<div class="attributes">')
                .append(
                 $('<div class="splitcontentleft">').append(assign),
                 $('<div class="splitcontentleft">').append(cf2),
                 $('<div class="splitcontentleft">').append(cf1),
                 $('<div class="splitcontentleft">').append(cf3),
                 $('<div class="splitcontentleft">').append(cf4),
                 )
               );

 

 

      //----------------------------------------------------------------------
      // 編集画面の設定
      //----------------------------------------------------------------------
            // 対象のカスタムフィールドの要素を取得
            var cField_1 = $('#issue_custom_field_values_1').parent(); 
            var cField_2 = $('#issue_custom_field_values_2').parent(); 
            var cField_3 = $('#issue_custom_field_values_3').parent();
            var cField_4 = $('#issue_custom_field_values_4').parent();
            
            // 対象要素を取得(担当者)
            var assignField = $('#issue_assigned_to_id').parent();

            // 最後に移動
            $('#all_attributes').append(
            '<hr>',
            /* '<p> <strong>【あああ】</strong></p>', */

                $('<div class="attributes">').append(
                $('<div class="splitcontentleft">').append(assignField),
                $('<div class="splitcontentleft">').append(cField_1),
                $('<div class="splitcontentleft">').append(cField_2)),
            '<hr>',
           /* '<p> <strong>【いいい】</strong></p>', */
                $('<div class="attributes">').append(      
                $('<div class="splitcontentleft">').append(cField_3),      
                $('<div class="splitcontentleft">').append(cField_4)),
         );   

 

      }
      else
      {
        //DO NOTHING
      }


  };

 

  /* 初期変換 */
  changeCustomFieldPositon();

  /* ステータス変更時など、DOMが差し替えられるたびに実施 */
  var _replaceIssueFormWith = replaceIssueFormWith;
  replaceIssueFormWith = function(html){

    _replaceIssueFormWith(html);

    changeCustomFieldPositon();
  };  

 


})