2
1
0

JIRAのExcelエクスポートで1015件をエクスポートしようとすると、15件は切り捨てられてしまいます。

エクスポート時にそのことが利用者に分かるようにしたいのですが、何か良いアイデアはないでしょうか。

パッと思いついたところでは、「お知らせバナーに注意書き」くらいです。

    Commentコメントを追加...

    3 回答

    1.  
      2
      1
      0

      あら、ホントだ。こんなんでどうでしょう。

      (function(window, $, undefined){
          $.fn.hook = function (method, fn) {
              var def = $.fn[method];
              if (def) {
                  $.fn[method] = function() {
                      var r = def.apply(this, arguments);
                      fn(this, method, arguments);
                      return r;
                  }
              }
          };
      })(window, jQuery);
      jQuery(document).ready(function($) {
          var tempMax = 1000;
          function ifOverLimitThenAlert(e) {
              $(e).find('#allExcelFields, #currentExcelFields').each(function(){
                  $(this).click(function(e){
      		var total = $('.results-count-total').first().text();
      		if(!total) {
      			total = $('.pagination').attr('data-displayable-total');
      		}
                      if(parseInt(total, 10) <= tempMax){
                          return;
                      }
                      if(!window.confirm('よい?')){
                          e.preventDefault();
                      }
                  });
              });
          };
          $.fn.hook('append', function(e){
              if (e.hasClass('header-views-menu')) {
                  ifOverLimitThenAlert(e);
              }
          });
      });
      1. Kengo Ohsaki

        素敵です!

      Commentコメントを追加...
    2.  
      3
      2
      1

      こんなんどうでしょうか。。。

      Chromeの開発コンソールで試したところは動いてるようですが。。。バナーに入れてみてください。

      (function(window, $, undefined){
          $.fn.hook = function (method, fn) {
              var def = $.fn[method];
              if (def) {
                  $.fn[method] = function() {
                      var r = def.apply(this, arguments);
                      fn(this, method, arguments);
                      return r;
                  }
              }
          };
      })(window, jQuery);
      jQuery(document).ready(function($) {
      	var tempMax = 1000;
      	function ifOverLimitThenAlert(e) {
      		$(e).find('#allExcelFields, #currentExcelFields').each(function(){
      			$(this).click(function(e){
      				var total = parseInt($('.results-count-total').first().text());
      				if(total <= tempMax){
      					return;
      				}
      				if(!window.confirm('よい?')){
      					e.preventDefault();
      				}
      			});
      		});
      	};
      	$.fn.hook('append', function(e){
      		if (e.hasClass('header-views-menu')) {
      			ifOverLimitThenAlert(e);
      		}
      	});
      });
      1. 伊藤看寿

        いけました! ありがとうございます。

      2. 伊藤看寿

        件数チェックも入ってるんですね。すばらしい。

      3. Kengo Ohsaki

        すばらしい!!!この短時間で作るとは…

        parseInt($('.results-count-total').first().text()); の部分が、詳細表示のビューだとダメかもしれないですが...

        あとparseIntは念のため10進数指定のほうがいいかも...

        という要望をごめんなさい!!!

      Commentコメントを追加...
    3.  
      2
      1
      0

      検索結果が1000件を超えてExcelエクスポートボタンをクリックしたときの clickイベントでアラートを表示するJavaScriptをお知らせバナー組み込む or アドオンとかで作りこみもできそうですが...

      そこまで必要かは微妙で、「お知らせバナーに注意書き」くらいがいいのは無いでしょうか...

      あとはエクスポート後のファイルヘッダーに注意書きを書くとかですか…(試したことはないですがたぶんできると思います)

      <JIRAインストールディレクトリ>/atlassian-jira/WEB-INF/classes/templates/plugins/searchrequestviews/searchrequest-excel-header.vm

      ご参考になりましたら幸いです。

      1. 伊藤看寿

        私もクリックイベントでダイアログとか一瞬考えましたが、少々凝り過ぎですね。 Atlassianの情報も探しましたが似たような話題は見当たらなかったのでそれほどニーズはないのかもしれません。 ありがとうございました。

      2. Kengo Ohsaki

        ダイアログの作りこみとしては、kumai さんの回答が最高ですね! 私も想像していた通りの実装です。

      Commentコメントを追加...