ipex-llm/docs/readthedocs/source/_static/js/chronos_tutorial.js
Juntao_Luo 9cc933bb18 Chronos: Add forecasters filter tags in tutorial page. (#6068)
* Update: add forecaster tags in tutorial page.

* Bugfix: fix model tag bug.

* Update: update js with pr comment.
2022-11-14 11:10:34 +08:00

244 lines
No EOL
9.4 KiB
JavaScript

$(document).ready(function(){
$("#tutorial details").attr("open",true);
$('#tutorial details').each(function(){
$(this).addClass('forecasterSelected');
$(this).addClass('filterSelected');
});
displaySelected();
});
//event when click the tags' buttons
$("details p button").click(function(){
var id = $(this).val();
$("#"+id).trigger("click");
});
//func to show a tutorial
function showTutorials(ids){
ids.forEach(id => {
$("#"+id).addClass("filterSelected");
});
}
//func to disable checkbox and button
function disCheck(ids){
ids.forEach(id => {
$("#"+id).prop("disabled", true);
$("#"+id).parent().css("color","#c5c5c5");
$("button[value='"+id+"']").prop("disabled",true);
$("button[value='"+id+"']").css("color","#c5c5c5");
});
}
//event when click the checkboxes
$(".checkboxes").click(function(){
//reset all the details 'filterSelected' class
$('#tutorial details').each(function(){
$(this).removeClass('filterSelected');
});
//get all checked values
//class checkboxes is specified to avoid selecting toctree checkboxes (arrows)
var vals = [];
$('.checkboxes:input:checkbox:checked').each(function (index, item) {
vals.push($(this).val());
});
//reset checkbox and button
$("#tutorial button").prop("disabled",false);
$("#tutorial input[type='checkbox']").prop("disabled",false);
$("#tutorial input[type='checkbox']").parent().css("color","#404040");
$("#tutorial button").css("color","#404040");
//show tutorial according to checked values
if(vals.length==0){
//choose noting, show all tutorials
$('#tutorial details').each(function(){
$(this).addClass('filterSelected');
});
}
//chose something, disable invalid checkboxes and buttons accordingly.
else if(vals.length==1){
if(vals.includes("forecast")){
var ids = ["ChronosForecaster","TuneaForecasting","AutoTS","AutoWIDE",
"MultvarWIDE","MultstepWIDE","LSTMF","AutoPr","AnomalyDetection",
"DeepARmodel","TFTmodel","hyperparameter","taxiDataset","distributedFashion",
"ONNX","Quantize","TCMF","PenalizeUnderestimation",
"GPUtrainingCPUacceleration"];
showTutorials(ids);
var disIds = ["simulation"];
disCheck(disIds);
}
else if(vals.includes("anomaly_detection")){
var ids = ["DetectAnomaly","Unsupervised","AnomalyDetection"];
showTutorials(ids);
var disIds = ["simulation","hyperparameter_tuning","onnxruntime","quantization","distributed","customized_model"];
disCheck(disIds);
}
else if(vals.includes("simulation")){
var ids = ["SimualateTimeSeriesData"];
showTutorials(ids);
var disIds = ["forecast","anomaly_detection","hyperparameter_tuning","onnxruntime","quantization","distributed","customized_model"];
disCheck(disIds);
}
else if(vals.includes("hyperparameter_tuning")){
var ids = ["TuneaForecasting","AutoTS","AutoWIDE","AutoPr",
"hyperparameter","taxiDataset","ONNX"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","quantization","distributed"];
disCheck(disIds);
}
else if(vals.includes("onnxruntime")){
var ids = ["ONNX"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","quantization","distributed","customized_model"];
disCheck(disIds);
}
else if(vals.includes("quantization")){
var ids = ["Quantize"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","hyperparameter_tuning","onnxruntime","distributed","customized_model"];
disCheck(disIds);
}
else if(vals.includes("distributed")){
var ids = ["distributedFashion","TCMF"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","hyperparameter_tuning","onnxruntime","quantization","customized_model"];
disCheck(disIds);
}
else if(vals.includes("customized_model")){
var ids = ["AutoTS","DeepARmodel","TFTmodel", "GPUtrainingCPUacceleration"];
ids.forEach(id => {
var temp=$("#"+id);
});
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","onnxruntime","quantization","distributed"];
disCheck(disIds);
}
}
else if(vals.length==2){
if(vals.includes("forecast") && vals.includes("hyperparameter_tuning")){
var ids = ["TuneaForecasting","AutoTS","AutoWIDE","AutoPr","hyperparameter","taxiDataset","ONNX"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","quantization","distributed"];
disCheck(disIds);
}
else if(vals.includes("forecast") && vals.includes("anomaly_detection")){
var ids = ["AnomalyDetection"];
showTutorials(ids);
var disIds = ["simulation","hyperparameter_tuning","onnxruntime","quantization","distributed","customized_model"];
disCheck(disIds);
}
else if(vals.includes("forecast") && vals.includes("customized_model")){
var ids = ["DeepARmodel","TFTmodel","AutoTS","GPUtrainingCPUacceleration"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","onnxruntime","quantization","distributed"];
disCheck(disIds);
}
else if(vals.includes("forecast") && vals.includes("distributed")){
var ids = ["distributedFashion","TCMF"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","hyperparameter_tuning","onnxruntime","quantization","customized_model"];
disCheck(disIds);
}
else if(vals.includes("forecast") && vals.includes("quantization")){
var ids = ["Quantize"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","hyperparameter_tuning","onnxruntime","distributed","customized_model"];
disCheck(disIds);
}
else if(vals.includes("hyperparameter_tuning") && vals.includes("customized_model")){
var ids = ["AutoTS"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","onnxruntime","quantization","distributed"];
disCheck(disIds);
}
else if(vals.includes("forecast") && vals.includes("onnxruntime")){
var ids = ["ONNX"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","quantization","distributed","customized_model"];
disCheck(disIds);
}
else if(vals.includes("hyperparameter_tuning") && vals.includes("onnxruntime")){
var ids = ["ONNX"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","quantization","distributed","customized_model"];
disCheck(disIds);
}
}
else if(vals.length==3){
if(vals.includes("forecast") && vals.includes("hyperparameter_tuning") && vals.includes("customized_model")){
var ids = ["AutoTS"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","onnxruntime","quantization","distributed"];
disCheck(disIds);
}
else if(vals.includes("forecast") && vals.includes("hyperparameter_tuning") && vals.includes("onnxruntime")){
var ids = ["ONNX"];
showTutorials(ids);
var disIds = ["anomaly_detection","simulation","quantization","distributed","customized_model"];
disCheck(disIds);
}
}
displaySelected();
});
//event when choosing forecasters
$(".forecasters").click(function(){
//reset all the details 'forecasterSelected' class
$('#tutorial details').each(function(){
$(this).removeClass('forecasterSelected');
});
//get the selected forecasters
var forecasters = [];
$('.forecasters:checked').each(function(){
forecasters.push($(this).val());
});
if(forecasters.length===0){
//no forecaster is checked, display all
$('#tutorial details').each(function(){
$(this).addClass('forecasterSelected');
});
$(".showingForecaster i").text("All Forecasters");
}
else{
//mark selected forecasters
$('#tutorial details').each(function(){
var sons = [];
$(this).find(".roundbutton").each(function(){
sons.push($(this).val())
});
if(forecasters.every(val => sons.includes(val))){
$(this).addClass('forecasterSelected');
}
});
let fs = "";
for(var i=0;i<forecasters.length;i++){
fs += forecasters[i]+', ';
}
fs = fs.substring(0, fs.length - 2);
$(".showingForecaster i").text(fs);
}
displaySelected();
});
function displaySelected(){
$('#tutorial details').each(function(){
if(($(this).hasClass("forecasterSelected")) && ($(this).hasClass("filterSelected"))){
$(this).css("display","block");
$(this).next().css("display","block");
}
else{
$(this).css("display","none");
$(this).next().css("display","none");
}
});
}