Skip to content

Commit ee2883b

Browse files
authored
Merge branch 'martin-pabst:master' into master
2 parents 5995d54 + 69f7419 commit ee2883b

8 files changed

Lines changed: 85 additions & 55 deletions

File tree

index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
<div id="login-spinner">
6060
<img src="assets/graphics/ball-triangle.svg">
6161
</div>
62-
<div class="jo_infodiv">
62+
<div class="jo_infodiv silent" style="display: none;">
6363

6464
<div class="jo_infodiv_line">
6565
<a href="https://www.learn-sql.de/doku.php?id=sqlide:videotutorials:start" target="_blank">
@@ -118,9 +118,9 @@
118118
<vidis-login loginurl="https://aai.vidis.schule/auth/realms/vidis/protocol/openid-connect/auth?client_id=online-ide-o&response_type=code&scope=openid&redirect_uri=https://sql-ide.de/vidisRedirect" size="S" cookie="false"></vidis-login>
119119
</div> -->
120120

121-
<div>
122-
<!-- <a href="https://aai-test.vidis.schule/auth/realms/vidis/protocol/openid-connect/auth?client_id=online-ide-o&response_type=code&scope=openid&redirect_uri=https://sql-ide.de/vidisRedirect">VIDIS</a> -->
123-
<a href="https://aai.vidis.schule/auth/realms/vidis/protocol/openid-connect/auth?client_id=online-ide-o&response_type=code&scope=openid&redirect_uri=https://sql-ide.de/vidisRedirect">VIDIS-Prod</a>
121+
<div class="silent" style="display: none;">
122+
<a href="https://aai-test.vidis.schule/auth/realms/vidis/protocol/openid-connect/auth?client_id=online-ide-o&response_type=code&scope=openid&redirect_uri=https://sql-ide.de/vidisRedirect">VIDIS</a>
123+
<!-- <a href="https://aai.vidis.schule/auth/realms/vidis/protocol/openid-connect/auth?client_id=online-ide-o&response_type=code&scope=openid&redirect_uri=https://sql-ide.de/vidisRedirect">VIDIS-Prod</a> -->
124124
</div>
125125
<div id="login-datenschutz">
126126
<a href="https://www.learnj.de/doku.php?id=ide:datenschutzerklaerung"

src/client/compiler/parser/SQLTable.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ export class Column {
4747
type = new SQLDerivedType(<SQLBaseType>type, parameterValues);
4848
}
4949

50+
// If type is unrecognized default to type text.
51+
if (!type) {
52+
type = SQLBaseType.getBaseType('text');
53+
}
54+
5055
let column = new Column(cs.name, type, table, cs.isPrimaryKey, !cs.isPrimaryKey, cs.defaultValue, cs.isAutoIncrement);
5156
column.notNull = cs.notNull;
5257

@@ -102,4 +107,4 @@ export class Table {
102107
return tables;
103108
}
104109

105-
}
110+
}

