Prasad Bolla's SharePoint Blog

Click Here to go through the Interesting posts within my Blog.

Click Here to go through the new posts in my blog.
Showing posts with label ECMA Script. Show all posts
Showing posts with label ECMA Script. Show all posts

Monday, December 03, 2012

Retrieving Data from a LookUp Column using ECMA Script

var myColl="";
var strCurrentWeb="";
var strCurrentSiteUrl="";
function BindLookUpData()
{
    try
    {
        var context = new SP.ClientContext.get_current();
        var web = context.get_web();
        strCurrentWeb=context.get_url();
        strCurrentSiteUrl=window.location.protocol + '//' + window.location.host + strCurrentWeb;
        var list = web.get_lists().getByTitle('Book Names');
        var sQuery="<View><Query><OrderBy><FieldRef Name='ID' /></OrderBy></Query></View>";
        var camlQuery = new SP.CamlQuery();
        camlQuery.set_viewXml(sQuery);
        this.myColl = list.getItems(camlQuery);
        context.load(this.myColl, 'Include(Title, ID, Category)');
        context.executeQueryAsync(Function.createDelegate(this, this.BindLookUpDataSuccess), Function.createDelegate(this, this.BindLookUpDataFailed));
    }
    catch(Ex)
    {
        alert(Ex);
    }
}

function BindLookUpDataSuccess()
{
    var strBookNames="";
    strBookNames+="<Table>";
    if(myColl.get_count()!=0)
    {
        var listEnumerator = this.myColl.getEnumerator();
        strBookNames+="<Tr>";
        strBookNames+="<Td Colspan='2' Align='Center' class='HeadingClass'>";
        strBookNames+="Retrieving Data from a Lookup column";
        strBookNames+="</Td>";
        strBookNames+="</Tr>";
        strBookNames+="<Tr>";
        strBookNames+="<Td class='HeadingClass'>";
        strBookNames+="Person Name";
        strBookNames+="</Td>";
        strBookNames+="<Td class='HeadingClass'>";
        strBookNames+="Category";
        strBookNames+="</Td>";
        strBookNames+="</Tr>";
        while (listEnumerator.moveNext())
        {
            var item = listEnumerator.get_current();
            var strItemID=item.get_item('ID');
            var strTitle=item.get_item('Title');
            var strCategory=item.get_item('Category').get_lookupValue();
            var strCategoryID=item.get_item('Category').get_lookupId();
            var strUrl=strCurrentSiteUrl+"Lists/Book Names/DispForm.aspx?ID="+strItemID+"&Source="+window.location.href;
            var strLookUpUrl=strCurrentSiteUrl+"Lists/Book Category/DispForm.aspx?ID="+strCategoryID+"&Source="+window.location.href;
            strBookNames+="<Tr>";
            strBookNames+="<Td class='LoopRecordsClass'>";
            strBookNames+="<A href='"+strUrl+"' class='LoopRecordsClass'>"+strTitle+"</a>";
            strBookNames+="</Td>";
            strBookNames+="<Td class='LoopRecordsClass'>";
            strBookNames+="<A href='"+strLookUpUrl+"'>"+strCategory+"</A>";
            strBookNames+="</Td>";
            strBookNames+="</Tr>";

        }
    }
    else
    {
        strBookNames+="<Tr>";
        strBookNames+="<Td Colspan='2' Align='Center' class='HeadingClass'>";
        strBookNames+="No Books Data Available";
        strBookNames+="</Td>";
        strBookNames+="</Tr>";

    }
   
   
    strBookNames+="</Table>";
    document.getElementById("tdBookNames").innerHTML=strBookNames;
}

function BindLookUpDataFailed(sender, args)
{
    alert('failed. Message:' + args.get_message());
}

function BindData()
{
    ExecuteOrDelayUntilScriptLoaded(BindLookUpData, "sp.js");
}

