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>';
}
// 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>';

View File

@ -9,6 +9,8 @@ class LibraryBranching {
var $folder_id = 0; // Trenutno aktiven folder
var $expanded_folders = array(); // Razprti folderji
var $root_folder;
public function __construct ($ank_id=0) {
@ -48,6 +50,7 @@ class LibraryBranching {
// Naslov v oknu
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)
echo '<div id="lib_tabs" class="lib_tabs">';
@ -133,6 +136,8 @@ class LibraryBranching {
$(".folder_item_settings").addClass("displayNone");
}
});
initHideLibraryArrows();
</script>';
}
@ -222,13 +227,14 @@ class LibraryBranching {
global $admin_type;
$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
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>';
echo ' <span id="folder_arrow_'.$id.'" class="faicon arrow" onClick="expandLibraryFolder(\''.$id.'\');"></span>';
echo ' <span id="folder_folder_'.$id.'" class="faicon folder"></span>';
// Naslov folderja
echo ' <span class="folder_item_title">'.$title.'</span>';
@ -238,7 +244,7 @@ class LibraryBranching {
// Urejanje folderja
if($uid != 0){
if($uid != 0 || $admin_type == 0){
// Tri pikice za prikaz urejanja folderja
echo ' <span class="faicon dots_ver" onClick="showLibraryFolderEdit(this);"></span>';
@ -247,7 +253,8 @@ class LibraryBranching {
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>';
if($id != $this->root_folder)
echo ' <li onClick="deleteLibraryFolder(\''.$id.'\');">'.$lang['srv_library_folder_delete'].'</li>';
echo ' </ul>';
echo ' </div>';
}
@ -345,12 +352,21 @@ class LibraryBranching {
}
// Seznam vprasanj iz knjiznice
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");
while ($rowFolderQuestions = mysqli_fetch_array($sqlFolderQuestions)) {
$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
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 ' <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="title">'.substr(strip_tags($spremenljivka['naslov']), 0, 40).'</span>';
echo ' </div>';
@ -408,6 +424,22 @@ class LibraryBranching {
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
private function displayButtons(){
global $global_user_id;
@ -443,11 +475,12 @@ class LibraryBranching {
echo '</div>';
}
// Dobimo root folder uporabnika
private function getRootFolder(){
global $global_user_id;
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
if (mysqli_num_rows($sqlFolder) == 0){
@ -458,7 +491,7 @@ class LibraryBranching {
sisplet_query("INSERT INTO srv_library_folder
(uid, tip, naslov, parent, lang)
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']);
@ -482,6 +515,9 @@ class LibraryBranching {
$this->tab = (isset($_POST['tab'])) ? (int)$_POST['tab'] : 0;
// Nastavimo uporabnikov root folder
$this->root_folder = $this->getRootFolder();
// Odpremo popup s knjiznico
if ($_GET['a'] == 'displayLibraryPopup') {
@ -501,7 +537,7 @@ class LibraryBranching {
$folder_name = $_POST['folder_name'];
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']);
$insert_id = mysqli_insert_id($GLOBALS['connect_db']);
@ -612,14 +648,27 @@ class LibraryBranching {
// Dodajanje itema iz knjiznice v vprasalnik
elseif ($_GET['a'] == 'addIntoSurvey') {
$item_ids = $_POST['item_ids'];
$items = $_POST['items'];
$b = new Branching($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();
$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);
@ -632,17 +681,18 @@ class LibraryBranching {
elseif ($_GET['a'] == 'dropItem') {
$item_id = $_POST['item_id'];
$item_type = $_POST['item_type'];
$folder_id = $_POST['folder_id'];
if($item_id != '' && $item_id > 0){
// spremenljivka
if (true) {
sisplet_query("UPDATE srv_spremenljivka SET folder='".$folder_id."' WHERE id='".$item_id."'");
}
// if/blok
else {
if ($item_type == '2') {
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'];
$type = $_POST['type'];
$folder_id = $this->getRootFolder();
$folder_id = $this->root_folder;
if ($item_id > 0) {

View File

@ -1972,9 +1972,6 @@ class Vprasanje {
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

View File

@ -271,14 +271,12 @@ function displayLibraryTab(tab){
if(tab == 1){
$('#tab_0').removeClass('active');
$('#tab_1').addClass('active');
}
else{
$('#tab_1').removeClass('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});
}
@ -286,13 +284,11 @@ function displayLibraryTab(tab){
function openLibraryFolder(folder_id){
$('.folder_item').removeClass('active');
$('#folder_item_'+folder_id).addClass('active');
$('#folder_item_'+folder_id).addClass('active').addClass('open');
// 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').addClass('arrow2_u');
$('#folder_folder_'+folder_id).removeClass('folder_empty').addClass('folder');
}
var tab = $('#active_tab').val();
@ -316,13 +312,11 @@ function expandLibraryFolder(folder_id){
if($('#folder_list_'+folder_id).is(':visible')){
$('#folder_list_'+folder_id).slideUp();
$('#folder_arrow_'+folder_id).removeClass('arrow2_u').addClass('arrow2_d');
$('#folder_folder_'+folder_id).removeClass('folder').addClass('folder_empty');
$('#folder_item_'+folder_id).removeClass('open');
}
else{
$('#folder_list_'+folder_id).slideDown();
$('#folder_arrow_'+folder_id).removeClass('arrow2_d').addClass('arrow2_u');
$('#folder_folder_'+folder_id).removeClass('folder_empty').addClass('folder');
$('#folder_item_'+folder_id).addClass('open');
}
event.stopPropagation();
@ -413,11 +407,9 @@ function selectLibraryItem(item_id){
}
// 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, folder_id: folder_id}, function(){
$.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(){
$('#question_item_holder_'+item_id).remove();
});
}
@ -439,27 +431,45 @@ function initDragLibraryItem(){
hoverClass: "drag-hover",
drop: function( event, ui ) {
var item_id = ui.draggable.attr('item-id');
var item_type = ui.draggable.attr('item-type');
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(){
var item_ids = [];
var items = [];
$('.question_item_check:checkbox:checked').each(function(){
var id_string = $(this).attr("id");
var id = id_string.substring(20);
item_ids.push(id);
var type = $(this).attr("item-type");
items.push(id + '_' + type);
});
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_add" => "Dodaj v anketo",
"srv_library_item_counter" => "Št. izbranih vprašanj",
"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_library_folder_add" => "Dodaj podmapo",
"srv_library_folder_delete" => "Odstrani podmapo",
"srv_library_folder_rename" => "Preimenuj podmapo",
"srv_library_folder_name" => "Ime podmape",
"srv_library_add_to_lib_title" => "Dodaj element v knjižnico",
"srv_library_add_to_lib" => "Dodaj v knjižnico",
"srv_nadzor" => "Nadzor",

File diff suppressed because it is too large Load Diff

View File

@ -65,12 +65,30 @@
transition: 0.2s;
.faicon.arrow:before{
content: "\f078";
}
.faicon.folder:before{
font-weight: 400;
color: $dark-gray2;
}
&.active{
border-color: $blue;
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{
@ -91,14 +109,6 @@
font-size: 14px;
}
.faicon.folder_empty{
color: $blue;
}
.faicon.folder{
color: $blue;
}
.folder_item_child_count{
font-size: 12px;
color: $very-dark-gray;