Skip to content

Commit a0a2c85

Browse files
committed
[チケットのステータスに応じて、カスタムフィールドの表示/非表示を切り替える] サンプル作成
1 parent 1017584 commit a0a2c85

File tree

3 files changed

+57
-1
lines changed

3 files changed

+57
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ If this project serves you well, please support this project as a [sponsor](http
1515

1616
* [Set the default value by tracker / トラッカーに応じてデフォルト値を設定](./examples/0003.set_default_value_by_tracker/example.md)
1717
* [Link custom fields (refining the children according to the parent value) / カスタムフィールドを連動させる(親の値に応じて、子を絞り込む)](./examples/0007.link_custom_fields/example.md)
18+
* [Change the visibility of custom fields by status / チケットのステータスに応じて、カスタムフィールドの表示/非表示を切り替える](./examples/0008.change_custom_field_visibility_by_status/example.md)
1819

1920
### Issues list / チケット一覧
2021

@@ -29,7 +30,6 @@ If this project serves you well, please support this project as a [sponsor](http
2930

3031
### Old
3132

32-
* [チケットのステータスに応じて、カスタムフィールドの表示/非表示を切り替える](./old-examples/change_custom_field_visibility_when_change_status.js)
3333
* [新しいチケットタブを表示する(Redmine3.3で"+"ボタンと両立した時)](./old-examples/add_new_issue_tab.js)
3434
* [チケット一覧の進捗率にて値も表示する](./old-examples/add_value_of_progress_on_issues_list.js)
3535
* [カスタムフィールドのチェックボックスを2列で表示](./old-examples/multi_column_checkbox.css)
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Change the visibility of custom fields by status
2+
3+
Change the visibility of custom fields by status.
4+
ステータス毎にカスタムフィールドの表示/非表示を切り替えます。
5+
6+
In this example, the custom field 1 will be displayed only if the status ID is 2.
7+
この例では、ステータスIDが2の場合のみ、カスタムフィールド1が表示します。
8+
9+
## Setting
10+
11+
### Path Pattern
12+
13+
None
14+
15+
### Insert Position
16+
17+
Bottom of issue form
18+
<!--
19+
Head of all pages
20+
Bottom of issue form
21+
Bottom of issue detail
22+
Bottom of all pages
23+
-->
24+
25+
### Code
26+
27+
JavaScript
28+
<!--
29+
JavaScript
30+
CSS
31+
HTML
32+
-->
33+
34+
```javascript
35+
$(function() {
36+
37+
const targetCustomFieldId = '1';
38+
39+
const targetCustomFieldInput = $('#issue_custom_field_values_' + targetCustomFieldId);
40+
const targetCustomFieldDisplay = $('div.cf_' + targetCustomFieldId + '.attribute');
41+
42+
const visible = $('#issue_status_id').val() == '2';
43+
44+
if (visible) {
45+
targetCustomFieldInput.parent().show();
46+
targetCustomFieldDisplay.show();
47+
} else {
48+
targetCustomFieldInput.parent().hide();
49+
targetCustomFieldDisplay.hide();
50+
}
51+
});
52+
```
53+
54+
## Result
55+
56+
![result](./result.gif)
127 KB
Loading

0 commit comments

Comments
 (0)