Redesign - knjiznica - popravki

This commit is contained in:
pero1203 2022-03-03 12:11:25 +01:00
parent df7dc312a3
commit 1d83518858
7 changed files with 1547 additions and 1460 deletions

View File

@ -7505,6 +7505,15 @@ class Branching {
echo '</script>'; echo '</script>';
} }
// Dodaj blok/if v knjiznico
echo '<div class="condition_setting_holder">';
echo ' <div class="condition_setting_line">';
echo ' <button class="blue small" onClick="displayAddIntoLibraryPopup(\''.$if.'\', \'2\');">'.$lang['srv_library_add_to_lib'].'</button>';
echo ' </div>';
echo '</div>';
echo '</fieldset>'; echo '</fieldset>';

View File

@ -9,6 +9,8 @@ class LibraryBranching {
var $folder_id = 0; // Trenutno aktiven folder var $folder_id = 0; // Trenutno aktiven folder
var $expanded_folders = array(); // Razprti folderji var $expanded_folders = array(); // Razprti folderji
var $root_folder;
public function __construct ($ank_id=0) { public function __construct ($ank_id=0) {
@ -48,6 +50,7 @@ class LibraryBranching {
// Naslov v oknu // Naslov v oknu
echo '<h2><span class="faicon library"></span>'.$lang['srv_library_survey_title'].'</h2>'; echo '<h2><span class="faicon library"></span>'.$lang['srv_library_survey_title'].'</h2>';
echo '<div class="popup_close"><a href="#" onclick="popupClose();">✕</a></div>';
// Tabi (vprasanja, ankete) // Tabi (vprasanja, ankete)
echo '<div id="lib_tabs" class="lib_tabs">'; echo '<div id="lib_tabs" class="lib_tabs">';
@ -133,6 +136,8 @@ class LibraryBranching {
$(".folder_item_settings").addClass("displayNone"); $(".folder_item_settings").addClass("displayNone");
} }
}); });
initHideLibraryArrows();
</script>'; </script>';
} }
@ -222,13 +227,14 @@ class LibraryBranching {
global $admin_type; global $admin_type;
$expanded = in_array($id, $this->expanded_folders) ? true : false; $expanded = in_array($id, $this->expanded_folders) ? true : false;
$active = ($this->folder_id == $id) ? true : false;
echo '<li id="folder_item_'.$id.'" class="folder_item '.($this->folder_id == $id ? 'active' : '').' '.($expanded ? 'open' : 'close').' '.($uid != 0 ? 'droppable_folder' : '').'" folder-id="'.$id.'" onClick="openLibraryFolder(\''.$id.'\');">'; echo '<li id="folder_item_'.$id.'" class="folder_item '.($active ? 'active' : '').' '.($expanded ? 'open' : '').' '.($uid != 0 ? 'droppable_folder' : '').'" folder-id="'.$id.'" onClick="openLibraryFolder(\''.$id.'\');">';
// Ikoni puscice in mape // Ikoni puscice in mape
echo ' <span id="folder_arrow_'.$id.'" class="faicon arrow2_'.($expanded ? 'u' : 'd').'" onClick="expandLibraryFolder(\''.$id.'\');"></span>'; echo ' <span id="folder_arrow_'.$id.'" class="faicon arrow" onClick="expandLibraryFolder(\''.$id.'\');"></span>';
echo ' <span id="folder_folder_'.$id.'" class="faicon '.($expanded ? 'folder' : 'folder_empty').'"></span>'; echo ' <span id="folder_folder_'.$id.'" class="faicon folder"></span>';
// Naslov folderja // Naslov folderja
echo ' <span class="folder_item_title">'.$title.'</span>'; echo ' <span class="folder_item_title">'.$title.'</span>';
@ -238,7 +244,7 @@ class LibraryBranching {
// Urejanje folderja // Urejanje folderja
if($uid != 0){ if($uid != 0 || $admin_type == 0){
// Tri pikice za prikaz urejanja folderja // Tri pikice za prikaz urejanja folderja
echo ' <span class="faicon dots_ver" onClick="showLibraryFolderEdit(this);"></span>'; echo ' <span class="faicon dots_ver" onClick="showLibraryFolderEdit(this);"></span>';
@ -247,6 +253,7 @@ class LibraryBranching {
echo ' <ul>'; echo ' <ul>';
echo ' <li onClick="displayAddFolderPopup(\''.$id.'\', \''.$uid.'\');">'.$lang['srv_library_folder_add'].'</li>'; 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="displayRenameFolderPopup(\''.$id.'\', \''.$title.'\');">'.$lang['srv_library_folder_rename'].'</li>';
if($id != $this->root_folder)
echo ' <li onClick="deleteLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_delete'].'</li>'; echo ' <li onClick="deleteLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_delete'].'</li>';
echo ' </ul>'; echo ' </ul>';
echo ' </div>'; echo ' </div>';
@ -345,12 +352,21 @@ class LibraryBranching {
} }
// Seznam vprasanj iz knjiznice // Seznam vprasanj iz knjiznice
else{ else{
// Loop po vseh vprasanjih v folderju
$sqlFolderQuestions = sisplet_query("SELECT * FROM srv_spremenljivka WHERE folder='".$this->folder_id."' AND gru_id='-1' ORDER BY naslov ASC"); $sqlFolderQuestions = sisplet_query("SELECT * FROM srv_spremenljivka WHERE folder='".$this->folder_id."' AND gru_id='-1' ORDER BY naslov ASC");
while ($rowFolderQuestions = mysqli_fetch_array($sqlFolderQuestions)) { while ($rowFolderQuestions = mysqli_fetch_array($sqlFolderQuestions)) {
$this->displayRightQuestionItem($rowFolderQuestions); $this->displayRightQuestionItem($rowFolderQuestions);
} }
// Loop po vseh if-ih/blokih v folderju
$sqlFolderIfs = sisplet_query("SELECT * FROM srv_if WHERE folder='".$this->folder_id."' ORDER BY label ASC, id ASC");
while ($rowFolderIfs = mysqli_fetch_array($sqlFolderIfs)) {
$this->displayRightIfItem($rowFolderIfs);
}
// Init drag/drop js // Init drag/drop js
echo '<script>initDragLibraryItem();</script>'; echo '<script>initDragLibraryItem();</script>';
} }
@ -398,9 +414,9 @@ class LibraryBranching {
echo '<div id="question_item_holder_'.$spremenljivka['id'].'" class="question_item_holder" onClick="selectLibraryItem(\''.$spremenljivka['id'].'\');">'; echo '<div id="question_item_holder_'.$spremenljivka['id'].'" class="question_item_holder" onClick="selectLibraryItem(\''.$spremenljivka['id'].'\');">';
echo ' <input type="checkbox" id="question_item_check_'.$spremenljivka['id'].'" class="question_item_check" onClick="selectLibraryItem(\''.$spremenljivka['id'].'\');"><label for="question_item_check_'.$spremenljivka['id'].'"></label>'; echo ' <input type="checkbox" id="question_item_check_'.$spremenljivka['id'].'" item-type="1" class="question_item_check" onClick="selectLibraryItem(\''.$spremenljivka['id'].'\');"><label for="question_item_check_'.$spremenljivka['id'].'"></label>';
echo ' <div id="question_item_info_'.$spremenljivka['id'].'" item-id="'.$spremenljivka['id'].'" class="question_item_info">'; echo ' <div id="question_item_info_'.$spremenljivka['id'].'" item-type="1" item-id="'.$spremenljivka['id'].'" class="question_item_info">';
echo ' <span class="faicon list"></span>'; echo ' <span class="faicon list"></span>';
echo ' <span class="title">'.substr(strip_tags($spremenljivka['naslov']), 0, 40).'</span>'; echo ' <span class="title">'.substr(strip_tags($spremenljivka['naslov']), 0, 40).'</span>';
echo ' </div>'; echo ' </div>';
@ -408,6 +424,22 @@ class LibraryBranching {
echo '</div>'; echo '</div>';
} }
// Prikazemo 1 vrstico (item, if) na desni
private function displayRightIfItem($if){
global $lang;
echo '<div id="question_item_holder_'.$if['id'].'" class="question_item_holder" onClick="selectLibraryItem(\''.$if['id'].'\');">';
echo ' <input type="checkbox" id="question_item_check_'.$if['id'].'" item-type="2" class="question_item_check" onClick="selectLibraryItem(\''.$if['id'].'\');"><label for="question_item_check_'.$spremenljivka['id'].'"></label>';
echo ' <div id="question_item_info_'.$if['id'].'" item-type="2" item-id="'.$if['id'].'" class="question_item_info">';
echo ' <span class="faicon list"></span>';
echo ' <span class="title">'.substr(strip_tags($if['label']), 0, 40).'</span>';
echo ' </div>';
echo '</div>';
}
// Prikazemo gumbe // Prikazemo gumbe
private function displayButtons(){ private function displayButtons(){
global $global_user_id; global $global_user_id;
@ -443,11 +475,12 @@ class LibraryBranching {
echo '</div>'; echo '</div>';
} }
// Dobimo root folder uporabnika
private function getRootFolder(){ private function getRootFolder(){
global $global_user_id; global $global_user_id;
global $lang; global $lang;
$sqlFolder = sisplet_query("SELECT id FROM srv_library_folder WHERE uid='".$global_user_id."' AND parent='0' AND tip='0' AND lang='".$lang['id']."'"); $sqlFolder = sisplet_query("SELECT id FROM srv_library_folder WHERE uid='".$global_user_id."' AND parent='0' AND tip='".$this->tab."' AND lang='".$lang['id']."'");
// Za prvic ko pride user, da mu dodamo folder // Za prvic ko pride user, da mu dodamo folder
if (mysqli_num_rows($sqlFolder) == 0){ if (mysqli_num_rows($sqlFolder) == 0){
@ -458,7 +491,7 @@ class LibraryBranching {
sisplet_query("INSERT INTO srv_library_folder sisplet_query("INSERT INTO srv_library_folder
(uid, tip, naslov, parent, lang) (uid, tip, naslov, parent, lang)
VALUES VALUES
('".$global_user_id."', '0', '".$naslov."', '0', '".$lang['id']."') ('".$global_user_id."', '".$this->tab."', '".$naslov."', '0', '".$lang['id']."')
"); ");
$root_folder_id = mysqli_insert_id($GLOBALS['connect_db']); $root_folder_id = mysqli_insert_id($GLOBALS['connect_db']);
@ -482,6 +515,9 @@ class LibraryBranching {
$this->tab = (isset($_POST['tab'])) ? (int)$_POST['tab'] : 0; $this->tab = (isset($_POST['tab'])) ? (int)$_POST['tab'] : 0;
// Nastavimo uporabnikov root folder
$this->root_folder = $this->getRootFolder();
// Odpremo popup s knjiznico // Odpremo popup s knjiznico
if ($_GET['a'] == 'displayLibraryPopup') { if ($_GET['a'] == 'displayLibraryPopup') {
@ -501,7 +537,7 @@ class LibraryBranching {
$folder_name = $_POST['folder_name']; $folder_name = $_POST['folder_name'];
if($folder_id != '' && $folder_id > 0){ 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."')"); $s = sisplet_query("INSERT INTO srv_library_folder (uid, tip, naslov, parent, lang) VALUES ('".$uid."', '".$this->tab."', '".$folder_name."', '".$folder_id."', '".$lang['id']."')");
if (!$s) echo mysqli_error($GLOBALS['connect_db']); if (!$s) echo mysqli_error($GLOBALS['connect_db']);
$insert_id = mysqli_insert_id($GLOBALS['connect_db']); $insert_id = mysqli_insert_id($GLOBALS['connect_db']);
@ -612,14 +648,27 @@ class LibraryBranching {
// Dodajanje itema iz knjiznice v vprasalnik // Dodajanje itema iz knjiznice v vprasalnik
elseif ($_GET['a'] == 'addIntoSurvey') { elseif ($_GET['a'] == 'addIntoSurvey') {
$item_ids = $_POST['item_ids']; $items = $_POST['items'];
$b = new Branching($this->ank_id); $b = new Branching($this->ank_id);
$ba = new BranchingAjax($this->ank_id); $ba = new BranchingAjax($this->ank_id);
foreach(array_reverse($item_ids) as $item_id){ foreach(array_reverse($items) as $item){
$item_array = explode("_", $item);
$item_id = $item_array[0];
$item_type = $item_array[1];
$last_spr = $b->find_last_spr(); $last_spr = $b->find_last_spr();
$new_id = $ba->spremenljivka_new($spremenljivka=$last_spr, $if=0, $endif=0, $copy=$item_id, $drop=0);
// Dodamo if/blok v anketo
if($item_type == '2'){
$b->if_new($endif, $parent, $if_id=$item_id, $vrstni_red, $spremenljivka, $if, $copy=$item_id, $no_content=0, $include_element=true);
}
// Dodamo vprasanje v anketo
else{
$ba->spremenljivka_new($spremenljivka=$last_spr, $if=0, $endif=0, $copy=$item_id, $drop=0);
}
} }
Common::getInstance()->Init($this->ank_id); Common::getInstance()->Init($this->ank_id);
@ -632,18 +681,19 @@ class LibraryBranching {
elseif ($_GET['a'] == 'dropItem') { elseif ($_GET['a'] == 'dropItem') {
$item_id = $_POST['item_id']; $item_id = $_POST['item_id'];
$item_type = $_POST['item_type'];
$folder_id = $_POST['folder_id']; $folder_id = $_POST['folder_id'];
if($item_id != '' && $item_id > 0){ if($item_id != '' && $item_id > 0){
// spremenljivka
if (true) {
sisplet_query("UPDATE srv_spremenljivka SET folder='".$folder_id."' WHERE id='".$item_id."'");
}
// if/blok // if/blok
else { if ($item_type == '2') {
sisplet_query("UPDATE srv_if SET folder='".$folder_id."' WHERE id='".$item_id."'"); sisplet_query("UPDATE srv_if SET folder='".$folder_id."' WHERE id='".$item_id."'");
} }
// spremenljivka
else {
sisplet_query("UPDATE srv_spremenljivka SET folder='".$folder_id."' WHERE id='".$item_id."'");
}
} }
} }
@ -663,7 +713,7 @@ class LibraryBranching {
$item_id = $_POST['item_id']; $item_id = $_POST['item_id'];
$type = $_POST['type']; $type = $_POST['type'];
$folder_id = $this->getRootFolder(); $folder_id = $this->root_folder;
if ($item_id > 0) { if ($item_id > 0) {

View File

@ -1972,9 +1972,6 @@ class Vprasanje {
echo ' </div>'; echo ' </div>';
echo '</div>'; echo '</div>';
// ob spremembi opombe, damo drug value tudi na radio Da, da se ob shranjevanju desnega menija shrani nova opomba, ce je bila spremenenjena
?><script> $('div.spremenljivka_info.info_inline[spr_id=<?=$this->spremenljivka?>]').live('blur', function() { $('#_info').val( $(this).html() ); }) </script><?
} }
//editiranje naslova uvoda //editiranje naslova uvoda

View File

@ -271,14 +271,12 @@ function displayLibraryTab(tab){
if(tab == 1){ if(tab == 1){
$('#tab_0').removeClass('active'); $('#tab_0').removeClass('active');
$('#tab_1').addClass('active'); $('#tab_1').addClass('active');
} }
else{ else{
$('#tab_1').removeClass('active'); $('#tab_1').removeClass('active');
$('#tab_0').addClass('active'); $('#tab_0').addClass('active');
} }
$('#active_tab').val(tab);
$("#tab_content").load('ajax.php?t=libraryBranching&a=displayLibraryTabContent', {anketa: srv_meta_anketa_id, tab: tab}); $("#tab_content").load('ajax.php?t=libraryBranching&a=displayLibraryTabContent', {anketa: srv_meta_anketa_id, tab: tab});
} }
@ -286,13 +284,11 @@ function displayLibraryTab(tab){
function openLibraryFolder(folder_id){ function openLibraryFolder(folder_id){
$('.folder_item').removeClass('active'); $('.folder_item').removeClass('active');
$('#folder_item_'+folder_id).addClass('active'); $('#folder_item_'+folder_id).addClass('active').addClass('open');
// Ce poddirektoriji niso vidni jih prikazemo // Ce poddirektoriji niso vidni jih prikazemo
if(!$('#folder_list_'+folder_id).is(':visible')){ if(!$('#folder_list_'+folder_id).is(':visible')){
$('#folder_list_'+folder_id).slideDown(); $('#folder_list_'+folder_id).slideDown();
$('#folder_arrow_'+folder_id).removeClass('arrow2_d').addClass('arrow2_u');
$('#folder_folder_'+folder_id).removeClass('folder_empty').addClass('folder');
} }
var tab = $('#active_tab').val(); var tab = $('#active_tab').val();
@ -316,13 +312,11 @@ function expandLibraryFolder(folder_id){
if($('#folder_list_'+folder_id).is(':visible')){ if($('#folder_list_'+folder_id).is(':visible')){
$('#folder_list_'+folder_id).slideUp(); $('#folder_list_'+folder_id).slideUp();
$('#folder_arrow_'+folder_id).removeClass('arrow2_u').addClass('arrow2_d'); $('#folder_item_'+folder_id).removeClass('open');
$('#folder_folder_'+folder_id).removeClass('folder').addClass('folder_empty');
} }
else{ else{
$('#folder_list_'+folder_id).slideDown(); $('#folder_list_'+folder_id).slideDown();
$('#folder_arrow_'+folder_id).removeClass('arrow2_d').addClass('arrow2_u'); $('#folder_item_'+folder_id).addClass('open');
$('#folder_folder_'+folder_id).removeClass('folder_empty').addClass('folder');
} }
event.stopPropagation(); event.stopPropagation();
@ -413,11 +407,9 @@ function selectLibraryItem(item_id){
} }
// Funkcija za init drag drop vprasanj v knjiznici // Funkcija za init drag drop vprasanj v knjiznici
function dropLibraryItem(item_id, folder_id){ function dropLibraryItem(item_id, item_type, folder_id){
console.log(item_id + '__' + folder_id); $.post('ajax.php?t=libraryBranching&a=dropItem', {anketa: srv_meta_anketa_id, item_id: item_id, item_type: item_type, folder_id: folder_id}, function(){
$.post('ajax.php?t=libraryBranching&a=dropItem', {anketa: srv_meta_anketa_id, item_id: item_id, folder_id: folder_id}, function(){
$('#question_item_holder_'+item_id).remove(); $('#question_item_holder_'+item_id).remove();
}); });
} }
@ -439,27 +431,45 @@ function initDragLibraryItem(){
hoverClass: "drag-hover", hoverClass: "drag-hover",
drop: function( event, ui ) { drop: function( event, ui ) {
var item_id = ui.draggable.attr('item-id'); var item_id = ui.draggable.attr('item-id');
var item_type = ui.draggable.attr('item-type');
var folder_id = $(this).attr("folder-id"); var folder_id = $(this).attr("folder-id");
dropLibraryItem(item_id, folder_id); dropLibraryItem(item_id, item_type, folder_id);
}
});
}
// Skrijemo puscice folderjem brez subfolderjev
function initHideLibraryArrows(){
$('ul.folder_list').each(function(){
if($(this).is(':empty')){
var id_string = $(this).attr("id");
var id = id_string.substring(12);
$('#folder_item_'+id).addClass('no_arrow');
} }
}); });
} }
function insertLibraryItemsIntoSurvey(){ function insertLibraryItemsIntoSurvey(){
var item_ids = []; var items = [];
$('.question_item_check:checkbox:checked').each(function(){ $('.question_item_check:checkbox:checked').each(function(){
var id_string = $(this).attr("id"); var id_string = $(this).attr("id");
var id = id_string.substring(20); var id = id_string.substring(20);
item_ids.push(id); var type = $(this).attr("item-type");
items.push(id + '_' + type);
}); });
popupClose(); popupClose();
$("#branching").load('ajax.php?t=libraryBranching&a=addIntoSurvey', {anketa: srv_meta_anketa_id, item_ids: item_ids}); $("#branching").load('ajax.php?t=libraryBranching&a=addIntoSurvey', {anketa: srv_meta_anketa_id, items: items});
} }

View File

@ -2369,10 +2369,10 @@ $lang = array (
"srv_library_survey_title" => "Knjižnica vprašanj", "srv_library_survey_title" => "Knjižnica vprašanj",
"srv_library_survey_add" => "Dodaj v anketo", "srv_library_survey_add" => "Dodaj v anketo",
"srv_library_item_counter" => "Št. izbranih vprašanj", "srv_library_item_counter" => "Št. izbranih vprašanj",
"srv_library_folder_add" => "Dodaj direktorij", "srv_library_folder_add" => "Dodaj podmapo",
"srv_library_folder_delete" => "Odstrani direktorij", "srv_library_folder_delete" => "Odstrani podmapo",
"srv_library_folder_rename" => "Preimenuj direktorij", "srv_library_folder_rename" => "Preimenuj podmapo",
"srv_library_folder_name" => "Ime direktorija", "srv_library_folder_name" => "Ime podmape",
"srv_library_add_to_lib_title" => "Dodaj element v knjižnico", "srv_library_add_to_lib_title" => "Dodaj element v knjižnico",
"srv_library_add_to_lib" => "Dodaj v knjižnico", "srv_library_add_to_lib" => "Dodaj v knjižnico",
"srv_nadzor" => "Nadzor", "srv_nadzor" => "Nadzor",

File diff suppressed because it is too large Load Diff

View File

@ -65,12 +65,30 @@
transition: 0.2s; transition: 0.2s;
.faicon.arrow:before{
content: "\f078";
}
.faicon.folder:before{
font-weight: 400;
color: $dark-gray2;
}
&.active{ &.active{
border-color: $blue; border-color: $blue;
background-color: $light-gray; background-color: $light-gray;
.faicon.folder:before{
font-weight: 600;
color: $blue;
}
}
&.open{
.faicon.arrow:before{
content: "\f077";
}
} }
&.open{ &.no_arrow .faicon.arrow:before{
display: none;
} }
&.droppable_folder.drag-hover{ &.droppable_folder.drag-hover{
@ -91,14 +109,6 @@
font-size: 14px; font-size: 14px;
} }
.faicon.folder_empty{
color: $blue;
}
.faicon.folder{
color: $blue;
}
.folder_item_child_count{ .folder_item_child_count{
font-size: 12px; font-size: 12px;
color: $very-dark-gray; color: $very-dark-gray;