diff --git a/admin/survey/classes/class.LibraryBranching.php b/admin/survey/classes/class.LibraryBranching.php
index e04e367b3..092dc7caf 100644
--- a/admin/survey/classes/class.LibraryBranching.php
+++ b/admin/survey/classes/class.LibraryBranching.php
@@ -10,6 +10,7 @@ class LibraryBranching {
var $expanded_folders = array(); // Razprti folderji
var $root_folder;
+ var $folder_structure = array(); // Struktura direktorijev uporabnika
public function __construct ($ank_id=0) {
@@ -135,6 +136,12 @@ class LibraryBranching {
if (!container.is(e.target) && container.has(e.target).length === 0){
$(".folder_item_settings").addClass("displayNone");
}
+
+ var container2 = $(".item_settings, .dots_ver");
+
+ if (!container.is(e.target) && container.has(e.target).length === 0){
+ $(".item_settings").addClass("displayNone");
+ }
});
initHideLibraryArrows();
@@ -229,7 +236,7 @@ class LibraryBranching {
$expanded = in_array($id, $this->expanded_folders) ? true : false;
$active = ($this->folder_id == $id) ? true : false;
- echo '
';
+ echo ' ';
// Ikoni puscice in mape
@@ -365,15 +372,25 @@ class LibraryBranching {
echo '
';*/
+ $allow_edit = true;
+
// 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 s.id, s.naslov, s.tip, f.uid AS folder_uid
+ FROM srv_spremenljivka s, srv_library_folder f
+ WHERE s.folder='".$this->folder_id."' AND s.gru_id='-1' AND f.id=s.folder
+ ORDER BY s.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");
+ $sqlFolderIfs = sisplet_query("SELECT i.id, i.label, i.tip, f.uid AS folder_uid
+ FROM srv_if i, srv_library_folder f
+ WHERE i.folder='".$this->folder_id."' AND f.id=i.folder
+ ORDER BY i.label ASC, i.id ASC
+ ");
while ($rowFolderIfs = mysqli_fetch_array($sqlFolderIfs)) {
$this->displayRightIfItem($rowFolderIfs);
@@ -423,14 +440,31 @@ class LibraryBranching {
// Prikazemo 1 vrstico (item, vprasanje) na desni
private function displayRightQuestionItem($spremenljivka){
global $lang;
+ global $global_user_id;
echo '';
echo '
';
echo '
';
+
echo '
';
echo '
'.substr(strip_tags($spremenljivka['naslov']), 0, 40).' ';
+
+ // Urejanje Vprasanja
+ if($this->tab == '0' && ($spremenljivka['folder_uid'] == $global_user_id || $admin_type == 0)){
+
+ // Tri pikice za prikaz urejanja vprasanja
+ echo '
';
+
+ // Skrit div za urejanje vprasanja
+ echo '
';
+ echo '
';
+ echo ' '.$lang['srv_library_delete_q'].' ';
+ echo ' ';
+ echo '
';
+ }
+
echo '
';
echo '
';
@@ -439,18 +473,22 @@ class LibraryBranching {
// Prikazemo 1 vrstico (item, if) na desni
private function displayRightIfItem($if){
global $lang;
+ global $global_user_id;
if($if['tip'] == 2){
$type_string = '[LOOP] ';
$icon = 'loop_32';
+ $type = 'loop';
}
elseif($if['tip'] == 1){
$type_string = '[BLOCK] ';
$icon = 'block_32';
+ $type = 'block';
}
else{
$type_string = '[IF] ';
$icon = 'if_32';
+ $type = 'if';
}
$type_string = '';
@@ -460,8 +498,24 @@ class LibraryBranching {
echo ' ';
echo ' ';
+
echo '
';
echo '
'.$type_string.substr(strip_tags($if['label']), 0, 40).' ';
+
+ // Urejanje Vprasanja
+ if($this->tab == '0' && ($if['folder_uid'] == $global_user_id || $admin_type == 0)){
+
+ // Tri pikice za prikaz urejanja folderja
+ echo '
';
+
+ // Skrit div za urejanje folderja
+ echo '
';
+ echo '
';
+ echo ' '.$lang['srv_library_delete_'.$type].' ';
+ echo ' ';
+ echo '
';
+ }
+
echo '
';
echo '';
@@ -487,6 +541,8 @@ class LibraryBranching {
*/
private function displayAddIntoLibrary($item_id, $type){
global $lang;
+ global $admin_type;
+ global $global_user_id;
// Podtip elementa (vprasanje, blok, if...)
if($type == '2'){
@@ -525,9 +581,28 @@ class LibraryBranching {
echo ''.$lang['srv_library_add_to_lib_name_'.$subtype].': ';
echo ' ';
- /*echo ''.$lang['srv_library_add_to_lib_folder'].': ';
- echo ' ';*/
+ // Izbira direktorija
+ echo ''.$lang['srv_library_add_to_lib_folder'].': ';
+ $this->getFolderStructure($uid=$global_user_id);
+ if($admin_type == 0)
+ $this->getFolderStructure($uid='0');
+
+ echo '';
+ foreach($this->folder_structure as $folder){
+
+ echo '';
+
+ for($i=0; $i<$folder['indent']; $i++){
+ echo ' ';
+ }
+
+ echo $folder['title'];
+
+ echo ' ';
+ }
+ echo ' ';
+
echo '';
@@ -619,6 +694,34 @@ class LibraryBranching {
return $root_folder_id;
}
+ // Seznam folderjev uporabnika
+ private function getFolderStructure($uid, $parent=0, $indent=0){
+ global $global_user_id;
+ global $admin_type;
+ global $lang;
+
+
+ $sqlFolder = sisplet_query("SELECT id, naslov FROM srv_library_folder WHERE uid='".$uid."' AND parent='".$parent."' AND tip='0' AND lang='".$lang['id']."'");
+ if(mysqli_num_rows($sqlFolder) == 0){
+ return;
+ }
+
+ while($rowFolder = mysqli_fetch_array($sqlFolder)){
+
+ $this->folder_structure[] = array(
+ 'id' => $rowFolder['id'],
+ 'title' => $rowFolder['naslov'],
+ 'indent' => $indent
+ );
+
+ $indent_new = $indent+1;
+
+ $this->getFolderStructure($uid, $rowFolder['id'], $indent_new);
+ }
+
+ return;
+ }
+
/**
* @desc pohendla ajax klice
@@ -861,6 +964,25 @@ class LibraryBranching {
}
}
}
+
+ // Izbris itema iz knjiznice
+ elseif ($_GET['a'] == 'deleteItem') {
+
+ $item_id = $_POST['item_id'];
+ $item_type = $_POST['item_type'];
+
+ if($item_id != '' && $item_id > 0){
+
+ // if/blok
+ if ($item_type == '2') {
+ sisplet_query("DELETE FROM srv_if WHERE id='".$item_id."' AND folder!='0'");
+ }
+ // spremenljivka
+ else {
+ sisplet_query("DELETE FROM srv_spremenljivka WHERE id='".$item_id."'AND folder!='0'");
+ }
+ }
+ }
// Odpremo popup za dodajanje itema v knjiznico
@@ -878,8 +1000,10 @@ class LibraryBranching {
$item_id = $_POST['item_id'];
$type = $_POST['type'];
$title = $_POST['title'];
+ $folder_id = $_POST['folder_id'];
- $folder_id = $this->root_folder;
+ if($folder_id == '' || $folder_id == 0)
+ $folder_id = $this->root_folder;
if ($item_id > 0) {
diff --git a/admin/survey/script/library.js b/admin/survey/script/library.js
index 4e0991bc7..86bf5956c 100644
--- a/admin/survey/script/library.js
+++ b/admin/survey/script/library.js
@@ -260,7 +260,7 @@ function check_library () {
function displayLibraryPopup(){
$('#fade').fadeTo('slow', 1);
- $('#general_popup').html('').fadeIn('slow');
+ $('#general_popup').html('').addClass('library_popup').fadeIn('slow');
$("#general_popup").load('ajax.php?t=libraryBranching&a=displayLibraryPopup', {anketa: srv_meta_anketa_id});
}
@@ -408,6 +408,28 @@ function selectLibraryItem(item_id){
$('#selected_item_counter').html(count);
}
+// Prikaz urejanja posameznega itema na desni
+function showLibraryItemEdit(element){
+
+ if($(element).parent().find('.item_settings').hasClass('displayNone')){
+ $('.item_settings').addClass('displayNone');
+ $(element).parent().find('.item_settings').removeClass('displayNone');
+ }
+ else{
+ $('.item_settings').addClass('displayNone');
+ $(element).parent().find('.item_settings').addClass('displayNone');
+ }
+
+ event.stopPropagation();
+}
+
+function deleteLibraryItem(item_id, item_type){
+
+ $.post('ajax.php?t=libraryBranching&a=deleteItem', {anketa: srv_meta_anketa_id, item_id: item_id, item_type: item_type}, function(){
+ $('#question_item_holder_'+item_id).remove();
+ });
+}
+
// Funkcija za init drag drop vprasanj v knjiznici
function dropLibraryItem(item_id, item_type, folder_id){
@@ -488,8 +510,7 @@ function displayAddIntoLibraryPopup(item_id, type){
function addIntoLibrary(item_id, type){
var title = $('#lib_item_title').val();
+ var folder_id = $('#lib_item_folder').val();
- //popupClose();
-
- $("#general_popup").load('ajax.php?t=libraryBranching&a=addIntoLibrary', {anketa: srv_meta_anketa_id, item_id:item_id, type:type, title:title});
+ $("#general_popup").load('ajax.php?t=libraryBranching&a=addIntoLibrary', {anketa: srv_meta_anketa_id, item_id:item_id, type:type, title:title, folder_id:folder_id});
}
diff --git a/admin/survey/script/script.js b/admin/survey/script/script.js
index 1d200dfa2..0f314a190 100644
--- a/admin/survey/script/script.js
+++ b/admin/survey/script/script.js
@@ -5517,6 +5517,6 @@ function toggleParapodatki(){
function popupClose(){
- $('#general_popup').fadeOut('slow').html('');
+ $('#general_popup').fadeOut('slow').html('').attr('class', 'divPopUp');
$('#fade').fadeOut('slow');
}
diff --git a/lang/1.php b/lang/1.php
index 4cbbdbafb..baf1a2065 100644
--- a/lang/1.php
+++ b/lang/1.php
@@ -2374,7 +2374,11 @@ $lang = array (
"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_folder_name" => "Ime podmape",
+ "srv_library_delete_q" => "Odstrani vprašanje",
+ "srv_library_delete_if" => "Odstrani pogoj",
+ "srv_library_delete_block" => "Odstrani blok",
+ "srv_library_delete_loop" => "Odstrani zanko",
"srv_library_add_to_lib_title_q" => "Dodaj vprašanje v knjižnico",
"srv_library_add_to_lib_title_if" => "Dodaj pogoj v knjižnico",
"srv_library_add_to_lib_title_block" => "Dodaj blok v knjižnico",
diff --git a/lang/2.php b/lang/2.php
index 44f837ec2..ef5535580 100644
--- a/lang/2.php
+++ b/lang/2.php
@@ -2360,6 +2360,10 @@ $lang = array (
"srv_library_folder_delete" => "Remove folder",
"srv_library_folder_rename" => "Rename folder",
"srv_library_folder_name" => "Folder name",
+ "srv_library_delete_q" => "Remove question",
+ "srv_library_delete_if" => "Remove condition",
+ "srv_library_delete_block" => "Remove block",
+ "srv_library_delete_loop" => "Remove loop",
"srv_library_add_to_lib_title" => "Add to library",
"srv_library_add_to_lib_title_q" => "Add question to library",
"srv_library_add_to_lib_title_if" => "Add condition to library",
diff --git a/public/css/admin_new.css b/public/css/admin_new.css
index b9d35b994..088c8d7c5 100644
--- a/public/css/admin_new.css
+++ b/public/css/admin_new.css
@@ -13317,6 +13317,16 @@ and open the template in the editor.
/*
Knjiznica v urejanju ankete
*/
+.library_popup {
+ padding: 0;
+}
+.library_popup h2 {
+ padding: 16px 0 8px 0;
+}
+.library_popup h2 .faicon {
+ padding-left: 16px;
+}
+
.lib_tabs {
display: flex;
}
@@ -13327,7 +13337,6 @@ and open the template in the editor.
justify-content: center;
width: 50%;
height: 40px;
- margin-bottom: 16px;
margin-top: -16px;
background-color: #F8F8F8;
}
@@ -13344,7 +13353,8 @@ and open the template in the editor.
height: 540px;
max-height: 540px;
overflow-y: auto;
- padding: 16px 16px 16px 0;
+ padding: 16px;
+ border-right: 1px #E5E5E5 solid;
}
.tab_content .content_left > ul {
margin-left: 0 !important;
@@ -13502,6 +13512,7 @@ and open the template in the editor.
.tab_content .content_right .question_list .folder_item_holder .folder_item_info {
display: flex;
align-items: center;
+ position: relative;
box-sizing: border-box;
height: 36px;
max-width: 100%;
@@ -13510,12 +13521,24 @@ and open the template in the editor.
border: 1px #E5E5E5 solid;
border-radius: 2px;
}
+.tab_content .content_right .question_list .question_item_holder .question_item_info.folder_item_info,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info.folder_item_info,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info.folder_item_info,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info.folder_item_info {
+ width: 710px;
+}
.tab_content .content_right .question_list .question_item_holder .question_item_info:hover,
.tab_content .content_right .question_list .question_item_holder .folder_item_info:hover,
.tab_content .content_right .question_list .folder_item_holder .question_item_info:hover,
.tab_content .content_right .question_list .folder_item_holder .folder_item_info:hover {
background-color: #F8F8F8;
}
+.tab_content .content_right .question_list .question_item_holder .question_item_info:hover .dots_ver,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info:hover .dots_ver,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info:hover .dots_ver,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info:hover .dots_ver {
+ display: block;
+}
.tab_content .content_right .question_list .question_item_holder .question_item_info span,
.tab_content .content_right .question_list .question_item_holder .folder_item_info span,
.tab_content .content_right .question_list .folder_item_holder .question_item_info span,
@@ -13535,13 +13558,98 @@ and open the template in the editor.
.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_type {
text-transform: uppercase;
}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .dots_ver,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .dots_ver,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .dots_ver,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .dots_ver {
+ display: none;
+ position: absolute;
+ right: 0;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .dots_ver:before,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .dots_ver:before,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .dots_ver:before,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .dots_ver:before {
+ color: #333333;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .item_settings,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .item_settings,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .item_settings,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_settings {
+ padding: 16px;
+ color: #333333;
+ font-weight: 400;
+ font-size: 16px;
+ line-height: 20px;
+ text-align: left;
+ background: #FFFFFF;
+ border: 1px solid #C4C4C4;
+ box-shadow: 0px 4px 7px rgba(0, 0, 0, 0.07);
+ position: absolute;
+ z-index: 9999;
+ right: 0;
+ top: 35px;
+ border-radius: 2px;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .item_settings a,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .item_settings a,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .item_settings a,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_settings a {
+ text-decoration: none;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .item_settings ul,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .item_settings ul,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .item_settings ul,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_settings ul {
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .item_settings ul li,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .item_settings ul li,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .item_settings ul li,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_settings ul li {
+ margin-bottom: 16px;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .item_settings ul li:last-of-type,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .item_settings ul li:last-of-type,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .item_settings ul li:last-of-type,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_settings ul li:last-of-type {
+ margin-bottom: 0;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .item_settings ul li span,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .item_settings ul li span,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .item_settings ul li span,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_settings ul li span {
+ cursor: pointer;
+ color: #333333;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .item_settings ul li span:hover,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .item_settings ul li span:hover,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .item_settings ul li span:hover,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_settings ul li span:hover {
+ color: #1E88E5;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .item_settings ul li,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .item_settings ul li,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .item_settings ul li,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_settings ul li {
+ color: #1E88E5;
+ transition: 0.2s;
+}
+.tab_content .content_right .question_list .question_item_holder .question_item_info .item_settings ul li:hover,
+.tab_content .content_right .question_list .question_item_holder .folder_item_info .item_settings ul li:hover,
+.tab_content .content_right .question_list .folder_item_holder .question_item_info .item_settings ul li:hover,
+.tab_content .content_right .question_list .folder_item_holder .folder_item_info .item_settings ul li:hover {
+ color: #0059ab;
+}
.tab_content .content_right .selected_items {
align-self: flex-end;
- margin: 16px 0 8px 0;
+ margin: 16px 16px 8px 0;
color: #1E88E5;
}
.tab_content .content_right .button_holder {
- margin-top: 0;
+ margin: 0 16px 16px 0;
}
#lib_additional_popup {
@@ -13566,9 +13674,13 @@ and open the template in the editor.
margin: 4px 0 16px 0;
padding: 10px;
}
-.add_to_lib_content input:last-child {
- margin-bottom: 0;
+.add_to_lib_content select {
+ height: 40px;
+ width: 100%;
+ margin: 4px 0 0 0;
+ padding: 10px;
}
+
/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
diff --git a/resources/sass/admin_new/pages/survey_edit/library.scss b/resources/sass/admin_new/pages/survey_edit/library.scss
index f59a8e6df..dac169423 100644
--- a/resources/sass/admin_new/pages/survey_edit/library.scss
+++ b/resources/sass/admin_new/pages/survey_edit/library.scss
@@ -2,6 +2,19 @@
Knjiznica v urejanju ankete
*/
+// Popup ima nestandarden padding
+.library_popup{
+ padding: 0;
+
+ h2{
+ padding: 16px 0 8px 0;
+
+ .faicon{
+ padding-left: 16px;
+ }
+ }
+}
+
// Popup knjiznica v urejanju ankete - tabi
.lib_tabs{
display: flex;
@@ -15,7 +28,7 @@
width: 50%;
height: 40px;
- margin-bottom: 16px;
+ //margin-bottom: 16px;
margin-top: -16px;
background-color: $light-gray;
@@ -36,7 +49,9 @@
height: 540px;
max-height: 540px;
overflow-y: auto;
- padding: 16px 16px 16px 0;
+ padding: 16px;
+
+ border-right: 1px $gray solid;
> ul {
margin-left: 0 !important;
@@ -201,6 +216,7 @@
.folder_item_info{
display: flex;
align-items: center;
+ position: relative;
box-sizing: border-box;
height: 36px;
@@ -211,8 +227,16 @@
border: 1px $gray solid;
border-radius: 2px;
+ &.folder_item_info{
+ width: 710px;
+ }
+
&:hover{
background-color: $light-gray;
+
+ .dots_ver{
+ display: block;
+ }
}
&.ui-draggable-dragging{
@@ -231,19 +255,51 @@
.item_type{
text-transform: uppercase;
}
+
+ .dots_ver{
+ display: none;
+
+ position: absolute;
+ right: 0;
+
+ &:before{
+ color: $black;
+ }
+ }
+
+ .item_settings{
+ @include hover_basic();
+
+ position: absolute;
+ z-index: 9999;
+ right: 0;
+ top: 35px;
+
+ border-radius: 2px;
+
+ ul li{
+ color: $blue;
+
+ transition: 0.2s;
+
+ &:hover{
+ color: $dark-blue;
+ }
+ }
+ }
}
}
}
.selected_items{
align-self: flex-end;
- margin: 16px 0 8px 0;
+ margin: 16px 16px 8px 0;
color: $blue;
}
.button_holder{
- margin-top: 0;
+ margin: 0 16px 16px 0;
}
}
}
@@ -278,14 +334,14 @@
margin: 4px 0 16px 0;
padding: 10px;
-
- &:last-child{
- margin-bottom: 0;
- }
}
select{
+ height: 40px;
+ width: 100%;
+ margin: 4px 0 0 0;
+ padding: 10px;
}
}