From e6742f1cc5c2473628131ab686fc8c51d49ca7f6 Mon Sep 17 00:00:00 2001
From: _Bastler <_Bastler@bstly.de>
Date: Wed, 9 Jun 2021 09:16:47 +0200
Subject: [PATCH] jitsi shortened urls
---
src/app/pages/jitsi/jitsi.component.html | 21 +++++++++++--------
src/app/pages/jitsi/jitsi.component.scss | 3 ++-
src/app/pages/jitsi/jitsi.component.ts | 20 ++++++++++++------
.../urlshortener/urlshortener.component.html | 4 ++--
.../urlshortener/urlshortener.component.scss | 3 ++-
src/app/services/jitsi.service.ts | 4 ++++
src/app/services/urlshortener.service.ts | 4 ++++
7 files changed, 40 insertions(+), 19 deletions(-)
diff --git a/src/app/pages/jitsi/jitsi.component.html b/src/app/pages/jitsi/jitsi.component.html
index 4838316..e6c5344 100644
--- a/src/app/pages/jitsi/jitsi.component.html
+++ b/src/app/pages/jitsi/jitsi.component.html
@@ -21,10 +21,14 @@
-
+
{{ jitsiRoom.room }}
+
+
+ add_link
+
@@ -49,15 +53,14 @@
{{'jitsi.rooms.moderationUrl' | i18n}}
|
-
- {{ jitsiRoom.moderationUrl }}
+
+ {{ jitsiRoom.moderationUrl }}
open_in_new
-
- {{ jitsiRoom.moderationUrl }}
+ {{ jitsiRoom.moderationUrl }}
|
@@ -74,8 +77,8 @@
-
+
diff --git a/src/app/pages/jitsi/jitsi.component.scss b/src/app/pages/jitsi/jitsi.component.scss
index 2640e9b..bc6ceb6 100644
--- a/src/app/pages/jitsi/jitsi.component.scss
+++ b/src/app/pages/jitsi/jitsi.component.scss
@@ -11,6 +11,7 @@ mat-form-field {
.mat-cell .mat-button {
padding-left: 0px;
+ padding-right: 0px;
}
.align-right{
@@ -20,7 +21,7 @@ mat-form-field {
}
.url {
- display: block;
+ display: inline-block;
width: 200px;
max-width: 200px;
white-space: nowrap;
diff --git a/src/app/pages/jitsi/jitsi.component.ts b/src/app/pages/jitsi/jitsi.component.ts
index fb0131d..6b6dd04 100644
--- a/src/app/pages/jitsi/jitsi.component.ts
+++ b/src/app/pages/jitsi/jitsi.component.ts
@@ -8,9 +8,9 @@ import {PageEvent} from '@angular/material/paginator';
import {QuotaService} from '../../services/quota.service';
import {JitsiService} from '../../services/jitsi.service';
+import {UrlShortenerService} from '../../services/urlshortener.service';
import {ConfirmDialog} from '../../ui/confirm/confirm.component';
import {I18nService} from './../../services/i18n.service';
-import {ThrowStmt} from '@angular/compiler';
@Component({
selector: 'app-account-jitsi',
@@ -26,6 +26,7 @@ export class JitsiComponent implements OnInit {
jitsiRoom: any = {};
success: boolean;
working: boolean;
+ shortenedUrlQuota: number = 0;
datetimeformat: String;
page: any = {page: 0, size: 10, sort: "id", desc: false};
pageSizeOptions: number[] = [5, 10, 25, 50];
@@ -36,6 +37,7 @@ export class JitsiComponent implements OnInit {
private quotaService: QuotaService,
private formBuilder: FormBuilder,
private jitsiService: JitsiService,
+ private snackBar: MatSnackBar,
private i18n: I18nService,
public dialog: MatDialog) {}
@@ -81,10 +83,13 @@ export class JitsiComponent implements OnInit {
update() {
this.jitsiRoomsQuota = 0;
+ this.shortenedUrlQuota = 0;
this.quotaService.quotas().subscribe((data: any) => {
for(let quota of data) {
if(quota.name == "jitsi") {
this.jitsiRoomsQuota = quota.value;
+ } else if(quota.name == "url_shortener") {
+ this.shortenedUrlQuota = quota.value;
}
}
})
@@ -115,7 +120,6 @@ export class JitsiComponent implements OnInit {
}, (error) => {})
}
-
confirmDelete(jitsiRoom) {
const dialogRef = this.dialog.open(ConfirmDialog, {
data: {
@@ -133,10 +137,6 @@ export class JitsiComponent implements OnInit {
});
}
-
-
-
-
share(jitsiRoom) {
const dialogRef = this.dialog.open(JitsiShareDialog, {
data: jitsiRoom,
@@ -147,6 +147,14 @@ export class JitsiComponent implements OnInit {
open(jitsiRoom: any, moderation: boolean) {
return (moderation && jitsiRoom.moderationStarts != null || !jitsiRoom.starts || Date.parse(jitsiRoom.starts) < new Date().getTime()) && (!moderation || jitsiRoom.moderationStarts == null || Date.parse(jitsiRoom.moderationStarts) < new Date().getTime());
}
+
+ createShortenedUrl(jitsiRoom: any) {
+ this.jitsiService.createShortUrl(jitsiRoom.id).subscribe((result: any) => {
+ this.update();
+ }, (error: any) => {
+ this.snackBar.open(this.i18n.get("urlshortener.noQuota", []), this.i18n.get("close", []));
+ });
+ }
}
@Component({
diff --git a/src/app/pages/urlshortener/urlshortener.component.html b/src/app/pages/urlshortener/urlshortener.component.html
index 8c2d780..a02abea 100644
--- a/src/app/pages/urlshortener/urlshortener.component.html
+++ b/src/app/pages/urlshortener/urlshortener.component.html
@@ -36,8 +36,8 @@
{{'urlshortener.url' | i18n}} |
-
- {{ shortenedUrl.url }}
+
+ {{ shortenedUrl.url }}
open_in_new
diff --git a/src/app/pages/urlshortener/urlshortener.component.scss b/src/app/pages/urlshortener/urlshortener.component.scss
index 2640e9b..bc6ceb6 100644
--- a/src/app/pages/urlshortener/urlshortener.component.scss
+++ b/src/app/pages/urlshortener/urlshortener.component.scss
@@ -11,6 +11,7 @@ mat-form-field {
.mat-cell .mat-button {
padding-left: 0px;
+ padding-right: 0px;
}
.align-right{
@@ -20,7 +21,7 @@ mat-form-field {
}
.url {
- display: block;
+ display: inline-block;
width: 200px;
max-width: 200px;
white-space: nowrap;
diff --git a/src/app/services/jitsi.service.ts b/src/app/services/jitsi.service.ts
index 31a09c4..0c820b8 100644
--- a/src/app/services/jitsi.service.ts
+++ b/src/app/services/jitsi.service.ts
@@ -20,6 +20,10 @@ export class JitsiService {
return this.http.post(environment.apiUrl + "/jitsi/rooms", jitsiRoom);
}
+ createShortUrl(id) {
+ return this.http.patch(environment.apiUrl + "/jitsi/rooms/" + id, null);
+ }
+
delete(id) {
return this.http.delete(environment.apiUrl + "/jitsi/rooms/" + id);
}
diff --git a/src/app/services/urlshortener.service.ts b/src/app/services/urlshortener.service.ts
index 25003d7..6c1657c 100644
--- a/src/app/services/urlshortener.service.ts
+++ b/src/app/services/urlshortener.service.ts
@@ -11,6 +11,10 @@ export class UrlShortenerService {
constructor(private http: HttpClient) {
}
+ getModel(code: string): Promise |