_spBodyOnLoadFunctionNames.push("BindData");

Getting SubWeb URLS and Titles using ECMA Script Client Object Model

var context = null;
var web = null; 
function ShowAllSubsites()
{
    try
    {
         context = new SP.ClientContext.get_current();
         web = context.get_web().get_webs();
         context.load(web);
         context.executeQueryAsync(Function.createDelegate(this, this.SubWebsSuccessMethod), Function.createDelegate(this, this.SubWebsFailedMethod));    
    }
    catch(Ex)
    {
        alert(Ex);
    }
}

function SubWebsSuccessMethod(sender, args)
{
    var strSubwebs="";
    strSubwebs+="<Table>";
    strSubwebs+="<Tr>";
    strSubwebs+="<Td class='HeadingClass'>";
    strSubwebs+="SubWeb Name";
    strSubwebs+="</Td>";
    strSubwebs+="</Tr>";
    for(var i=0;i<this.web.get_count();i++)
    {
        var strSubWeb=this.web.itemAt(i);
        var strSubWebUrl=strSubWeb.get_serverRelativeUrl();
        var strSubwebTitle=strSubWeb.get_title();
        strSubwebs+="<Tr>";
        strSubwebs+="<Td class='LoopRecordsClass'>";
        strSubwebs+="<a href='"+strSubWebUrl+"'>"+strSubwebTitle+"</a>";
        strSubwebs+="</Td>";
        strSubwebs+="</Tr>";
    }
    strSubwebs+="</Table>";
    $("#divSubWebs").html(strSubwebs);
}

ExecuteOrDelayUntilScriptLoaded(ShowAllSubsites, "sp.js");

function SubWebsFailedMethod(sender, args)
{
    alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());
}

Thursday, November 29, 2012

Checking the Current Logged User Group using ECMA Script

var strCheckLoggedUser="";
var strCurrentUserName="";

function CheckAdminGroup()
{
    var currentContext = new SP.ClientContext();
    strCurrentUserName= currentContext.get_web().get_currentUser();
    currentContext.load(strCurrentUserName);
   
    var groupCollection = currentContext.get_web().get_siteGroups();
    var _group = groupCollection.getById(3);
    //Note:- Here 3 is the Admin Group ID.
   
    strCheckLoggedUser= _group.get_users();
    currentContext.load(strCheckLoggedUser);
    currentContext.executeQueryAsync(Function.createDelegate(this, this.UserAvailableinAdminGroup), Function.createDelegate(this, this.UserNotAvailableinAdminGroup));
}

function UserAvailableinAdminGroup()
{
    debugger;
    var strValidUser=false;
    var listEnumerator = strCheckLoggedUser.getEnumerator();
    while (listEnumerator.moveNext())
    {
        var item = listEnumerator.get_current();
        if (strCurrentUserName.get_loginName() == item.get_loginName())
        {
            strValidUser=true;
            break;
        }
    }
   
    if(strValidUser==true)
    {
        //Write your Functionality what u want to perform if the user logged in is a Admin User
        alert('Logged in user is Admin User');
    }
}

function UserNotAvailableinAdminGroup()
{
   
}

ExecuteOrDelayUntilScriptLoaded(CheckAdminGroup, "sp.js");

Getting the User Name and Login Name of the currently Logged User using ECMA Script

var context = ""; 
var web = ""; 
var currentUser = ""; 
    function getLoggedUser() { 
        context = new SP.ClientContext.get_current(); 
        web = context.get_web(); 
        currentUser = web.get_currentUser(); 
         currentUser.retrieve(); 
        context.load(web); 
        context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod), Function.createDelegate(this, this.onFailureMethod)); 
    } 
    function onSuccessMethod(sender, args) { 
        var strCurrentLoggedUser = web.get_currentUser(); 
        alert('User name:' + strCurrentLoggedUser .get_title() + '\n Login Name:' + strCurrentLoggedUser .get_loginName()); 
    } 
    function onFailureMethod(sender, args) { 
        alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace()); 
    }
   
    ExecuteOrDelayUntilScriptLoaded(getLoggedUser, "sp.js"); 

