Skip to content

Commit b7dc1a8

Browse files
committed
Better presentation of databse templates
1 parent 64e66b7 commit b7dc1a8

3 files changed

Lines changed: 48 additions & 8 deletions

File tree

include/css/databasedialogs.css

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,27 @@
9494
height: 100%;
9595
}
9696

97+
.jo_templateListDiv {
98+
display: flex;
99+
flex-direction: row;
100+
position: relative;
101+
height: 350px;
102+
}
103+
104+
.jo_templateListOuter {
105+
height: 100%;
106+
margin: 0 10px;
107+
flex: 1;
108+
display: flex;
109+
flex-direction: column;
110+
}
111+
97112
.jo_templatelist {
98113
border: 1px solid #808080;
99-
margin: 0 10px;
100-
height: 250px;
101114
overflow: auto;
102115
}
116+
117+
.jo_templateListCaption {
118+
font-weight: bold;
119+
margin-bottom: 2px;
120+
}

src/client/communication/Data.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,7 @@ export type TemplateListEntry = {
615615
published_to: number,
616616
description: string,
617617
ownerName: string,
618+
ownerId: number,
618619
$tle: JQuery<HTMLDivElement>
619620
}
620621

src/client/main/gui/NewDatabaseDialog.ts

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,17 @@ export class NewDatabaseDialog {
4747
<div class="jo_ds_settings">
4848
<div class="jo_ds_settings_caption">Vorlage suchen:</div><div><input class="dialog-input jo_templatename"></input></div>
4949
</div>
50-
<div class="jo_scrollable jo_templatelist"></div>
51-
</div>
50+
<div class="jo_templateListDiv">
51+
<div class="jo_templateListOuter">
52+
<div class="jo_templateListCaption">Vorlagen anderer Nutzer:</div>
53+
<div class="jo_scrollable jo_templatelist jo_templatelist_others"></div>
54+
</div>
55+
<div class="jo_templateListOuter">
56+
<div class="jo_templateListCaption">Eigene Datenbank als Vorlage:</div>
57+
<div class="jo_scrollable jo_templatelist jo_templatelist_mine"></div>
58+
</div>
59+
</div>
60+
</div>
5261
<div class="jo_createDatabaseUseExistingTab">
5362
<div class="jo_createDatabaseDescription">Wenn Du die Datenbank einer anderen Nutzerin/eines anderen Nutzers mitnutzen möchtest, brauchst Du einen Zugriffscode von ihr/ihm. Er ist unter Datenbank->Einstellungen zu finden.
5463
</div>
@@ -73,11 +82,16 @@ export class NewDatabaseDialog {
7382

7483
makeTabs(this.$dialog);
7584

76-
let $templatelist = jQuery('.jo_templatelist');
85+
let $templatelist_others = jQuery('.jo_templatelist_others');
86+
let $templatelist_mine = jQuery('.jo_templatelist_mine');
87+
88+
let myUserId = this.main.user.id;
89+
7790
this.main.networkManager.fetchTemplateList((templatelist) => {
7891
templatelist.sort((t1, t2) => {
7992
return t1.name.localeCompare(t2.name);
8093
})
94+
8195
templatelist.forEach(tle => {
8296

8397
let $tle = jQuery('<div class="jo_templateListEntry"></div>')
@@ -86,19 +100,26 @@ export class NewDatabaseDialog {
86100
$tle.data('templateId', tle.id);
87101
$tle.data('name', tle.name);
88102

89-
$templatelist.append($tle);
103+
if(tle.ownerId == myUserId){
104+
$templatelist_mine.append($tle);
105+
} else {
106+
$templatelist_others.append($tle);
107+
}
90108
tle.$tle = <JQuery<HTMLDivElement>>$tle;
91109

92110
$tle.on('pointerdown', () => {
93-
$templatelist.find('.jo_templateListEntry').removeClass('jo_active');
111+
$templatelist_others.find('.jo_templateListEntry').removeClass('jo_active');
112+
$templatelist_mine.find('.jo_templateListEntry').removeClass('jo_active');
94113
$tle.addClass('jo_active');
95114
})
96115

97116
})
117+
98118
let $templateName = <JQuery<HTMLInputElement>>jQuery('.jo_templatename');
99119
$templateName.on('input', () => {
100120
let s = <string>$templateName.val();
101-
$templatelist.find('.jo_templateListEntry').hide();
121+
$templatelist_others.find('.jo_templateListEntry').hide();
122+
$templatelist_mine.find('.jo_templateListEntry').hide();
102123
templatelist.forEach(tle => {
103124
let tleString = tle.name + tle.ownerName + (tle.description ? tle.description : "");
104125
if (tleString.indexOf(s) >= 0) tle.$tle.show();

0 commit comments

Comments
 (0)