parent
fd39f8b7d5
commit
a51fbedded
@ -150,7 +150,7 @@
|
||||
</p>
|
||||
|
||||
<script src="~/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="~/js/bk.js?version=69"></script>
|
||||
<script src="~/js/bk.js?version=70"></script>
|
||||
<script src="~/js/jplayersupport.js"></script>
|
||||
<script src="~/js/vaabd.js?version=10"></script>
|
||||
<script src="~/dist/jplayer/jquery.jplayer.min.js"></script>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -16,7 +16,8 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon">
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml">
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/chart.js"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script src="/js/jquery.mark.min.js"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
@ -98,6 +99,7 @@
|
||||
<script src="~/js/leaflet.js"></script>
|
||||
<script src="~/js/leaflet-providers.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/OverlappingMarkerSpiderfier-Leaflet/0.2.6/oms.min.js"></script>
|
||||
|
||||
}
|
||||
|
||||
</head>
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
font-family: 'Vazir'
|
||||
}
|
||||
</style>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
|
||||
<script src="~/js/leaflet.js"></script>
|
||||
<script src="~/js/leaflet-providers.js"></script>
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -238,7 +238,7 @@
|
||||
|
||||
|
||||
|
||||
<script src="~/js/bk.js?version=69"></script>
|
||||
<script src="~/js/bk.js?version=70"></script>
|
||||
<script src="~/js/jplayersupport.js"></script>
|
||||
<script src="~/js/vaabd.js?version=10"></script>
|
||||
<script src="~/dist/jplayer/jquery.jplayer.min.js"></script>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
function editBanner(bannerId) {
|
||||
var url = '?handler=Edit';
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
});
|
||||
</script>
|
||||
<script src="/lib/diff.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
function compareCorrectionBlocks(originalElemenyId, editedElementId, resultElementId) {
|
||||
var a = document.getElementById(originalElemenyId);
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
|
||||
<script src="/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="/js/bk.js?version=69"></script>
|
||||
<script src="/js/bk.js?version=70"></script>
|
||||
<script>
|
||||
var cookieValue = getCookie("playerScrollLock");
|
||||
var playerScrollLock = cookieValue === "true";
|
||||
|
||||
@ -1646,6 +1646,7 @@ function loadWordCounts(catId, poetId, remStopWords) {
|
||||
document.getElementById("percent-button").style.display = 'inline-block';
|
||||
}
|
||||
$(data).appendTo(divParent);
|
||||
plotChart('words-stats');
|
||||
},
|
||||
});
|
||||
}
|
||||
@ -1696,6 +1697,7 @@ function countPoemWords(poemId) {
|
||||
document.getElementById("remove-this-wordcounts").remove();
|
||||
divParent.innerHTML = '<div id="wordcounts-placeholder"><div>'
|
||||
$(data).appendTo(divParent);
|
||||
plotChart('words-stats');
|
||||
},
|
||||
});
|
||||
}
|
||||
@ -1725,5 +1727,102 @@ function switchTab(evt, tabId) {
|
||||
evt.currentTarget.className += " active";
|
||||
}
|
||||
|
||||
function persianToEnglishNumber(str) {
|
||||
str = str.replace('٬', '');
|
||||
const persianDigits = '۰۱۲۳۴۵۶۷۸۹';
|
||||
return str.replace(/[۰-۹]/g, d => persianDigits.indexOf(d));
|
||||
}
|
||||
|
||||
function plotChart(tableId) {
|
||||
let table = document.getElementById(tableId);
|
||||
if (!table) return;
|
||||
|
||||
let labels = [];
|
||||
let values = [];
|
||||
|
||||
let headerCols = table.querySelector("thead tr").children;
|
||||
let xTitle = headerCols[1].innerText.trim();
|
||||
let yTitle = headerCols[2].innerText.trim();
|
||||
table.querySelectorAll("tbody tr").forEach(row => {
|
||||
let cols = row.querySelectorAll("td");
|
||||
if (cols.length >= 3) {
|
||||
if (values.length > 9) return;
|
||||
let rowNumber = persianToEnglishNumber(cols[0].innerText.trim());
|
||||
if (rowNumber === "0") return; // Ignore rows with row number ۰
|
||||
|
||||
let xValue = persianToEnglishNumber(cols[1].innerText.trim());
|
||||
let yValue = persianToEnglishNumber(cols[2].innerText.trim());
|
||||
|
||||
labels.push(xValue);
|
||||
values.push(parseInt(yValue));
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
let existingCanvas = document.getElementById(`chart-${tableId}`);
|
||||
if (existingCanvas) {
|
||||
existingCanvas.remove();
|
||||
}
|
||||
|
||||
let canvas = document.createElement("canvas");
|
||||
canvas.id = `chart-${tableId}`;
|
||||
table.parentNode.insertBefore(canvas, table.nextSibling);
|
||||
|
||||
new Chart(canvas, {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: labels,
|
||||
datasets: [{
|
||||
label: yTitle,
|
||||
data: values,
|
||||
backgroundColor: 'rgba(54, 162, 235, 0.5)',
|
||||
borderColor: 'rgba(54, 162, 235, 1)',
|
||||
borderWidth: 1
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
scales: {
|
||||
x: {
|
||||
title: {
|
||||
display: true,
|
||||
text: xTitle,
|
||||
font: { family: 'Vazir', size: 14 }
|
||||
},
|
||||
ticks: {
|
||||
font: { family: 'Vazir', size: 12 }
|
||||
}
|
||||
},
|
||||
y: {
|
||||
title: {
|
||||
display: true,
|
||||
text: yTitle,
|
||||
font: { family: 'Vazir', size: 14 }
|
||||
},
|
||||
ticks: {
|
||||
font: { family: 'Vazir', size: 12 }
|
||||
},
|
||||
beginAtZero: true,
|
||||
}
|
||||
},
|
||||
plugins: {
|
||||
legend: {
|
||||
labels: {
|
||||
font: { family: 'Vazir', size: 12 }
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
bodyFont: { family: 'Vazir', size: 12 },
|
||||
titleFont: { family: 'Vazir', size: 14 }
|
||||
}
|
||||
},
|
||||
layout: {
|
||||
padding: 10
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
20
GanjooRazor/wwwroot/js/chart.js
Normal file
20
GanjooRazor/wwwroot/js/chart.js
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user