Search LookUp Column and select the value in the Dropdownlist using ECMA Script and JQuery

var myColl="";
var myColl1="";
var strCurrentWeb="";
var strCurrentSiteUrl="";
function SearchLookUpData()
{
    try
    {
        var context = new SP.ClientContext.get_current();
        var web = context.get_web();
        strCurrentWeb=context.get_url();
        strCurrentSiteUrl=window.location.protocol + '//' + window.location.host + strCurrentWeb;
        var list = web.get_lists().getByTitle('Book Names');
        var sQuery="<View><Query><Where><Eq><FieldRef Name='ID' /><Value Type='Counter'>4</Value></Eq></Where></Query></View>";
        var camlQuery = new SP.CamlQuery();
        camlQuery.set_viewXml(sQuery);
        this.myColl1 = list.getItems(camlQuery);
        context.load(this.myColl1, 'Include(Title, ID, Category)');
        context.executeQueryAsync(Function.createDelegate(this, this.SearchLookUpDataSuccess), Function.createDelegate(this, this.SearchLookUpDataFailed));
    }
    catch(Ex)
    {
        alert(Ex);
    }
}

function SearchLookUpDataSuccess()
{
    var strBookNames="";
    strBookNames+="<Table>";
    if(myColl1.get_count()!=0)
    {
        var listEnumerator = this.myColl1.getEnumerator();
        while (listEnumerator.moveNext())
        {
            var item = listEnumerator.get_current();
            var strCategoryID=item.get_item('Category').get_lookupId();
            $('select#ddlCategory').val(strCategoryID);
            break;
        }
    }
    else
    {
       

    }   
}

function SearchLookUpDataFailed(sender, args)
{
    alert('failed. Message:' + args.get_message());
}

function BindData()
{
    ExecuteOrDelayUntilScriptLoaded(BindLookUpData, "sp.js");
    ExecuteOrDelayUntilScriptLoaded(SearchLookUpData, "sp.js");
}


function BindLookUpData()
{
    try
    {
        //debugger;
        var context = new SP.ClientContext.get_current();
        var web = context.get_web();
        strCurrentWeb=context.get_url();
        strCurrentSiteUrl=window.location.protocol + '//' + window.location.host + strCurrentWeb;
        var list = web.get_lists().getByTitle('Book Category');
        var sQuery="<View><Query><OrderBy><FieldRef Name='ID' /></OrderBy></Query></View>";
        var camlQuery = new SP.CamlQuery();
        camlQuery.set_viewXml(sQuery);
        this.myColl = list.getItems(camlQuery);
        context.load(this.myColl, 'Include(Title, ID)');
        context.executeQueryAsync(Function.createDelegate(this, this.BindLookUpDataSuccess), Function.createDelegate(this, this.BindLookUpDataFailed));
    }
    catch(Ex)
    {
        alert(Ex);
    }
}

function BindLookUpDataSuccess()
{
    var strBookNames="";
    if(myColl.get_count()!=0)
    {
        var listEnumerator = this.myColl.getEnumerator();
        strBookNames+="<Select id='ddlCategory' width='158px'>";
        strBookNames+="<Option>Select Category</Option>";
        while (listEnumerator.moveNext())
        {
            var item = listEnumerator.get_current();
            var strItemID=item.get_item('ID');
            var strTitle=item.get_item('Title');
            strBookNames+="<Option Value='"+strItemID+"'>"+strTitle+"</Option>";
        }
        strBookNames+="</Select>";
    }
    document.getElementById("tdCategory").innerHTML=strBookNames;
}

function BindLookUpDataFailed(sender, args)
{
    alert('failed. Message:' + args.get_message());
}

