Vue Attract: Sort/filterable table based on Vue
Initial commit implementing sortable and filterable tables for attract using Vue.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
let CellDefault = pillar.vuecomponents.table.cells.renderer.CellDefault;
|
||||
|
||||
const TEMPLATE =`
|
||||
<div>
|
||||
<a
|
||||
v-if="rawCellValue"
|
||||
@click.prevent="onClick()"
|
||||
:href="cellLink"
|
||||
>
|
||||
{{ cellValue }}
|
||||
</a>
|
||||
</div>
|
||||
`;
|
||||
|
||||
let ParentNameCell = Vue.component('pillar-cell-parent-name', {
|
||||
extends: CellDefault,
|
||||
template: TEMPLATE,
|
||||
computed: {
|
||||
cellTitle() {
|
||||
return this.rawCellValue;
|
||||
},
|
||||
cellLink() {
|
||||
let project_url = ProjectUtils.projectUrl();
|
||||
let item_type = this.itemType();
|
||||
return `/attract/${project_url}/${item_type}s/${this.rowObject.getParent()._id}`;
|
||||
},
|
||||
embededLink() {
|
||||
return this.cellLink;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onClick() {
|
||||
item_open(this.rowObject.getParent()._id, this.itemType(), false, ProjectUtils.projectUrl());
|
||||
},
|
||||
itemType() {
|
||||
let node_type = this.rowObject.getParent().node_type;
|
||||
return node_type.replace('attract_', ''); // eg. attract_task to tasks
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
export { ParentNameCell }
|
Reference in New Issue
Block a user