Redesign - knjiznica
This commit is contained in:
parent
d68255cafe
commit
79050e7d72
@ -7,6 +7,7 @@ class LibraryBranching {
|
||||
|
||||
var $tab = 0; // tip pove v bazi srv_library_folder za kater tip gre - 0->vprasanja, 1->ankete (vprasanja iz anket)
|
||||
var $folder_id = 0; // Trenutno aktiven folder
|
||||
var $expanded_folders = array(); // Razprti folderji
|
||||
|
||||
|
||||
public function __construct ($ank_id=0) {
|
||||
@ -15,8 +16,26 @@ class LibraryBranching {
|
||||
die();
|
||||
|
||||
$this->ank_id = $ank_id;
|
||||
|
||||
// Nastavimo vse razprte folderje (vsi parenti ce je child aktiven)
|
||||
$this->setExpandedFolders($this->folder_id);
|
||||
}
|
||||
|
||||
// Loop cez folderje in rekurzivno nastavi razprte (parenti aktivnega)
|
||||
private function setExpandedFolders($folder_id){
|
||||
|
||||
$this->expanded_folders[] = $folder_id;
|
||||
|
||||
if($folder_id == '0'){
|
||||
return;
|
||||
}
|
||||
|
||||
$sqlFolders = sisplet_query("SELECT parent FROM srv_library_folder WHERE id='".$folder_id."' AND tip='".$this->tab."'");
|
||||
$rowFolders = mysqli_fetch_array($sqlFolders);
|
||||
|
||||
$this->setExpandedFolders($rowFolders['parent']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @desc prikaze knjiznico znotraj ankete
|
||||
@ -101,6 +120,20 @@ class LibraryBranching {
|
||||
echo '<ul class="folder_list public">';
|
||||
$this->displayFolderParent($parent=0, $uid=0);
|
||||
echo '</ul>';
|
||||
|
||||
// Prikazemo se skrit div za dodaten popup (rename, add - title)
|
||||
echo '<div id="lib_additional_popup" class="divPopUp"></div>';
|
||||
|
||||
// Klik izven "Vec" - zapremo okno
|
||||
echo '<script>
|
||||
$(document).mouseup(function(e){
|
||||
var container = $(".folder_item_settings, .dots_ver");
|
||||
|
||||
if (!container.is(e.target) && container.has(e.target).length === 0){
|
||||
$(".folder_item_settings").addClass("displayNone");
|
||||
}
|
||||
});
|
||||
</script>';
|
||||
}
|
||||
|
||||
private function displayFolderParent($parent, $uid) {
|
||||
@ -157,7 +190,9 @@ class LibraryBranching {
|
||||
|
||||
$this->displayFolderItem($rowFolders['id'], $rowFolders['naslov'], $uid);
|
||||
|
||||
echo '<ul id="folder_list_'.$rowFolders['id'].'" class="folder_list" style="display:none;">';
|
||||
$expanded = in_array($rowFolders['id'], $this->expanded_folders) ? true : false;
|
||||
|
||||
echo '<ul id="folder_list_'.$rowFolders['id'].'" class="folder_list" '.($expanded ? '' : 'style="display:none;"').'>';
|
||||
|
||||
// Rekurzivno izpisemo childe
|
||||
$this->displayFolderParent($rowFolders['id'], $uid);
|
||||
@ -186,12 +221,14 @@ class LibraryBranching {
|
||||
global $lang;
|
||||
global $admin_type;
|
||||
|
||||
echo '<li id="folder_item_'.$id.'" class="folder_item '.($this->folder_id == $id ? 'active' : '').'" onClick="openLibraryFolder(\''.$id.'\');">';
|
||||
$expanded = in_array($id, $this->expanded_folders) ? true : false;
|
||||
|
||||
echo '<li id="folder_item_'.$id.'" class="folder_item '.($this->folder_id == $id ? 'active' : '').' '.($expanded ? 'open' : 'close').'" onClick="openLibraryFolder(\''.$id.'\');">';
|
||||
|
||||
|
||||
// Ikoni puscice in mape
|
||||
echo ' <span id="folder_arrow_'.$id.'" class="faicon arrow2_d" onClick="expandLibraryFolder(\''.$id.'\');"></span>';
|
||||
echo ' <span class="faicon folder_empty"></span>';
|
||||
echo ' <span id="folder_arrow_'.$id.'" class="faicon arrow2_'.($expanded ? 'u' : 'd').'" onClick="expandLibraryFolder(\''.$id.'\');"></span>';
|
||||
echo ' <span id="folder_folder_'.$id.'" class="faicon '.($expanded ? 'folder' : 'folder_empty').'"></span>';
|
||||
|
||||
// Naslov folderja
|
||||
echo ' <span class="folder_item_title">'.$title.'</span>';
|
||||
@ -201,15 +238,17 @@ class LibraryBranching {
|
||||
|
||||
|
||||
// Urejanje folderja
|
||||
if($uid != 0 || $admin_type == 0){
|
||||
if($uid != 0){
|
||||
// Tri pikice za prikaz urejanja folderja
|
||||
echo ' <span class="faicon dots_ver" onClick="showLibraryFolderEdit(this);"></span>';
|
||||
|
||||
// Skrit div za urejanje folderja
|
||||
echo ' <div class="folder_item_settings displayNone">';
|
||||
echo ' <span onClick="addLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_add'].'</span>';
|
||||
echo ' <span onClick="deleteLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_delete'].'</span>';
|
||||
echo ' <span onClick="renameLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_rename'].'</span>';
|
||||
echo ' <ul>';
|
||||
echo ' <li onClick="displayAddFolderPopup(\''.$id.'\', \''.$uid.'\');">'.$lang['srv_library_folder_add'].'</li>';
|
||||
echo ' <li onClick="displayRenameFolderPopup(\''.$id.'\', \''.$title.'\');">'.$lang['srv_library_folder_rename'].'</li>';
|
||||
echo ' <li onClick="deleteLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_delete'].'</li>';
|
||||
echo ' </ul>';
|
||||
echo ' </div>';
|
||||
}
|
||||
|
||||
@ -234,6 +273,40 @@ class LibraryBranching {
|
||||
echo '</li>';
|
||||
}
|
||||
|
||||
|
||||
// Dodaten popup za ime direktorija pri dodajanju
|
||||
private function displayAddFolderPopup($folder_id, $uid){
|
||||
global $lang;
|
||||
|
||||
echo '<h2>'.$lang['srv_library_folder_name'].'</h2>';
|
||||
|
||||
echo '<div>';
|
||||
echo ' <input type="text" id="lib_folder_name" class="large">';
|
||||
echo '</div>';
|
||||
|
||||
echo '<div class="button_holder">';
|
||||
echo ' <button class="medium white-blue" onClick="closeAdditionalPopup();">'.$lang['edit1338'].'</button>';
|
||||
echo ' <button class="medium blue" onClick="addLibraryFolder(\''.$folder_id.'\', \''.$uid.'\');">'.$lang['srv_library_folder_add'].'</button>';
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
// Dodaten popup za ime direktorija pri preimenovanju
|
||||
private function displayRenameFolderPopup($folder_id, $folder_name){
|
||||
global $lang;
|
||||
|
||||
echo '<h2>'.$lang['srv_library_folder_name'].'</h2>';
|
||||
|
||||
echo '<div>';
|
||||
echo ' <input type="text" id="lib_folder_name" class="large" value="'.$folder_name.'">';
|
||||
echo '</div>';
|
||||
|
||||
echo '<div class="button_holder">';
|
||||
echo ' <button class="medium white-blue" onClick="closeAdditionalPopup();">'.$lang['edit1338'].'</button>';
|
||||
echo ' <button class="medium blue" onClick="renameLibraryFolder(\''.$folder_id.'\');">'.$lang['srv_library_folder_rename'].'</button>';
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
|
||||
// Prikazemo seznam vprasanj v folderju
|
||||
private function displayQuestionList(){
|
||||
global $global_user_id;
|
||||
@ -303,14 +376,14 @@ class LibraryBranching {
|
||||
}
|
||||
|
||||
// Prikazemo vrstico (item, folder) na desni
|
||||
private function displayRightFolderItem($folder_id, $folder_title){
|
||||
private function displayRightFolderItem($folder_id, $folder_name){
|
||||
global $lang;
|
||||
|
||||
echo '<div id="folder_item_holder_'.$folder_id.'" class="folder_item_holder" onClick="openLibraryFolder(\''.$folder_id.'\');">';
|
||||
|
||||
echo ' <div class="folder_item_info">';
|
||||
echo ' <span class="faicon folder_empty"></span>';
|
||||
echo ' <span class="title">'.$folder_title.'</span>';
|
||||
echo ' <span class="title">'.$folder_name.'</span>';
|
||||
echo ' </div>';
|
||||
|
||||
echo '</div>';
|
||||
@ -390,15 +463,44 @@ class LibraryBranching {
|
||||
|
||||
$folder_id = $_POST['folder_id'];
|
||||
$uid = $_POST['uid'];
|
||||
$folder_name = $_POST['folder_name'];
|
||||
|
||||
$s = sisplet_query("INSERT INTO srv_library_folder (uid, tip, naslov, parent) VALUES ('".$uid."', '".$this->tab."', '".$lang['srv_newfolder']."', '".$folder_id."')");
|
||||
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
|
||||
if($folder_id != '' && $folder_id > 0){
|
||||
$s = sisplet_query("INSERT INTO srv_library_folder (uid, tip, naslov, parent) VALUES ('".$uid."', '".$this->tab."', '".$folder_name."', '".$folder_id."')");
|
||||
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
|
||||
|
||||
$insert_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
|
||||
// Nastavimo za aktivni folder in izrisemo na novo
|
||||
$this->folder_id = $insert_id;
|
||||
|
||||
// Posodobimo vse razprte folderje (vsi parenti ce je child aktiven)
|
||||
$this->setExpandedFolders($this->folder_id);
|
||||
|
||||
// Prikazemo folderje
|
||||
$this->displayFolderList();
|
||||
}
|
||||
}
|
||||
|
||||
// Preimenujemo folder
|
||||
elseif ($_GET['a'] == 'renameFolder') {
|
||||
|
||||
$insert_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
$folder_id = $_POST['folder_id'];
|
||||
$folder_name = $_POST['folder_name'];
|
||||
|
||||
// Nastavimo za aktivni folder in izrisemo na novo
|
||||
$this->folder_id = $insert_id;
|
||||
$this->displayFolderList();
|
||||
if($folder_id != '' && $folder_id > 0){
|
||||
|
||||
$s = sisplet_query("UPDATE srv_library_folder SET naslov='".$folder_name."' WHERE id='".$folder_id."'");
|
||||
if (!$s) echo mysqli_error($GLOBALS['connect_db']);
|
||||
|
||||
// Nastavimo za aktivni folder in izrisemo na novo
|
||||
$this->folder_id = $folder_id;
|
||||
|
||||
// Posodobimo vse razprte folderje (vsi parenti ce je child aktiven)
|
||||
$this->setExpandedFolders($this->folder_id);
|
||||
|
||||
$this->displayFolderList();
|
||||
}
|
||||
}
|
||||
|
||||
// Brisemo folder
|
||||
@ -406,29 +508,56 @@ class LibraryBranching {
|
||||
|
||||
$folder_id = $_POST['folder_id'];
|
||||
|
||||
$sql = sisplet_query("SELECT parent FROM srv_library_folder WHERE id = '$folder_id'");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
if($folder_id != '' && $folder_id > 0){
|
||||
|
||||
// Prestavimo vse iteme v parent folder
|
||||
if ($this->tab == 0) {
|
||||
sisplet_query("UPDATE srv_spremenljivka SET folder='".$row['parent']."' WHERE folder='".$folder_id."'");
|
||||
sisplet_query("UPDATE srv_if SET folder='".$row['parent']."' WHERE folder='".$folder_id."'");
|
||||
}
|
||||
else {
|
||||
sisplet_query("UPDATE srv_library_anketa SET folder='".$row['parent']."' WHERE folder='".$folder_id."'");
|
||||
$sql = sisplet_query("SELECT parent FROM srv_library_folder WHERE id = '".$folder_id."'");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
|
||||
// Prestavimo vse iteme v parent folder
|
||||
if ($this->tab == 0) {
|
||||
sisplet_query("UPDATE srv_spremenljivka SET folder='".$row['parent']."' WHERE folder='".$folder_id."'");
|
||||
sisplet_query("UPDATE srv_if SET folder='".$row['parent']."' WHERE folder='".$folder_id."'");
|
||||
}
|
||||
else {
|
||||
sisplet_query("UPDATE srv_library_anketa SET folder='".$row['parent']."' WHERE folder='".$folder_id."'");
|
||||
}
|
||||
|
||||
// Prestavimo vse child folderje v parent folder
|
||||
sisplet_query("UPDATE srv_library_folder SET parent='".$row['parent']."' WHERE parent='".$folder_id."'");
|
||||
|
||||
// Pobrisemo folder
|
||||
sisplet_query("DELETE FROM srv_library_folder WHERE id='".$folder_id."'");
|
||||
|
||||
// Nastavimo parenta za aktivni folder in izrisemo na novo
|
||||
$this->folder_id = $row['parent'];
|
||||
|
||||
// Posodobimo vse razprte folderje (vsi parenti ce je child aktiven)
|
||||
$this->setExpandedFolders($this->folder_id);
|
||||
|
||||
// Prikazemo fodlderje
|
||||
$this->displayFolderList();
|
||||
}
|
||||
|
||||
// Prestavimo vse child folderje v parent folder
|
||||
sisplet_query("UPDATE srv_library_folder SET parent='".$row['parent']."' WHERE parent='".$folder_id."'");
|
||||
|
||||
// Pobrisemo folder
|
||||
sisplet_query("DELETE FROM srv_library_folder WHERE id='".$folder_id."'");
|
||||
|
||||
// Nastavimo parenta za aktivni folder in izrisemo na novo
|
||||
$this->folder_id = $row['parent'];
|
||||
$this->displayFolderList();
|
||||
}
|
||||
|
||||
// Odpremo popup za poimenovanje novega folderja
|
||||
elseif ($_GET['a'] == 'addFolderPopup') {
|
||||
|
||||
$folder_id = $_POST['folder_id'];
|
||||
$uid = $_POST['uid'];
|
||||
|
||||
$this->displayAddFolderPopup($folder_id, $uid);
|
||||
}
|
||||
|
||||
// Odpremo popup za poimenovanje folderja
|
||||
elseif ($_GET['a'] == 'renameFolderPopup') {
|
||||
|
||||
$folder_id = $_POST['folder_id'];
|
||||
$folder_name = $_POST['folder_name'];
|
||||
|
||||
$this->displayRenameFolderPopup($folder_id, $folder_name);
|
||||
}
|
||||
|
||||
|
||||
// Odpremo folder z vprasanji v knjiznici
|
||||
elseif ($_GET['a'] == 'displayLibraryQuestionList') {
|
||||
|
||||
|
@ -291,8 +291,8 @@ function openLibraryFolder(folder_id){
|
||||
// Ce poddirektoriji niso vidni jih prikazemo
|
||||
if(!$('#folder_list_'+folder_id).is(':visible')){
|
||||
$('#folder_list_'+folder_id).slideDown();
|
||||
$('#folder_arrow_'+folder_id).removeClass('arrow2_d');
|
||||
$('#folder_arrow_'+folder_id).addClass('arrow2_u');
|
||||
$('#folder_arrow_'+folder_id).removeClass('arrow2_d').addClass('arrow2_u');
|
||||
$('#folder_folder_'+folder_id).removeClass('folder_empty').addClass('folder');
|
||||
}
|
||||
|
||||
var tab = $('#active_tab').val();
|
||||
@ -316,13 +316,13 @@ function expandLibraryFolder(folder_id){
|
||||
|
||||
if($('#folder_list_'+folder_id).is(':visible')){
|
||||
$('#folder_list_'+folder_id).slideUp();
|
||||
$('#folder_arrow_'+folder_id).removeClass('arrow2_u');
|
||||
$('#folder_arrow_'+folder_id).addClass('arrow2_d');
|
||||
$('#folder_arrow_'+folder_id).removeClass('arrow2_u').addClass('arrow2_d');
|
||||
$('#folder_folder_'+folder_id).removeClass('folder').addClass('folder_empty');
|
||||
}
|
||||
else{
|
||||
$('#folder_list_'+folder_id).slideDown();
|
||||
$('#folder_arrow_'+folder_id).removeClass('arrow2_d');
|
||||
$('#folder_arrow_'+folder_id).addClass('arrow2_u');
|
||||
$('#folder_arrow_'+folder_id).removeClass('arrow2_d').addClass('arrow2_u');
|
||||
$('#folder_folder_'+folder_id).removeClass('folder_empty').addClass('folder');
|
||||
}
|
||||
|
||||
event.stopPropagation();
|
||||
@ -343,12 +343,38 @@ function showLibraryFolderEdit(element){
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
||||
|
||||
// Zaprtje dodatnega popupa
|
||||
function closeAdditionalPopup(){
|
||||
$("#lib_additional_popup").fadeOut().html();
|
||||
}
|
||||
|
||||
// Ime novega folderja
|
||||
function displayAddFolderPopup(parent_folder_id, uid){
|
||||
|
||||
var tab = $('#active_tab').val();
|
||||
|
||||
$("#lib_additional_popup").fadeIn();
|
||||
$("#lib_additional_popup").load('ajax.php?t=libraryBranching&a=addFolderPopup', {anketa: srv_meta_anketa_id, tab: tab, folder_id: parent_folder_id, uid: uid});
|
||||
}
|
||||
|
||||
// Ime obstojecega folderja
|
||||
function displayRenameFolderPopup(folder_id, folder_name){
|
||||
|
||||
var tab = $('#active_tab').val();
|
||||
|
||||
$("#lib_additional_popup").fadeIn();
|
||||
$("#lib_additional_popup").load('ajax.php?t=libraryBranching&a=renameFolderPopup', {anketa: srv_meta_anketa_id, tab: tab, folder_id: folder_id, folder_name: folder_name});
|
||||
}
|
||||
|
||||
|
||||
// Dodamo nov folder
|
||||
function addLibraryFolder(parent_folder_id, uid){
|
||||
|
||||
var tab = $('#active_tab').val();
|
||||
var folder_name = $("#lib_folder_name").val();
|
||||
|
||||
$("#lib_folder_list").load('ajax.php?t=libraryBranching&a=addFolder', {anketa: srv_meta_anketa_id, tab: tab, folder_id: parent_folder_id, uid: uid});
|
||||
$("#lib_folder_list").load('ajax.php?t=libraryBranching&a=addFolder', {anketa: srv_meta_anketa_id, tab: tab, folder_id: parent_folder_id, uid: uid, folder_name: folder_name});
|
||||
}
|
||||
|
||||
// Pobrisemo obstojeci folder
|
||||
@ -363,8 +389,9 @@ function deleteLibraryFolder(folder_id){
|
||||
function renameLibraryFolder(folder_id){
|
||||
|
||||
var tab = $('#active_tab').val();
|
||||
var folder_name = $("#lib_folder_name").val();
|
||||
|
||||
//$("#lib_folder_list").load('ajax.php?t=libraryBranching&a=deleteFolder', {anketa: srv_meta_anketa_id, tab: tab, folder_id: folder_id});
|
||||
$("#lib_folder_list").load('ajax.php?t=libraryBranching&a=renameFolder', {anketa: srv_meta_anketa_id, tab: tab, folder_id: folder_id, folder_name: folder_name});
|
||||
}
|
||||
|
||||
|
||||
|
@ -2372,6 +2372,7 @@ $lang = array (
|
||||
"srv_library_folder_add" => "Dodaj direktorij",
|
||||
"srv_library_folder_delete" => "Odstrani direktorij",
|
||||
"srv_library_folder_rename" => "Preimenuj direktorij",
|
||||
"srv_library_folder_name" => "Ime direktorija",
|
||||
"srv_nadzor" => "Nadzor",
|
||||
"srv_knjiznica_add" => "Če želite dodati spremenljivko v knjižnico, jo povlecite v to polje",
|
||||
"srv_knjiznica_copy" => "Če želite kopirati vprašanje, ga označite z ikono COPY",
|
||||
|
@ -2354,9 +2354,10 @@ $lang = array (
|
||||
"srv_library_survey_title" => "Questions library",
|
||||
"srv_library_survey_add" => "Add to survey",
|
||||
"srv_library_item_counter" => "No. of selected questions",
|
||||
"srv_library_folder_add" => "Add direktorij",
|
||||
"srv_library_folder_delete" => "Remove direktorij",
|
||||
"srv_library_folder_rename" => "Rename direktorij",
|
||||
"srv_library_folder_add" => "Add folder",
|
||||
"srv_library_folder_delete" => "Remove folder",
|
||||
"srv_library_folder_rename" => "Rename folder",
|
||||
"srv_library_folder_name" => "Folder name",
|
||||
"srv_nadzor" => "Supervise",
|
||||
"srv_knjiznica_add" => "To add a question to a library, drag it to this field",
|
||||
"srv_knjiznica_copy" => "To copy a question, click on COPY icon",
|
||||
|
@ -13319,6 +13319,13 @@ and open the template in the editor.
|
||||
.tab_content .content_left ul li.folder_item .folder_item_settings ul li span:hover {
|
||||
color: #1E88E5;
|
||||
}
|
||||
.tab_content .content_left ul li.folder_item .folder_item_settings ul li {
|
||||
color: #1E88E5;
|
||||
transition: 0.2s;
|
||||
}
|
||||
.tab_content .content_left ul li.folder_item .folder_item_settings ul li:hover {
|
||||
color: #0059ab;
|
||||
}
|
||||
.tab_content .content_right {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -13402,6 +13409,18 @@ and open the template in the editor.
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#lib_additional_popup {
|
||||
position: absolute !important;
|
||||
top: 40%;
|
||||
left: calc(50% - 200px);
|
||||
width: 400px;
|
||||
border: 1px solid #C4C4C4;
|
||||
box-shadow: 0px 4px 7px rgba(0, 0, 0, 0.07);
|
||||
}
|
||||
#lib_additional_popup input[type=text] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/*
|
||||
To change this license header, choose License Headers in Project Properties.
|
||||
To change this template file, choose Tools | Templates
|
||||
|
@ -69,6 +69,9 @@
|
||||
border-color: $blue;
|
||||
background-color: $light-gray;
|
||||
}
|
||||
|
||||
&.open{
|
||||
}
|
||||
|
||||
&:hover{
|
||||
background-color: $light-gray;
|
||||
@ -112,6 +115,16 @@
|
||||
top: 38px;
|
||||
|
||||
border-radius: 2px;
|
||||
|
||||
ul li{
|
||||
color: $blue;
|
||||
|
||||
transition: 0.2s;
|
||||
|
||||
&:hover{
|
||||
color: $dark-blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -212,3 +225,18 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#lib_additional_popup{
|
||||
position: absolute !important;
|
||||
top: 40%;
|
||||
left: calc(50% - 200px);
|
||||
|
||||
width: 400px;
|
||||
|
||||
border: 1px solid $dark-gray;
|
||||
box-shadow: 0px 4px 7px rgba(0,0,0,.07);
|
||||
|
||||
input[type="text"]{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user