_spBodyOnLoadFunctionNames.push("BindData");

Wednesday, November 28, 2012

Insertion into a LookUp Column using ECMA Script

var myColl="";
var strCurrentWeb="";
var strCurrentSiteUrl="";
function BindLookUpData()
{
    try
    {
        var context = new SP.ClientContext.get_current();
        var web = context.get_web();
        strCurrentWeb=context.get_url();
        strCurrentSiteUrl=window.location.protocol + '//' + window.location.host + strCurrentWeb;
        var list = web.get_lists().getByTitle('Book Category');
        var sQuery="<View><Query><OrderBy><FieldRef Name='ID' /></OrderBy></Query></View>";
        var camlQuery = new SP.CamlQuery();
        camlQuery.set_viewXml(sQuery);
        this.myColl = list.getItems(camlQuery);
        context.load(this.myColl, 'Include(Title, ID)');
        context.executeQueryAsync(Function.createDelegate(this, this.BindLookUpDataSuccess), Function.createDelegate(this, this.BindLookUpDataFailed));
    }
    catch(Ex)
    {
        alert(Ex);
    }
}

function BindLookUpDataSuccess()
{
    var strBookNames="";
    if(myColl.get_count()!=0)
    {
        var listEnumerator = this.myColl.getEnumerator();
        strBookNames+="<Select id='ddlCategory' width='158px'>";
        strBookNames+="<Option>Select Category</Option>";
        while (listEnumerator.moveNext())
        {
            var item = listEnumerator.get_current();
            var strItemID=item.get_item('ID');
            var strTitle=item.get_item('Title');
            strBookNames+="<Option Value='"+strItemID+"'>"+strTitle+"</Option>";
        }
        strBookNames+="</Select>";
    }
    document.getElementById("tdCategory").innerHTML=strBookNames;  
}

function BindLookUpDataFailed(sender, args)
{
    alert('failed. Message:' + args.get_message());
}

function BindData()
{
    ExecuteOrDelayUntilScriptLoaded(BindLookUpData, "sp.js");
}

function SaveLookUpColumn()
{
        debugger;
        var context = new SP.ClientContext.get_current();
        var web = context.get_web();
        strCurrentWeb=context.get_url();
        strCurrentSiteUrl=window.location.protocol + '//' + window.location.host + strCurrentWeb;
        var list = web.get_lists().getByTitle('Book Names');
        var listItemCreationInfo = new SP.ListItemCreationInformation();
        var newItem = list.addItem(listItemCreationInfo);
        newItem.set_item('Title', document.getElementById("txtBookName").value);
        var _newLookupField = new SP.FieldLookupValue();
        _newLookupField.set_lookupId($("#ddlCategory").val());
        newItem.set_item('Category', _newLookupField);
        newItem.update();
        context.executeQueryAsync(Function.createDelegate(this, this.LookUpInsertSuccess), Function.createDelegate(this, this.LookUpInsertFailed));
}

function LookUpInsertSuccess()
{
    alert('LookUp Column Successfuly Inserted');
    document.getElementById("txtBookName").value="";
    $("select#ddlCategory").get(0).selectedIndex=0;
}

function LookUpInsertFailed(sender, args)
{
    alert('failed. Message:' + args.get_message());
}

function InsertLookUpColumn()
{
    ExecuteOrDelayUntilScriptLoaded(SaveLookUpColumn, "sp.js");
}

_spBodyOnLoadFunctionNames.push("BindData");

Getting Data from SharePoint Hyperlink Field using ECMA Script

var myColl="";
function BindLinksData()
{
    try
    {
        var context = new SP.ClientContext.get_current();
        var web = context.get_web();
        var list = web.get_lists().getByTitle('Links');
        var sQuery="<View><Query><OrderBy><FieldRef Name='ID' /></OrderBy></Query></View>";
        var camlQuery = new SP.CamlQuery();
        camlQuery.set_viewXml(sQuery);
        this.myColl = list.getItems(camlQuery);
        context.load(this.myColl, 'Include(URL)');
        context.executeQueryAsync(Function.createDelegate(this, this.BindLinksDataSuccess), Function.createDelegate(this, this.BindLinksDataFailed));
    }
    catch(Ex)
    {
        alert(Ex);
    }
}

