|
|
var numAll = '' |
|
|
var numPhoto = '' |
|
|
var token = '' |
|
|
var userData |
|
|
var dataInstrument = [] |
|
|
var start = 0 |
|
|
var nextUrl = '' |
|
|
htmlText = '' |
|
|
var dataUri = []; |
|
|
var processingNext = false; |
|
|
var clickOnHideButton = false; |
|
|
var xhr = null; |
|
|
var tagsTmpl = _.template($("script#tag-list").html()); |
|
|
|
|
|
var hideItem = function(itemId, divBox) { |
|
|
var html = divBox.html(); |
|
|
|
|
|
divBox.html('<i class="fa fa-4x fa-spin fa-spinner"></i>') |
|
|
data = {'hide': true}; |
|
|
token = sessionStorage.getItem('token') |
|
|
$.ajax({ |
|
|
type: "PATCH", |
|
|
url: 'http://www.serv.stdb.most.go.th/api/v2/instrument/'+ itemId +'/', |
|
|
data: JSON.stringify(data), |
|
|
headers: { |
|
|
'Accept': 'application/json', |
|
|
'Content-Type': 'application/json', |
|
|
'Authorization': 'Bearer ' + token, |
|
|
}, |
|
|
success: function(respone) { |
|
|
divBox.html('ลบเรียบร้อยแล้ว ...').delay(2000).fadeOut(500); |
|
|
}, |
|
|
fail: function() { |
|
|
divBox.html('มีปัญหาขัดข้อง ...').delay(1000).html(html); |
|
|
}, |
|
|
dataType: 'json' |
|
|
}); |
|
|
} |
|
|
|
|
|
var reloadCardListener = function() { |
|
|
$('.hideBtn').click(function(evt) { |
|
|
clickOnHideButton = true; |
|
|
setTimeout(function() { |
|
|
clickOnHideButton = false; |
|
|
}, 1000); |
|
|
evt.stopPropagation(); |
|
|
var that = $(this); |
|
|
var itemId = that.data('id'); |
|
|
var $parent = that.closest('.cardStyle'); |
|
|
swal( |
|
|
{ |
|
|
title: "ลบ?", |
|
|
text: "ไม่ใช่ครุภัณฑ์วิทยาศาสตร์", |
|
|
type: "warning", |
|
|
showCancelButton: true, |
|
|
confirmButtonColor: "#DD6B55", |
|
|
confirmButtonText: "ลบเลย!" |
|
|
}, function(yes) { |
|
|
if (yes) |
|
|
hideItem(itemId, $parent) |
|
|
} |
|
|
); |
|
|
}); |
|
|
} |
|
|
|
|
|
var reloadItem = function() { |
|
|
if (xhr) |
|
|
xhr.abort(); |
|
|
// reset stuff |
|
|
start = 0 |
|
|
$('#modalAll').html(''); |
|
|
$('#card').html(''); |
|
|
htmlText = ''; |
|
|
modalText = ''; |
|
|
dataInstrument = []; |
|
|
|
|
|
/// start doing new onw |
|
|
var orgId = sessionStorage.getItem('orgId'); |
|
|
if (!orgId) { |
|
|
alert('something is wrong, try reloading'); |
|
|
} |
|
|
var token = sessionStorage.getItem('token'); |
|
|
var tagFilter = ''; |
|
|
if (localStorage.getItem('selFilters')) { |
|
|
tagFilter = localStorage.getItem('selFilters').split(','); |
|
|
tagFilter = '&tags=' + tagFilter; |
|
|
} |
|
|
|
|
|
var isFilter = ''; |
|
|
if (localStorage.getItem('selIsFilters')) { |
|
|
isFilter = localStorage.getItem('selIsFilters').split(','); |
|
|
isFilter = '&is=' + isFilter; |
|
|
} |
|
|
|
|
|
var url = 'http://www.serv.stdb.most.go.th/api/v2/instrument/?organization='+orgId+tagFilter+isFilter; |
|
|
xhr = $.ajax({ |
|
|
type: "GET", |
|
|
url: url, |
|
|
headers :{ |
|
|
Authorization: 'Bearer '+ token, |
|
|
Accept: 'application/json, text/javascript', |
|
|
'Accept-Language' : 'en-US,en;q=0.8,th;q=0.6', |
|
|
}, |
|
|
success: getData, |
|
|
dataType: 'json', |
|
|
}); |
|
|
} |
|
|
|
|
|
var reloadFilterListener = function() { |
|
|
var selectedFilter = []; |
|
|
if (localStorage.getItem('selFilters')) { |
|
|
selectedFilter = localStorage.getItem('selFilters').split(','); |
|
|
} |
|
|
|
|
|
$('input[name="tags"]').change( |
|
|
function() { |
|
|
var n = $(this).val(); |
|
|
if ($(this).is(':checked')) { |
|
|
selectedFilter = [n]; |
|
|
localStorage.setItem('selFilters', selectedFilter.join(',')); |
|
|
$('input[name="tags"]').each(function() { |
|
|
if ($(this).val() != n) |
|
|
$(this).prop('checked', false); |
|
|
}); |
|
|
} else { |
|
|
selectedFilter = []; |
|
|
localStorage.removeItem('selFilters'); |
|
|
$('input[name="tags"]').prop('checked', false); |
|
|
} |
|
|
reloadItem(); |
|
|
}); |
|
|
|
|
|
$('input[name="is"]').change( |
|
|
function() { |
|
|
var n = $(this).val(); |
|
|
if ($(this).is(':checked')) { |
|
|
selectedIsFilter = [n]; |
|
|
localStorage.setItem('selIsFilters', selectedIsFilter.join(',')); |
|
|
$('input[name="is"]').each(function() { |
|
|
if ($(this).val() != n) |
|
|
$(this).prop('checked', false); |
|
|
}); |
|
|
} else { |
|
|
selectedIsFilter = []; |
|
|
localStorage.removeItem('selIsFilters'); |
|
|
$('input[name="is"]').prop('checked', false); |
|
|
} |
|
|
reloadItem(); |
|
|
}); |
|
|
} |
|
|
|
|
|
var getOrgTags = function(orgId) { |
|
|
var url = `//www.serv.stdb.most.go.th/api/v2/organization/${orgId}/tags/`; |
|
|
var promise = $.get(url); |
|
|
var $box = $('#any-filter'); |
|
|
promise.fail(function() { |
|
|
$box.html(''); |
|
|
}); |
|
|
promise.done(function(resp) { |
|
|
var selectedFilter = []; |
|
|
if (localStorage.getItem('selFilters')) { |
|
|
selectedFilter = localStorage.getItem('selFilters').split(','); |
|
|
} |
|
|
$box.html(tagsTmpl({ |
|
|
items: resp, |
|
|
selected: selectedFilter |
|
|
})); |
|
|
reloadFilterListener(); |
|
|
}); |
|
|
} |
|
|
|
|
|
|
|
|
function getStartPage() { |
|
|
sesToken = sessionStorage.getItem('token'); |
|
|
if( sesToken === null) { |
|
|
token = localStorage.getItem("token") |
|
|
if( token != null ) { |
|
|
$.ajax({ |
|
|
type: "POST", |
|
|
url: 'http://www.serv.stdb.most.go.th/api-token-verify/', |
|
|
data: { "token" : token }, |
|
|
header: { |
|
|
Authorization: 'Bearer '+ token, |
|
|
}, |
|
|
success: function(respone) { |
|
|
sessionStorage.setItem("token",respone.token) |
|
|
getStat(); |
|
|
}, |
|
|
dataType: 'json' |
|
|
}); |
|
|
} |
|
|
else{ |
|
|
window.location.href = 'login.html' |
|
|
} |
|
|
} |
|
|
else{ |
|
|
getStat(); |
|
|
} |
|
|
} |
|
|
|
|
|
function LogoutPage() { |
|
|
localStorage.removeItem('token'); |
|
|
sessionStorage.removeItem('token'); |
|
|
window.location.href = 'index.html' |
|
|
} |
|
|
|
|
|
function getStat() { |
|
|
token = sessionStorage.getItem("token") |
|
|
// console.log(token) |
|
|
// console.log('======== 2 ======') |
|
|
dataUser = jwt_decode(token) |
|
|
userId = dataUser.user_id |
|
|
|
|
|
if( token != null ) { |
|
|
$.ajax({ |
|
|
type: "GET", |
|
|
url: 'http://www.serv.stdb.most.go.th/api/v2/instrument/stats/', |
|
|
headers :{ |
|
|
Authorization: 'Bearer '+ token, |
|
|
}, |
|
|
success: getDataStat, |
|
|
dataType: 'json', |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
function getUser(status) { |
|
|
token = sessionStorage.getItem("token"); |
|
|
dataUser = jwt_decode(token); |
|
|
userId = dataUser.user_id.toString(); |
|
|
$.ajax({ |
|
|
type: "GET", |
|
|
url: 'http://www.serv.stdb.most.go.th/api/v2/user/'+userId+'/', |
|
|
headers :{ |
|
|
Authorization: 'Bearer '+ token, |
|
|
}, |
|
|
success: function(respone) { |
|
|
userData = respone |
|
|
organ = '<div>'+respone.organizations[0].name+'</div>' |
|
|
|
|
|
document.getElementById("nameOrgan").innerHTML = organ |
|
|
token = sessionStorage.getItem("token") |
|
|
var searchText = '' |
|
|
if (status === 'search') { |
|
|
// console.log("search") |
|
|
dataInstrument = [] |
|
|
searchText = '&search='+document.getElementById("searchId").value |
|
|
start = 0 |
|
|
$('#modalAll').html(''); |
|
|
$('#card').html(''); |
|
|
htmlText = ''; |
|
|
modalText = ''; |
|
|
dataInstrument = []; |
|
|
} |
|
|
var tagFilter = ''; |
|
|
if (localStorage.getItem('selFilters')) { |
|
|
tagFilter = localStorage.getItem('selFilters').split(','); |
|
|
tagFilter = '&tags=' + tagFilter; |
|
|
} |
|
|
var isFilter = ''; |
|
|
if (localStorage.getItem('selIsFilters')) { |
|
|
isFilter = localStorage.getItem('selIsFilters').split(','); |
|
|
isFilter = '&is=' + isFilter; |
|
|
} |
|
|
|
|
|
sessionStorage.setItem('orgId', respone.organizations[0].id); |
|
|
var url = 'http://www.serv.stdb.most.go.th/api/v2/instrument/?organization='+respone.organizations[0].id+searchText+tagFilter+isFilter; |
|
|
|
|
|
getOrgTags(respone.organizations[0].id); |
|
|
|
|
|
xhr = $.ajax({ |
|
|
type: "GET", |
|
|
url: url, |
|
|
headers :{ |
|
|
Authorization: 'Bearer '+ token, |
|
|
Accept: 'application/json, text/javascript', |
|
|
'Accept-Language' : 'en-US,en;q=0.8,th;q=0.6', |
|
|
}, |
|
|
success: getData, |
|
|
dataType: 'json', |
|
|
}); |
|
|
}, |
|
|
dataType: 'json', |
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
function getDataStat(respone) { |
|
|
getUser('first'); |
|
|
document.getElementById("like").innerHTML = respone.items.completed |
|
|
document.getElementById("status").innerHTML = '+'+respone.items.recent_update |
|
|
document.getElementById("accountActive").innerHTML = respone.users.active |
|
|
document.getElementById("numAll").innerHTML = respone.items.all |
|
|
document.getElementById("numPhoto").innerHTML = respone.items.photos |
|
|
} |
|
|
|
|
|
function getData(respone) { |
|
|
dataInstrument = dataInstrument.concat(respone.results) |
|
|
var htmlText = '' |
|
|
var modalText = '' |
|
|
|
|
|
for (i=start;i<dataInstrument.length;i++ ) { |
|
|
var item = dataInstrument[i]; |
|
|
var imageInstrument = '' |
|
|
if (dataInstrument[i].clips.length != 0) { |
|
|
var cover_img = getCoverImg(dataInstrument[i].clips); |
|
|
imageInstrument = '<div class="box-left">' |
|
|
+'<img src="'+cover_img+'" class="cover-img">' |
|
|
+'</div>' |
|
|
} |
|
|
var tagsHtml = '<ul class="list-inline">'; |
|
|
for (var k=0; k<item.tags.length; k++) { |
|
|
tagsHtml += `<li><span class="tag">${item.tags[k]}</span><li>`; |
|
|
} |
|
|
tagsHtml += '</ul>'; |
|
|
htmlText = htmlText+"<div data-id=\"" + item.id + "\" id='"+i.toString()+"'' class='cardStyle cardBox' onClick='modalItem("+i.toString()+");'>" |
|
|
// Author :: Apirak |
|
|
+ '<span class="pull-right"><button data-id="' + item.id + '" class="hideBtn"><i class="fa fa-4x fa-times danger"></i></button></span>' |
|
|
+ '<div class="box_">' |
|
|
+ imageInstrument |
|
|
// end of left |
|
|
+ '<div class="box-right">' |
|
|
+ '<h3 class="card-title" style="font-size:26px;margin-left:20px " >' |
|
|
+ dataInstrument[i].name+'</h3>' |
|
|
+ '<h3 style="color:#9E9E9E;font-size:22px;margin-left:20px " >#'+dataInstrument[i].custom_id+'</h3>' |
|
|
+ '<h3 style="color:#9E9E9E;font-size:22px;margin-left:20px " >@'+dataInstrument[i].caretaker+'</h3>' |
|
|
+ tagsHtml |
|
|
+'</div>'// end of right |
|
|
+ '</div>' |
|
|
// End |
|
|
+'</div>'; |
|
|
var backup = dataInstrument[i].clips; |
|
|
dataInstrument[i].clips = addNullData(dataInstrument[i].clips); |
|
|
if(dataInstrument[i].clips.length === 0) { |
|
|
imageTag = '<div class="flexCenter">' |
|
|
+'<div class="flexCenter bgImage">' |
|
|
+'<div class="flexCenter">' |
|
|
+'<img id="myImg0'+i+'" src="" alt=""/>' |
|
|
+'<div class="bgImage flexCenter"><h2>ไม่มีรูปภาพ</h2></div>' |
|
|
+'</div>' |
|
|
+'<div class="column bgMiniImage" style="margin-left:10px">' |
|
|
+'<img id="myImg1'+i+'" class="miniImage" src="" alt=""/>' |
|
|
+'<h6 class="miniImage flexCenter" >ไม่มีรูปภาพ</h6>' |
|
|
+'<img id="myImg2'+i+'" class="miniImage" src="" alt=""/>' |
|
|
+'<h6 class="miniImage flexCenter" >ไม่มีรูปภาพ</h6>' |
|
|
+'<img id="myImg3'+i+'" class="miniImage" style="margin-top:5px" src="" alt=""/>' |
|
|
+'<h6 class="miniImage flexCenter" style="margin-top:5px">ไม่มีรูปภาพ</h6>' |
|
|
+'</div>' |
|
|
+'</div>' |
|
|
+'</div>' |
|
|
+'<div class="flexCenter" style="margin-top:5px;">' |
|
|
+'<div class="upload flexCenter">' |
|
|
+'<a style="font-size:18px">Upload</a></div>' |
|
|
+'<input type="file" name="upload" onclick="uploadImage('+i.toString()+')"/>' |
|
|
+'</div>' |
|
|
} |
|
|
else{ |
|
|
var style4 = '' |
|
|
if(dataInstrument[i].clips.length >= 2) { |
|
|
var tagMiniImage = '' |
|
|
var loopImage = dataInstrument[i].clips.length |
|
|
if (loopImage > 4) { |
|
|
loopImage = 4 |
|
|
} |
|
|
for(j=1;j<loopImage;j++) { |
|
|
if (j==3) { |
|
|
style4 = 'margin-top:5px' |
|
|
} |
|
|
var imgUrl = ''; |
|
|
if (dataInstrument[i].clips[j].photo) { |
|
|
imgUrl = dataInstrument[i].clips[j]['thumbnail']['sm']; |
|
|
} |
|
|
tagMiniImage = tagMiniImage |
|
|
+'<img id="myImg'+j+''+i+'" class="miniImage" style="'+style4+'" src="'+imgUrl+'" alt=""/>' |
|
|
+'<h6 class="miniImage flexCenter" >ไม่มีรูปภาพ</h6>'; |
|
|
} |
|
|
for(j=loopImage;j<4;j++) { |
|
|
if (j==3) { |
|
|
style4 = 'margin-top:5px' |
|
|
} |
|
|
tagMiniImage = tagMiniImage |
|
|
+'<img id="myImg'+j+''+i+'" class="miniImage" style="'+style4+'" src="" alt=""/>' |
|
|
+'<h6 class="miniImage flexCenter" >ไม่มีรูปภาพ</h6>'; |
|
|
} |
|
|
} |
|
|
else{ |
|
|
var tagMiniImage = '' |
|
|
for(j=1;j<4;j++) { |
|
|
if (j==3) { |
|
|
style4 = 'margin-top:5px' |
|
|
} |
|
|
tagMiniImage = tagMiniImage |
|
|
+'<img id="myImg'+j+''+i+'" class="miniImage" style="'+style4+'" src="" alt=""/>' |
|
|
+'<h6 class="miniImage flexCenter" >ไม่มีรูปภาพ</h6>'; |
|
|
|
|
|
} |
|
|
} |
|
|
var imgUrl = ''; |
|
|
if (dataInstrument[i].clips[0].photo) { |
|
|
imgUrl = dataInstrument[i].clips[0]['thumbnail']['sm']; |
|
|
} |
|
|
imageTag = '<div class="flexCenter">' |
|
|
+'<div class="flexCenter bgImage">' |
|
|
+'<div class="flexCenter">' |
|
|
+'<img id="myImg0'+i+'" src="'+imgUrl+'" alt=""/>' |
|
|
+'<div class="bgImage flexCenter"><h2>ไม่มีรูปภาพ</h2></div>' |
|
|
+'</div>' |
|
|
+'<div class="column bgMiniImage" style="margin-left:10px">' |
|
|
+tagMiniImage |
|
|
+'</div>' |
|
|
+'</div>' |
|
|
+'</div>' |
|
|
+'<div class="flexCenter" style="margin-top:5px;">' |
|
|
+'<div class="upload flexCenter">' |
|
|
+'<a style="font-size:18px">Upload</a></div>' |
|
|
+'<input type="file" name="upload" onclick="uploadImage('+i.toString()+')"/>' |
|
|
+'</div>' |
|
|
} |
|
|
var youtube_tag = getYoutubeTag(dataInstrument[i].model,i); |
|
|
modalText = modalText+'<div id="modal'+i.toString()+'" class="modal" style="max-height: 100%;display: none;padding-top:10px;">' |
|
|
+'<div class="modal-content cardStyle" >' |
|
|
+imageTag |
|
|
+youtube_tag |
|
|
+'<div>' |
|
|
+'<div style="font-size:20px;margin-top:20px">ชื่อครุภัณฑ์วิทยาศาสตร์</div>' |
|
|
+'<div style="font-size:16px;margin-top:5px;margin-left:5px"><input type="text" id="name'+i+'" name="name'+i+'" placeholder="ชื่อครุภัณฑ์วิทยาศาสตร์" value="'+dataInstrument[i].name+'"></div>' |
|
|
+'</div>' |
|
|
+'<div>' |
|
|
+'<div style="font-size:20px;margin-top:20px">จุดประสงค์และลักษณะการใช้งาน</div>' |
|
|
+'<div style="font-size:16px;margin-top:5px;margin-left:5px"><input type="text" id="note'+i+'" name="note'+i+'" placeholder="จุดประสงค์และลักษณะการใช้งาน" value="'+dataInstrument[i].note+'"></div>' |
|
|
+'</div>' |
|
|
+'<div>' |
|
|
+'<div style="font-size:20px;margin-top:20px">เลขครุภัณฑ์</div>' |
|
|
+'<div style="font-size:16px;margin-top:5px;margin-left:5px"><input type="text" id="id'+i+'" name="id'+i+'" placeholder="เลขครุภัณฑ์" value="'+dataInstrument[i].custom_id+'"></div>' |
|
|
+'</div>' |
|
|
+'<div>' |
|
|
+'<div style="font-size:20px;margin-top:20px">ผู้ดูแล</div>' |
|
|
+'<div style="font-size:16px;margin-top:5px;margin-left:5px"><input type="text" id="cr'+i+'" name="cr'+i+'" placeholder="ผู้ดูแล" value="'+dataInstrument[i].caretaker+'"></div>' |
|
|
+'</div>' |
|
|
+'<div>' |
|
|
+'<div style="font-size:20px;margin-top:20px">สถานที่</div>' |
|
|
+'<div style="font-size:16px;margin-top:5px;margin-left:5px"><input type="text" id="lc'+i+'" name="lc'+i+'" placeholder="สถานที่" value="'+dataInstrument[i].location+'"></div>' |
|
|
+'</div>' |
|
|
+'<div>' |
|
|
+'<div style="font-size:20px;margin-top:20px">ยี่ห้อ</div>' |
|
|
+'<div style="font-size:16px;margin-top:5px;margin-left:5px"><input type="text" id="make'+i+'" name="make'+i+'" placeholder="ยี่ห้อ" value="'+dataInstrument[i].make+'"></div>' |
|
|
+'</div>' |
|
|
+'<div>' |
|
|
+'<div style="font-size:20px;margin-top:20px">รุ่น</div>' |
|
|
+'<div style="font-size:16px;margin-top:5px;margin-left:5px"><input type="text" id="model'+i+'" name="model'+i+'" placeholder="รุ่น" value="'+dataInstrument[i].model+'"></div>' |
|
|
+'</div>' |
|
|
+'<div>' |
|
|
+'<div style="font-size:20px;margin-top:20px">วีดีโอ(youtube)</div>' |
|
|
+'<div style="font-size:16px;margin-top:5px;margin-left:5px"><input type="text" id="yl'+i+'" name="yl'+i+'" placeholder="https://www.youtube.com/watch?v=xxxxx" value="'+dataInstrument[i].video+'"></div>' |
|
|
+'</div>' |
|
|
+'<div class="flexCenterSpace" style="margin-top:20px">' |
|
|
+'<input type="button" onclick="updateData('+i+')" class="buttonUpdate" value="Update">' |
|
|
+'<input type="button" onclick="deleteData('+i+')" class="buttonDelete "value="Delete">' |
|
|
+'<input type="button" onclick="backData('+i+')" class="buttonBack" value="Back">' |
|
|
+'</div>' |
|
|
+'</div>' |
|
|
+'</div>'; |
|
|
dataInstrument[i].clips = backup; |
|
|
} |
|
|
|
|
|
if(respone.next != null) { |
|
|
nextUrl = '' |
|
|
moreText = '' |
|
|
moreText = "<div class='cardStyle flexCenter' style='margin-bottom:10px;height:60px;background-color: #E0E0E0;' onClick='getNextUrl()'>" |
|
|
+"<h4 id='moreText'>More</h4>" |
|
|
+"</div>"; |
|
|
nextUrl = respone.next |
|
|
document.getElementById("more").innerHTML = moreText; |
|
|
} |
|
|
else{ |
|
|
nextUrl = '' |
|
|
moreText = '' |
|
|
document.getElementById("more").innerHTML = moreText; |
|
|
} |
|
|
processingNext = false; |
|
|
|
|
|
start = dataInstrument.length |
|
|
|
|
|
document.getElementById("modalAll").innerHTML = document.getElementById("modalAll").innerHTML+modalText |
|
|
document.getElementById("card").innerHTML = document.getElementById("card").innerHTML+htmlText |
|
|
|
|
|
|
|
|
reloadCardListener(); |
|
|
/* Apirak */ |
|
|
$("img[id*='myImg']").each(function() { |
|
|
var id = $(this).attr('id'); |
|
|
var order = id.substring(5,6); |
|
|
var idInstrument = id.substring(6,7); |
|
|
if(idInstrument == 'a') {idInstrument='add';} |
|
|
$("<a id='order"+order+"' class='btn-edit' onclick='uploadWithOrder("+order+",\""+idInstrument+"\")'>Edit</a>").insertAfter( $(this) ); |
|
|
$(this).parent().css({"position": "relative"}); |
|
|
$(this).css({"margin-top": "0px"}); |
|
|
}); |
|
|
$("iframe").each(function() { |
|
|
var index = $(this).attr('id'); |
|
|
index = index.replace("youtube-",""); |
|
|
$("img#myImg0"+index).addClass("img-with-youtube"); |
|
|
}); |
|
|
} |
|
|
|
|
|
function uploadWithOrder(order,idInstrument) { |
|
|
$("#modal"+idInstrument+" input[name='upload']").attr('order',order); |
|
|
$("#modal"+idInstrument+" input[name='upload']").click(); |
|
|
} |
|
|
|
|
|
function getYoutubeTag(link,index) { |
|
|
|
|
|
//https://www.youtube.com/watch?v=hYgTVD-bxOY |
|
|
//http://www.youtube.com/v/hYgTVD-bxOY |
|
|
link = link.replace("https","http"); |
|
|
link = link.replace("watch?v=","v/"); |
|
|
var youtube_tag = ''; |
|
|
if( youtube_tag.indexOf("http") < 0 ) {return youtube_tag;} |
|
|
if(link != '') |
|
|
{ |
|
|
youtube_tag = '<iframe width="420" height="315" src="'+link+'" frameborder="0" class="youtube" id="youtube-'+index+'" allowfullscreen></iframe>'; |
|
|
$("iframe").css("margin-left","13%"); |
|
|
$("iframe").css("margin-top","-13%"); |
|
|
} |
|
|
else{ |
|
|
youtube_tag=""; |
|
|
} |
|
|
return youtube_tag; |
|
|
} |
|
|
|
|
|
function getNextUrl(x) { |
|
|
if (processingNext) { |
|
|
return; |
|
|
} |
|
|
processingNext = true; |
|
|
$('#moreText').html('<i class="fa fa-spin fa-spinner"></i>'); |
|
|
token = sessionStorage.getItem('token') |
|
|
$.ajax({ |
|
|
type: "GET", |
|
|
url: nextUrl, |
|
|
headers :{ |
|
|
Authorization: 'Bearer '+ token, |
|
|
Accept: 'application/json, text/javascript', |
|
|
'Accept-Language' : 'en-US,en;q=0.8,th;q=0.6', |
|
|
}, |
|
|
success: getData, |
|
|
dataType: 'json', |
|
|
}); |
|
|
} |
|
|
|
|
|
function addNullData(arr) { |
|
|
var temp_arr = [{content_type:'',id:'',object_id:'',order:'',photo:"",user:''}, |
|
|
{content_type:'',id:'',object_id:'',order:'',photo:"",user:''}, |
|
|
{content_type:'',id:'',object_id:'',order:'',photo:"",user:''}, |
|
|
{content_type:'',id:'',object_id:'',order:'',photo:"",user:''}]; |
|
|
$.each(arr,function(index,obj) { |
|
|
temp_arr[obj.order] = obj; |
|
|
}); |
|
|
return temp_arr; |
|
|
} |
|
|
|
|
|
function getCoverImg(arr) { |
|
|
var link=""; |
|
|
$.each(arr,function(index,obj) { |
|
|
|
|
|
if(obj.order == 0) |
|
|
{ |
|
|
link=obj.thumbnail.sm; |
|
|
} |
|
|
}); |
|
|
return link; |
|
|
} |
|
|
|
|
|
function modalItem(idCard) { |
|
|
if (clickOnHideButton) { |
|
|
return; |
|
|
} |
|
|
var modal = document.getElementById('modal'+idCard); |
|
|
var btn = document.getElementById(idCard); |
|
|
modal.style.display = "block"; |
|
|
window.onclick = function(event) { |
|
|
if (event.target == modal) { |
|
|
modal.style.display = "none"; |
|
|
if(idCard != 'search') { |
|
|
removeImage(idCard) |
|
|
} |
|
|
dataUri = [] |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
function uploadImage(idImage) { |
|
|
var check = 0 |
|
|
var order = $("#modal"+idImage+" input[name='upload']").attr('order'); |
|
|
$(":file").change(function () { |
|
|
if (this.files && this.files[0] && check===0) { |
|
|
var reader = new FileReader(); |
|
|
// console.log(reader) |
|
|
reader.onload = function(e) { |
|
|
instrument = dataInstrument[parseInt(idImage)] |
|
|
// console.log(instrument) |
|
|
// console.log('-------------xxxx-------------') |
|
|
var uriAdd = [{'uri':e.target.result,'order':parseInt(order)}]; |
|
|
dataUri = dataUri.concat(uriAdd); |
|
|
if(idImage == 'add') { |
|
|
loopImage = 0 |
|
|
} |
|
|
else{ |
|
|
var loopImage = instrument.clips.length |
|
|
for(idImg=0;idImg<loopImage;idImg++) { |
|
|
var imgUrl = dataInstrument[idImage].clips[idImg]['thumbnail']['sm']; |
|
|
$('#myImg'+idImg+''+idImage).attr('src', imgUrl); |
|
|
} |
|
|
} |
|
|
// console.log(idImage) |
|
|
var dataUriSort = dataUri |
|
|
idloopImage = loopImage |
|
|
if(loopImage==0) { |
|
|
idloopImage = 0 |
|
|
} |
|
|
var idUri = 0; |
|
|
$.each(dataUri,function(index,obj) { |
|
|
$('#myImg'+obj.order+''+idImage).attr('src', obj.uri); |
|
|
}); |
|
|
check += 1; |
|
|
}; |
|
|
reader.readAsDataURL(this.files[0]); |
|
|
} |
|
|
}); |
|
|
} |
|
|
|
|
|
function addData() { |
|
|
|
|
|
data = { |
|
|
'name':document.getElementById("nameI").value, |
|
|
'organization': userData.organizations[0].id, |
|
|
} |
|
|
if(document.getElementById("CrI").value != '') { |
|
|
data.caretaker = document.getElementById("CrI").value |
|
|
} |
|
|
if(document.getElementById("idI").value != '') { |
|
|
data.instrument_id = document.getElementById("idI").value |
|
|
} |
|
|
if(document.getElementById("noteI").value != '') { |
|
|
data.note = document.getElementById("noteI").value |
|
|
} |
|
|
if(document.getElementById("LcI").value != '') { |
|
|
data.location = document.getElementById("LcI").value |
|
|
} |
|
|
if(document.getElementById("YlI").value != '') { |
|
|
data.video = document.getElementById("YlI").value |
|
|
} |
|
|
if(document.getElementById("makeI").value != '') { |
|
|
data.make = document.getElementById("makeI").value |
|
|
} |
|
|
if(document.getElementById("modelI").value != '') { |
|
|
data.model = document.getElementById("modelI").value |
|
|
} |
|
|
if(dataUri.length != 0) { |
|
|
data.clips = dataUri |
|
|
} |
|
|
// console.log(data) |
|
|
data = JSON.stringify(data) |
|
|
// console.log(data) |
|
|
token = sessionStorage.getItem('token') |
|
|
$.ajax({ |
|
|
type: "POST", |
|
|
url: 'http://www.serv.stdb.most.go.th/api/v2/instrument/', |
|
|
data: data, |
|
|
headers: { |
|
|
'Accept': 'application/json', |
|
|
'Content-Type': 'application/json', |
|
|
'Authorization': 'Bearer ' + token, |
|
|
}, |
|
|
success: function(respone) { |
|
|
// console.log(respone) |
|
|
window.location.reload(true); |
|
|
}, |
|
|
dataType: 'json' |
|
|
}); |
|
|
} |
|
|
|
|
|
function updateData(idData) { |
|
|
dataUpdate = { |
|
|
'name':document.getElementById("name"+idData).value, |
|
|
'note':document.getElementById("note"+idData).value, |
|
|
'caretaker':document.getElementById("cr"+idData).value, |
|
|
'location':document.getElementById("lc"+idData).value, |
|
|
'instrument_id':document.getElementById("id"+idData).value, |
|
|
'make':document.getElementById("make"+idData).value, |
|
|
'model':document.getElementById("model"+idData).value, |
|
|
'video':document.getElementById("yl"+idData).value, |
|
|
} |
|
|
if(dataUri.length != 0) { |
|
|
dataUpdate.clips = dataUri |
|
|
} |
|
|
idInstrument = dataInstrument[parseInt(idData)].id |
|
|
token = sessionStorage.getItem('token') |
|
|
$.ajax({ |
|
|
type: "PATCH", |
|
|
url: 'http://www.serv.stdb.most.go.th/api/v2/instrument/'+idInstrument+'/', |
|
|
data: JSON.stringify(dataUpdate), |
|
|
headers: { |
|
|
'Content-Type': 'application/json', |
|
|
'Authorization': 'Bearer ' + token, |
|
|
}, |
|
|
success: function(respone) { |
|
|
// console.log(respone) |
|
|
window.location.reload(true); |
|
|
}, |
|
|
dataType: 'json' |
|
|
}); |
|
|
} |
|
|
|
|
|
function deleteData(idData) { |
|
|
instrument = dataInstrument[parseInt(idData)] |
|
|
data = {'hide':true} |
|
|
token = sessionStorage.getItem('token') |
|
|
$.ajax({ |
|
|
type: "PATCH", |
|
|
url: 'http://www.serv.stdb.most.go.th/api/v2/instrument/'+instrument.id+'/', |
|
|
data: JSON.stringify(data), |
|
|
headers: { |
|
|
'Accept': 'application/json', |
|
|
'Content-Type': 'application/json', |
|
|
'Authorization': 'Bearer ' + token, |
|
|
}, |
|
|
success: function(respone) { |
|
|
// console.log(respone) |
|
|
window.location.reload(true); |
|
|
}, |
|
|
dataType: 'json' |
|
|
}); |
|
|
} |
|
|
|
|
|
function backData(idData) { |
|
|
var modal = document.getElementById('modal'+idData); |
|
|
modal.style.display = "none"; |
|
|
removeImage(idData) |
|
|
dataUri = [] |
|
|
} |
|
|
|
|
|
function removeImage(idData) { |
|
|
var tagMiniImage = '' |
|
|
var style4 = '' |
|
|
if(idData == 'add') { |
|
|
loopImage = 1 |
|
|
} |
|
|
else{ |
|
|
var time = new Date() |
|
|
var loopImage = dataInstrument[idData].clips.length; |
|
|
for(j=0;j<loopImage;j++) { |
|
|
var imgUrl = ''; |
|
|
if (dataInstrument[idData].clips[j].photo) { |
|
|
imgUrl = dataInstrument[idData].clips[j]['thumbnail']['sm']; |
|
|
} |
|
|
document.getElementById("myImg"+j+''+idData).src = imgUrl+'?'+time; |
|
|
} |
|
|
} |
|
|
for(j=loopImage;j<4;j++) { |
|
|
$('#myImg'+j+''+idData).attr('src',''); |
|
|
} |
|
|
} |
|
|
getStartPage() |