Saturday, November 21, 2015

Client-side People Picker control for Sharepoint

$(document).ready(function () {
    SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
})

function sharePointReady() {
    context = new SP.ClientContext.get_current();
    web = context.get_web();
    getUser().done(function (user) {
        var schema = {};
        schema['PrincipalAccountType'] = 'User,DL,SecGroup,SPGroup';
        schema['SearchPrincipalSource'] = 15;
        schema['ResolvePrincipalSource'] = 15;
        schema['AllowMultipleValues'] = false;
        schema['MaximumEntitySuggestions'] = 50;
        schema['Width'] = '280px';

        var users = new Array(1);
        var defaultUser = new Object();
        defaultUser.AutoFillDisplayText = user.get_title();
        defaultUser.AutoFillKey = user.get_loginName();
        defaultUser.Description = user.get_email();
        defaultUser.DisplayText = user.get_title();
        defaultUser.EntityType = "User";
        defaultUser.IsResolved = true;
        defaultUser.Key = user.get_loginName();
        defaultUser.Resolved = true;
        users[0] = defaultUser;
        SPClientPeoplePicker_InitStandaloneControlWrapper('peoplePickerDiv', users, schema);
    });
}

function getUser() {
    var dfd = $.Deferred(function () {
        user = web.get_currentUser();
        context.load(user);
        context.executeQueryAsync(
            function () {
                dfd.resolve(user);
            }),
            function () {
                dfd.reject(args.get_message());
            };
    });
    return dfd.promise();
}

Thursday, November 12, 2015

JSLink Urls

JSLink URLs and Tokens
When you are constructing your JSLink URL there are a number of tokens you can take advantage of:
  • ~site – reference to the current SharePoint site (or “Web”)
  • ~sitecollection – reference to the current SharePoint site collection (or “Site”)
  • ~layouts – version specific reference to the web application Layouts folder (so it will automatically swap out /_layouts/14 or /_layouts/15 for you)
  • ~sitecollectionlayouts – reference to the layouts folder in the current site collection (e.g. /sites/team/_layouts/15)
  • ~sitelayouts – reference to the layouts folder in the current site (e.g. /sites/teams/subsite/_layouts/15)

Friday, November 6, 2015

Export to Excel using javascript

http://www.c-sharpcorner.com/UploadFile/65794e/export-from-html-table-using-jquery/

Thursday, November 5, 2015

How to get spfielduser value in REST call ?


use below kind of query to get the SPFieldUserValue in REST based call

url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/Items?$select=Title,EmployeePhone,LeaveCategory,EmployeeLocation,EmployeeName/Title&$expand=EmployeeName&$filter="+ restQuery,

Monday, November 2, 2015

CRUD Operations using JSOM

Add :- 

function Add() {
    var clientContext = new SP.ClientContext();
    var oWeb = clientContext.get_web();
    var oList = oWeb.get_lists().getByTitle('List1');//Get SPList by Title
    var itemCreateInfo = new SP.ListItemCreationInformation();

    var oListItem = oList.addItem(itemCreateInfo);
    oListItem.set_item('Title', 'Value'); //Title is the field and Value is the value for field
    oListItem.update();

    clientContext.load(oListItem);
    clientContext.executeQueryAsync(Function.createDelegate(this, onQuerySucceeded), Function.createDelegate(this, onQueryFailed));

    //Function when the execution of the query successed
    function onQuerySucceeded(sender, args) {
        alert('Data ADDED successfully');
    };
    //Function to run when the execution falis
    function onQueryFailed(sender, args) {
        alert('Cannot ADD');
    };

};

Update :- 
function Update() {
    var clientContext = new SP.ClientContext();
    var oWeb = clientContext.get_web();
    var oList = oWeb.get_lists().getByTitle('List1');//Get SPList by Title

    var oListItem = oList.getItemById(1);//Get the list item by id
    oListItem.set_item('Title', 'New Value');
    oListItem.update();
    clientContext.executeQueryAsync(Function.createDelegate(this, onQuerySucceeded), Function.createDelegate(this, onQueryFailed));

    //Function when the execution of the query successed
    function onQuerySucceeded(sender, args) {
        alert('Data UPDATED successfully');
    };
    //Function to run when the execution falis
    function onQueryFailed(sender, args) {
        alert('Cannot UPDATE');
    };
};

Delete :-

function Delete() {
    var clientContext = new SP.ClientContext();
    var oWeb = clientContext.get_web();
    var oList = oWeb.get_lists().getByTitle('List1');//Get SPList by Title

    var oListItem = oList.getItemById(1);//Get the list item by id
   oListItem.deleteObject();
    clientContext.executeQueryAsync(Function.createDelegate(this, onQuerySucceeded), Function.createDelegate(this, onQueryFailed));

    //Function when the execution of the query successed
    function onQuerySucceeded(sender, args) {
        alert('Data DELETED successfully');
    };
    //Function to run when the execution falis
    function onQueryFailed(sender, args) {
        alert('Cannot DELETE');
    };
};