function BindLinksDataSuccess()
{
    var strLinksData="";
    strLinksData+="<Table>";
    if(myColl.get_count()!=0)
    {
        var listEnumerator = this.myColl.getEnumerator();
        strLinksData+="<Tr>";
        strLinksData+="<Td  Align='Center' class='HeadingClass'>";
        strLinksData+="Getting Data From Links List";
        strLinksData+="</Td>";
        strLinksData+="</Tr>";
        strLinksData+="<Tr>";
        strLinksData+="<Td class='HeadingClass'>";
        strLinksData+="Link Name";
        strLinksData+="</Td>";
        strLinksData+="</Tr>";
        while (listEnumerator.moveNext())
        {
            var item = listEnumerator.get_current();
            var strLinkUrl=item.get_item('URL').get_url();
            var strLinkTitle=item.get_item('URL').get_description();
           
            strLinksData+="<Tr>";
            strLinksData+="<Td class='LoopRecordsClass'>";
            strLinksData+="<A href='"+strLinkUrl+"' class='LoopRecordsClass'>"+strLinkTitle+"</a>";
            strLinksData+="</Td>";
            strLinksData+="</Tr>";

        }
    }
    else
    {
        strLinksData+="<Tr>";
        strLinksData+="<Td Colspan='2' Align='Center' class='HeadingClass'>";
        strLinksData+="No Books Data Available";
        strLinksData+="</Td>";
        strLinksData+="</Tr>";

    }
   
   
    strLinksData+="</Table>";
    document.getElementById("tdLinks").innerHTML=strLinksData;
}

function BindLinksDataFailed(sender, args)
{
    alert('failed. Message:' + args.get_message());
}

function BindData()
{
    ExecuteOrDelayUntilScriptLoaded(BindLinksData, "sp.js");
}

_spBodyOnLoadFunctionNames.push("BindData");

Tuesday, October 09, 2012

Delete the SharePoint ListItem using ECMA Script

Note:-
Use Delete() function in Delete Button onclick event, for DropDown Binding View my Previous article posted before this.


function Delete()
{
                ExecuteOrDelayUntilScriptLoaded(DeleteRecord, "sp.js");
}
function DeleteRecord()
{
                if(document.getElementById("ddlItemID").selectedIndex==0)
                {
                                alert('Please Select UserName');
                                return false;
                }
                var context = new SP.ClientContext.get_current();
    var web = context.get_web();
    var list = web.get_lists().getByTitle('Login');
    var LoginRecord = list.getItemById(document.getElementById("ddlItemID").options(document.getElementById("ddlItemID").selectedIndex).value);
    LoginRecord.deleteObject();
    context.executeQueryAsync(Function.createDelegate(this, this.DeleteSuccess), Function.createDelegate(this, this.DeleteFailed));
}

function DeleteSuccess()
{
                alert('Record Deleted Successfully');
                document.getElementById("tdItemID").innerHTML="";
                Bind();
                document.getElementById("ddlItemID").selectedIndex=0;
               
}

function DeleteFailed(sender, args)
{
                alert('Delete Failed');
}

Binding SharePoint ListItems to DropDownList using ECMA Script

Note:-
Use Bind() function in the Page Load. Before that Create a TD with ID tdItemID.

function Bind()

{

    ExecuteOrDelayUntilScriptLoaded(BindDropDown, "sp.js");

}


