Files
BarangaySystem/legacy/pages-html/slvl/all/ViewAllPhotos
2026-06-06 18:43:00 +08:00

257 lines
7.6 KiB
Plaintext

<div id='ListMainContainer'>
</div>
<script>
Target_Uploaded_Files = [];
if (typeof LoadDataPageFunc === 'undefined') {
LoadDataPageFunc = {};
}
if (typeof LoadDataPageFunc.Settings === 'undefined') {
LoadDataPageFunc.Settings = {};
}
LoadDataPageFunc.Settings.PageName = 'Photos';
LoadDataPageFunc.currentTargetPage = 'ViewAllPhotos';
LoadDataPageFunc.URLs = {};
if (typeof currenttarget === 'string') {
currenttarget = tryparsingJSON(currenttarget);
}
if (typeof currenttarget === 'object') {
LoadDataPageFunc.Settings.Phototype = currenttarget['type'];
targethash = currenttarget['t'];
} else {
targethash = currenttarget;
}
if (typeof LoadDataPageFunc.Settings.Phototype === 'undefined') {
LoadDataPageFunc.Settings.Phototype = 'ProductMarket';
}
LoadDataPageFunc.URLs.QueryListData = '/Request/Photos/' + LoadDataPageFunc.Settings.Phototype;
LoadDataPageFunc.Settings.CurrentTargetRequired = true;
LoadDataPageFunc.Settings.DefaultDatatoSend = null;
LoadDataPageFunc.NewRow = function (url, hashkey) {
if (!hashkey || !url) { return false; }
return [url, '', 'PhotoViewer', hashkey];
};
LoadDataPageFunc.Settings = {};
LoadDataPageFunc.Settings.PageName = 'List';
LoadDataPageFunc.Settings.DefaultCardNoDetailsMessage = 'No Data';
LoadDataPageFunc.Settings.DefaultRequestType = 'POST';
LoadDataPageFunc.Settings.fromVarCache = true;
LoadDataPageFunc.Settings.SortArray = function (arr) {
return arr.sort((a, b) => new Date(b.created) - new Date(a.created));
};
LoadDataPageFunc.ids = {};
LoadDataPageFunc.ids.MainContainer = 'ListMainContainer';
LoadDataPageFunc.ids.ListContainer = 'ListContainer';
LoadDataPageFunc.ids.HashKeyContainer = 'ListRowCardHash';
LoadDataPageFunc.ids.MainCardBody = 'MAINCARDBODY_LIST';
$$$ = {};
$$$.UpdateMainContainer = function (html) {
$('#' + LoadDataPageFunc.ids.MainContainer).html(html);
};
LoadDataPageFunc.Settings = {};
LoadDataPageFunc.Settings.ViewDetailsOnclick = function (data) {
return `ButtonGo('ViewDetails', '${data}')`;
};
LoadDataPageFunc.CheckCachefromURLandChangeURLToBlob = function (photourl) {
if (!photourl) { return ''; }
photoblob = reqcacheload(photourl);
if (photoblob) {
photourl = URL.createObjectURL(photoblob);
}
return photourl;
}
LoadDataPageFunc.URLs.PreloadPhoto = function (hash) {
return '/RequestData/File/' + hash;
};
LoadDataPageFunc.populatelist = function () {
let urlArrays = []; let photoPromises = [];
let newhtmlrows = ''; let htmlarrayrows = [];
let PhotolistHashToHTML = function (PhotoHashArray) {
if (typeof PhotoHashArray === 'string') { PhotoHashArray = JSON.parse(PhotoHashArray); }
let count = PhotoHashArray.length;
for (let dd = 0; dd < count; dd++) {
photoPromises.push(
LoadAndCreateURLfromFileHash(PhotoHashArray[dd]).then(bloburl => {
urlArrays.push(bloburl);
})
);
}
Promise.all(photoPromises).then(() => {
for (let aa = 0; aa < count; aa++) {
if (!PhotoHashArray[aa] || !urlArrays[aa]) { continue; }
htmlarrayrows.push(LoadDataPageFunc.NewRow(urlArrays[aa], PhotoHashArray[aa]));
}
newhtmlrows = UIServices_FullDIV_GOTOPAGE_Array('', viewallhref = '', viewallonclick = '', viewalltext = '', htmlarrayrows);
$('#' + LoadDataPageFunc.ids.ListContainer).html(newhtmlrows);
const elementsWithIconBox = document.querySelectorAll('.icon-box');
elementsWithIconBox.forEach(element => {
element.classList.remove('icon-box');
});
}).catch(error => {
$('#' + LoadDataPageFunc.ids.ListContainer).html('Error Loading Photos');
});
};
if (LoadDataPageFunc.Details && LoadDataPageFunc.Details.photourl) {
let photoarray = LoadDataPageFunc.Details.photourl;
let PhotolistCount = photoarray.length;
if (!PhotolistCount) { return false; }
PhotolistHashToHTML(LoadDataPageFunc.Details.photourl);
return true;
}
let request = new RequestData(true);
request
.url(LoadDataPageFunc.URLs.QueryListData)
.type(LoadDataPageFunc.Settings.DefaultRequestType)
.data({ target: targethash })
.fromVarCache(true)
.success((response) => {
if (!response) {
$('#card-body-' + LoadDataPageFunc.ids.MainCardBody).html(LoadDataPageFunc.Settings.DefaultCardNoDetailsMessage);
return;
}
let List = response;
const count = List.length;
for (let i = 0; i < count; i++) {
// Push each promise into the array
photoPromises.push(
LoadAndCreateURLfromFileHash(List[i]).then(bloburl => {
urlArrays.push(bloburl);
})
);
}
Promise.all(photoPromises).then(() => {
for (let i = 0; i < count; i++) {
if (!List[i] || !urlArrays[i]) { continue; }
htmlarrayrows.push(LoadDataPageFunc.NewRow(urlArrays[i], List[i]));
}
newhtmlrows = UIServices_FullDIV_GOTOPAGE_Array('', viewallhref = '', viewallonclick = '', viewalltext = '', htmlarrayrows);
$('#' + LoadDataPageFunc.ids.ListContainer).html(newhtmlrows);
const elementsWithIconBox = document.querySelectorAll('.icon-box');
elementsWithIconBox.forEach(element => {
element.classList.remove('icon-box');
});
}).catch(error => {
$('#' + LoadDataPageFunc.ids.ListContainer).html('Error Loading Photos');
});
})
.error((err) => {
console.error(err);
})
.go();
};
LoadDataPageFunc.ListContainerMessage = function (message = 'No Photos') {
ListContainer = '<div id="' + LoadDataPageFunc.ids.ListContainer + '"><center>' + message + '</center></div>';
$$$.UpdateMainContainer(UICardSimple('', ListContainer, LoadDataPageFunc.ids.MainCardBody));
};
LoadDataPageFunc.main = function () {
if (LoadDataPageFunc.Settings.CurrentTargetRequired && (!targethash || targethash === '0')) {
$$$.UpdateMainContainer('<center>No Target<br><br>' + buttonprimary('Go Back', '', "Backkey()") +
'<br><br>' + buttonprimary('Home', '', "ButtonGo('Home', '')") + '</center>'); return false;
}
LoadDataPageFunc.ListContainerMessage('Loading Please Wait...');
return true;
};
$(document).ready(function () {
LoadDataPageFunc.main();
LoadDataPageFunc.populatelist();
changeTopbarTitle(LoadDataPageFunc.Settings.PageName);
});
</script>