From f516db9d14721b227838dbf82eb8723cfb6ed949 Mon Sep 17 00:00:00 2001 From: PavelBegunkov <asml.silence@gmail.com> Date: Thu, 11 Aug 2016 17:49:24 +0300 Subject: [PATCH] #80 add current semester id in js layer --- media/js/config.js | 6 ++++++ media/js/discipline/rating/common.js | 6 +----- media/js/discipline/rating/exam.js | 2 +- media/js/semesterSwitcher.js | 7 ++++++- ~dev_rating/application/views/base.twig | 2 +- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/media/js/config.js b/media/js/config.js index 5a23b44a0..451cdfc8c 100644 --- a/media/js/config.js +++ b/media/js/config.js @@ -6,6 +6,12 @@ var SitePath = g_SitePath; // Далее юзаем глобальные переменные с префиксом "g" +var singleNumRegexp = /\w_(\d+)/; +var parseID = function($this) { + singleNumRegexp.lastIndex = 0; + return +singleNumRegexp.exec($this.attr('id'))[1]; +}; + // Common.js $.postJSON = function (url, data, callback) { return $.post(url, data, callback, 'json'); diff --git a/media/js/discipline/rating/common.js b/media/js/discipline/rating/common.js index 872f200a3..34c33e100 100644 --- a/media/js/discipline/rating/common.js +++ b/media/js/discipline/rating/common.js @@ -1,8 +1,4 @@ class Base { - static parseID($this) { - return +/\w_(\d+)/.exec($this.attr('id'))[1]; - } - static parsePosition($this) { let doubleNumReg = /[A-Za-z_]+(\d+)[A-Za-z_]+(\d+)/; return doubleNumReg.exec($this.attr('id')).splice(1, 2); @@ -84,7 +80,7 @@ class RateInfo { var jCurSubmoduleHead = this.$submodulesHead.children(`.col_${col}:first`); var submodule = +jCurSubmoduleInfo.attr('id'); - var student = Base.parseID($this.siblings('.studentCell')); + var student = parseID($this.siblings('.studentCell')); var maxRate = +this.$submodulesMaxRate.children(`.col_${col}`).text(); // Проверяем допустимое значение (только для добора) diff --git a/media/js/discipline/rating/exam.js b/media/js/discipline/rating/exam.js index cd507c0ab..a95cc3b7a 100644 --- a/media/js/discipline/rating/exam.js +++ b/media/js/discipline/rating/exam.js @@ -253,7 +253,7 @@ $(function () { // Ведомость в формате excel $('body').on('click', '.downloadExcelStatement', function () { - var groupID = Base.parseID($(this)); + var groupID = parseID($(this)); var $stageSelector = $('#stageSelector_' + groupID); $.fileDownload(URLdir + 'handler/FileCreator/GenerateFinalForm', { diff --git a/media/js/semesterSwitcher.js b/media/js/semesterSwitcher.js index 7a59244aa..aba838d7d 100644 --- a/media/js/semesterSwitcher.js +++ b/media/js/semesterSwitcher.js @@ -1,3 +1,5 @@ +var getSemester; + $(function () { let $semesters = $('.semesterSwitcher').first(), $switch = $('#changeSemester'), @@ -12,4 +14,7 @@ $(function () { id: e.target.id.split('-')[1] }).done(_ => window.location.replace(URLdir)); }); -}); \ No newline at end of file + + getSemester = () => parseID($semesters); +}); + diff --git a/~dev_rating/application/views/base.twig b/~dev_rating/application/views/base.twig index 3b97b9547..98bdb7bb8 100644 --- a/~dev_rating/application/views/base.twig +++ b/~dev_rating/application/views/base.twig @@ -21,7 +21,7 @@ <i class="fa fa-angle-down"></i> </a> <div class="semesterSwitcherBtn"> - <div class="semesterSwitcher" style="display: none;"> + <div class="semesterSwitcher" id="semester_{{ User.SemesterID }}" style="display: none;"> <ul> {% for i in SemesterList %} <li><a href="#" id="S-{{ i.ID }}" class="switchSemester">{{ i.Num }} семестр {{ i.Year }}/{{ i.Year + 1 }}</a></li> -- GitLab