2
1
0
1 回答
- 210
検索や添付ファイルマクロで、特定のページの添付ファイルを CreationDate でFilter するという方法を見つけることができませんでした。
https://community.atlassian.com/t5/Confluence-questions/How-do-I-search-attachments-to-the-current-page/qaq-p/709442のコミュニティの記事がありましたが、type を attachment に指定して With parent で検索してみても結果が返されず、指定したページの添付ファイルが取得できませんでした。
苦肉の策となってしまい申し訳ございませんが、
カスタム HTML に以下のような HTML (JavaScript) を適用すると...<script> AJS.toInit(function() { // Check current location. if (!/\/pages\/viewpageattachments\.action\?pageId=[0-9]+$/.test(location.href)) return; var $ = AJS.$; var $attachments = $('#view-attachments tr[id^="attachment-"]'); var formHtml = '<form id="filter_attachments_form" class="aui">' + '<div>' + '<label for="filter_before">Before' + '<input id="filter_before" type="radio" name="beforeOfAfter" />' + '</label>' + '<label for="filter_after">After' + '<input id="filter_after" type="radio" name="beforeOfAfter" checked="true"/>' + '</label>' + '</div>' + '<div>' + '<input class="aui-date-picker" id="attachments_date_picker" type="date"/>' + '<a class="aui-button" id="do_filtering_button" style="margin-left: 10px;">Filter</a>' + '</div>' + '</form>'; $('#viewAttachmentsDiv').before($(formHtml)); (function waitPicker(counter) { setTimeout(function() { if (AJS.DatePicker) { var controller = new AJS.DatePicker(attachments_date_picker, {'overrideBrowserDefault': true, dateFormat: 'yy-mm-dd'}); } else if(counter < 10) { waitPicker(counter + 1); } else { console.log('Could not retrieve AJS.DatePicker.'); } }, 500); })(1); $(attachments_date_picker).addClass('text'); filter_attachments_form.addEventListener('submit', function(e) { e.preventDefault(); }, false); do_filtering_button.addEventListener('click', doExecute, false); function doExecute(e) { e.preventDefault(); var value = attachments_date_picker.value; debug('---- value ----'); debug(value); if (!value) { showAll(); return; } var filterMoment = moment(value); debug('---- filterMoment ----'); debug(filterMoment); $attachments.each(function(i, elm) { var $this = $(elm); var creationDate = $this.find('.created-date').text(); var attachmentMoment = moment(creationDate); debug('---- attachmentMoment ----'); debug(attachmentMoment); if (isAfter()) { if (filterMoment.diff(attachmentMoment) < 0) { $this.css('display', 'table-row'); } else { $this.css('display', 'none'); } } else { if (filterMoment.diff(attachmentMoment) > 0) { $this.css('display', 'table-row'); } else { $this.css('display', 'none'); } } }); } function showAll() { $attachments.each(function(i, elm) { $(elm).css('display', 'table-row'); }); } function isAfter() { return filter_after.checked; } function debug(str) { // console.log(str); } }); </script>
添付ファイル一覧のページに入力欄を表示して、入力された日付から Before/After で Filter する
といったことはできました...コメントを追加...
Conflueceの添付ファイル一覧パーツで、直近1週間以内。だとか、ひと月以内にアップロードされたファイルを表示する。
といったことをやりたいのですが、可能でしょうか。