Add related antennas edit link to list page
This commit is contained in:
parent
6ea0697699
commit
0dd1238157
5 changed files with 43 additions and 0 deletions
|
@ -144,6 +144,11 @@ class ListTimeline extends PureComponent {
|
||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
handleEditAntennaClick = (e) => {
|
||||||
|
const id = e.currentTarget.getAttribute('data-id');
|
||||||
|
window.open(`/antennas/${id}/edit`, '_blank');
|
||||||
|
}
|
||||||
|
|
||||||
handleRepliesPolicyChange = ({ target }) => {
|
handleRepliesPolicyChange = ({ target }) => {
|
||||||
const { dispatch } = this.props;
|
const { dispatch } = this.props;
|
||||||
const { id } = this.props.params;
|
const { id } = this.props.params;
|
||||||
|
@ -163,6 +168,7 @@ class ListTimeline extends PureComponent {
|
||||||
const title = list ? list.get('title') : id;
|
const title = list ? list.get('title') : id;
|
||||||
const replies_policy = list ? list.get('replies_policy') : undefined;
|
const replies_policy = list ? list.get('replies_policy') : undefined;
|
||||||
const isExclusive = list ? list.get('exclusive') : undefined;
|
const isExclusive = list ? list.get('exclusive') : undefined;
|
||||||
|
const antennas = list ? (list.get('antennas')?.toArray() || []) : [];
|
||||||
|
|
||||||
if (typeof list === 'undefined') {
|
if (typeof list === 'undefined') {
|
||||||
return (
|
return (
|
||||||
|
@ -219,6 +225,23 @@ class ListTimeline extends PureComponent {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{ antennas.length > 0 && (
|
||||||
|
<div>
|
||||||
|
<span className='column-settings__section column-settings__section--with-margin'>
|
||||||
|
<FormattedMessage id='lists.antennas' defaultMessage='Related antennas:' />
|
||||||
|
</span>
|
||||||
|
<ul className='column-settings__row'>
|
||||||
|
{ antennas.map(antenna => (
|
||||||
|
<li key={antenna.get('id')} className='column-settings__row__antenna'>
|
||||||
|
<button type='button' className='text-btn column-header__setting-btn' data-id={antenna.get('id')} onClick={this.handleEditAntennaClick}>
|
||||||
|
{antenna.get('title')}{antenna.get('stl') && ' [STL]'}
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</ColumnHeader>
|
</ColumnHeader>
|
||||||
|
|
||||||
<StatusListContainer
|
<StatusListContainer
|
||||||
|
|
|
@ -361,6 +361,7 @@
|
||||||
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
|
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
|
||||||
"lists.account.add": "Add to list",
|
"lists.account.add": "Add to list",
|
||||||
"lists.account.remove": "Remove from list",
|
"lists.account.remove": "Remove from list",
|
||||||
|
"lists.antennas": "Related antennas",
|
||||||
"lists.delete": "Delete list",
|
"lists.delete": "Delete list",
|
||||||
"lists.edit": "Edit list",
|
"lists.edit": "Edit list",
|
||||||
"lists.edit.submit": "Change title",
|
"lists.edit.submit": "Change title",
|
||||||
|
|
|
@ -357,6 +357,7 @@
|
||||||
"limited_account_hint.title": "このプロフィールは{domain}のモデレーターによって非表示にされています。",
|
"limited_account_hint.title": "このプロフィールは{domain}のモデレーターによって非表示にされています。",
|
||||||
"lists.account.add": "リストに追加",
|
"lists.account.add": "リストに追加",
|
||||||
"lists.account.remove": "リストから外す",
|
"lists.account.remove": "リストから外す",
|
||||||
|
"lists.antennas": "関連付けられたアンテナ",
|
||||||
"lists.delete": "リストを削除",
|
"lists.delete": "リストを削除",
|
||||||
"lists.edit": "リストを編集",
|
"lists.edit": "リストを編集",
|
||||||
"lists.edit.submit": "タイトルを変更",
|
"lists.edit.submit": "タイトルを変更",
|
||||||
|
|
|
@ -4534,6 +4534,10 @@ a.status-card.compact:hover {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.column-settings__section--with-margin {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.column-settings__row--with-margin {
|
.column-settings__row--with-margin {
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
@ -4646,6 +4650,10 @@ a.status-card.compact:hover {
|
||||||
.text-btn:not(.column-header__permission-btn) {
|
.text-btn:not(.column-header__permission-btn) {
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__antenna {
|
||||||
|
margin-left: 12px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.relationship-tag {
|
.relationship-tag {
|
||||||
|
|
|
@ -6,4 +6,14 @@ class REST::ListSerializer < ActiveModel::Serializer
|
||||||
def id
|
def id
|
||||||
object.id.to_s
|
object.id.to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class AntennaSerializer < ActiveModel::Serializer
|
||||||
|
attributes :id, :title, :stl
|
||||||
|
|
||||||
|
def id
|
||||||
|
object.id.to_s
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
has_many :antennas, serializer: AntennaSerializer
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue