" + " " + text0 + " ";
if (count > 0)
{
$("#fldr"+ID+" a.IdLike").html(htmlstring);
$("#fldr"+ID+" .LikesCounts").html(String(count));
}
else
{
$("#fldr"+ID+" a.IdLike").html("");
}
}
var getisLiked = function (likedby)
{
var isliked = false;
if (likedby !== null && likedby !== undefined)
{
for (var i = 0; i < likedby.length; i++)
{
var like = likedby[i];
if (like.get_lookupId() === _spPageContextInfo.userId)
{
isliked = true;
break;
}
}
}
return isliked;
};
});
Tuesday, August 15, 2017
Autocomplete textbox using Managed Metatdata and Likes/NotLike implementation in Sharepoint 2013 List.
function termSetIDS(TermSetID1)
{
var dfrd1 = $.Deferred();
var dfrd2 = $.Deferred();
setTimeout(function()
{
//Doing async stuff
context = new SP.ClientContext.get_current();
session = SP.Taxonomy.TaxonomySession.getTaxonomySession(context);
termStore = session.getDefaultSiteCollectionTermStore();
RawTermSet = termStore.getTermSet(TermSetID1);
RawTerms = RawTermSet.getAllTerms();
context.load(session);
context.load(termStore);
context.load(RawTermSet);
context.load(RawTerms);
context.executeQueryAsync(onTaxonomySession, onTaxonomyFailed);
dfrd1.resolve();
function onTaxonomySession()
{
var Name = null;
Name = RawTermSet.get_name();
var terms = RawTermSet.get_terms();
context.load(terms);
context.executeQueryAsync(
function ()
{
var termsEnum = terms.getEnumerator();
while (termsEnum.moveNext())
{
var currentTerm = termsEnum.get_current();
var termName = currentTerm.get_name();
var termId = currentTerm.get_id();
termsList += termName + ": " + termId;
//Check if term has child terms
if (currentTerm.get_termsCount() > 0)
{
//Term has sub terms.
recursiveTerms(currentTerm, 1,Name);
}
//alert(termList);
//console.log(termList);
}
},
function ()
{
//failure to load terms.
});
}
function recursiveTerms(currentTerm, nestedLoop,Name)
{
//Loop count for formatting purpose.
var loop = nestedLoop + 1;
//Get Term child terms
var terms = currentTerm.get_terms();
context.load(terms);
context.executeQueryAsync(
function () {
var termsEnum = terms.getEnumerator();
while (termsEnum.moveNext()) {
var newCurrentTerm = termsEnum.get_current();
var termName = newCurrentTerm.get_name();
termId = newCurrentTerm.get_id();
//Tab Out format.
for (var i = 0; i < loop; i++)
{
termsList += "\t";
//alert(termsList);
}
termsList += termName + ": " + termId;
//console.log("termset retrieving now");
console.log(termName + "First");
termsArray.push(termName);
$("#autocompleteTextBoxTeamArea").autocomplete({ source: termsArray });
//alert(termsList);
//Check if term has child terms.
if (currentTerm.get_termsCount() > 0) {
//Term has sub terms.
recursiveTerms(newCurrentTerm, loop);
}
}
},
function ()
{
//failure to load terms
}
);
//termSetIDS(TermSetID2);
}
function onTaxonomyFailed(sender, args)
{
alert('Taxonomy Error:' + args.get_message());
}
}, 750);
setTimeout(function()
{
// doing async stuff
context = new SP.ClientContext.get_current();
session = SP.Taxonomy.TaxonomySession.getTaxonomySession(context);
termStore = session.getDefaultSiteCollectionTermStore();
RawTermSet = termStore.getTermSet(TermSetID2);
RawTerms = RawTermSet.getAllTerms();
context.load(session);
context.load(termStore);
context.load(RawTermSet);
context.load(RawTerms);
context.executeQueryAsync(onTaxonomySession, onTaxonomyFailed);
dfrd2.resolve();
function onTaxonomySession()
{
var Name = null;
Name = RawTermSet.get_name();
var terms = RawTermSet.get_terms();
context.load(terms);
context.executeQueryAsync(
function ()
{
var termsEnum = terms.getEnumerator();
while (termsEnum.moveNext())
{
var currentTerm = termsEnum.get_current();
var termName = currentTerm.get_name();
var termId = currentTerm.get_id();
termsList += termName + ": " + termId;
//Check if term has child terms
if (currentTerm.get_termsCount() > 0)
{
//Term has sub terms.
recursiveTerms(currentTerm, 1,Name);
}
//alert(termList);
//console.log(termList);
}
},
function ()
{
//failure to load terms.
});
}
function recursiveTerms(currentTerm, nestedLoop,Name)
{
//Loop count for formatting purpose.
var loop = nestedLoop + 1;
//Get Term child terms
var terms = currentTerm.get_terms();
context.load(terms);
context.executeQueryAsync(
function () {
var termsEnum = terms.getEnumerator();
while (termsEnum.moveNext()) {
var newCurrentTerm = termsEnum.get_current();
var termName = newCurrentTerm.get_name();
termId = newCurrentTerm.get_id();
//Tab Out format.
for (var i = 0; i < loop; i++)
{
termsList += "\t";
//alert(termsList);
}
termsList += termName + ": " + termId;
//console.log("termset retrieving now");
console.log(termName);
sArray.push(termName);
$("#autocompleteTextProcessArea").autocomplete({ source: sArray });
//alert(termsList);
//Check if term has child terms.
if (currentTerm.get_termsCount() > 0) {
//Term has sub terms.
recursiveTerms(newCurrentTerm, loop);
}
}
},
function ()
{
//failure to load terms
}
);
}
function onTaxonomyFailed(sender, args)
{
alert('Taxonomy Error:' + args.get_message());
}
}, 2000);
return $.when(dfrd1, dfrd2).done(function()
{
// Both asyncs tasks are done
//console.log('Both are Done.');
}).promise();
}
function bindCategories()
{
$.ajax({
url: _siteUrlContext + "/_api/web/lists/getbytitle('Categories')/items",
type: "GET",
async:false,
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose"
//"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function(data){
var count = data.d.results.length;
for(var i = 0;i < count; i++)
cArray.push(data.d.results[i].Title);
$("#autocompleteTextBoxCategories").autocomplete({ source: cArray });
},
error: function (err){
alert("Failed to get list items.");
console.log(JSON.stringify(err));
}
});
}
spApp = angular.module('spng-App', ['ngSanitize']);
//Create a Controller
spApp.controller('spng-WebCtrl', function($scope, $http)
{
$scope.getListDetails = function()
{
var termsArrayDisplay = [];
var strTeamArea = "Guideline [AGP]";
var Title = "June 2017";
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Posts');
//Microsoft.Office.Server.ReputationModel.Reputation.setLike(clientContext, listId, itemId, isLike);
var camlQuery = new SP.CamlQuery();
//var viewXml ="" + strTeamArea + " " + Title + " ";
var viewXml =" ";
camlQuery.set_viewXml(viewXml);
collListItem = oList.getItems(camlQuery);
//clientContext.load(collListItem,'Title', 'Id','Body');
clientContext.load(collListItem);
//clientContext.executeQueryAsync(Function.createDelegate(this, this.onQueryTfSucceeded), Function.createDelegate(this, this.onQueryTfFailed));
clientContext.executeQueryAsync(function ()
{
var idArr = [];
var listItemInfo = '';
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext())
{
var oListItem = listItemEnumerator.get_current();
//alert(oListItem.get_id());
//termsArray.push(oListItem.get_id());
var ItemTitle=oListItem.get_item('Title');
var ID=oListItem.get_id();
var PublishedDate=oListItem.get_item('PublishedDate');
var Body=oListItem.get_item('Body');
var LC = oListItem.get_item("LikesCount") == null ? "0" : String(oListItem.get_item("LikesCount"));
likedByy = oListItem.get_item('LikedBy');
var Isliked = false;
if(likedByy != null)
{
if(LC !=null && LC != undefined)
{
for(var i=0;i
$scope.LikePage = function()
{
var layoutsRoot = '/_layouts/15/';
$(function() {
$.getScript(layoutsRoot + "MicrosoftAjax.js", function () {
$.getScript(layoutsRoot + "SP.core.js", function () {
$.getScript(layoutsRoot + "SP.Runtime.js", function () {
$.getScript(layoutsRoot + "SP.js", function () {
$.getScript(layoutsRoot + "SP.Publishing.js", function () {
$.getScript(layoutsRoot + "Reputation.js", GetLikeCount)
});
});
});
});
});
});
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Posts');
EnsureScriptFunc('reputation.js', 'Microsoft.Office.Server.ReputationModel.Reputation', function ()
{
Microsoft.Office.Server.ReputationModel.Reputation.setLike(clientContext,sList,sItem);
context.executeQueryAsync(function ()
{
GetLikeCount();
},
function (sender, args)
{
alert('Failed to like this. Error:' + args.get_message());
});
});
}
function GetLikeCount() //Check to see if liked, get liked count, and if current user likes the item
{
context = new
SP.ClientContext(siteUrl);
list = context.get_web().get_lists().getById(sList);
thisItem = list.getItemById(sItem);
context.load(thisItem,"Title","ID","LikesCount","LikedBy");
context.executeQueryAsync(Function.createDelegate(this,onSuccess),Function.createDelegate(this,onFailure));
}
function onFailure(sender, args)
{
alert('Failed to get lists items. Error:' + args.get_message());
}
function onSuccess(sender, args)
{
var itemc = thisItem.get_item('LikesCount');
var likedBy = thisItem.get_item('LikedBy');
var ID = thisItem.get_item('ID');
console.log("ID="+ID);
if(itemc == null)
{
itemc = 0;
}
var isliked = getisLiked(likedBy);
if(isliked == true)
{
likeDisplay = true;
itemc = itemc-1;
}
else
{
likeDisplay = false;
itemc = itemc+1;
}
if(itemc < 0)
itemc = 0;
thisItem.set_item('LikesCount',itemc);
//thisItem.set_item('LikedBy','Saroj.Panda@shell.com');
//thisItem.set_item(SP.FieldLookupValue.set_lookupId(44));
thisItem.set_item('LikedBy',44);
//item.update();
thisItem.update();
context.executeQueryAsync(function ()
{
alert('Like Updated in Posts List.');
}, function (sender, args)
{
console.log(args.get_message());
}
);
ChangeLikeText(ID,likeDisplay,itemc);
}
function ChangeLikeText(ID,likeDisplay, count)
{ //Manage the DOM elements and presentation
var text0 = "";
if (likeDisplay == true)
{
$("#fldr"+ID+" a.IdLike").text('Unlike');
text0 = 'Like';
}
else
{
$("#fldr"+ID+" a.IdLike").text('Like');
text0 = 'Unlike';
}
var htmlstring = "
" + " " + text0 + " ";
if (count > 0)
{
$("#fldr"+ID+" a.IdLike").html(htmlstring);
$("#fldr"+ID+" .LikesCounts").html(String(count));
}
else
{
$("#fldr"+ID+" a.IdLike").html("");
}
}
var getisLiked = function (likedby)
{
var isliked = false;
if (likedby !== null && likedby !== undefined)
{
for (var i = 0; i < likedby.length; i++)
{
var like = likedby[i];
if (like.get_lookupId() === _spPageContextInfo.userId)
{
isliked = true;
break;
}
}
}
return isliked;
};
});
" + " " + text0 + " ";
if (count > 0)
{
$("#fldr"+ID+" a.IdLike").html(htmlstring);
$("#fldr"+ID+" .LikesCounts").html(String(count));
}
else
{
$("#fldr"+ID+" a.IdLike").html("");
}
}
var getisLiked = function (likedby)
{
var isliked = false;
if (likedby !== null && likedby !== undefined)
{
for (var i = 0; i < likedby.length; i++)
{
var like = likedby[i];
if (like.get_lookupId() === _spPageContextInfo.userId)
{
isliked = true;
break;
}
}
}
return isliked;
};
});
Subscribe to:
Comments (Atom)