src/client/main/IDEStarter.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ function initMonacoEditor(): void {
2424
// see https://github.com/microsoft/monaco-editor/blob/main/docs/integrate-esm.md#using-vite
2525
// https://dev.to/lawrencecchen/monaco-editor-svelte-kit-572
2626
// https://github.com/microsoft/monaco-editor/issues/4045
27-
27+
2828
self.MonacoEnvironment = {
2929
getWorker: (_workerId, label) => {
3030
switch (label) {
@@ -51,12 +51,19 @@ function initMonacoEditor(): void {
5151

5252
window.onload = () => {
5353

54+
if (window.location.href.indexOf('silent') < 0) {
55+
let silentElements = document.getElementsByClassName('silent');
56+
for (let i = 0; i < silentElements.length; i++) {
57+
(silentElements[i] as HTMLElement).style.display = '';
58+
}
59+
}
60+
5461
initMonacoEditor();
5562
let main = new Main();
5663
main.initGUI();
5764
main.initEditor();
5865
main.getMonacoEditor().updateOptions({ readOnly: true });
59-
66+
6067
main.bottomDiv.initGUI();
6168

6269
}

src/client/main/Login.ts

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,13 @@ export class Login {
9191
}
9292

9393
logout() {
94+
95+
let isSilent = window.location.href.indexOf('silent') >= 0;
96+
if (!this.main.user || this.main.user.is_testuser) {
97+
window.location.assign("/" + (isSilent ? "?silent=true" : ""));
98+
return;
99+
}
100+
94101
this.main.waitOverlay.show('Bitte warten, der letzte Bearbeitungsstand wird noch gespeichert ...');
95102

96103
if (this.main.workspacesOwnerId != this.main.user.id) {
@@ -113,27 +120,29 @@ export class Login {
113120
// window.location.href = 'index.html';
114121

115122
if (this.loggedInWithVidis) {
116-
// window.location.assign("https://aai-test.vidis.schule/auth/realms/vidis/protocol/openid-connect/logout?ID_TOKEN_HINT=" + this.main.user.vidis_sub + "&post_logout_redirect_uri=https%3A%2F%2Fwww.sql-ide.de");
117-
window.location.assign("https://aai.vidis.schule/auth/realms/vidis/protocol/openid-connect/logout?ID_TOKEN_HINT=" + this.main.user.vidis_sub + "&post_logout_redirect_uri=https%3A%2F%2Fwww.sql-ide.de");
123+
window.location.assign("https://aai-test.vidis.schule/auth/realms/vidis/protocol/openid-connect/logout?ID_TOKEN_HINT=" + this.main.user.vidis_sub + "&post_logout_redirect_uri=https%3A%2F%2Fwww.sql-ide.de");
124+
// window.location.assign("https://aai.vidis.schule/auth/realms/vidis/protocol/openid-connect/logout?ID_TOKEN_HINT=" + this.main.user.vidis_sub + "&post_logout_redirect_uri=https%3A%2F%2Fwww.sql-ide.de");
118125
} else {
119-
jQuery('#login').show();
120-
this.main.waitOverlay.hide();
121-
jQuery('#login-message').empty();
122-
this.main.getMonacoEditor().setModel(monaco.editor.createModel("", "myJava"));
123-
this.main.projectExplorer.fileListPanel.clear();
124-
this.main.projectExplorer.workspaceListPanel.clear();
126+
window.location.assign("/" + (isSilent ? "?silent=true" : ""));
127+
128+
// jQuery('#login').show();
129+
// this.main.waitOverlay.hide();
130+
// jQuery('#login-message').empty();
131+
// this.main.getMonacoEditor().setModel(monaco.editor.createModel("", "myJava"));
132+
// this.main.projectExplorer.fileListPanel.clear();
133+
// this.main.projectExplorer.workspaceListPanel.clear();
125134

126-
this.main.databaseExplorer.clear();
127-
this.main.resultsetPresenter.clear();
135+
// this.main.databaseExplorer.clear();
136+
// this.main.resultsetPresenter.clear();
128137

129-
if (this.main.user.is_teacher) {
130-
this.main.teacherExplorer.removePanels();
131-
this.main.teacherExplorer = null;
132-
}
138+
// if (this.main.user.is_teacher) {
139+
// this.main.teacherExplorer.removePanels();
140+
// this.main.teacherExplorer = null;
141+
// }
133142

134143

135-
this.main.currentWorkspace = null;
136-
this.main.user = null;
144+
// this.main.currentWorkspace = null;
145+
// this.main.user = null;
137146
}
138147

139148

src/client/main/gui/Editor.ts

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export class Editor {
134134
// suggestSelection: 'recentlyUsedByPrefix',
135135
// },
136136

137-
mouseWheelZoom: this.isEmbedded,
137+
mouseWheelZoom: true, // this.isEmbedded,
138138

139139
minimap: {
140140
enabled: this.showMinimap
@@ -152,14 +152,23 @@ export class Editor {
152152

153153
let that = this;
154154

155-
let mouseWheelListener = (event: WheelEvent) => {
156-
if (event.ctrlKey === true) {
157155

158-
that.changeEditorFontSize(Math.sign(event.deltaY), true);
159156

160-
event.preventDefault();
157+
// let mouseWheelListener = (event: WheelEvent) => {
158+
// if (event.ctrlKey === true) {
159+
160+
// that.changeEditorFontSize(Math.sign(event.deltaY), true);
161+
162+
// event.preventDefault();
163+
// }
164+
// };
165+
166+
this.editor.onDidChangeConfiguration((e) => {
167+
if (e.hasChanged(monaco.editor.EditorOption.fontSize)) {
168+
let newFontSize = this.editor.getOption(monaco.editor.EditorOption.fontSize);
169+
this.setFontSize(newFontSize)
161170
}
162-
};
171+
});
163172

164173

165174
this.editor.onDidChangeConfiguration((event) => {
@@ -179,11 +188,11 @@ export class Editor {
179188
// We need this to set our model after user uses Strg+click on identifier
180189
this.editor.onDidChangeModel((event) => {
181190

182-
let element: HTMLDivElement = <any>$element.find('.monaco-editor')[0];
183-
if(element != null){
184-
element.removeEventListener("wheel", mouseWheelListener);
185-
element.addEventListener("wheel", mouseWheelListener, { passive: false });
186-
}
191+
// let element: HTMLDivElement = <any>$element.find('.monaco-editor')[0];
192+
// if(element != null){
193+
// element.removeEventListener("wheel", mouseWheelListener);
194+
// element.addEventListener("wheel", mouseWheelListener, { passive: false });
195+
// }
187196

188197
if (this.main.getCurrentWorkspace() == null) return;
189198

@@ -310,24 +319,24 @@ export class Editor {
310319

311320
}
312321

313-
changeEditorFontSize(delta: number, dynamic: boolean = true) {
314-
let editorfs = this.editor.getOptions().get(monaco.editor.EditorOption.fontSize);
315-
316-
if (dynamic) {
317-
if (editorfs < 10) {
318-
delta *= 1;
319-
} else if (editorfs < 20) {
320-
delta *= 2;
321-
} else {
322-
delta *= 4;
323-
}
324-
}
325-
326-
let newEditorFs = editorfs + delta;
327-
if (newEditorFs >= 6 && newEditorFs <= 80) {
328-
this.setFontSize(newEditorFs);
329-
}
330-
}
322+
// changeEditorFontSize(delta: number, dynamic: boolean = true) {
323+
// let editorfs = this.editor.getOptions().get(monaco.editor.EditorOption.fontSize);
324+
325+
// if (dynamic) {
326+
// if (editorfs < 10) {
327+
// delta *= 1;
328+
// } else if (editorfs < 20) {
329+
// delta *= 2;
330+
// } else {
331+
// delta *= 4;
332+
// }
333+
// }
334+
335+
// let newEditorFs = editorfs + delta;
336+
// if (newEditorFs >= 6 && newEditorFs <= 80) {
337+
// this.setFontSize(newEditorFs);
338+
// }
339+
// }
331340

332341

333342
addActions() {

src/client/main/gui/MainMenu.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,7 @@ export class MainMenu {
129129
{ identifier: "Hoher Kontrast im Editor ein/aus", action: () => { editor.getAction("editor.action.toggleHighContrast").run(); } },
130130

131131
{ identifier: "-" },
132-
{ identifier: "Zoom out (Strg + Mausrad)", action: () => { this.main.editor.changeEditorFontSize(-4); } },
133132
{ identifier: "Zoom normal", action: () => { this.main.editor.setFontSize(14); } },
134-
{ identifier: "Zoom in (Strg + Mausrad)", action: () => { this.main.editor.changeEditorFontSize(4); } },
135133

136134
]
137135
}

src/client/main/gui/NewDatabaseDialog.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ export class NewDatabaseDialog {
202202
(response) => {
203203
workspaceData.template_id = response.newTemplateId;
204204
this.createWorkspace(workspaceData);
205+
alert("Die Datenbank wurde erfolgreich angelegt und hochgeladen.");
205206
});
206207

207208
} else {
@@ -269,6 +270,7 @@ export class NewDatabaseDialog {
269270
if (isDatabase) {
270271
that.database = db;
271272
jQuery('.jo_databaseimport_ok').html("Die Datenbankdatei wurde erfolgreich von Datei eingelesen. Sie können die Datenbank jetzt durch Klick auf den Button unten erstellen.");
273+
alert("Die Datenbankdatei wurde erfolgreich eingelesen. Sie können die Datenbank jetzt durch Klick auf den Button unten erstellen.");
272274
} else {
273275
alert("In der Datei befindet sich kein Binärdump einer Datenbank.");
274276
}

src/client/tools/TemplateUploader.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export class TemplateUploader {
1717
buffer = pako.deflate(buffer);
1818
this.uploadIntern(buffer, workspace_id, reason, main, callback);
1919
}, (error) => {
20-
alert("Fehler beim Exportieren der Datenbank: " + error)
20+
alert("Fehler beim Hochladen der Datenbank: " + error)
2121
main.waitOverlay.hide();
2222
})
2323
} else {

0 commit comments

Comments
 (0)