function BindDropDown()
{
                var context = new SP.ClientContext.get_current();
    var web = context.get_web();
    var list = web.get_lists().getByTitle('Login');
    var sQuery="<View><Query><OrderBy><FieldRef Name='ID' /></OrderBy></Query></View>";
     var camlQuery = new SP.CamlQuery();
      camlQuery.set_viewXml(sQuery);
      this.myColl = list.getItems(camlQuery);
      context.load(this.myColl, 'Include(Title, ID)');
      context.executeQueryAsync(Function.createDelegate(this, this.BindSuccess), Function.createDelegate(this, this.Bindfailed));
}
Bind();

function BindSuccess()
{
                var listEnumerator = this.myColl.getEnumerator();
                var strDropDown="";
                strDropDown+="<Select id='ddlItemID'>";
                strDropDown+="<Option>";
                strDropDown+="Select Username";
                strDropDown+="</Option>";
                while (listEnumerator.moveNext())
                {
                    var item = listEnumerator.get_current();
                    strDropDown+="<Option value='"+item.get_item('ID')+"'>";
                    strDropDown+=item.get_item('Title');
                    strDropDown+="</Option>";               
    }
   strDropDown+="</Select>";
                if(document.getElementById("tdItemID"))
                {
                                document.getElementById("tdItemID").innerHTML=strDropDown;
                }
}

function Bindfailed(sender, args)
{
    alert('failed. Message:' + args.get_message());
}

Search and Update using Client Object Model

Note:-
Use Edit() Function in Search Button Onclick event  and Update() Function in Update Button Onclick Event.

var strItemID="";
var myColl="";

 function Edit()

{

    ExecuteOrDelayUntilScriptLoaded(SearchRecord, "sp.js");

}

function Update()

{

    ExecuteOrDelayUntilScriptLoaded(UpdateRecord, "sp.js");

}
function SearchRecord()
{
                try
                {
                var context = new SP.ClientContext.get_current();
    var web = context.get_web();
    var list = web.get_lists().getByTitle('Login');
                var sQuery = '<View Scope=\'RecursiveAll\'>'+
                        '<Query>'+
                            '<Where>'+
                            '<Eq>'+
                                '<FieldRef Name=\'Title\'/>' +
                                '<Value Type=\'Text\'>' + document.getElementById("txtUserName").value +'</Value>'+
                            '</Eq>'+
                            '</Where>'+
                        '</Query>'+
                             '</View>';
        var camlQuery = new SP.CamlQuery();
        camlQuery.set_viewXml(sQuery);
        this.myColl = list.getItems(camlQuery);
        context.load(this.myColl, 'Include(Title, Password, ID)');
        context.executeQueryAsync(Function.createDelegate(this, this.SearchSuccess), Function.createDelegate(this, this.failed));
                }
                catch(ex)
                {
                                alert(ex.message);
                }
}

function SearchSuccess()
{
                document.getElementById("divItemID").innerHTML="";
                var listEnumerator = this.myColl.getEnumerator();
                while (listEnumerator.moveNext())
                {
                    var item = listEnumerator.get_current();               
                    document.getElementById("txtPassWord").value = item.get_item('Password');
                    document.getElementById("divItemID").innerHTML=item.get_item('ID');
                    break;
    }
}
function failed(sender, args) {
    alert('failed. Message:' + args.get_message());
}

function UpdateRecord()
{
                var context = new SP.ClientContext.get_current();
    var web = context.get_web();
    var list = web.get_lists().getByTitle('Login');
    var LoginRecord = list.getItemById(strItemID);
    LoginRecord.set_item('Password', document.getElementById("txtPassWord").value);
    LoginRecord.update();
    context.executeQueryAsync(Function.createDelegate(this, this.Updatesuccess), Function.createDelegate(this, this.Updatefailed));
}

function Updatesuccess()
{
                alert("Record Updated Successfully");
                document.getElementById("txtUserName").value="";
                document.getElementById("txtPassWord").value="";
               
}

function Updatefailed()
{
                alert('Update Failed');
}