Skip to content

Commit 4ed115f

Browse files
committed
Displayed roles in users tree
1 parent 4f2076a commit 4ed115f

File tree

3 files changed

+62
-8
lines changed

3 files changed

+62
-8
lines changed

client/src/components/events/default/index.vue

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<article class="event-content">
33
<main>
4-
<fieldset>
4+
<fieldset class="header">
55
<legend>Name</legend>
66
<header>{{ event.name }}</header>
77
</fieldset>
@@ -98,6 +98,19 @@ export default {
9898
flex-direction: column;
9999
transition: 0.5s;
100100
}
101+
.event-content:not(.selected) aside{
102+
display: none;
103+
}
104+
.event-content:not(.selected) main>fieldset:not(.header){
105+
display: none;
106+
}
107+
.event-content:not(.selected) fieldset.header{
108+
font-size:.7em;
109+
letter-spacing: 0px;
110+
font-weight:100;
111+
line-height: 1em;
112+
}
113+
101114
.event-content.selected {
102115
overflow: auto;
103116
}
@@ -143,7 +156,6 @@ export default {
143156
.event-content > aside {
144157
font-size: 0.95em;
145158
flex-shrink: 0;
146-
overflow:auto;
147159
display: flex;
148160
flex-wrap: wrap;
149161
flex-direction: row;

client/src/components/subjects/index-tree.vue

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
:users="users"
77
:selected="subjectIds"
88
:view-only="viewOnly"
9+
:roles="roles"
910
@changed="selectionChanged"
1011
></tree-item>
1112
</div>
@@ -39,6 +40,13 @@ export default {
3940
root() {
4041
return this.groups.find((x) => !x.parentId);
4142
},
43+
roles() {
44+
return this.relations.map((x) => ({
45+
subjectId: x.subjectId,
46+
access: { read: x.canRead, update: x.canUpdate, delete: x.canDelete },
47+
other: x.characteristics,
48+
}));
49+
},
4250
},
4351
methods: {
4452
children(id) {
@@ -67,6 +75,7 @@ export default {
6775
div[role="tree"] {
6876
font-size: 12pt;
6977
overflow: auto;
78+
max-width: 100%;
7079
}
7180
div[role="tree"] ul.group:hover {
7281
box-shadow: inset 1px 0 0 0 black;
@@ -90,13 +99,23 @@ div[role="tree"].view .collapsed.group > * {
9099
}
91100
div[role="tree"].view .collapsed.group > .indeterminate {
92101
max-width: 25%;
93-
white-space: nowrap;
102+
display: -webkit-box;
103+
-webkit-line-clamp: 1;
94104
overflow: hidden;
95-
text-overflow: ellipsis;
105+
-webkit-box-orient: vertical;
106+
position: relative;
107+
padding-right:.5em;
108+
}
109+
div[role="tree"].view .collapsed.group > .indeterminate [role=badge]{
110+
visibility: hidden;
96111
}
97-
div[role="tree"].view .collapsed.group > .indeterminate::after{
98-
content:' > ';
99-
font-weight: 700;
112+
div[role="tree"].view .collapsed.group > .indeterminate::after {
113+
position: absolute;
114+
content: " > ";
115+
z-index: 1;
116+
font-weight: 700;
117+
right: 0;
118+
top: 0;
100119
}
101120
div[role="tree"] .collapsed.group > ul {
102121
flex-grow: 1;

client/src/components/subjects/tree-item.vue

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<ul
33
v-if="showCase"
4-
:class="[{ collapsed: selectedUsers==1 }, subject.$type]"
4+
:class="[{ collapsed: selectedUsers == 1 }, subject.$type]"
55
>
66
<label :class="[{ indeterminate: containsSelected }]">
77
<input
@@ -12,6 +12,16 @@
1212
/>
1313
<span>{{ subject.name }}</span>
1414
<badge v-if="subject.$type == 'group'">{{ selectedUsers }}</badge>
15+
<span v-if="viewOnly && currentRoles">
16+
<span
17+
v-for="(role, i) in currentRoles.other"
18+
:key="i"
19+
class="role"
20+
:title="role"
21+
>
22+
{{ getRoleView(role) }}
23+
</span>
24+
</span>
1525
</label>
1626
<ul v-if="this.children.length" class="inner">
1727
<li v-for="child in children" :key="child.id">
@@ -21,6 +31,7 @@
2131
:groups="groups"
2232
:selected="selected"
2333
:view-only="viewOnly"
34+
:roles="roles"
2435
@changed="emitChanged"
2536
></tree-item>
2637
</li>
@@ -30,6 +41,11 @@
3041

3142
<script>
3243
import badge from "../ui/badge.vue";
44+
const roles = {
45+
acceptor: "👌",
46+
perfomer: "✍️",
47+
owner: "🔑",
48+
};
3349
export default {
3450
components: { badge },
3551
name: "tree-item",
@@ -39,6 +55,7 @@ export default {
3955
groups: Array,
4056
selected: Array,
4157
viewOnly: Boolean,
58+
roles: Array,
4259
},
4360
data() {
4461
return {};
@@ -93,6 +110,9 @@ export default {
93110
);
94111
return allUsersIds.some((x) => this.selected.includes(x));
95112
},
113+
currentRoles() {
114+
return this.roles.find((x) => x.subjectId == this.subject.id);
115+
},
96116
},
97117
98118
methods: {
@@ -116,6 +136,9 @@ export default {
116136
};
117137
return compute(subj);
118138
},
139+
getRoleView(role) {
140+
return roles[role] || role;
141+
},
119142
},
120143
};
121144
</script>

0 commit comments

Comments
 (0)