From a8b4827f09cdc93b27e878dc7bf96d9dea9190c4 Mon Sep 17 00:00:00 2001 From: pero1203 Date: Wed, 12 May 2021 13:14:19 +0200 Subject: [PATCH] Mobile admin - meni, popravki - V DELU --- .../mobile/class.MobileSurveyAdmin.php | 560 +++++++++++++++++- admin/survey/minify/groupsConfig.php | 2 + admin/survey/script/mobile.js | 37 ++ admin/survey/script/mobileMenu/zeynep.min.js | 9 + admin/survey/script/onload.js | 18 +- public/css/admin.css | 239 +++++++- public/css/main.css | 5 +- public/css/main_mobile.css | 5 + resources/sass/admin/mobile/basic.scss | 20 + resources/sass/admin/mobile/header.scss | 182 +++++- resources/sass/admin/mobile/mobile.scss | 1 + .../sass/admin/mobile/pages/branching.scss | 9 +- .../sass/admin/mobile/pages/my_surveys.scss | 7 +- .../admin/mobile/pages/survey_settings.scss | 62 ++ resources/sass/main/main/content.scss | 5 +- resources/sass/main/main_mobile/content.scss | 6 + 16 files changed, 1087 insertions(+), 80 deletions(-) create mode 100644 admin/survey/script/mobile.js create mode 100644 admin/survey/script/mobileMenu/zeynep.min.js create mode 100644 resources/sass/admin/mobile/pages/survey_settings.scss diff --git a/admin/survey/classes/mobile/class.MobileSurveyAdmin.php b/admin/survey/classes/mobile/class.MobileSurveyAdmin.php index b5ae4ed16..58e5c6001 100644 --- a/admin/survey/classes/mobile/class.MobileSurveyAdmin.php +++ b/admin/survey/classes/mobile/class.MobileSurveyAdmin.php @@ -26,18 +26,18 @@ class MobileSurveyAdmin{ echo '
'; // Ikona za meni - $this->displayMobileMenuIcon(); + $this->displayMenuIcon(); // Meni - $this->displayMobileMenu(); + $this->displayMenu(); // Naslov ankete if($this->surveyAdminClass->anketa > 0){ - $this->displayMobileSurveyTitle(); + $this->displaySurveyTitle(); } // Logo - enak kot na desktopu else{ - $this->displayMobileLogo(); + $this->displayLogo(); } echo '
'; @@ -45,7 +45,7 @@ class MobileSurveyAdmin{ // Prikazemo mobile logo - private function displayMobileLogo(){ + private function displayLogo(){ global $lang; global $site_url; @@ -59,7 +59,7 @@ class MobileSurveyAdmin{ echo ''; } - private function displayMobileSurveyTitle(){ + private function displaySurveyTitle(){ SurveyInfo::getInstance()->SurveyInit($this->surveyAdminClass->anketa); $row = SurveyInfo::getInstance()->getSurveyRow(); @@ -67,64 +67,568 @@ class MobileSurveyAdmin{ echo '
'.$row['naslov'].'
'; } - private function displayMobileMenuIcon(){ + private function displayMenuIcon(){ - echo '
'; - echo ' '; + echo '
'; + echo ' '; + echo '
'; + + echo '
'; + echo ' '; echo '
'; } // Izris menija - private function displayMobileMenu(){ + private function displayMenu(){ + + echo '
'; - echo '
'; - // Izris uporabniških podatkov v dropdownu - $this->displayMobileMenuUser(); + $this->displayMenuUser(); - // Izris glavne navigacije v dropdownu - $this->displayMobileMenuNavigation(); + // Meni znotraj ankete + if($this->surveyAdminClass->anketa > 0){ - // Izris akcij za anketo (kopiraj, brisi...) v dropdownu - $this->displayMobileMenuActions(); + // Izris glavne navigacije v dropdownu + $this->displayMenuSurveyNavigation(); + + // Izris akcij za anketo (kopiraj, brisi...) v dropdownu + $this->displayMenuSurveyActions(); + } + // Meni v mojih anketah + else{ + $this->displayMenuMySurveysNavigation(); + } echo '
'; } // Izris uporabniških podatkov v dropdownu - private function displayMobileMenuUser(){ + private function displayMenuUser(){ + global $lang, $global_user_id, $site_url; + + + $sql = $this->surveyAdminClass->db_select_user($global_user_id); + $row = mysqli_fetch_array($sql); + + $text = $row['name'] . ' ' . $row['surname']; + $text = (strlen($text) > 25) ? substr($text, 0, 25) . '...' : $text; + echo '
'; + + echo '
    '; + + echo '
  • '; + echo ' '.$text.''; + echo '
  • '; + + // Podmeni + echo ' '; + + echo '
'; echo '
'; } - // Izris glavne navigacije v dropdownu - private function displayMobileMenuNavigation(){ + // Izris glavne navigacije v mojih anketah + private function displayMenuMySurveysNavigation(){ + global $lang, $admin_type, $app_settings; + + + # naložimo razred z seznamom anket + $SL = new SurveyList(); + $SLCount = $SL->countSurveys(); + $SLCountPhone = $SL->countPhoneSurveys(); + echo '
'; - echo 'Urejanje'; - echo 'Testiranje'; - echo 'Objava'; - echo 'Podatki'; - echo 'Analiza'; + echo '
    '; + + + // MOJE ANKETE + $this->displayMenuItem($lang['srv_pregledovanje'], $url='index.php?a=pregledovanje'); + + + // TELEFONSKA ANKETA + if ($SLCountPhone > 0 && $admin_type != '0') { + $this->displayMenuItem($lang['srv_telephone_surveys'], $url='index.php?a=phoneSurveys'); + } + + + // AKTIVNOST + if ($SLCount > 0 && $admin_type == 0) { + + $submenu = array( + array( + 'title' => $lang['srv_ankete'], + 'url' => 'index.php?a=diagnostics' + ), + array( + 'title' => $lang['srv_weekly_diagnostics'], + 'url' => 'index.php?a=diagnostics&t=time_span_daily' + ), + array( + 'title' => $lang['srv_monthly_diagnostics'], + 'url' => 'index.php?a=diagnostics&t=time_span_monthly' + ), + array( + 'title' => $lang['srv_yearly_diagnostics'], + 'url' => 'index.php?a=diagnostics&t=time_span_yearly' + ), + array( + 'title' => $lang['srv_all_diagnostics'], + 'url' => 'index.php?a=diagnostics&t=time_span&uvoz=0&ustrezni=1&delnoustrezni=1&neustrezni=0' + ), + array( + 'title' => $lang['srv_metapodatki'], + 'url' => 'index.php?a=diagnostics&t=paradata' + ) + ); + + $this->displayMenuItemWithSubmenu($name='diagnostics', $lang['srv_diagnostics'], $submenu); + } + + + // UPORABNIKI + if ($admin_type <= 1) { + + // Admini imajo pregled nad vsemi zavihki uporabnikov + if ($admin_type == 0) { + + $submenu = array( + array( + 'title' => $lang['n_users_list'], + 'url' => 'index.php?a=diagnostics&t=uporabniki' + ), + array( + 'title' => $lang['n_users_list_all'], + 'url' => 'index.php?a=diagnostics&t=uporabniki&m=all' + ), + array( + 'title' => $lang['n_deleted_users'], + 'url' => 'index.php?a=diagnostics&t=uporabniki&m=izbrisani' + ), + array( + 'title' => $lang['n_unconfirmed_users'], + 'url' => 'index.php?a=diagnostics&t=uporabniki&m=nepotrjeni' + ), + array( + 'title' => $lang['n_unsigned_users'], + 'url' => 'index.php?a=diagnostics&t=uporabniki&m=odjavljeni' + ), + array( + 'title' => $lang['srv_hierarchy_users_access'], + 'url' => 'index.php?a=diagnostics&t=uporabniki&m=sa-modul' + ), + ); + } + + // Manegerji imajo samo osnovni pregled svojih uporabnikov + if ($admin_type == 1) { + + $submenu = array( + array( + 'title' => $lang['n_users_list'], + 'url' => 'index.php?a=diagnostics&t=uporabniki' + ) + ); + } + + $this->displayMenuItemWithSubmenu($name='uporabniki', $lang['hour_users'], $submenu); + } + + + // KNJIZNICA + $submenu = array( + array( + 'title' => $lang['srv_javna_knjiznica'], + 'url' => 'index.php?a=knjiznica' + ), + array( + 'title' => $lang['srv_moja_knjiznica'], + 'url' => 'index.php?a=knjiznica&t=moje_ankete' + ) + ); + + $this->displayMenuItemWithSubmenu($name='knjiznica', $lang['srv_library'], $submenu); + + + // NASTAVITVE + if ($admin_type == '0') { + $submenu = array( + array( + 'title' => $lang['srv_settingsSystem'], + 'url' => 'index.php?a=nastavitve&m=system' + ), + array( + 'title' => $lang['srv_testiranje_predvidenicas'], + 'url' => 'index.php?a=nastavitve&m=predvidenicasi' + ), + array( + 'title' => $lang['srv_collectData'], + 'url' => 'index.php?a=nastavitve&m=collectData' + ), + array( + 'title' => $lang['srv_nice_url'], + 'url' => 'index.php?a=nastavitve&m=nice_links' + ), + array( + 'title' => $lang['srv_anketa_admin'], + 'url' => 'index.php?a=nastavitve&m=anketa_admin' + ), + array( + 'title' => $lang['srv_anketa_deleted'], + 'url' => 'index.php?a=nastavitve&m=anketa_deleted' + ), + array( + 'title' => $lang['srv_data_deleted'], + 'url' => 'index.php?a=nastavitve&m=data_deleted' + ), + array( + 'title' => $lang['srv_user_settings'], + 'url' => 'index.php?a=nastavitve&m=global_user_settings' + ), + array( + 'title' => $lang['edit_data'], + 'url' => 'index.php?a=nastavitve&m=global_user_myProfile' + ), + ); + } + else{ + $submenu = array( + array( + 'title' => $lang['srv_user_settings'], + 'url' => 'index.php?a=nastavitve&m=global_user_settings' + ), + array( + 'title' => $lang['edit_data'], + 'url' => 'index.php?a=nastavitve&m=global_user_myProfile' + ), + ); + } + + $this->displayMenuItemWithSubmenu($name='nastavitve', $lang['settings'], $submenu); + + + // NAROCILA + if($app_settings['commercial_packages']){ + + // placila - samo admini + if ($admin_type == '0') { + + $submenu = array( + array( + 'title' => $lang['srv_narocila_my'], + 'url' => 'index.php?a=narocila' + ), + array( + 'title' => $lang['srv_placila'], + 'url' => 'index.php?a=narocila&m=placila' + ) + ); + + $this->displayMenuItemWithSubmenu($name='nastavitve', $lang['settings'], $submenu); + } + // moja narocila + else{ + $this->displayMenuItem($lang['srv_narocila'], $url='index.php?a=narocila'); + } + } + + + // GDPR + $request_counter = GDPR::countUserUnfinishedRequests(); + + $submenu = array( + array( + 'title' => $lang['srv_gdpr_user_settings'], + 'url' => 'index.php?a=gdpr' + ), + array( + 'title' => $lang['srv_gdpr_survey_list'], + 'url' => 'index.php?a=gdpr&m=placila' + ), + array( + 'title' => $lang['srv_gdpr_dpa'], + 'url' => 'index.php?a=gdpr' + ), + array( + 'title' => $lang['srv_gdpr_requests'].' ('.$request_counter.')', + 'url' => 'index.php?a=gdpr&m=gdpr_requests' + ) + ); + + // Vse zahteve za izbris - samo ADMINI + if($admin_type == '0'){ + $submenu[] = array( + 'title' => $lang['srv_gdpr_requests_all'], + 'url' => 'index.php?a=gdpr&m=gdpr_requests_all' + ); + } + + $this->displayMenuItemWithSubmenu($name='gdpr', 'GDPR', $submenu); + + + echo '
'; + + echo '
'; + } + + // Izris glavne navigacije v anketi + private function displayMenuSurveyNavigation(){ + global $lang; + + + $hierarhija_type = (!empty($_SESSION['hierarhija'][$this->surveyAdminClass->anketa]['type']) ? $_SESSION['hierarhija'][$this->surveyAdminClass->anketa]['type'] : null); + + $row = SurveyInfo::getInstance()->getSurveyRow(); + SurveyInfo:: getInstance()->SurveyInit($this->surveyAdminClass->anketa); + + $modules = SurveyInfo::getSurveyModules(); + $d = new Dostop(); + + + echo '
'; + + echo '
    '; + + + // MOJE ANKETE + echo '
  • '; + echo '' . $lang['srv_pregledovanje'] . ''; + echo '
  • '; + + + // STATUS + if ($this->surveyAdminClass->skin == 0 && $this->surveyAdminClass->isAnketar == false && $d->checkDostopSub('dashboard')) { + + if(SurveyInfo::getInstance()->checkSurveyModule('voting')){ + $this->displayMenuItem($lang['srv_status_summary'], $url='index.php?anketa='.$this->anketa.'&a='.A_REPORTI); + } + else{ + $submenu = array( + array( + 'title' => $lang['srv_status_summary'], + 'url' => 'index.php?anketa='.$this->surveyAdminClass->anketa.'&a='.A_REPORTI + ), + array( + 'title' => $lang['srv_metapodatki'], + 'url' => 'index.php?anketa='.$this->surveyAdminClass->anketa.'&a='.A_PARA_GRAPH + ) + ); + + $this->displayMenuItemWithSubmenu($name='dashboard', $lang['srv_navigation_status'], $submenu); + } + } + + + // UREJANJE + if ($d->checkDostopSub('edit') && $hierarhija_type < 5 && !$this->surveyAdminClass->isAnketar) { + + $submenu = array( + array( + 'title' => $lang['srv_editirajanketo2'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . ($this->surveyAdminClass->survey_type > 1 ? '&a=' . A_BRANCHING : '') + ), + array( + 'title' => $lang['srv_nastavitve_ankete'] , + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_SETTINGS + ), + array( + 'title' => $lang['srv_themes'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_TEMA + ), + array( + 'title' => $lang['srv_analiza_arhiv'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_ARHIVI + ), + ); + + $this->displayMenuItemWithSubmenu($name='edit', $lang['srv_vprasalnik'], $submenu); + } + + + # TESTIRANJE - ne prikazemo v glasovanju + if ($this->surveyAdminClass->survey_type != 0 && $this->surveyAdminClass->survey_type != 1 && $d->checkDostopSub('test')) { + + $submenu = array( + array( + 'title' => $lang['srv_testiranje_diagnostika'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_TESTIRANJE . '&m=' . M_TESTIRANJE_DIAGNOSTIKA + ), + array( + 'title' => $lang['srv_testiranje_komentarji'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_KOMENTARJI + ), + array( + 'title' => $lang['srv_testiranje_vnosi'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_TESTIRANJE . '&m=' . M_TESTIRANJE_VNOSI + ), + ); + + $this->displayMenuItemWithSubmenu($name='test', $lang['srv_testiranje'], $submenu); + } + + + // OBJAVA + if ($d->checkDostopSub('publish')) { + + $submenu = array( + array( + 'title' => $lang['srv_publication_base'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_VABILA . '&m=settings' + ), + array( + 'title' => $lang['srv_publication_url'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_VABILA . '&m=url' + ), + array( + 'title' => $lang['srv_inv_nav_invitations'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_INVITATIONS . '&m=settings' + ), + ); + + $this->displayMenuItemWithSubmenu($name='publish', $lang['srv_vabila'], $submenu); + } + + + // PODATKI - ne prikazemo v glasovanju + if ($this->surveyAdminClass->survey_type != 0 && $d->checkDostopSub('data')) { + + $submenu = array( + array( + 'title' => $lang['srv_link_data_browse'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_COLLECT_DATA + ), + array( + 'title' => $lang['srv_data_navigation_calculate'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_COLLECT_DATA . '&m=calculation' + ), + array( + 'title' => $lang['srv_data_navigation_import'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_COLLECT_DATA . '&m=append' + ) + ); + + if ($d->checkDostopSub('export')) { + $submenu[] = array( + 'title' => $lang['srv_export_tab'], + 'url' => 'index.php?anketa=' . $this->surveyAdminClass->anketa . '&a=' . A_COLLECT_DATA_EXPORT + ); + } + + $this->displayMenuItemWithSubmenu($name='data', $lang['srv_results'], $submenu); + } + + + // ANALIZA + if ($d->checkDostopSub('analyse')) { + + // Hierarhija + if (SurveyInfo::getInstance()->checkSurveyModule('hierarhija')) { + $this->displayMenuItem($lang['srv_stat_analiza'], $url='index.php?anketa='.$this->surveyAdminClass->anketa.'&a='.A_ANALYSIS.'&m='.M_ANALYSIS_MEANS_HIERARHY); + } + // Navadne analize + else{ + $submenu = array( + array( + 'title' => $lang['srv_stat_analiza'], + 'url' => 'index.php?anketa='.$this->surveyAdminClass->anketa.'&a='.A_ANALYSIS.'&m='.M_ANALYSIS_SUMMARY + ), + array( + 'title' => $lang['srv_analiza_charts'], + 'url' => 'index.php?anketa='.$this->surveyAdminClass->anketa.'&a='.A_ANALYSIS.'&m='.M_ANALYSIS_CHARTS + ), + array( + 'title' => $lang['srv_reporti'], + 'url' => 'index.php?anketa='.$this->surveyAdminClass->anketa.'&a='.A_ANALYSIS.'&m='.M_ANALYSIS_LINKS + ), + ); + + $this->displayMenuItemWithSubmenu($name='analyse', $lang['srv_analiza'], $submenu); + } + } + + + echo '
'; echo '
'; } // Izris akcij za anketo (kopiraj, brisi...) v dropdownu - private function displayMobileMenuActions(){ + private function displayMenuSurveyActions(){ + global $lang; echo '
'; - echo 'Kopiraj anketo'; - echo 'Brisi anketo'; + # kopiranje + echo ' '; + echo ' '.$lang['srv_anketacopy']; + echo ' '; + # brisanje + echo ' '; + echo ' '.$lang['srv_anketadelete']; + echo ' '; + echo '
'; } + + + private function displayMenuItemWithSubmenu($name, $title, $submenu){ + global $lang; + + echo '
  • '; + echo ''.$title.''; + echo '
  • '; + + // Podmeni + echo ''; + } + private function displayMenuItem($title, $url){ + + echo '
  • '; + echo ''.$title.''; + echo '
  • '; + } } diff --git a/admin/survey/minify/groupsConfig.php b/admin/survey/minify/groupsConfig.php index 1b15c942b..bc8ec109b 100644 --- a/admin/survey/minify/groupsConfig.php +++ b/admin/survey/minify/groupsConfig.php @@ -35,6 +35,7 @@ return [ new Minify_Source(['filepath' => dirname(__FILE__).'/../script/jquery/jquery_touch_punch/jquery.ui.touch-punch.min.js',]), //dirname(__FILE__) .'/../script/jquery/ui.draggable.orig.js', + dirname(__FILE__).'/../script/mobileMenu/zeynep.min.js', dirname(__FILE__).'/../script/jquery/jquery.timer.js', dirname(__FILE__).'/../script/jquery/farbtastic.js', dirname(__FILE__).'/../script/jquery/jquery.qtip-1.0.js', @@ -45,6 +46,7 @@ return [ dirname(__FILE__).'/../script/onload.js', dirname(__FILE__).'/../script/script.js', + dirname(__FILE__).'/../script/mobile.js', dirname(__FILE__).'/../script/branching.js', dirname(__FILE__).'/../script/folders.js', dirname(__FILE__).'/../script/surveyList.js', diff --git a/admin/survey/script/mobile.js b/admin/survey/script/mobile.js new file mode 100644 index 000000000..4e69731c9 --- /dev/null +++ b/admin/survey/script/mobile.js @@ -0,0 +1,37 @@ +function mobile_init(){ + + // init zeynepjs side menu + var zeynep = $('.mobile_menu').zeynep({ + opened: function () { + + }, + closed: function () { + + } + }) + + // dynamically bind 'closing' event + zeynep.on('closing', function () { + + }) + + // handle zeynepjs overlay click + $('.mobile_menu_close').on('click', function () { + zeynep.close(); + $('#fade').fadeOut(); + + $('.mobile_menu_close').fadeOut('fast', function(){ + $('.mobile_menu_open').fadeIn('fast'); + }); + }) + + // open zeynepjs side menu + $('.mobile_menu_open').on('click', function () { + zeynep.open(); + $('#fade').fadeIn(); + + $('.mobile_menu_open').fadeOut('fast', function(){ + $('.mobile_menu_close').fadeIn('fast'); + }); + }) +} diff --git a/admin/survey/script/mobileMenu/zeynep.min.js b/admin/survey/script/mobileMenu/zeynep.min.js new file mode 100644 index 000000000..be3e129fb --- /dev/null +++ b/admin/survey/script/mobileMenu/zeynep.min.js @@ -0,0 +1,9 @@ +/*! +* zeynepjs v2.1.2 +* A light-weight multi-level jQuery side menu plugin. +* It's fully customizable and is compatible with modern browsers such as Google Chrome, Mozilla Firefox, Safari, Edge and Internet Explorer +* MIT License +* by Huseyin ELMAS +*/ +!function(l,s){var n={htmlClass:!0};function i(e,t){this.element=e,this.eventController=o,this.options=l.extend({},n,t),this.options.initialized=!1,this.init()}i.prototype.init=function(){var s=this.element,e=this.options,i=this.eventController.bind(this);!0!==e.initialized&&(i("loading"),s.find("[data-submenu]").on("click",function(e){e.preventDefault();var t,n=l(this).attr("data-submenu"),o=l("#"+n);o.length&&(i("opening",t={subMenu:!0,menuId:n}),s.find(".submenu.current").removeClass("current"),o.addClass("opened current"),s.hasClass("submenu-opened")||s.addClass("submenu-opened"),s.scrollTop(0),i("opened",t))}),s.find("[data-submenu-close]").on("click",function(e){e.preventDefault();var t,n=l(this).attr("data-submenu-close"),o=l("#"+n);o.length&&(i("closing",t={subMenu:!0,menuId:n}),o.removeClass("opened current"),s.find(".submenu.opened:last").addClass("current"),s.find(".submenu.opened").length||s.removeClass("submenu-opened"),o.scrollTop(0),i("closed",t))}),i("load"),this.options.htmlClass&&!l("html").hasClass("zeynep-initialized")&&l("html").addClass("zeynep-initialized"),e.initialized=!0)},i.prototype.open=function(){this.eventController("opening",{subMenu:!1}),this.element.addClass("opened"),this.options.htmlClass&&l("html").addClass("zeynep-opened"),this.eventController("opened",{subMenu:!1})},i.prototype.close=function(e){e||this.eventController("closing",{subMenu:!1}),this.element.removeClass("opened"),this.options.htmlClass&&l("html").removeClass("zeynep-opened"),e||this.eventController("closed",{subMenu:!1})},i.prototype.destroy=function(){this.eventController("destroying"),this.close(!0),this.element.find(".submenu.opened").removeClass("opened"),this.element.removeData(s),this.eventController("destroyed"),this.options=n,this.options.htmlClass&&l("html").removeClass("zeynep-initialized"),delete this.element,delete this.options,delete this.eventController},i.prototype.on=function(e,t){r.call(this,e,t)};var o=function(e,t){if(this.options[e]){if("function"!=typeof this.options[e])throw Error("event handler must be a function: "+e);this.options[e].call(this,this.element,this.options,t)}},r=function(e,t){if("string"!=typeof e)throw Error("event name is expected to be a string but got: "+typeof e);if("function"!=typeof t)throw Error("event handler is not a function for: "+e);this.options[e]=t};l.fn[s]=function(e){var t,n,o;return t=l(this[0]),n=e,o=null,t.data(s)?o=t.data(s):(o=new i(t,n||{}),t.data(s,o)),o}}(window.jQuery,"zeynep"); +//# sourceMappingURL=zeynep.min.js.map diff --git a/admin/survey/script/onload.js b/admin/survey/script/onload.js index 78967b9c0..4d6139e53 100644 --- a/admin/survey/script/onload.js +++ b/admin/survey/script/onload.js @@ -9,13 +9,13 @@ $(function() { - //console.time('onload'); - load_meta_variables(); // script.js ajax_start_stop(); // script.js onload_init(); // script.js IE7_select_disabled_fix(); // script.js - inline_jezik_hover(); // script.js + inline_jezik_hover(); // script.js + + mobile_init(); // mobile.js onload_init_branching(); // branching.js onload_init_inline(); // vprasanjeInline.js @@ -25,9 +25,6 @@ $(function() { analiza_init(); // script_analiza.js statistika_init(); // statistika.js - //console.timeEnd('onload'); - - //browser_alert(); missingProfiles_init(); // missingProfiles.js missingValues_init(); // missingValues.js @@ -39,17 +36,12 @@ $(function() { multiCrosstabs_init(); // multicrosstabi (analiza) slideshow_init(); // prezendatcije (slideshow) dataSetingProfile_init(); // nastavitve v analizah in podatkov - invitations_init(); // nastavitve v analizah in podatkov - //themes_init(); // nastavitve v temah + invitations_init(); // nastavitve v analizah in podatkov inspect_init(); // nastavitve v inspect means_init(); // nastavitve v meansih ttest_init(); // nastavitve v ttest simpleMailInvitation_init();// nastavitve v simpleMailInvitation charts_init(); // nastavitve v charts creport_init(); // nastavitve v creport - onload_init_recode(); // nastavitve v recodiranju(function($) { - //onload_init_language_technology(); // nastavitve v language technology{ - - // prestejemo stevilo DOM elementov - //alert(document.getElementsByTagName("*").length); + onload_init_recode(); // nastavitve v recodiranju(function($) { }); diff --git a/public/css/admin.css b/public/css/admin.css index ea3fa147c..db472a7b5 100644 --- a/public/css/admin.css +++ b/public/css/admin.css @@ -28456,14 +28456,34 @@ a.addIfIcon { } @media (max-width: 600px) { + #main { + margin-top: 70px; + } + #main #anketa_edit { + box-sizing: border-box !important; + padding: 15px !important; + } + #main #placeholder { + width: auto; + } + + fieldset { + width: 100% !important; + box-sizing: border-box !important; + margin-left: 0 !important; + margin-right: 0 !important; + } + .desktop_header { display: none; } .mobile_header { + position: fixed; + z-index: 9998; display: flex; align-items: center; - width: 100%; + width: 100vw; height: 70px; } .mobile_header.survey_edit { @@ -28478,6 +28498,14 @@ a.addIfIcon { width: 50px; text-align: center; } + .mobile_header .mobile_menu_icon.mobile_menu_close { + display: none; + } + .mobile_header .mobile_menu_icon.mobile_menu_close span { + font-size: 30px; + font-weight: 600; + line-height: 25px; + } .mobile_header .mobile_menu_icon span { cursor: pointer; } @@ -28493,16 +28521,151 @@ a.addIfIcon { .mobile_header .mobile_logo #enka_logo { margin: 0 auto; } - .mobile_header .mobile_menu { - display: none; - z-index: 99999; + + /* Mobile meni */ + .mobile_menu { position: fixed; + z-index: 9999; + display: flex; + flex-direction: column; + top: 70px; + bottom: 0; + width: 80vw; + color: #333; + background-color: #ffffff; + overflow: hidden; + -webkit-overflow-scrolling: touch; + overflow-y: auto; + pointer-events: none; + transform: translateX(-100%); + } + + .mobile_menu:not(.no-transition), +.mobile_menu .submenu:not(.no-transition) { + transition: all 250ms; + } + + .mobile_menu.opened { + pointer-events: auto; + transform: translateX(0px); + } + + .mobile_menu.submenu-opened { + overflow: hidden; + } + + .mobile_menu .submenu { + bottom: 0; + min-height: 100%; + overflow: hidden; + -webkit-overflow-scrolling: touch; + overflow-y: auto; + pointer-events: none; + position: fixed; + top: 0; + width: 100%; + } + + .mobile_menu .submenu.opened { left: 0; - top: 0px; - bottom: 0px; - width: 80%; + pointer-events: auto; + } + + .mobile_menu .submenu.opened:not(.current) { + overflow: hidden; + } + + .mobile_menu ul { + list-style-type: none; + padding: 0; + padding-left: 0px; + -webkit-overflow-scrolling: touch; + } + + .mobile_menu ul > li { + display: block; + } + + .mobile_menu ul > li > a { + color: inherit; + display: block; + font-size: 14px; + font-weight: bold; + padding: 18px 20px; + text-decoration: none; + transition: all 150ms; + } + + .mobile_menu ul > li > a:hover { + background-color: #efefef; + border-radius: 3px; + } + + .mobile_menu ul > li:not(:last-child) > a { + border-bottom: 1px solid #efefef; + } + + .mobile_menu ul > li.has-submenu > a { + background-image: url("../images/submenu-arrow.svg"); + background-position: right 20px center; + background-repeat: no-repeat; + background-size: 8px 14px; + } + + .mobile_menu ul > li.has-submenu > a:hover { + background-image: url("../images/submenu-arrow-active.svg"); + } + + /* mobile_menujs submenu styles */ + .mobile_menu .submenu { + background-color: #ffffff; + left: 295px; + } + + .mobile_menu .submenu-header { + background-image: url("../images/menu-back.svg"); + background-position: left 20px center; + background-repeat: no-repeat; + background-size: 8px 14px; + border-bottom: solid 1px #efefef; + cursor: pointer; + position: relative; + } + + .mobile_menu .submenu-header > a { + color: inherit; + display: block; + font-size: 14px; + font-weight: bold; + padding: 18px 20px; + padding-left: 40px; + text-decoration: none; + } + + .mobile_menu .submenu-header > a:before { + background-image: url("../images/submenu-arrow.svg"); + background-position: right 20px center; + background-repeat: no-repeat; + background-size: 8px 14px; + content: ""; height: 100%; - background-color: white; + left: 26px; + position: absolute; + top: 0; + transform: rotate(-180deg); + width: 20px; + } + + .mobile_menu .submenu > label { + color: #e77691; + display: block; + font-size: 13px; + font-weight: bold; + margin-bottom: 8px; + margin-top: 19px; + opacity: 0.5; + padding-left: 40px; + width: 100%; } #srv_footer { @@ -28516,6 +28679,9 @@ a.addIfIcon { #main #moje_ankete_edit { padding: 20px !important; } + #main #moje_ankete_edit #anketa_edit { + padding: 0 !important; + } #main #moje_ankete_edit #survey_list { display: flex; flex-direction: column; @@ -28558,7 +28724,7 @@ a.addIfIcon { #main #moje_ankete_edit #survey_list table#surveyList_new td { display: none; } - #main #moje_ankete_edit #survey_list table#surveyList_new td:nth-child(3), #main #moje_ankete_edit #survey_list table#surveyList_new td:nth-child(6), #main #moje_ankete_edit #survey_list table#surveyList_new td:nth-child(7) { + #main #moje_ankete_edit #survey_list table#surveyList_new td:nth-child(3), #main #moje_ankete_edit #survey_list table#surveyList_new td:nth-child(6) { display: table-cell; } @@ -28596,16 +28762,65 @@ a.addIfIcon { #vprasanje_float_editing { position: fixed; - width: 90%; - max-height: 90%; + z-index: 99999; + width: 100%; + height: 100%; + max-height: 100%; overflow-y: auto; overflow-x: hidden; - margin: 5% !important; + margin: 0 !important; top: 0; right: 0; left: 0; box-shadow: 0px 0px 100px 100px #333; } + + #main #anketa #globalSetingsList.full_width { + max-width: 100% !important; + width: 100% !important; + } + + /* NASTAVITVE in ARHIVI */ + #main #anketa #anketa_edit.page_nastavitve { + flex-direction: column-reverse; + } + #main #anketa #anketa_edit.page_nastavitve > div { + width: 100%; + margin: 20px 0; + } + + /* OBLIKA */ + #main #anketa #anketa_edit.page_tema #div_theme_group_holder { + width: 100%; + } + #main #anketa #anketa_edit.page_tema #div_theme_group_holder #div_theme_group div.theme_label { + width: 100%; + box-sizing: border-box; + margin-left: 0; + margin-right: 0; + } + #main #anketa #anketa_edit.page_tema #div_theme_group_holder #div_theme_group div.theme_label img { + width: 100%; + height: auto; + } + + /* ARHIVI */ + #main #anketa #anketa_edit.page_arhivi { + flex-direction: column-reverse; + } + #main #anketa #anketa_edit.page_arhivi > div { + width: 100% !important; + margin: 20px 0; + } + #main #anketa #anketa_edit.page_arhivi #div_archive_content fieldset { + width: 100% !important; + box-sizing: border-box !important; + margin-left: 0 !important; + margin-right: 0 !important; + } + #main #anketa #anketa_edit.page_arhivi #div_archive_content fieldset input { + width: 100% !important; + } } /*# sourceMappingURL=admin.css.map */ diff --git a/public/css/main.css b/public/css/main.css index 6ceaeed13..86f422cd9 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -6887,9 +6887,8 @@ table.trak_inline_nadnaslov td { text-decoration: none; } .fotoresults_delete.upload_fotoresults_delete { - position: absolute; - left: 100px; - margin-top: 20px; + position: static; + margin: 20px 0 10px 20px; } .my_camera_div { diff --git a/public/css/main_mobile.css b/public/css/main_mobile.css index db71d8b3d..2037184bc 100644 --- a/public/css/main_mobile.css +++ b/public/css/main_mobile.css @@ -449,6 +449,11 @@ iframe { margin: 20px 0 0 0 !important; padding: 0 !important; } +#outercontainer #container .grupa .spremenljivka.tip_4 .upload_fotoresults_delete, #outercontainer #container .grupa .spremenljivka.tip_21 .upload_fotoresults_delete, #outercontainer #container .grupa .spremenljivka.tip_7 .upload_fotoresults_delete { + position: absolute; + left: 100px; + margin: 20px 0 10px 0; +} #outercontainer #container .grupa .spremenljivka.tip_8 input[type=text], #outercontainer #container .grupa .spremenljivka.tip_8 input[type=email] { box-sizing: border-box; diff --git a/resources/sass/admin/mobile/basic.scss b/resources/sass/admin/mobile/basic.scss index 8b1378917..5977f49cb 100644 --- a/resources/sass/admin/mobile/basic.scss +++ b/resources/sass/admin/mobile/basic.scss @@ -1 +1,21 @@ +#main{ + margin-top: 70px; + + #anketa_edit{ + box-sizing: border-box !important; + padding: 15px !important; + } + + #placeholder{ + width: auto; + } +} + +fieldset { + width: 100% !important; + + box-sizing: border-box !important; + margin-left: 0 !important; + margin-right: 0 !important; +} diff --git a/resources/sass/admin/mobile/header.scss b/resources/sass/admin/mobile/header.scss index abce44702..b9de5f82f 100644 --- a/resources/sass/admin/mobile/header.scss +++ b/resources/sass/admin/mobile/header.scss @@ -3,10 +3,13 @@ } .mobile_header{ + position: fixed; + z-index: 9998; + display: flex; align-items: center; - width: 100%; + width: 100vw; height: 70px; @@ -27,6 +30,16 @@ width: 50px; text-align: center; + &.mobile_menu_close{ + display: none; + + span{ + font-size: 30px; + font-weight: 600; + line-height: 25px; + } + } + span{ cursor: pointer; } @@ -46,19 +59,156 @@ margin: 0 auto; } } - - .mobile_menu{ - display: none; - z-index: 99999; - - position: fixed; - left: 0; - top: 0px; - bottom: 0px; - width: 80%; - height: 100%; - - - background-color: white; - } } + + + +/* Mobile meni */ +.mobile_menu{ + position:fixed; + z-index: 9999; + + display: flex; + flex-direction: column; + + top: 70px; + bottom: 0; + width: 80vw; + + color: $main_text; + + background-color: #ffffff; + + overflow: hidden; + -webkit-overflow-scrolling: touch; + overflow-y: auto; + pointer-events: none; + transform: translateX(-100%); +} + +.mobile_menu:not(.no-transition), +.mobile_menu .submenu:not(.no-transition){ + transition:all 250ms; +} + +.mobile_menu.opened{ + pointer-events:auto; + transform:translateX(0px); +} + +.mobile_menu.submenu-opened{ + overflow:hidden; +} + +.mobile_menu .submenu{ + bottom:0; + min-height:100%; + overflow:hidden; + -webkit-overflow-scrolling:touch; + overflow-y:auto; + pointer-events:none; + position:fixed; + top:0; + width:100%; +} + +.mobile_menu .submenu.opened{ + left:0; + pointer-events:auto; +} + +.mobile_menu .submenu.opened:not(.current){ + overflow:hidden; +} + +.mobile_menu ul { + list-style-type: none; + padding: 0; + padding-left: 0px; + -webkit-overflow-scrolling: touch; +} +.mobile_menu ul > li { + display: block; +} + +.mobile_menu ul > li > a { + color: inherit; + display: block; + font-size: 14px; + font-weight: bold; + padding: 18px 20px; + text-decoration: none; + transition: all 150ms; +} +.mobile_menu ul > li > a:hover { + background-color: #efefef; + border-radius: 3px; +} + +.mobile_menu ul > li:not(:last-child) > a { + border-bottom: 1px solid #efefef; +} + +.mobile_menu ul > li.has-submenu > a { + background-image: url("../images/submenu-arrow.svg"); + background-position: right 20px center; + background-repeat: no-repeat; + background-size: 8px 14px; +} + +.mobile_menu ul > li.has-submenu > a:hover { + background-image: url("../images/submenu-arrow-active.svg"); +} + +/* mobile_menujs submenu styles */ +.mobile_menu .submenu { + background-color: #ffffff; + left: 295px; +} + +.mobile_menu .submenu-header { + background-image: url("../images/menu-back.svg"); + background-position: left 20px center; + background-repeat: no-repeat; + background-size: 8px 14px; + border-bottom: solid 1px #efefef; + cursor: pointer; + position: relative; +} + +.mobile_menu .submenu-header > a { + color: inherit; + display: block; + font-size: 14px; + font-weight: bold; + padding: 18px 20px; + padding-left: 40px; + text-decoration: none; +} + +.mobile_menu .submenu-header > a:before { + background-image: url("../images/submenu-arrow.svg"); + background-position: right 20px center; + background-repeat: no-repeat; + background-size: 8px 14px; + content: ""; + height: 100%; + left: 26px; + position: absolute; + top: 0; + transform: rotate(-180deg); + width: 20px; +} + +.mobile_menu .submenu > label { + color: #e77691; + display: block; + font-size: 13px; + font-weight: bold; + margin-bottom: 8px; + margin-top: 19px; + opacity: .5; + padding-left: 40px; + width: 100%; +} + diff --git a/resources/sass/admin/mobile/mobile.scss b/resources/sass/admin/mobile/mobile.scss index 6c524cd3e..7f331f26f 100644 --- a/resources/sass/admin/mobile/mobile.scss +++ b/resources/sass/admin/mobile/mobile.scss @@ -19,6 +19,7 @@ $breakpoint-mobile: 600px; // Posamezne strani @import "pages/my_surveys"; @import "pages/branching"; + @import "pages/survey_settings"; @import "pages/data"; @import "pages/analysis"; } diff --git a/resources/sass/admin/mobile/pages/branching.scss b/resources/sass/admin/mobile/pages/branching.scss index 5d6a98541..f32abdc4b 100644 --- a/resources/sass/admin/mobile/pages/branching.scss +++ b/resources/sass/admin/mobile/pages/branching.scss @@ -42,12 +42,15 @@ #vprasanje_float_editing{ position: fixed; - width: 90%; - max-height: 90%; + z-index: 99999; + + width: 100%; + height: 100%; + max-height: 100%; overflow-y: auto; overflow-x: hidden; - margin: 5% !important; + margin: 0 !important; top: 0; right: 0; left: 0; diff --git a/resources/sass/admin/mobile/pages/my_surveys.scss b/resources/sass/admin/mobile/pages/my_surveys.scss index 4736d3bd5..e63b06f32 100644 --- a/resources/sass/admin/mobile/pages/my_surveys.scss +++ b/resources/sass/admin/mobile/pages/my_surveys.scss @@ -2,6 +2,10 @@ #main #moje_ankete_edit{ padding: 20px !important; + #anketa_edit{ + padding: 0 !important; + } + #survey_list{ display: flex; flex-direction: column; @@ -59,8 +63,7 @@ display: none; &:nth-child(3), - &:nth-child(6), - &:nth-child(7){ + &:nth-child(6){ display: table-cell; } } diff --git a/resources/sass/admin/mobile/pages/survey_settings.scss b/resources/sass/admin/mobile/pages/survey_settings.scss new file mode 100644 index 000000000..29f9b9307 --- /dev/null +++ b/resources/sass/admin/mobile/pages/survey_settings.scss @@ -0,0 +1,62 @@ + +#main #anketa #globalSetingsList.full_width { + max-width: 100% !important; + width: 100% !important; +} + + +/* NASTAVITVE in ARHIVI */ +#main #anketa #anketa_edit.page_nastavitve{ + flex-direction: column-reverse; + + > div{ + width: 100%; + margin: 20px 0; + } +} + + +/* OBLIKA */ +#main #anketa #anketa_edit.page_tema{ + + #div_theme_group_holder{ + width: 100%; + + #div_theme_group div.theme_label{ + width: 100%; + box-sizing: border-box; + margin-left: 0; + margin-right: 0; + + img{ + width: 100%; + height: auto; + } + } + } +} + + +/* ARHIVI */ +#main #anketa #anketa_edit.page_arhivi{ + flex-direction: column-reverse; + + > div{ + width: 100% !important; + margin: 20px 0; + } + + #div_archive_content fieldset { + width: 100% !important; + + box-sizing: border-box !important; + margin-left: 0 !important; + margin-right: 0 !important; + + input{ + width: 100% !important; + } + } +} + + diff --git a/resources/sass/main/main/content.scss b/resources/sass/main/main/content.scss index 6a988e609..a49ab9d38 100644 --- a/resources/sass/main/main/content.scss +++ b/resources/sass/main/main/content.scss @@ -1527,9 +1527,8 @@ table.trak_inline_nadnaslov td { } &.upload_fotoresults_delete{ - position: absolute; - left: 100px; - margin-top: 20px; + position: static; + margin: 20px 0 10px 20px; } } diff --git a/resources/sass/main/main_mobile/content.scss b/resources/sass/main/main_mobile/content.scss index 96e581674..d59aa4e40 100644 --- a/resources/sass/main/main_mobile/content.scss +++ b/resources/sass/main/main_mobile/content.scss @@ -412,6 +412,12 @@ iframe{ margin: 20px 0 0 0 !important; padding: 0 !important; } + + .upload_fotoresults_delete{ + position: absolute; + left: 100px; + margin: 20px 0 10px 0; + } } /* END TIP TEXT, NUMBER */