Display
var userArray = [];
var ideaArray = [];
var itemCounter = 0;
var ideaItemCounter = 0;
var favoritesArray = [];
var myLikesArray = [];
//--------HTML Binding-------------
function htmlBinding() {
//var Editbutton = "";
for (var i = 0; i < ideaArray.length; i++) {
var Editbutton = "";
var favouritescss = ideaArray[i].Favouritescss;
var LikesCssClass = ideaArray[i].LikesCssClass;
if ((CurrentUser == ideaArray[i].createdBy.get_lookupValue()) && (userId == ideaArray[i].createdBy.get_lookupId())) {
Editbutton = "<li><i class='fa fa-pencil' title='edit' aria-hidden='true' data-toggle='modal' data-target='#myModal' OnClick='EditIdeas(" + ideaArray[i].ItemId + ");'></i></li><li><i class='fa fa-trash' aria-hidden='true' class='btn-delete' OnClick='deleteIdeaItem(" + ideaArray[i].ItemId + ");' title='delete'></i></li>";
}
innerHtml = "<tr><td class='row2'><div class='row'>" +
"<div class='col-md-1'> <img src='" + hostweburl + "/_layouts/15/userphoto.aspx?size=M&accountname=%20" + ideaArray[i].Email + "' style='width:100%;'></div>" +
"<div class='col-md-9'>" +
"<p>" + ideaArray[i].Title + "</p><p style='word-wrap: break-word;'>" + ideaArray[i].IdeaDescription + "</p>" +
"</div>" +
"<div class='col-md-2'>" +
"<p><button type='button' class='blue-btn-like' OnClick='GetPeopleWhoLikesIdea(" + ideaArray[i].ItemId + ");' value='Like' data-toggle='modal' data-target='#LikeModel' title='Likes by people'><i class='fa fa-thumbs-up' aria-hidden='true'></i></button></p>" +
"<p><button type='button' class='blue-btn-fav' OnClick='GetPeopleFavoritesIdea(" + ideaArray[i].ItemId + ");' value='Fav' data-toggle='modal' data-target='#LikeModel' title='Favorites by people'><i class='fa fa-heart' aria-hidden='true'></i></button></div>" +
"</div>" +
" <div class='row'>" +
"<div class='col-md-3'><p>Created:" + String.format("{0:d} {0:t} {0:tt}", ideaArray[i].createdDate) + "</p></div>" +
"<div class='col-md-2'><p>Status:" + ideaArray[i].status + "</p></div>" +
"<div class='col-md-2'><p>Idea Box:<a OnClick=\"SearchIdeaByIdeaBox('" + ideaArray[i].IdeaBoxColumn + "',\'\');\" class='isLink'>" + ideaArray[i].IdeaBoxColumn + "</a></p></div>" +
"<div class='col-md-3'><p>Tags:" + ideaArray[i].Tags + "</p></div>" +
"<div class='col-md-2'><ul class='icons-list'>" + Editbutton + "<li><i class='IsReaderFalse btn-like fa " + LikesCssClass + "' aria-hidden='true' OnClick='InsertLikesToList(" + ideaArray[i].ItemId + ");' id='btnLike" + ideaArray[i].ItemId + "' title='like'></i></li><li><i id='btnFavourite" + ideaArray[i].ItemId + "' class='IsReaderFalse fa " + favouritescss + "' aria-hidden='true' OnClick='InsertFavoritesToList(" + ideaArray[i].ItemId + ");' title='favourite'></i></li><li><i class='fa fa-comment comm-btn IsReaderFalse btn-comment' aria-hidden='true' OnClick='displayCommentBox(" + ideaArray[i].ItemId + ");' id='btnComment" + ideaArray[i].ItemId + "' title='comment'></i></li></ul></div></div>" +
"<div class='row'><div class='AddCommentDiv' style='display:none;'>" +
"<img src='" + hostweburl + "/_layouts/15/userphoto.aspx?size=M&accountname=%20" + ideaArray[i].Email + "' style='width:34px; height:34px;'></img><input type='text' class='txtComment'/><input type='button' value='Submit' class='btnSubmit' onclick='insertComment(" + ideaArray[i].ItemId + ");' /></div><div class='display-comm-div" + ideaArray[i].ItemId + "'></div>" +
"</div></td></tr>";
$("#IdeaTable tbody").append(innerHtml);
}
favoritesArray = [];
myLikesArray = [];
if (IsReader == true) {
$('.IsReaderFalse').css({ 'display': 'none' });
$('.comm-btn').css({ 'display': 'none' });
}
$('#IdeaTable').dataTable({
"ordering": false,
"bInfo": false,
"searching": false
});
getCount();
}
//------------------------Read Idea Box------------------------
function readIdeaBox() {
web = context.get_web();
context.load(web);
var myList = web.get_lists().getByTitle("IdeaBox");
var query = new SP.CamlQuery();
var items = myList.getItems(query);
context.load(myList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var html = "";
var IdeaBoxCategory = "";
IdeaBoxCategory += "<li><input type='checkbox' value='All Boxes' onClick='IsCheckedIdeaBoxOrNot(this);' checked/><span>All Boxes</sapn></li>";
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
var members = currentListItem.get_item('Title');
html += "<option value='" + currentListItem.get_item('ID') + "'>" + members + "</option>";
IdeaBoxCategory += "<li><input type='checkbox' value='" + members + "' checked /><span>" + members + "</sapn></li>";
}
$("#iIdeaBox").html(html);
$("#IdeaBoxCategories").html(IdeaBoxCategory);
}),
Function.createDelegate(this, function () {
})
);
}
var listItem;
function retrieveIdeasItems() {
var charVal = $("input.searchIdea").val();
$("input.searchIdea").val('');
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
if (charVal == null || charVal == "") {
query.set_viewXml('<View><Query><OrderBy><FieldRef Name="ID" Ascending="FALSE"/></OrderBy></Query></View>');
}
else {
query.set_viewXml('<View><Query><Where><Contains><FieldRef Name=Title /><Value Type=Text>' + charVal + '</Value></Contains></Where></Query><OrderBy><FieldRef Name="ID" Ascending="FALSE"/></OrderBy></View>');
}
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml
ideaArray = [];
//var innerHtml = "";
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-up";
var itemInfo = "";
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
//new
var CurrentItemID = currentListItem.get_item("ID");
var loginedUserID = userId;
for (var i = 0; i < favoritesArray.length ; i++) {
var favoritesAuthorID = favoritesArray[i][0];
var fauoritesIdeaID = favoritesArray[i][1];
if (favoritesAuthorID == loginedUserID && fauoritesIdeaID == CurrentItemID) {
favouritescss = "fa fa-heart";
break;
}
else {
favouritescss = "fa fa-heart-o";
}
}
for (var i = 0; i< myLikesArray.length; i++)
{
var likesAuthorID = myLikesArray[i][0];
var likesIdeaID = myLikesArray[i][1];
if (likesAuthorID == loginedUserID && likesIdeaID == CurrentItemID) {
likesCssClass = "fa-thumbs-down";
break
}
else {
likesCssClass = "fa-thumbs-up";
}
}
//End
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//______________________Create Tag string_________________
function tagHtml(tags)
{
var tagsArray = [];
var tagName = "";
var tagsString = "";
if (tags) {
if (tags.indexOf(',') > -1) {
tagsArray = tags.split(',');
}
else {
tagName = tags;
}
if (tagsArray.length > 0) {
for (var i = 0; i < tagsArray.length ; i++) {
tagsString += "<a onClick='SearchByTag(\"" + tagsArray[i] + "\");' class='isLink'>" + tagsArray[i] + "</a>,";
}
}
else {
tagsString += "<a onClick='SearchByTag(\"" + tagName + "\");' class='isLink'>" + tagName + "</a>,";
}
tagsString = tagsString.replace(/,\s*$/, "");
}
return tagsString;
}
//--------------Retrive Idea By Id------------------
var userName;
function RetriveIdea(id) {
var targetList = context.get_web().get_lists().getByTitle('Ideas');
var targetListItem = targetList.getItemById(id);
context.load(targetListItem);
context.executeQueryAsync(
Function.createDelegate(this, function () {
$("#modal-title").text(targetListItem.get_item('Title'));
var html = "<div class='row'>" +
"<div class='col-md-12'>" +
"<p style='word-wrap: break-word;' id='topIdeaDescription'>" + targetListItem.get_item('IdeaDescription') + "</p>" +
"<p><strong>Outcome:</strong></p><p style='word-wrap: break-word;'>" + targetListItem.get_item('IdeaOutcome') + "</p></div>" +
"</div>" +
" <div class='row'>" +
"<div class='col-md-5'><p><strong>Created:</strong>" + String.format("{0:d} {0:t} {0:tt}", targetListItem.get_item('Created')) + "</p></div>" +
"<div class='col-md-5'><p><strong>Status:</strong>" + targetListItem.get_item('Status') + "</p></div>" +
"<div class='col-md-5'><p><strong>Idea Box:</strong>" + targetListItem.get_item('IdeaBox') + "</p></div>" +
"<div class='col-md-5'><p><strong>Tags:</strong>" + targetListItem.get_item('Tags') + "</p></div>" +
"</div>";
var result = true;
userName = targetListItem.get_item('Author').get_lookupValue();
$("#modal-footer").html('<input type="button" value="Add to Top Picks" OnClick="AddTopPick(' + targetListItem.get_item('ID') + ',' + result + ');"></input><input type="button" value="Delete" OnClick="deleteIdeaItem(' + targetListItem.get_item('ID') + ');"></input>');
$("#ApproveIdea").html(html);
}),
Function.createDelegate(this, function (data) {
})
);
}
//-------------My Ideas---------------------
function MyIdea() {
var context = new SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle("Ideas");
var cQuery = new SP.CamlQuery();
var camlXML = "<View><Query><Where><Eq><FieldRef Name='Author' LookupId='True'/><Value Type='Lookup'>" + _spPageContextInfo.userId + "</Value></Eq></Where><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query></Query></View>";
cQuery.set_viewXml(camlXML);
var listitems = list.getItems(cQuery);
context.load(listitems);
context.executeQueryAsync(function () {
var innerHtml = "";
var enumerator = listitems.getEnumerator();
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><tbody><thead style='display:none;'><tr><th>My Ideas</th></tr></thead></tbody></table>";
ideaArray = [];
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-up";
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
//New Code
var CurrentItemID = currentListItem.get_item("ID");
var loginedUserID = userId;
for (var i = 0; i < favoritesArray.length ; i++) {
var favoritesAuthorID = favoritesArray[i][0];
var fauoritesIdeaID = favoritesArray[i][1];
if (favoritesAuthorID == loginedUserID && fauoritesIdeaID == CurrentItemID) {
favouritescss = "fa fa-heart";
break;
}
else {
favouritescss = "fa fa-heart-o";
}
}
for (var i = 0; i < myLikesArray.length; i++) {
var likesAuthorID = myLikesArray[i][0];
var likesIdeaID = myLikesArray[i][1];
if (likesAuthorID == loginedUserID && likesIdeaID == CurrentItemID) {
likesCssClass = "fa-thumbs-down";
break
}
else {
likesCssClass = "fa-thumbs-up";
}
}
//End
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
});
}
var myLikes = [];
//-------------My Likes---------------------
function MyLike() {
var context = new SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle("Likes");
var cQuery = new SP.CamlQuery();
var camlXML = "<View><Query><Where><Eq><FieldRef Name='Author' LookupId='True'/><Value Type='Lookup'>" + _spPageContextInfo.userId + "</Value></Eq></Where></Query></View>";
cQuery.set_viewXml(camlXML);
var listitems = list.getItems(cQuery);
context.load(listitems);
context.executeQueryAsync(function () {
myLikes = [];
var innerHtml = "";
var enumerator = listitems.getEnumerator();
while (enumerator.moveNext()) {
// var item = enumerator.get_current().get_fieldValues();
var item = enumerator.get_current();
//console.log(item);
var id = item.get_item('IdeaId');
myLikes.push(id);
}
//console.log(myLikes);
MyLikeIdeas();
});
}
function MyLikeIdeas() {
web = context.get_web();
context.load(web);
var myList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml('<View><Query><OrderBy><FieldRef Name="ID" Ascending="FALSE"/></OrderBy></Query></View>');
var items = myList.getItems(query);
context.load(myList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var itemInfo = '';
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
ideaArray = [];
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-down";
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
for (var i = 0; i < myLikes.length; i++) {
var currentListItem = enumerator.get_current();
if (myLikes[i] == currentListItem.get_item('ID')) {
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
}
}
htmlBinding();
}),
Function.createDelegate(this, function () {
})
);
}
//-----------My Favorites Ideas-----------
var myFavorites = [];
function MyFavorites() {
var context = new SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle("Favorites");
var cQuery = new SP.CamlQuery();
var camlXML = "<View><Query><Where><Eq><FieldRef Name='Author' LookupId='True'/><Value Type='Lookup'>" + _spPageContextInfo.userId + "</Value></Eq></Where></Query></View>";
cQuery.set_viewXml(camlXML);
var listitems = list.getItems(cQuery);
context.load(listitems);
context.executeQueryAsync(function () {
myFavorites = [];
var innerHtml = "";
var enumerator = listitems.getEnumerator();
while (enumerator.moveNext()) {
var item = enumerator.get_current();
console.log(item);
var id = item.get_item('IdeaId');
myFavorites.push(id);
}
MyFavoritesIdeas();
});
}
function MyFavoritesIdeas() {
web = context.get_web();
context.load(web);
var myList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml('<View><Query><OrderBy><FieldRef Name="ID" Ascending="FALSE"/></OrderBy></Query></View>');
var items = myList.getItems(query);
context.load(myList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var itemInfo = '';
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
ideaArray = [];
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart";
var likesCssClass = "fa-thumbs-down";
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
for (var i = 0; i < myFavorites.length; i++) {
if (myFavorites[i] == currentListItem.get_item('ID')) {
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
}
}
htmlBinding();
}),
Function.createDelegate(this, function () {
})
);
}
//____________________Display Top Picks Idea _________________
function retrieveTopPicksIdea() {
AllUsersEmails = [];
itemCounter = 0;
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IsTopPicks'/><Value Type='Boolean'>1</Value></Eq></Where></Query><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></View>");
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-up";
ideaArray = [];
//var innerHtml = "";
var itemInfo = '';
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
//new
var CurrentItemID = currentListItem.get_item("ID");
var loginedUserID = userId;
for (var i = 0; i < favoritesArray.length ; i++) {
var favoritesAuthorID = favoritesArray[i][0];
var fauoritesIdeaID = favoritesArray[i][1];
if (favoritesAuthorID == loginedUserID && fauoritesIdeaID == CurrentItemID) {
favouritescss = "fa fa-heart";
break;
}
else {
favouritescss = "fa fa-heart-o";
}
}
for (var i = 0; i < myLikesArray.length; i++) {
var likesAuthorID = myLikesArray[i][0];
var likesIdeaID = myLikesArray[i][1];
if (likesAuthorID == loginedUserID && likesIdeaID == CurrentItemID) {
likesCssClass = "fa-thumbs-down";
break
}
else {
likesCssClass = "fa-thumbs-up";
}
}
//End
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//____________________Display Golden Stars Idea _________________
function retrieveGoldenStarsIdea() {
AllUsersEmails = [];
itemCounter = 0;
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IsGoldenStars'/><Value Type='Boolean'>1</Value></Eq></Where><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query></View>");
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-up";
ideaArray = [];
//var innerHtml = "";
var itemInfo = '';
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
//new
var CurrentItemID = currentListItem.get_item("ID");
var loginedUserID = userId;
for (var i = 0; i < favoritesArray.length ; i++) {
var favoritesAuthorID = favoritesArray[i][0];
var fauoritesIdeaID = favoritesArray[i][1];
if (favoritesAuthorID == loginedUserID && fauoritesIdeaID == CurrentItemID) {
favouritescss = "fa fa-heart";
break;
}
else {
favouritescss = "fa fa-heart-o";
}
}
for (var i = 0; i < myLikesArray.length; i++) {
var likesAuthorID = myLikesArray[i][0];
var likesIdeaID = myLikesArray[i][1];
if (likesAuthorID == loginedUserID && likesIdeaID == CurrentItemID) {
likesCssClass = "fa-thumbs-down";
break
}
else {
likesCssClass = "fa-thumbs-up";
}
}
//End
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//------------------Search Idea By IdeaBox category-----------------------
function SearchIdeaByIdeaBox(ideaBox,searchQuery) {
itemCounter = 0;
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
if (ideaBox != "")
query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IdeaBox'/><Value Type='Text'>" + ideaBox + "</Value></Eq></Where><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query></View>");
else
query.set_viewXml("<View><Query><Where>" + searchQuery + "</Where><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query></View>");
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-down";
ideaArray = [];
//var innerHtml = "";
var itemInfo = '';
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//---------------------Search by Tags----------------------------
function SearchByTag(Tag) {
AllUsersEmails = [];
itemCounter = 0;
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><Contains><FieldRef Name='Tags' /><Value Type='Text'>" + Tag + "</Value></Contains></Where></Query><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></View>");
//query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='Tags'/><Value Type='Text'>" + Tag + "</Value></Eq></Where></Query></View>");
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-down";
ideaArray = [];
//var innerHtml = "";
var itemInfo = '';
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//---------------------Get count of all Ideas---------------
function getCount() {
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var AllIdeaQuery = new SP.CamlQuery();
var AllItems = IdeasList.getItems(AllIdeaQuery);
var GoldenQuery = new SP.CamlQuery();
GoldenQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IsGoldenStars'/><Value Type='Boolean'>1</Value></Eq></Where></Query></View>");
var GoldenItems = IdeasList.getItems(GoldenQuery);
var TopPicksQuery = new SP.CamlQuery();
TopPicksQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IsTopPicks'/><Value Type='Boolean'>1</Value></Eq></Where></Query></View>");
var TopPicksItems = IdeasList.getItems(TopPicksQuery);
var MyIdeaQuery = new SP.CamlQuery();
MyIdeaQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='Author' LookupId='True'/><Value Type='Lookup'>" + _spPageContextInfo.userId + "</Value></Eq></Where></Query></View>");
var MyIdeaItems = IdeasList.getItems(MyIdeaQuery);
var LikeList = web.get_lists().getByTitle("Likes");
var myLikeItem = LikeList.getItems(MyIdeaQuery);
var FavList = web.get_lists().getByTitle("Favorites");
var myFavItem = FavList.getItems(MyIdeaQuery);
context.load(IdeasList);
context.load(LikeList);
context.load(FavList);
context.load(AllItems);
context.load(GoldenItems);
context.load(TopPicksItems);
context.load(MyIdeaItems);
context.load(myLikeItem);
context.load(myFavItem);
context.executeQueryAsync(
Function.createDelegate(this, function () {
$("#allIdeasCount").text(AllItems.get_count());
$("#TopPicksCount").text(TopPicksItems.get_count());
$("#GoldenCount").text(GoldenItems.get_count());
$("#myIdeaCount").val("My Ideas(" + MyIdeaItems.get_count() + ")");
$("#myLikeCount").val("My Likes(" + myLikeItem.get_count() + ")");
$("#myFavCount").val("My Favorites(" + myFavItem.get_count() + ")");
}),
Function.createDelegate(this, function () { })
);
}
//-----------------------Display Comment Box-----------------
function displayCommentBox(IdeaId) {
$("#btnComment" + IdeaId).parents(".row2").find("div.AddCommentDiv").show();
retrieveComments(IdeaId);
}
function retrieveComments(IdeaId) {
var ideaID = IdeaId;
var userInfo = [];
$.ajax({
url: appweburl + "/_api/web/lists/getbytitle('Comments')/items?$select=IdeaId,AuthorId,Author/FirstName,Author/LastName&$expand=Author",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
records = [];
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
var Ideaid = json_obj.d.results[i].IdeaId;
if (Ideaid == ideaID) {
var FirstName = json_obj.d.results[i].Author["FirstName"];
var LastName = "";
if (json_obj.d.results[i].Author["LastName"]) {
LastName = json_obj.d.results[i].Author["LastName"];
}
var authorID = json_obj.d.results[i].AuthorId;
userInfo.push({
authorID: authorID,
FirstName: FirstName,
LastName: LastName
});
}
}
},
error: function (data) {
failure(data);
}
});
$(".display-comm-div" + IdeaId).empty();
itemCounter = 0;
var web = context.get_web();
context.load(web);
var CommentsList = web.get_lists().getByTitle("Comments");
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IdeaId' /><Value Type='Text'>" + IdeaId + "</Value></Eq></Where></Query></View>");
var items = CommentsList.getItems(query);
context.load(CommentsList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
if (items.get_count() == 0) {
$(".display-comm-div" + IdeaId).text("Be the first one to comment");
}
else {
$(".display-comm-div" + IdeaId).text("");
}
//CommentsArray = [];
var enumerator = items.getEnumerator();
var CommentinnerHtml = "";
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
var author = "";
for (var i = 0; i < userInfo.length; i++) {
if (currentListItem.get_item("Author").get_lookupId() == userInfo[i].authorID) {
author = userInfo[i].FirstName + " " + userInfo[i].LastName;
}
}
CommentinnerHtml += '<div class="comment-div"><div class="col-md-1"> <img src="' + hostweburl + '/_layouts/15/userphoto.aspx?size=M&accountname=%20' + currentListItem.get_item("Email") + '" style=" width: 40px;height:40px;"></img></div>';
CommentinnerHtml += '<div class="col-md-9" style="width:90%"><p style="float:left;">' + author + ': </p>';
CommentinnerHtml += '<p class="comment-text">' + currentListItem.get_item("CommentText") + '</p>';
CommentinnerHtml += '<p style="word-wrap: break-word; float:left;">' + String.format("{0:d} {0:t} {0:tt}", currentListItem.get_item("Created")) + '</p>';
if ((CurrentUser == currentListItem.get_item("Author").get_lookupValue()) && (userId == currentListItem.get_item("Author").get_lookupId())) {
//CommentinnerHtml += '<input type="button" value="Del" id="btnCommentDelete' + currentListItem.get_id() + '" onclick="deleteComment(' + currentListItem.get_id() + ',' + IdeaId + ');"/>';
CommentinnerHtml += '<i class="fa fa-trash btn-delete commentDelbtn" id="btnCommentDelete' + currentListItem.get_id() + '" aria-hidden="true" OnClick="deleteComment(' + currentListItem.get_id() + ',' + IdeaId + ');"></i>';
//<i class='fa fa-trash' id="btnCommentDelete' + currentListItem.get_id() + '" aria-hidden='true' class='btn-delete' OnClick='deleteComment(" + currentListItem.get_id() + "," + IdeaId + ");'></i>
}
CommentinnerHtml += "</div></div>";
}
if (CommentinnerHtml != "") {
$(".display-comm-div" + IdeaId).html(CommentinnerHtml);
}
}),
Function.createDelegate(this, function (sender, args) {
bootbox.alert("Error:" + args.get_message());
})
);
}
function GetMyFavandLikesIdeas()
{
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
retrieveIdeasItems();
}
function GetMyFavouritesIdeas()
{
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
}
function GetActiveIdeasLikesandFav() {
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
}
//-------styling my ideas----------
function GetMyIdeas() {
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
MyIdea();
}
//-------styling ideas in top picks------
function GetTopPicksWithStyle() {
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
retrieveTopPicksIdea();
}
//---------styling ideas in golden star--------
function GetGoldenStarWithStyle() {
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
retrieveGoldenStarsIdea();
}
var ideaArray = [];
var itemCounter = 0;
var ideaItemCounter = 0;
var favoritesArray = [];
var myLikesArray = [];
//--------HTML Binding-------------
function htmlBinding() {
//var Editbutton = "";
for (var i = 0; i < ideaArray.length; i++) {
var Editbutton = "";
var favouritescss = ideaArray[i].Favouritescss;
var LikesCssClass = ideaArray[i].LikesCssClass;
if ((CurrentUser == ideaArray[i].createdBy.get_lookupValue()) && (userId == ideaArray[i].createdBy.get_lookupId())) {
Editbutton = "<li><i class='fa fa-pencil' title='edit' aria-hidden='true' data-toggle='modal' data-target='#myModal' OnClick='EditIdeas(" + ideaArray[i].ItemId + ");'></i></li><li><i class='fa fa-trash' aria-hidden='true' class='btn-delete' OnClick='deleteIdeaItem(" + ideaArray[i].ItemId + ");' title='delete'></i></li>";
}
innerHtml = "<tr><td class='row2'><div class='row'>" +
"<div class='col-md-1'> <img src='" + hostweburl + "/_layouts/15/userphoto.aspx?size=M&accountname=%20" + ideaArray[i].Email + "' style='width:100%;'></div>" +
"<div class='col-md-9'>" +
"<p>" + ideaArray[i].Title + "</p><p style='word-wrap: break-word;'>" + ideaArray[i].IdeaDescription + "</p>" +
"</div>" +
"<div class='col-md-2'>" +
"<p><button type='button' class='blue-btn-like' OnClick='GetPeopleWhoLikesIdea(" + ideaArray[i].ItemId + ");' value='Like' data-toggle='modal' data-target='#LikeModel' title='Likes by people'><i class='fa fa-thumbs-up' aria-hidden='true'></i></button></p>" +
"<p><button type='button' class='blue-btn-fav' OnClick='GetPeopleFavoritesIdea(" + ideaArray[i].ItemId + ");' value='Fav' data-toggle='modal' data-target='#LikeModel' title='Favorites by people'><i class='fa fa-heart' aria-hidden='true'></i></button></div>" +
"</div>" +
" <div class='row'>" +
"<div class='col-md-3'><p>Created:" + String.format("{0:d} {0:t} {0:tt}", ideaArray[i].createdDate) + "</p></div>" +
"<div class='col-md-2'><p>Status:" + ideaArray[i].status + "</p></div>" +
"<div class='col-md-2'><p>Idea Box:<a OnClick=\"SearchIdeaByIdeaBox('" + ideaArray[i].IdeaBoxColumn + "',\'\');\" class='isLink'>" + ideaArray[i].IdeaBoxColumn + "</a></p></div>" +
"<div class='col-md-3'><p>Tags:" + ideaArray[i].Tags + "</p></div>" +
"<div class='col-md-2'><ul class='icons-list'>" + Editbutton + "<li><i class='IsReaderFalse btn-like fa " + LikesCssClass + "' aria-hidden='true' OnClick='InsertLikesToList(" + ideaArray[i].ItemId + ");' id='btnLike" + ideaArray[i].ItemId + "' title='like'></i></li><li><i id='btnFavourite" + ideaArray[i].ItemId + "' class='IsReaderFalse fa " + favouritescss + "' aria-hidden='true' OnClick='InsertFavoritesToList(" + ideaArray[i].ItemId + ");' title='favourite'></i></li><li><i class='fa fa-comment comm-btn IsReaderFalse btn-comment' aria-hidden='true' OnClick='displayCommentBox(" + ideaArray[i].ItemId + ");' id='btnComment" + ideaArray[i].ItemId + "' title='comment'></i></li></ul></div></div>" +
"<div class='row'><div class='AddCommentDiv' style='display:none;'>" +
"<img src='" + hostweburl + "/_layouts/15/userphoto.aspx?size=M&accountname=%20" + ideaArray[i].Email + "' style='width:34px; height:34px;'></img><input type='text' class='txtComment'/><input type='button' value='Submit' class='btnSubmit' onclick='insertComment(" + ideaArray[i].ItemId + ");' /></div><div class='display-comm-div" + ideaArray[i].ItemId + "'></div>" +
"</div></td></tr>";
$("#IdeaTable tbody").append(innerHtml);
}
favoritesArray = [];
myLikesArray = [];
if (IsReader == true) {
$('.IsReaderFalse').css({ 'display': 'none' });
$('.comm-btn').css({ 'display': 'none' });
}
$('#IdeaTable').dataTable({
"ordering": false,
"bInfo": false,
"searching": false
});
getCount();
}
//------------------------Read Idea Box------------------------
function readIdeaBox() {
web = context.get_web();
context.load(web);
var myList = web.get_lists().getByTitle("IdeaBox");
var query = new SP.CamlQuery();
var items = myList.getItems(query);
context.load(myList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var html = "";
var IdeaBoxCategory = "";
IdeaBoxCategory += "<li><input type='checkbox' value='All Boxes' onClick='IsCheckedIdeaBoxOrNot(this);' checked/><span>All Boxes</sapn></li>";
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
var members = currentListItem.get_item('Title');
html += "<option value='" + currentListItem.get_item('ID') + "'>" + members + "</option>";
IdeaBoxCategory += "<li><input type='checkbox' value='" + members + "' checked /><span>" + members + "</sapn></li>";
}
$("#iIdeaBox").html(html);
$("#IdeaBoxCategories").html(IdeaBoxCategory);
}),
Function.createDelegate(this, function () {
})
);
}
var listItem;
function retrieveIdeasItems() {
var charVal = $("input.searchIdea").val();
$("input.searchIdea").val('');
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
if (charVal == null || charVal == "") {
query.set_viewXml('<View><Query><OrderBy><FieldRef Name="ID" Ascending="FALSE"/></OrderBy></Query></View>');
}
else {
query.set_viewXml('<View><Query><Where><Contains><FieldRef Name=Title /><Value Type=Text>' + charVal + '</Value></Contains></Where></Query><OrderBy><FieldRef Name="ID" Ascending="FALSE"/></OrderBy></View>');
}
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml
ideaArray = [];
//var innerHtml = "";
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-up";
var itemInfo = "";
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
//new
var CurrentItemID = currentListItem.get_item("ID");
var loginedUserID = userId;
for (var i = 0; i < favoritesArray.length ; i++) {
var favoritesAuthorID = favoritesArray[i][0];
var fauoritesIdeaID = favoritesArray[i][1];
if (favoritesAuthorID == loginedUserID && fauoritesIdeaID == CurrentItemID) {
favouritescss = "fa fa-heart";
break;
}
else {
favouritescss = "fa fa-heart-o";
}
}
for (var i = 0; i< myLikesArray.length; i++)
{
var likesAuthorID = myLikesArray[i][0];
var likesIdeaID = myLikesArray[i][1];
if (likesAuthorID == loginedUserID && likesIdeaID == CurrentItemID) {
likesCssClass = "fa-thumbs-down";
break
}
else {
likesCssClass = "fa-thumbs-up";
}
}
//End
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//______________________Create Tag string_________________
function tagHtml(tags)
{
var tagsArray = [];
var tagName = "";
var tagsString = "";
if (tags) {
if (tags.indexOf(',') > -1) {
tagsArray = tags.split(',');
}
else {
tagName = tags;
}
if (tagsArray.length > 0) {
for (var i = 0; i < tagsArray.length ; i++) {
tagsString += "<a onClick='SearchByTag(\"" + tagsArray[i] + "\");' class='isLink'>" + tagsArray[i] + "</a>,";
}
}
else {
tagsString += "<a onClick='SearchByTag(\"" + tagName + "\");' class='isLink'>" + tagName + "</a>,";
}
tagsString = tagsString.replace(/,\s*$/, "");
}
return tagsString;
}
//--------------Retrive Idea By Id------------------
var userName;
function RetriveIdea(id) {
var targetList = context.get_web().get_lists().getByTitle('Ideas');
var targetListItem = targetList.getItemById(id);
context.load(targetListItem);
context.executeQueryAsync(
Function.createDelegate(this, function () {
$("#modal-title").text(targetListItem.get_item('Title'));
var html = "<div class='row'>" +
"<div class='col-md-12'>" +
"<p style='word-wrap: break-word;' id='topIdeaDescription'>" + targetListItem.get_item('IdeaDescription') + "</p>" +
"<p><strong>Outcome:</strong></p><p style='word-wrap: break-word;'>" + targetListItem.get_item('IdeaOutcome') + "</p></div>" +
"</div>" +
" <div class='row'>" +
"<div class='col-md-5'><p><strong>Created:</strong>" + String.format("{0:d} {0:t} {0:tt}", targetListItem.get_item('Created')) + "</p></div>" +
"<div class='col-md-5'><p><strong>Status:</strong>" + targetListItem.get_item('Status') + "</p></div>" +
"<div class='col-md-5'><p><strong>Idea Box:</strong>" + targetListItem.get_item('IdeaBox') + "</p></div>" +
"<div class='col-md-5'><p><strong>Tags:</strong>" + targetListItem.get_item('Tags') + "</p></div>" +
"</div>";
var result = true;
userName = targetListItem.get_item('Author').get_lookupValue();
$("#modal-footer").html('<input type="button" value="Add to Top Picks" OnClick="AddTopPick(' + targetListItem.get_item('ID') + ',' + result + ');"></input><input type="button" value="Delete" OnClick="deleteIdeaItem(' + targetListItem.get_item('ID') + ');"></input>');
$("#ApproveIdea").html(html);
}),
Function.createDelegate(this, function (data) {
})
);
}
//-------------My Ideas---------------------
function MyIdea() {
var context = new SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle("Ideas");
var cQuery = new SP.CamlQuery();
var camlXML = "<View><Query><Where><Eq><FieldRef Name='Author' LookupId='True'/><Value Type='Lookup'>" + _spPageContextInfo.userId + "</Value></Eq></Where><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query></Query></View>";
cQuery.set_viewXml(camlXML);
var listitems = list.getItems(cQuery);
context.load(listitems);
context.executeQueryAsync(function () {
var innerHtml = "";
var enumerator = listitems.getEnumerator();
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><tbody><thead style='display:none;'><tr><th>My Ideas</th></tr></thead></tbody></table>";
ideaArray = [];
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-up";
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
//New Code
var CurrentItemID = currentListItem.get_item("ID");
var loginedUserID = userId;
for (var i = 0; i < favoritesArray.length ; i++) {
var favoritesAuthorID = favoritesArray[i][0];
var fauoritesIdeaID = favoritesArray[i][1];
if (favoritesAuthorID == loginedUserID && fauoritesIdeaID == CurrentItemID) {
favouritescss = "fa fa-heart";
break;
}
else {
favouritescss = "fa fa-heart-o";
}
}
for (var i = 0; i < myLikesArray.length; i++) {
var likesAuthorID = myLikesArray[i][0];
var likesIdeaID = myLikesArray[i][1];
if (likesAuthorID == loginedUserID && likesIdeaID == CurrentItemID) {
likesCssClass = "fa-thumbs-down";
break
}
else {
likesCssClass = "fa-thumbs-up";
}
}
//End
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
});
}
var myLikes = [];
//-------------My Likes---------------------
function MyLike() {
var context = new SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle("Likes");
var cQuery = new SP.CamlQuery();
var camlXML = "<View><Query><Where><Eq><FieldRef Name='Author' LookupId='True'/><Value Type='Lookup'>" + _spPageContextInfo.userId + "</Value></Eq></Where></Query></View>";
cQuery.set_viewXml(camlXML);
var listitems = list.getItems(cQuery);
context.load(listitems);
context.executeQueryAsync(function () {
myLikes = [];
var innerHtml = "";
var enumerator = listitems.getEnumerator();
while (enumerator.moveNext()) {
// var item = enumerator.get_current().get_fieldValues();
var item = enumerator.get_current();
//console.log(item);
var id = item.get_item('IdeaId');
myLikes.push(id);
}
//console.log(myLikes);
MyLikeIdeas();
});
}
function MyLikeIdeas() {
web = context.get_web();
context.load(web);
var myList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml('<View><Query><OrderBy><FieldRef Name="ID" Ascending="FALSE"/></OrderBy></Query></View>');
var items = myList.getItems(query);
context.load(myList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var itemInfo = '';
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
ideaArray = [];
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-down";
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
for (var i = 0; i < myLikes.length; i++) {
var currentListItem = enumerator.get_current();
if (myLikes[i] == currentListItem.get_item('ID')) {
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
}
}
htmlBinding();
}),
Function.createDelegate(this, function () {
})
);
}
//-----------My Favorites Ideas-----------
var myFavorites = [];
function MyFavorites() {
var context = new SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle("Favorites");
var cQuery = new SP.CamlQuery();
var camlXML = "<View><Query><Where><Eq><FieldRef Name='Author' LookupId='True'/><Value Type='Lookup'>" + _spPageContextInfo.userId + "</Value></Eq></Where></Query></View>";
cQuery.set_viewXml(camlXML);
var listitems = list.getItems(cQuery);
context.load(listitems);
context.executeQueryAsync(function () {
myFavorites = [];
var innerHtml = "";
var enumerator = listitems.getEnumerator();
while (enumerator.moveNext()) {
var item = enumerator.get_current();
console.log(item);
var id = item.get_item('IdeaId');
myFavorites.push(id);
}
MyFavoritesIdeas();
});
}
function MyFavoritesIdeas() {
web = context.get_web();
context.load(web);
var myList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml('<View><Query><OrderBy><FieldRef Name="ID" Ascending="FALSE"/></OrderBy></Query></View>');
var items = myList.getItems(query);
context.load(myList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var itemInfo = '';
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
ideaArray = [];
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart";
var likesCssClass = "fa-thumbs-down";
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
for (var i = 0; i < myFavorites.length; i++) {
if (myFavorites[i] == currentListItem.get_item('ID')) {
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
}
}
htmlBinding();
}),
Function.createDelegate(this, function () {
})
);
}
//____________________Display Top Picks Idea _________________
function retrieveTopPicksIdea() {
AllUsersEmails = [];
itemCounter = 0;
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IsTopPicks'/><Value Type='Boolean'>1</Value></Eq></Where></Query><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></View>");
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-up";
ideaArray = [];
//var innerHtml = "";
var itemInfo = '';
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
//new
var CurrentItemID = currentListItem.get_item("ID");
var loginedUserID = userId;
for (var i = 0; i < favoritesArray.length ; i++) {
var favoritesAuthorID = favoritesArray[i][0];
var fauoritesIdeaID = favoritesArray[i][1];
if (favoritesAuthorID == loginedUserID && fauoritesIdeaID == CurrentItemID) {
favouritescss = "fa fa-heart";
break;
}
else {
favouritescss = "fa fa-heart-o";
}
}
for (var i = 0; i < myLikesArray.length; i++) {
var likesAuthorID = myLikesArray[i][0];
var likesIdeaID = myLikesArray[i][1];
if (likesAuthorID == loginedUserID && likesIdeaID == CurrentItemID) {
likesCssClass = "fa-thumbs-down";
break
}
else {
likesCssClass = "fa-thumbs-up";
}
}
//End
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//____________________Display Golden Stars Idea _________________
function retrieveGoldenStarsIdea() {
AllUsersEmails = [];
itemCounter = 0;
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IsGoldenStars'/><Value Type='Boolean'>1</Value></Eq></Where><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query></View>");
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml;
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-up";
ideaArray = [];
//var innerHtml = "";
var itemInfo = '';
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
//new
var CurrentItemID = currentListItem.get_item("ID");
var loginedUserID = userId;
for (var i = 0; i < favoritesArray.length ; i++) {
var favoritesAuthorID = favoritesArray[i][0];
var fauoritesIdeaID = favoritesArray[i][1];
if (favoritesAuthorID == loginedUserID && fauoritesIdeaID == CurrentItemID) {
favouritescss = "fa fa-heart";
break;
}
else {
favouritescss = "fa fa-heart-o";
}
}
for (var i = 0; i < myLikesArray.length; i++) {
var likesAuthorID = myLikesArray[i][0];
var likesIdeaID = myLikesArray[i][1];
if (likesAuthorID == loginedUserID && likesIdeaID == CurrentItemID) {
likesCssClass = "fa-thumbs-down";
break
}
else {
likesCssClass = "fa-thumbs-up";
}
}
//End
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//------------------Search Idea By IdeaBox category-----------------------
function SearchIdeaByIdeaBox(ideaBox,searchQuery) {
itemCounter = 0;
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
if (ideaBox != "")
query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IdeaBox'/><Value Type='Text'>" + ideaBox + "</Value></Eq></Where><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query></View>");
else
query.set_viewXml("<View><Query><Where>" + searchQuery + "</Where><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query></View>");
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-down";
ideaArray = [];
//var innerHtml = "";
var itemInfo = '';
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//---------------------Search by Tags----------------------------
function SearchByTag(Tag) {
AllUsersEmails = [];
itemCounter = 0;
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><Contains><FieldRef Name='Tags' /><Value Type='Text'>" + Tag + "</Value></Contains></Where></Query><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></View>");
//query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='Tags'/><Value Type='Text'>" + Tag + "</Value></Eq></Where></Query></View>");
var items = IdeasList.getItems(query);
context.load(IdeasList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
var innerHtml = "<table id='IdeaTable' class='table table-striped table-bordered' cellspacing='0' width='100%'><thead style='display:none;'><tr><th>My Ideas</th></tr></thead><tbody></tbody></table>";
DisplayIdeaDiv.innerHTML = innerHtml
var favouritescss = "fa fa-heart-o";
var likesCssClass = "fa-thumbs-down";
ideaArray = [];
//var innerHtml = "";
var itemInfo = '';
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
var tags = currentListItem.get_item("Tags");
var tagsString = tagHtml(tags);
ideaArray.push({
Title: currentListItem.get_item("Title"),
IdeaDescription: currentListItem.get_item("IdeaDescription"),
ItemId: currentListItem.get_id(),
createdDate: currentListItem.get_item("Created"),
createdBy: currentListItem.get_item("Author"),
status: currentListItem.get_item("Status"),
IdeaBoxColumn: currentListItem.get_item("IdeaBox"),
Tags: tagsString,
Email: currentListItem.get_item('Email'),
Favouritescss: favouritescss,
LikesCssClass: likesCssClass
})
}
htmlBinding();
}),
Function.createDelegate(this, function () { })
);
}
//---------------------Get count of all Ideas---------------
function getCount() {
var web = context.get_web();
context.load(web);
var IdeasList = web.get_lists().getByTitle("Ideas");
var AllIdeaQuery = new SP.CamlQuery();
var AllItems = IdeasList.getItems(AllIdeaQuery);
var GoldenQuery = new SP.CamlQuery();
GoldenQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IsGoldenStars'/><Value Type='Boolean'>1</Value></Eq></Where></Query></View>");
var GoldenItems = IdeasList.getItems(GoldenQuery);
var TopPicksQuery = new SP.CamlQuery();
TopPicksQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IsTopPicks'/><Value Type='Boolean'>1</Value></Eq></Where></Query></View>");
var TopPicksItems = IdeasList.getItems(TopPicksQuery);
var MyIdeaQuery = new SP.CamlQuery();
MyIdeaQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='Author' LookupId='True'/><Value Type='Lookup'>" + _spPageContextInfo.userId + "</Value></Eq></Where></Query></View>");
var MyIdeaItems = IdeasList.getItems(MyIdeaQuery);
var LikeList = web.get_lists().getByTitle("Likes");
var myLikeItem = LikeList.getItems(MyIdeaQuery);
var FavList = web.get_lists().getByTitle("Favorites");
var myFavItem = FavList.getItems(MyIdeaQuery);
context.load(IdeasList);
context.load(LikeList);
context.load(FavList);
context.load(AllItems);
context.load(GoldenItems);
context.load(TopPicksItems);
context.load(MyIdeaItems);
context.load(myLikeItem);
context.load(myFavItem);
context.executeQueryAsync(
Function.createDelegate(this, function () {
$("#allIdeasCount").text(AllItems.get_count());
$("#TopPicksCount").text(TopPicksItems.get_count());
$("#GoldenCount").text(GoldenItems.get_count());
$("#myIdeaCount").val("My Ideas(" + MyIdeaItems.get_count() + ")");
$("#myLikeCount").val("My Likes(" + myLikeItem.get_count() + ")");
$("#myFavCount").val("My Favorites(" + myFavItem.get_count() + ")");
}),
Function.createDelegate(this, function () { })
);
}
//-----------------------Display Comment Box-----------------
function displayCommentBox(IdeaId) {
$("#btnComment" + IdeaId).parents(".row2").find("div.AddCommentDiv").show();
retrieveComments(IdeaId);
}
function retrieveComments(IdeaId) {
var ideaID = IdeaId;
var userInfo = [];
$.ajax({
url: appweburl + "/_api/web/lists/getbytitle('Comments')/items?$select=IdeaId,AuthorId,Author/FirstName,Author/LastName&$expand=Author",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
records = [];
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
var Ideaid = json_obj.d.results[i].IdeaId;
if (Ideaid == ideaID) {
var FirstName = json_obj.d.results[i].Author["FirstName"];
var LastName = "";
if (json_obj.d.results[i].Author["LastName"]) {
LastName = json_obj.d.results[i].Author["LastName"];
}
var authorID = json_obj.d.results[i].AuthorId;
userInfo.push({
authorID: authorID,
FirstName: FirstName,
LastName: LastName
});
}
}
},
error: function (data) {
failure(data);
}
});
$(".display-comm-div" + IdeaId).empty();
itemCounter = 0;
var web = context.get_web();
context.load(web);
var CommentsList = web.get_lists().getByTitle("Comments");
var query = new SP.CamlQuery();
query.set_viewXml("<View><Query><Where><Eq><FieldRef Name='IdeaId' /><Value Type='Text'>" + IdeaId + "</Value></Eq></Where></Query></View>");
var items = CommentsList.getItems(query);
context.load(CommentsList);
context.load(items);
context.executeQueryAsync(
Function.createDelegate(this, function () {
if (items.get_count() == 0) {
$(".display-comm-div" + IdeaId).text("Be the first one to comment");
}
else {
$(".display-comm-div" + IdeaId).text("");
}
//CommentsArray = [];
var enumerator = items.getEnumerator();
var CommentinnerHtml = "";
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
var author = "";
for (var i = 0; i < userInfo.length; i++) {
if (currentListItem.get_item("Author").get_lookupId() == userInfo[i].authorID) {
author = userInfo[i].FirstName + " " + userInfo[i].LastName;
}
}
CommentinnerHtml += '<div class="comment-div"><div class="col-md-1"> <img src="' + hostweburl + '/_layouts/15/userphoto.aspx?size=M&accountname=%20' + currentListItem.get_item("Email") + '" style=" width: 40px;height:40px;"></img></div>';
CommentinnerHtml += '<div class="col-md-9" style="width:90%"><p style="float:left;">' + author + ': </p>';
CommentinnerHtml += '<p class="comment-text">' + currentListItem.get_item("CommentText") + '</p>';
CommentinnerHtml += '<p style="word-wrap: break-word; float:left;">' + String.format("{0:d} {0:t} {0:tt}", currentListItem.get_item("Created")) + '</p>';
if ((CurrentUser == currentListItem.get_item("Author").get_lookupValue()) && (userId == currentListItem.get_item("Author").get_lookupId())) {
//CommentinnerHtml += '<input type="button" value="Del" id="btnCommentDelete' + currentListItem.get_id() + '" onclick="deleteComment(' + currentListItem.get_id() + ',' + IdeaId + ');"/>';
CommentinnerHtml += '<i class="fa fa-trash btn-delete commentDelbtn" id="btnCommentDelete' + currentListItem.get_id() + '" aria-hidden="true" OnClick="deleteComment(' + currentListItem.get_id() + ',' + IdeaId + ');"></i>';
//<i class='fa fa-trash' id="btnCommentDelete' + currentListItem.get_id() + '" aria-hidden='true' class='btn-delete' OnClick='deleteComment(" + currentListItem.get_id() + "," + IdeaId + ");'></i>
}
CommentinnerHtml += "</div></div>";
}
if (CommentinnerHtml != "") {
$(".display-comm-div" + IdeaId).html(CommentinnerHtml);
}
}),
Function.createDelegate(this, function (sender, args) {
bootbox.alert("Error:" + args.get_message());
})
);
}
function GetMyFavandLikesIdeas()
{
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
retrieveIdeasItems();
}
function GetMyFavouritesIdeas()
{
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
}
function GetActiveIdeasLikesandFav() {
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
}
//-------styling my ideas----------
function GetMyIdeas() {
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
MyIdea();
}
//-------styling ideas in top picks------
function GetTopPicksWithStyle() {
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
retrieveTopPicksIdea();
}
//---------styling ideas in golden star--------
function GetGoldenStarWithStyle() {
//New Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Favorites')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
favoritesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
//End Code
$.ajax({
url: window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('Likes')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
debugger;
var json_obj = $.parseJSON(JSON.stringify(data));
for (var i = 0; i < json_obj.d.results.length; i++) {
debugger;
var Ideaid = json_obj.d.results[i].IdeaId;
var AuthorId = json_obj.d.results[i].AuthorId;
myLikesArray.push([AuthorId, Ideaid]);
}
},
error: function (data) {
alert("Error");
}
});
retrieveGoldenStarsIdea();
}
Comments
Post a Comment