Showing posts with label Javascript. Show all posts
Showing posts with label Javascript. Show all posts

Wednesday, 18 December 2013

SharePoint Get Specific Folder List Items

You can also check whether item is folder or list item using "FileSystemObjectType"

var context = SP.ClientContext.get_current();
var web = context.get_web();

//doc is a document library server relative url
var folder = web.getFolderByServerRelativeUrl("Documents/Wildlife");

//var parentFolder = folder.get_parentFolder();
//context.load(parentFolder);

context.load(folder);
context. executeQueryAsync(function(){

var query = new SP.CamlQuery();
query.set_folderServerRelativeUrl(folder.get_serverRelativeUrl());
var allItems = list.getItems(query);
context.load(allItems, "Include(Title, FileSystemObjectType, File)");

context.executeQueryAsync(function(){
debugger;
var itemsEnumerator = allItems.getEnumerator();
while(itemsEnumerator.moveNext()){
var item = itemsEnumerator.get_current();
var fileType = item.get_fileSystemObjectType();
//get the detailed information

 var title = item.get_item("Title")

}
}, function(sender, args){debugger;});

}, function(sender, args){debugger;});
Read More

Thursday, 12 December 2013

SharePoint Upload File to Document Library using Client Side Object Model

"use strict";

var JJ = window.JJ || {};
JJ.Jsom = JJ.Jsom || {};

JJ.Jsom.Libs = function () {

    var deferreds = new Array(),

    upload = function (library, filename, file) {
        deferreds[deferreds.length] = $.Deferred();
debugger;
        getFileBuffer(file).then(
            function (buffer) {
                var bytes = new Uint8Array(buffer);
                var content = new SP.Base64EncodedByteArray(); //base64 encoding
                for (var b = 0; b < bytes.length; b++) {
                    content.append(bytes[b]);
                }
                var ctx = new SP.ClientContext.get_current();

var oList = ctx.get_web().get_lists().getByTitle(library);

fileCreateInfo = new SP.FileCreationInformation();
fileCreateInfo.set_url(filename);
fileCreateInfo.set_content(content);
fileCreateInfo.set_overwrite(true);
               
this.newFile = oList.get_rootFolder().get_files().add(fileCreateInfo);

ctx.load(this.newFile);
ctx.executeQueryAsync(
Function.createDelegate(this, function(){alert('Done');}),
Function.createDelegate(this, function(){alert(arguments[1].get_message());})
);

            },
            function (err) {
                deferreds[deferreds.length - 1].reject(err);
            }
         );

        return deferreds[deferreds.length - 1].promise();

    },

    getFileBuffer = function (file) {
        var deferred = $.Deferred();
var reader = new FileReader();
reader.onload = function (e) {
deferred.resolve(e.target.result);
}
reader.onerror = function (e) {
deferred.reject(e.target.error);
}
reader.readAsArrayBuffer(file);
return deferred.promise();
    };

    return {
        upload: upload,
    };

}();

$(document).ready(function(){
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function(){});
$("#s4-bodyContainer").prepend('<input id="inputFile" type="file" /><input id="uploadDocumentButton" type="Button" value="Upload Document"/>');

$("#uploadDocumentButton").unbind('click').click(function () {
debugger;
if (document.getElementById("inputFile").files.length === 0) {
alert("Select a file!");
return;
}

var parts = document.getElementById("inputFile").value.split("\\");
var filename = parts[parts.length - 1];
var file = document.getElementById("inputFile").files[0];

JJ.Jsom.Libs.upload("Documents", filename, file);
});
});

Read More

Monday, 9 December 2013

SharePoint Get List AttachMents

SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function(){
debugger;
 var ctx=new SP.ClientContext("http://nit-hv5-idm2:11111/sites/hr/referral");
  var list = ctx.get_web().get_lists().getByTitle("Job Opening");
 var query = new SP.CamlQuery();
     query.set_viewXml('');
 var listFields = list.getItems(query);
 ctx.load(listFields);
ctx.executeQueryAsync(Function.createDelegate(this, function(sender,args){
debugger;var i=0;
   var listEnumerator = listFields.getEnumerator();
  while (listEnumerator.moveNext()) {
if(i++ == 0){
    var oField = listEnumerator.get_current();
    var attachments = oField.get_attachmentFiles();
    ctx.load(attachments);

ctx.executeQueryAsync(Function.createDelegate(this, function(sender, args){
debugger;
var enums = attachments.getEnumerator();
while (enums.moveNext()) {
var attacha = enums.get_current();
console.log(attacha.get_serverRelativeUrl());
}
 
console.log(attachments);
 

}), Function.createDelegate(this, function(){}));  

}
 }
}), Function.createDelegate(this, function(){}));
});

