Download as odt, pdf, or txt
Download as odt, pdf, or txt
You are on page 1of 8

$(document).

on('turbolinks:load', function () {
$(document).ready(function () {

var current_url = window.location.href.substring(window.location.href.length - 8)


if (current_url == "/folders") {
var old_url = document.referrer;
if (old_url.includes("/file_informations/upload_file_information?folder_id=")) {
var uploaded_folder_id = old_url.split("/file_informations/upload_file_information?folder_id=")[1];
$.ajax({
type: "GET",
url: "sub_folder_block",
dataType: "script",
data: { folder_id: uploaded_folder_id },
success: function (data, textStatus, jqXHR) {
console.log("Dynamic group select OK!")
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR.responseText)
}
})

var current_folder_name = "";


$("#btnShowHistory").prop("href", "/folders/" + uploaded_folder_id);

var current_folder_id_span = $(".list-group-item")[0].getElementsByClassName("folder-id")


for (var i = 0; i < current_folder_id_span.length; i++) {
if (current_folder_id_span[i].textContent == uploaded_folder_id) {
current_folder_name = current_folder_id_span[i].parentElement.getElementsByClassName("folder-name")
[0].textContent;
break;
}
}

setFolerNameAndId(current_folder_name, uploaded_folder_id);
var current_tree_id = "folder_" + uploaded_folder_id;
$("#" + current_tree_id).addClass("folder-mark-up");
openParentNodeFunction(current_tree_id);
}
}
});

$('.choose-folder').click(function show_folder(e) {
$("#myUL").find(".folder-mark-up").removeClass("folder-mark-up");
$(this).addClass("folder-mark-up");
var current_folder_id = parseInt($(this).find(".folder-id").text());
var current_folder_name = $(this).find(".folder-name").text();
$.ajax({
type: "GET",
url: "sub_folder_block",
dataType: "script",
data: { folder_id: current_folder_id },
success: function (data, textStatus, jqXHR) {
console.log("Dynamic group select OK!")
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR.responseText)
}
})
$("#btnShowHistory").prop("href", "/folders/" + current_folder_id);
setFolerNameAndId(current_folder_name, current_folder_id);
});

$('.block-folder').click(function show_folder(e) {
$("#myUL").find(".folder-mark-up").removeClass("folder-mark-up");
var current_folder_id = parseInt($(this).find(".folder-id").text());
var current_folder_name = $(this).find(".folder-name").text();
$.ajax({
type: "GET",
url: "sub_folder_block",
dataType: "script",
data: { folder_id: current_folder_id },
success: function (data, textStatus, jqXHR) {
console.log("Dynamic group select OK!")
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR.responseText)
}
})
$("#btnShowHistory").prop("href", "/folders/" + current_folder_id);
setFolerNameAndId(current_folder_name, current_folder_id);
var current_tree_id = "folder_" + current_folder_id;
$("#" + current_tree_id).addClass("folder-mark-up");
openParentNodeFunction(current_tree_id);
});

function openParentNodeFunction(param) {
var current_folder = document.getElementById(param);
var parent_li = current_folder.parentNode;
var parent_ul = parent_li.parentNode;
if (parent_ul.className == "myUL") {
return;
}
var parent_node = parent_ul.parentNode;
var parent_caret = null;
var parent_nested = null;
var current_node = null;
for (var i = 0; i < parent_node.childNodes.length; i++) {
if (parent_node.childNodes[i].className == "caret") {
parent_caret = parent_node.childNodes[i];
if (parent_node.childNodes[i].className != "caret-down") {
$(parent_caret).addClass("caret-down");
}
}
if (parent_node.childNodes[i].className == "nested") {
parent_nested = parent_node.childNodes[i];
if (parent_node.childNodes[i].className != "active") {
$(parent_nested).addClass("active");
}
}
if (parent_node.childNodes[i].className == "choose-folder") {
openParentNodeFunction($(parent_node.childNodes[i]).attr('id'));
}
}
}

function setFolerNameAndId(name, id) {


var folder_name = $("#current-folder-name");
var folder_id = $("#current-folder-id");
var old_id = $("#current-folder-id").val();
folder_name.text(name);
folder_id.val(id);
var href = $("#create-file-btn")[0].href.split("=", 1);
href = href + "=" + id;
$("#create-file-btn").attr("href", href);

if ($("#admin-decentralize-link").length > 0) {
var admin_decentralize_href = $("#admin-decentralize-link")[0].href.replace("/folders/" + old_id +
"/admin_decentralize", "/folders/" + id + "/admin_decentralize");
$("#admin-decentralize-link").attr("href", admin_decentralize_href);
}

if ($("#decentralize-link").length > 0) {
var decentralize_href = $("#decentralize-link")[0].href.replace("/folders/" + old_id + "/decentralize", "/folders/" +
id + "/decentralize");
$("#decentralize-link").attr("href", decentralize_href);
}
}

