Skip to content

Commit 262f170

Browse files
committed
Item-based style
1 parent efc3b09 commit 262f170

File tree

5 files changed

+26
-1
lines changed

5 files changed

+26
-1
lines changed

dev/serve.vue

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,13 @@ button {
119119
background: blue !important;
120120
}
121121
122+
.red-background {
123+
background: black !important;
124+
color: white;
125+
}
126+
127+
.bold-font {
128+
font-weight: bold !important;
129+
}
130+
122131
</style>

dev/tree.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
{
33
"name": "Rejection Emails",
44
"type": "emails",
5+
"styles": ["red-background", "bold-font"],
56
"expanded": true,
67
"children": [
78
{

src/tree-item.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,19 @@ export default defineComponent({
5151
}
5252
});
5353

54+
const styles = computed(() => {
55+
56+
var style: Record<string, boolean | undefined> = {
57+
'selected-tree-item': !props.isCheckable && props.item.selected
58+
}
59+
60+
if (props.item.styles) {
61+
props.item.styles.forEach(s => style[s] = true)
62+
}
63+
64+
return style;
65+
});
66+
5467
const updateCheckState = () => {
5568
if (checkbox.value) {
5669
props.item.checked = checkbox.value.checked;
@@ -122,6 +135,7 @@ export default defineComponent({
122135
}
123136

124137
return {
138+
styles,
125139
checkbox,
126140
parent,
127141
treeState,

src/tree-item.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</slot>
99
</div>
1010

11-
<div class="pointer tree-item" :class="{ 'selected-tree-item': !isCheckable && item.selected }" style="width: 100%">
11+
<div class="pointer tree-item" :class="styles" style="width: 100%">
1212
<div v-if="!isRenaming" @dblclick="beginRenaming">
1313
<div v-if="isCheckable" class="tree-item__checkbox-area">
1414
<input @contextmenu.prevent @change="updateCheckState" type="checkbox" ref="checkbox" :disabled="item.disabled" :class="checkboxStyle" />

src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export interface TreeViewItem {
77
expanded?: boolean;
88
disabled?: boolean;
99
disableDragAndDrop?: boolean;
10+
styles?: string[];
1011
meta?: any;
1112
}
1213

0 commit comments

Comments
 (0)