Read More

Wednesday, 25 September 2013

SharePoint CSOM Javascript Custom Employee SpotLight WebPart

<div class="carousel-wrapper">
  <div class="carousel-title">Know Your Friend</div>
  <div class="emp-carousel">
    <ul id="SpotlightContainer" class="bjqs">
      <!--<li> <img src="images/img1.jpg" />
        <div class="text">
          <h3>Maria Goretti</h3>
          <h5>(Marketing Lead)</h5>
          <p> It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum </p>
        </div>
        <a href="#" class="knowmore">Know more</a> </li>-->
     
    </ul>
  </div>
</div>

<script type="text/javascript" src="_layouts/15/sp.js"></script>
<script type="text/javascript" src="/_layouts/15/SP.UserProfiles.js" ></script>
<script src="/js/carousel.min.js"></script>
<link rel="stylesheet" href="/css/carousel.css">
<script type="text/javascript">

var profilePropertyNames = ["PreferredName", "PictureURL", "FirstName", "Designation"];
var Spot={
ctx: null,
listname: 'Spotlight',
listitems:'',
spotUsers:[],
userProperties: [],
finalData: [],
Spot: function () {
        //SP.SOD.executeFunc('sp.js', 'SP.ClientContext', Spot.load);
        Spot.Load();//write this line in main js load method
        Spot.ctx.executeQueryAsync(Function.createDelegate(this, function(){
Spot.onLoad();//write this line in main js onLoad method
}),
Function.createDelegate(this, Spot.QueryFailed ));
     
    },
    Load:function(){
   Spot.ctx = new SP.ClientContext.get_current();
   var list = Spot.ctx.get_web().get_lists().getByTitle(Spot.listname);
var query = new SP.CamlQuery();
   query.set_viewXml('');
Spot.listitems= list.getItems(query);
Spot.ctx.load(Spot.listitems);
   },
    onLoad:function(){
    var listEnumerator, title, userId, userName, loginName, pictureUrl, users=[], i=0, spotdescription, data=[];
    listEnumerator = Spot.listitems.getEnumerator();
while (listEnumerator.moveNext()) {
title = listEnumerator.get_current().get_item("Title");
userId= listEnumerator.get_current().get_item("UserName").get_lookupId();
spotdescription = listEnumerator.get_current().get_item("Description");
data.push({
        'userId': userId,
        'title': title,
        'spotdescription': spotdescription
       });
users[i] = Spot.ctx.get_web().getUserById(userId);
   Spot.ctx.load(users[i++]);
}//End while

/**/  Spot.ctx.executeQueryAsync(Function.createDelegate(this, function(){
      for( i=0; i < users.length;i++){
       console.log(users[i].get_loginName().split('|')[1]);
       console.log(users[i].get_id());
       Spot.spotUsers.push({
        'userId': users[i].get_id(),
        'userName': users[i].get_loginName().split('|')[1],
        'title': data[i].title,
        'spotdescription': data[i].spotdescription
       });
      }
   
      Spot.GetAllUserProperties();

/**/  }), Function.createDelegate(this, this.onFail));

    },
    QueryFailed : function(sender, args){
alert('Request failed. \nError: ' + args.get_message() + '\nStackTrace: ' + args.get_stackTrace());
},
GetAllUserProperties:function(){
var peopleManager = new SP.UserProfiles.PeopleManager(Spot.ctx);
for(var i=0 ; i < Spot.spotUsers.length ; i++){
     Spot.GetUserProperties(Spot.ctx, peopleManager, Spot.spotUsers[i].userId, Spot.spotUsers[i].userName, profilePropertyNames);
}
},
GetUserProperties:function(clientContext, peopleManager, userId, targetUser, profilePropertyNames){
var userProfilePropertiesForUser = new SP.UserProfiles.UserProfilePropertiesForUser(
 clientContext,
 targetUser,
 profilePropertyNames);
var userProfileProps = peopleManager.getUserProfilePropertiesFor(userProfilePropertiesForUser);
Spot.ctx.load(userProfilePropertiesForUser);
Spot.ctx.executeQueryAsync(
  function () {
  var jsonContent=[], jsonData = '{[';
  for(var j=0; j< profilePropertyNames.length; j++){
  var data='{"' + profilePropertyNames[j] + '":"' + userProfileProps[j] + '"}' ;
  jsonContent.push(data);
  }
  if(profilePropertyNames.length){
  Spot.userProperties.push({ 'userId': userId, 'prop': jsonContent });
  }
 
  Spot.SyncData();
},
  function () { Spot.QueryFailed });
},

SyncData: function(){
var users = Spot.spotUsers,
props = Spot.userProperties,
sync = [];
$.grep(users, function( a ) {

       $.grep(props, function( b ) {

if(a.userId == b.userId){
sync.push({ 'userId': a.userId, 'title' : a.title,'spotdescription':a.spotdescription, 'prop': b.prop });
}

});

});

Spot.finalData = sync;
Spot.BindToHTML();
},

BindToHTML: function(){
var html='', imgUrl, userName, desig, desc, spotdescription, title, props=[];

$.grep(Spot.finalData, function( p ) {
props=[];
for(var i=0; i< p.prop.length; i++){
props.push($.parseJSON(p.prop[i]));
}
imgUrl = props[1].PictureURL;
userName = props[0].PreferredName;
desig = props[3].Designation;
spotdescription = p.spotdescription;
desc = 'Temp Desc';
summary = 'Temp Summary';
title = p.title;

html += '<li><img src="'+ imgUrl +'" />' +
        '<div class="text">' +
          '<h3>' + userName + '</h3>' +
          '<h5>(' + desig + ')</h5>' +
          '<p>' + spotdescription + '</p>' +
        '</div>' +
        '<a href="' + spotdescription + '" class="knowmore">Know more</a>' +
       '</li>';
});
$('#SpotlightContainer').html(html);

$('.emp-carousel').bjqs({
animtype      : 'fade',
responsive    : false,
randomstart   : false
});

}
};