var toggler = document.getElementsByClassName("caret");


var i;

for (i = 0; i < toggler.length; i++) {


toggler[i].addEventListener("click", function () {
this.parentElement.querySelector(".nested").classList.toggle("active");
this.classList.toggle("caret-down");
});
}

var tblFile = document.getElementsByClassName("tbl-file");


if (tblFile.length > 0) {
window.$('.tbl-file').DataTable({
'stateSave': true,
'destroy': true,
'columnDefs': [
{
'targets': 0,
'width': "4%",
'checkboxes': {
'selectRow': true
}
},
{ "width": "28%", "targets": 1 },
{ "width": "0%", "targets": 2 },
{ "width": "28%", "targets": 3 },
{ "width": "10%", "targets": 4 },
{ "width": "20%", "targets": 5 },
{ "width": "10%", "targets": 6 },
],
'select': {
'style': 'multi'
},
'order': [1, 'asc'],
drawCallback: function () {
$(".dataTables_paginate > .pagination").addClass("pagination-rounded");
},
language: {
paginate: {
previous: "<i class='mdi mdi-chevron-left'>",
next: "<i class='mdi mdi-chevron-right'>"
}
},
});
};

$("#btn-download-file").click(function () {
var id;
var lst_selected = [];
var folder_id = $("#current-folder-id").val();
$.each($('.tbl-file tbody tr'), function (i, row) {
var checkBox = $(row).find("input[type='checkbox']:checked").is(":checked");
if (checkBox) {
id = row.cells[1].innerHTML;
lst_selected.push(id);
// lst_selected = parseInt($("input[type='checkbox']:checked")[0].value);
return;
}
});
if (lst_selected.length == 0) return;
window.$("#loadMe").modal({
backdrop: "static", //remove ability to close modal with click
keyboard: false, //remove option to close with keyboard
show: true //Display loader!
});
window.location = 'download_multiple_file?files=' + lst_selected + '&folder_id=' + folder_id;
// $.ajax({
// type: 'GET',
// url: "download_multiple_file",
// dataType: 'script',
// data: {
// files: lst_selected,
// folder_id: folder_id,
// },
// success: function(data, textStatus, jqXHR){
// window.$("#loadMe").modal('hide');
// // console.log(data);
// console.log("Dynamic group select OK!")

// },
// error:function(jqXHR, textStatus, errorThrown){
// window.$("#loadMe").modal('hide');
// console.log("AJAX Error: #{textStatus}")
// }
// });
});

$("#btn-delete-file").click(function () {
var id;
var lst_selected = [];
var folder_id = $("#current-folder-id").val();
$.each($('.tbl-file tbody tr'), function (i, row) {
var checkBox = $(row).find("input[type='checkbox']:checked").is(":checked");
if (checkBox) {
id = row.cells[1].innerHTML;
lst_selected.push(id);
// lst_selected = parseInt($("input[type='checkbox']:checked")[0].value);
return;
}
});
if (lst_selected.length == 0) return;
$.ajax({
type: 'GET',
url: "confirm_delete",
dataType: 'script',
data: {
files: lst_selected,
folder_id: folder_id
},
success: function (data, textStatus, jqXHR) {
window.$("#loadMe").modal('hide');
// console.log(data);
console.log("Dynamic group select OK!")

},
error: function (jqXHR, textStatus, errorThrown) {
window.$("#loadMe").modal('hide');
console.log("AJAX Error: #{textStatus}")
}
});
});

//for admin
$("body").delegate('#add_partner', 'click', function () {
var lst_group_select = document.getElementById('not-decentralized-group');
var lst_group_selected = document.getElementById('tbl-lst-group-selected');
moveItemSelectTagToTable(lst_group_select, lst_group_selected);
});

$("body").delegate('#remove_partner', 'click', function () {


var lst_group_select = document.getElementById('not-decentralized-group');
var lst_group_selected = document.getElementById('tbl-lst-group-selected');
moveItemTableToSelectTag(lst_group_selected, lst_group_select);
});

