mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-07 13:44:23 +08:00
Add favorites to experiment table [SCI-11851]
This commit is contained in:
parent
32ecaecf1d
commit
ed282a94bc
4 changed files with 25 additions and 3 deletions
|
@ -27,6 +27,7 @@
|
|||
@updateDueDate="updateDueDate"
|
||||
@updateStartDate="updateStartDate"
|
||||
@changeStatus="changeStatus"
|
||||
@updateFavorite="updateFavorite"
|
||||
>
|
||||
<template #card="data">
|
||||
<ExperimentCard :params="data.params" :dtComponent="data.dtComponent" ></ExperimentCard>
|
||||
|
@ -85,6 +86,7 @@ import StatusRenderer from './renderers/status.vue';
|
|||
import DueDateRenderer from '../shared/datatable/renderers/date.vue';
|
||||
import StartDateRenderer from '../shared/datatable/renderers/date.vue';
|
||||
import ExperimentCard from './card.vue';
|
||||
import FavoriteRenderer from '../shared/datatable/renderers/favorite.vue';
|
||||
|
||||
export default {
|
||||
name: 'ExperimentsList',
|
||||
|
@ -100,7 +102,8 @@ export default {
|
|||
ExperimentCard,
|
||||
StatusRenderer,
|
||||
StartDateRenderer,
|
||||
DueDateRenderer
|
||||
DueDateRenderer,
|
||||
FavoriteRenderer
|
||||
},
|
||||
props: {
|
||||
dataSource: { type: String, required: true },
|
||||
|
@ -142,6 +145,17 @@ export default {
|
|||
cellRenderer: NameRenderer,
|
||||
minWidth: 150
|
||||
},
|
||||
{
|
||||
field: 'favorite',
|
||||
headerComponentParams: {
|
||||
html: '<div class="sn-icon sn-icon-star-filled"></div>'
|
||||
},
|
||||
headerName: this.i18n.t('experiments.table.column.favorite'),
|
||||
sortable: true,
|
||||
cellRenderer: FavoriteRenderer,
|
||||
minWidth: 80,
|
||||
notSelectable: true
|
||||
},
|
||||
{
|
||||
field: 'code',
|
||||
headerName: this.i18n.t('experiments.id'),
|
||||
|
@ -399,6 +413,12 @@ export default {
|
|||
},
|
||||
updateStartDate(value, params) {
|
||||
this.updateField(params.data.urls.update, { start_on: this.formatDate(value) });
|
||||
},
|
||||
updateFavorite(value, params) {
|
||||
const url = value ? params.data.urls.favorite : params.data.urls.unfavorite;
|
||||
axios.post(url).then(() => {
|
||||
this.updateTable();
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -9,7 +9,7 @@ module Lists
|
|||
|
||||
attributes :name, :code, :created_at, :updated_at, :workflow_img, :description, :completed_tasks,
|
||||
:total_tasks, :archived_on, :urls, :sa_description, :default_public_user_role_id, :team, :permissions,
|
||||
:top_level_assignable, :hidden, :archived, :project_id, :due_date_cell, :start_date_cell, :status_cell
|
||||
:top_level_assignable, :hidden, :archived, :project_id, :due_date_cell, :start_date_cell, :status_cell, :favorite
|
||||
|
||||
def created_at
|
||||
I18n.l(object.created_at, format: :full_date)
|
||||
|
|
|
@ -95,7 +95,8 @@ module Lists
|
|||
description: 'experiments.description',
|
||||
start_date: 'start_on',
|
||||
due_date: 'due_date',
|
||||
status: 'status'
|
||||
status: 'status',
|
||||
favorite: 'favorite'
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
@ -1827,6 +1827,7 @@ en:
|
|||
no_due_date_placeholder: '+ Add due date'
|
||||
no_due_date: 'not set'
|
||||
no_start_date_placeholder: "+ Add starting date"
|
||||
favorite: 'Favorites'
|
||||
status:
|
||||
not_started: 'Not started'
|
||||
started: 'In progress'
|
||||
|
|
Loading…
Add table
Reference in a new issue