</script>
Read More

Friday, 20 September 2013

SharePoint SP Services Get User Profile Properties

'GetUserData':function(loginName){
        $().SPServices({
            operation: "GetUserProfileByName",
            AccountName: loginName, // replace adLogin with your string expression
            completefunc:function(data,status) {
                var profile = {};
                $(data.responseText).find("PropertyData").each(function(idx, val) {
                    var $val = $(val);
                    var name = $val.find("Name").text();
                    var value = $val.find("Value").text();
                    profile[name] = value;
                });
                ////////////debugger;
                // At this point the profile object has all profile properties:
                User.id = _spPageContextInfo.userId;
                User.title = profile.Title;
                User.userCountry = profile.UCBCountry;
                User.loginName = profile.AccountName;

            }
        });
    }
Read More

Monday, 3 December 2012

Get Client ID of Server Control in Javascript


Hi All,

Please find below simple JavaScript function to get client Id render by server control in html page via JavaScript.

          //function
function GetClientID(id, context) {
    var el = $("#" + id, context);

    if (el.length < 1)

    el = $("[id$=_" + id + "]", context);

    return el;

}
            //function call    
  var ctrlOk = GetClientID("btnOk").attr("id");

Where "btnOk" is the Id of your server control.

Thanks,
Nikhil S.
Read More

Monday, 26 November 2012

SharePoint check if page is in edit mode in javascript



I have written javascript code in my SharePoint Page which hide some controls on the page depending on the criteria. 

I want to execute this script only when page is published and my problem was this script was executed if the page is in edit mode.


I have found that SharePoint maintain this html input control which is rendering on the page when it is in edit mode

You can refer to this control in javascript and do your work accordingly.

var pageMode = document.forms[MSOWebPartPageFormName].MSOLayout_InDesignMode.value;

if (pageMode == ''){
//Page is not in edit mode 
}
Read More

Translate

Total Pageviews

Powered By Blogger · Designed By Seo Blogger Templates