summaryrefslogtreecommitdiffstats
path: root/assets/js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js')
-rw-r--r--assets/js/gradings.js42
-rw-r--r--assets/js/lang/bundle.js16
2 files changed, 40 insertions, 18 deletions
diff --git a/assets/js/gradings.js b/assets/js/gradings.js
index a852337..bd664bb 100644
--- a/assets/js/gradings.js
+++ b/assets/js/gradings.js
@@ -131,6 +131,18 @@ function displayData() {
calendar_obj.addEventSource(transformed_gradings);
}
+async function validateInputs() {
+ if ($("#input-grading-name").val() != null && $("#input-grading-name").val().length > 0) {
+ $("#btn-add-grading").removeAttr("disabled");
+ $("#input-grading-name").addClass("valid");
+ $("#input-grading-name").removeClass("invalid");
+ } else {
+ $("#btn-add-grading").attr("disabled", "disabled");
+ $("#input-grading-name").addClass("invalid");
+ $("#input-grading-name").removeClass("valid");
+ }
+}
+
function gradingClickHandler(eventClickInfo) {
let grading_id = parseInt(eventClickInfo.event.id);
let grading_subject = gradings[grading_id]["subject"];
@@ -144,19 +156,19 @@ function gradingClickHandler(eventClickInfo) {
M.Sidenav.getInstance(modal).open();
}
- function setupPickers() {
- // Setup pickers, todo (adding an event), to be stored in messages
- var date_object = new Date();
- let elems = document.querySelectorAll('#datepicker-add');
- let options = {
- autoClose: true,
- format: "dd.mm.yyyy",
- defaultDate: date_object,
- setDefaultDate: true,
- firstDay: 1
- }
- instances = M.Datepicker.init(elems, options);
+function setupPickers() {
+ // Setup pickers, todo (adding an event), to be stored in messages
+ var date_object = new Date();
+ let elems = document.querySelectorAll('#datepicker-add');
+ let options = {
+ autoClose: true,
+ format: "dd.mm.yyyy",
+ defaultDate: date_object,
+ setDefaultDate: true,
+ firstDay: 1
}
+ instances = M.Datepicker.init(elems, options);
+}
document.addEventListener("DOMContentLoaded", () => {
@@ -176,14 +188,16 @@ document.addEventListener("DOMContentLoaded", () => {
calendar_obj.render();
// Modal for adding gradings
- setupPickers(); // todo (adding an event), to be stored in messages
+ setupPickers(); // TODO: Hook up submit logic
// Setup modals
const modal_elems = document.querySelectorAll('.modal');
const modal_options = {
onOpenStart: () => { $("#fab-new").hide() },
onCloseEnd: () => { $("#fab-new").show() },
dismissible: false
- };
+ };
+ $("#input-grading-name").on("blur", validateInputs);
+ $("#input-grading-description").on("blur", validateInputs);
M.Modal.init(modal_elems, modal_options);
loadGradings(true);
diff --git a/assets/js/lang/bundle.js b/assets/js/lang/bundle.js
index 2cd78bc..49e64ac 100644
--- a/assets/js/lang/bundle.js
+++ b/assets/js/lang/bundle.js
@@ -10,7 +10,7 @@ var dateString = {
return mesecileta[mesl];
},
longFormatted: (dateObject) => {
- return dateString.day(dateObject.getDay())+", "+(dateObject.getDate())+". "+dateString.month(dateObject.getMonth())+" "+dateObject.getFullYear();
+ return `${dateString.day(dateObject.getDay())}, ${(dateObject.getDate())}. ${dateString.month(dateObject.getMonth())} ${dateObject.getFullYear()}`;
}
};
async function refreshLangDOM() {
@@ -143,7 +143,7 @@ var langstrings = {
and: "and",
thePrivacyPolicy: "the privacy policy",
loginFailed: "login failed",
- browserNotSupported: "bežiapp won't work on your device, unless you update your Internet browser",
+ browserNotSupported: "bežiapp won't work on your device, unless you update your Internet browser",
// index
timetable: "timetable",
gradings: "gradings",
@@ -158,6 +158,9 @@ var langstrings = {
// timetable
noPeriods: "no periods in selected week",
// gradings
+ date: "date",
+ description: "description",
+ add: "add",
requestFailed: "request failed",
addGrading: "add grading",
noInternetConnection: "no internet connection",
@@ -187,6 +190,7 @@ var langstrings = {
// messaging
loadingMessages: "Loading messages...",
sendAMessage: "send a message",
+ send: "send",
recipient: "recipient",
messageSubject: "subject",
messageBody: "message body",
@@ -227,7 +231,7 @@ var langstrings = {
recipientNotInDirectory: "recipient is not in directory.",
chatExternalInfo: "you have just received a chat. Chats are not supported by GimSIS, so you must reply by changing the subject to something else. Chat body: ",
// meals
- loginError: "login error",
+ loginError: "login error",
loginToLopolis: "login to Lopolis",
loginToLopolisNote: "it seems like you're not currently logged in to eRestavracija, so this form has been presented to you. You have a different username and password combination used for applying and opting out of of menus. In order to use this feature, you have to log in with your Lopolis account.",
logInToLopolis: "log in to Lopolis",
@@ -360,6 +364,9 @@ var langstrings = {
logout: "odjava",
settings: "nastavitve",
// gradings
+ date: "datum",
+ description: "opis",
+ add: "dodaj",
requestFailed: "zahteva spodletela",
addGrading: "dodaj ocenjevanje",
noInternetConnection: "ni povezave s spletom",
@@ -378,7 +385,7 @@ var langstrings = {
// absences
from: "od",
to: "do",
- cancel: "preklic",
+ cancel: "prekliči",
ok: "v redu",
noAbsences: "ni izostankov v izbranem časovnem obdobju",
lesson: "ura",
@@ -389,6 +396,7 @@ var langstrings = {
// messaging
loadingMessages: "Nalagam sporočila...",
sendAMessage: "pošlji sporočilo",
+ send: "pošlji",
recipient: "prejemnik",
messageSubject: "zadeva",
messageBody: "telo",