$("body").delegate('#btnSubmitReleaseProject', 'click', function () {


var lst_group_selected = document.getElementById('tbl-lst-group-selected');
$(lst_group_selected).find("input[type='radio']:checked").is(":checked");
});

//for user
$("body").delegate('#add-decentralized-department', 'click', function () {
var lst_department_select = document.getElementById('not-decentralized-department');
var lst_department_selected = document.getElementById('tbl-lst-group-selected');
moveItemSelectTagToTable(lst_department_select, lst_department_selected);
});

$("body").delegate('#remove-decentralized-department', 'click', function () {


var lst_department_select = document.getElementById('not-decentralized-department');
var lst_department_selected = document.getElementById('tbl-lst-group-selected');
moveItemTableToSelectTag(lst_department_selected, lst_department_select);
});

$("body").delegate('#btnSubmitDepartmentFolder', 'click', function () {


var lst_department_selected = document.getElementById('tbl-lst-group-selected');
$(lst_department_selected).find("input[type='radio']:checked").is(":checked");
});

function moveItemSelectTagToTable(dataTable, selectTag) {


$(selectTag).find('option:selected').detach().prop("selected", false);
var newRow = document.getElementById("trnew");
dataTable = newRow.innerHTML;
}
function moveItemTableToSelectTag(dataTable, selectTag) {
$(dataTable).find('option:selected').detach().prop("selected", false).appendTo($(selectTag));
}
var tblFolderHistories = document.getElementsByClassName("tblFolderHistories");
if (tblFolderHistories.length > 0) {
window.$('.tblFolderHistories').DataTable({
'stateSave': true,
'destroy': true,
'columnDefs': [
{ "width": "10%", "targets": 0 },
{ "width": "10%", "targets": 1 },
{ "width": "25%", "targets": 2 },
{ "width": "25%", "targets": 3 },
{ "width": "30%", "targets": 4 },
],
'order': [1, 'asc'],
drawCallback: function () {
$(".dataTables_paginate > .pagination").addClass("pagination-rounded");
},
language: {
paginate: {
previous: "<i class='mdi mdi-chevron-left'>",
next: "<i class='mdi mdi-chevron-right'>"
}
},
});
}
});

<div class="modal-header modal-colored-header bg-primary">


<h4 class="modal-title" id="compose-header-modalLabel">Something in here。</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<%= form_with model: @folder, url: admin_update_decentralize_path, local: true do |form| %>
<div class="modal-body">
<div class="row">
<div class="col-sm-12">
<div class="form-group row" id="msg_error"></div>
<i class="mdi mdi-folder"></i>
<b id="modal-parent-name"></b>
<div class="form-group row">
<div class="col-sm-12">
<div class="row">
<table class="col-md-6 table dt-responsive mb-0 w-100 table-hover table-centered table-border" id="tbl-lst-
group-selected">
<tbody>
<tr class="row p-0" id="trnew">
<td class="border-0 col-sm-3">Trial</td>
<td class="border-0 col-sm-3">
<input class="col-auto" type="radio" value="true" name="check"><span class="space_rd">Read Only</span>
</td>
<td class="border-0 col-sm-5">
<input class="col-auto" type="radio" value="false" name="check"><span class="space_rd">Can
View/Edit/Update</span>
</td>
</tr>
</tbody>
</table>
<div class="col-sm-3 text-center mt-4">
<%= button_tag(:type => 'button', :class => "btn btn-primary mb-3", id:'add_partner') do %>
<i class="mdi mdi-arrow-left-bold mr-1"></i> Something in decentralize.
<% end %>
<br>
<%= button_tag(:type => 'button', :class => "btn btn-primary mb-3", id:'remove_partner') do %>
Something in decentralize. <i class="mdi mdi-arrow-right-bold ml-1"></i>
<% end %>
</div>
<div class="col-sm-3 custom-width-div">
<%= select_tag "not-decentralized-group", options_from_collection_for_select(@not_decentralized_group, :id,
:name),{:class=>'form-control lst_group_selected',:multiple => true } %>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<%= form.submit class: "btn btn-primary", id:'btnSubmitReleaseProject' do %>
<i class="dripicons-enter mr-1"></i> Submit
<% end %>
<button type="button" class="btn btn-default" data-dismiss="modal">
<i class="mdi mdi-arrow-left-bold-outline mr-1"></i>Cancel
</button>
</div>
<% end %>

You might also like