Hi, I have a dropdown and a div that loads a calendar.
After changing the value it goes to "case 'Plannings_Exploitation':" and after the "break" it goes to the Dropdown list and throws me that error "object expected".
Any ideas pls?
Fullcalendar
http://fullcalendar.io/
<link href="/sites/TEST1/Documents%20partages/JS/Calendar/fullcalendar.css" rel="stylesheet" /><link href="/sites/TEST1/Documents%20partages/JS/Calendar/fullcalendar.print.css" rel="stylesheet" media="print" /><script src="/sites/TEST1/Documents%20partages/JS/Calendar/moment.min.js"></script><script src="/sites/TEST1/Documents%20partages/JS/Calendar/jquery.min.js"></script><script src="/sites/TEST1/Documents%20partages/JS/Calendar/fullcalendar.min.js"></script><script>
function loadAllData() {
loadCategories();
loadCalendar();
}
function loadCalendar(ddlValue) {
var calListProperties = new Object;
calListProperties.listName = "Plannings_Exploitation";
retrieveListItemsInclude(calListProperties,ddlValue);
}
function loadCategories() {
var catListProperties = new Object;
catListProperties.listName = "ref_categories";
retrieveListItemsInclude(catListProperties);
}
function retrieveListItemsInclude(listProperties,ddlValue) {
var clientContext = new SP.ClientContext.get_current();
var oList = clientContext.get_web().get_lists().getByTitle(listProperties.listName);
var camlQuery = new SP.CamlQuery();
var ddlCategories = document.getElementById("ddlCategories");
var today = new Date();
var ss = today.getSeconds();
if(listProperties.listName != "Plannings_Exploitation" || !ddlValue)
camlQuery.set_viewXml("<View><Query><OrderBy><FieldRef Name='Title' Ascending='TRUE' /></OrderBy></Query></View>");
else
camlQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='evn_categorie'/><Value Type='Lookup'>"+ddlValue+"</Value></Eq></Where><OrderBy><FieldRef Name='Title' Ascending='TRUE'/></OrderBy></Query></View>");
listProperties.colListItem = oList.getItems(camlQuery);
switch(listProperties.listName) {
case 'Plannings_Exploitation':
clientContext.load(listProperties.colListItem, 'Include(Title,ID,evn_categorie,evn_sscategorie,evn_datedebut,evn_datefin)');
clientContext.executeQueryAsync(function(){ onCalQuerySucceeded(listProperties); }, onFailedCallback);
break;
case 'ref_categories':
clientContext.load(listProperties.colListItem, 'Include(Title,ID)');
clientContext.executeQueryAsync(function(){ onCatQuerySucceeded(listProperties); }, onFailedCallback);
break;
}
}
function onCalQuerySucceeded(listProperties) {
var listItemEnumerator = listProperties.colListItem.getEnumerator();
//Formulate HTML from the list items
var dataEvents = [];
//Loop through all the items
while (listItemEnumerator.moveNext()) {
var listItem = listItemEnumerator.get_current();
var strtitle = listItem.get_item("Title");
var strid = listItem.get_item("ID");
var strcategorie = listItem.get_item("evn_categorie").$4g_1;
var strsscategorie = listItem.get_item("evn_sscategorie").$4g_1;
var strtitle = listItem.get_item("evn_categorie").$4g_1 + " / " + listItem.get_item("evn_sscategorie").$4g_1;
var strdatedebut = listItem.get_item("evn_datedebut");
var strdatefin = listItem.get_item("evn_datefin");
strdatedebut = strdatedebut.getFullYear() + "-" + ('0' + (strdatedebut.getMonth() + 1)).slice(-2) + "-" + ('0' + strdatedebut.getDate()).slice(-2) + "T" + ('0' + strdatedebut.getHours()).slice(-2) + ":" + ('0' + strdatedebut.getMinutes()).slice(-2) + ":" + ('0' + strdatedebut.getSeconds()).slice(-2);
strdatefin = strdatefin.getFullYear() + "-" + ('0' + (strdatefin.getMonth() + 1)).slice(-2) + "-" + ('0' + strdatefin.getDate()).slice(-2) + "T" + ('0' + strdatefin.getHours()).slice(-2) + ":" + ('0' + strdatefin.getMinutes()).slice(-2) + ":" + ('0' + strdatefin.getSeconds()).slice(-2);
dataEvents.push({ title: strtitle, start: strdatedebut, end: strdatefin });
}
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
var jour = ('0' + dd).slice(-2);
var mois = ('0' + mm).slice(-2);
$('#calendar').fullCalendar({
defaultDate: yyyy + "-" + mois + "-" + jour,
editable: false,
eventLimit: true, // allow "more" link when too many events
events: dataEvents
});
}
function onCatQuerySucceeded(listProperties) {
var cats = [];
var listItemEnumerator = listProperties.colListItem.getEnumerator();
var ddlCategories = document.getElementById("ddlCategories");
ddlCategories.options.length = 0;
ddlCategories.options[ddlCategories.options.length] = new Option("Categories", "Categories");
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
var cat = {};
cat.id = oListItem.get_item('ID');
cat.title = oListItem.get_item('Title');
ddlCategories.options[ddlCategories.options.length] = new Option(cat.title, cat.title);
}
}
//This function fires when the query fails
function onFailedCallback(sender, args) {
//Formulate HTML to display details of the error
var markup = '<p>The request failed: <br>';
markup += 'Message: ' + args.get_message() + '<br>';
//Display the details
alert(markup);
}
ExecuteOrDelayUntilScriptLoaded(loadAllData, "sp.js");</script><style>
#calendar {
max-width: 900px;
margin: 0 auto;
margin: 40px 10px;
padding: 0;
font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
font-size: 14px;
}</style><select id="ddlCategories" onchange="ExecuteOrDelayUntilScriptLoaded(loadCalendar(this.value), 'sp.js');"></select><div id='calendar'></div>
Thanks