If somebody like the post and its helpful in your work then, add comments.

Friday, November 6, 2015

SharePoint Office 365 ECMA : Get version of the List Item

Hi,

To get version of the SharePoint list items; there are two option in JavaScript
  1. SPServices
$().SPServices({
            operation: "GetVersionCollection",
            async: false,
            strlistID: "Deviations",
            strlistItemID: DID,
            strFieldName: "PreventionDescription",
            completefunc: function (xData, Status) {
                // alert(xData.responseXML.xml)
                $(xData.responseText).find("Version").each(function () {
                    preventiveListTemp.push({
                        "Description": $(this).attr("PreventionDescription"),
                        "Editor": $(this).attr("Editor").split(",#")[4],
                        "Modified": $(this).attr("Modified"),
                        "Image": "/_layouts/15/userphoto.aspx?size=S&accountname=" + $(this).attr("Editor").split(",#")[3].toLowerCase().replace("@", "%40")
                    });
                });
            }
        });
  1. ECMA 

  • var filePath = '/sites/dk/sites/Departments/qms/Lists/Deviations/' + DID + '_.000'
    var clientContext = new SP.ClientContext;
    //var oList = clientContext.get_web().get_lists().getByTitle('Deviations');
    var web = clientContext.get_web();
    var listItemInfo = web.getFileByServerRelativeUrl(filePath);
    var listItemFields = listItemInfo.get_listItemAllFields();
    clientContext.load(web);
    clientContext.load(listItemInfo);
    clientContext.load(listItemFields);
    clientContext.executeQueryAsync(function (sender, args) {
        var fileVersions = listItemInfo.get_versions();
        clientContext.load(fileVersions);
        clientContext.executeQueryAsync(function (sender, args) {
            var fieldEnumerator = fileVersions.getEnumerator();
            while (fieldEnumerator.moveNext()) {
                var oListItemVersion = fieldEnumerator.get_current();

                // preventiveListTemp.push({

                // });

            }

        }, onQueryFailed);

    }, onQueryFailed);
  • Friday, May 22, 2015

    SharePoint ECMA : Get pages library items in ECMA

    To get the pages library items,  using the JavaScript/JSOM. For that in the clientContext.load we have to pass "File" parameter and than the site columns(internal names)

    getNewsPages = function() {
                     var clientContext = new SP.ClientContext.get_current();
                    var oList = clientContext.get_web().get_lists().getByTitle('Pages');
                    var camlQuery = new SP.CamlQuery();
                    camlQuery.set_viewXml(" 50");
                    selectedDoc = oList.getItems(camlQuery);
                    clientContext.load(selectedDoc , 'Include(Id, Title,File,PublishedDate1,TeaserText,TeaserImage,FileRef,NewsFilter)');
                    clientContext.executeQueryAsync(gettingNewsPagesSuccess , onQueryFailed);

                },
                gettingNewsPagesSuccess = function() {
                    var listItemEnumerator = selectedDoc.getEnumerator();
                    while (listItemEnumerator.moveNext()) {
                        var oListItem = listItemEnumerator.get_current();
                        tempList.push({
                            "Id": oListItem.get_id(),
                            "Title": oListItem.get_item('Title') ,
                            "PublishedDate": oListItem.get_item('PublishedDate1'),
                            "TeaserText": oListItem.get_item('TeaserText') ,
                            "TeaserImage": oListItem.get_item('TeaserImage'),
                            "Path": oListItem.get_item('FileRef'),
                            "NewsFilter": oListItem.get_item('NewsFilter')
                        });
                    }

                },

    Monday, March 2, 2015

    Office 365 : Create a site using custom site template

    To create a site using your designed custom site template in JSOM/ECMA, we can use below example :

     createProjectSite = function ($data) {
                dialogValue = SP.UI.ModalDialog.showWaitScreenWithNoClose("Site Creation", "Working on it...", 120, 400);
                id($data.Id);
                var url = $data.Title.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
                currentProjectObject = $data;
                var clientContext = CORO.megaMenucontext;
       


                var WCI = new SP.WebCreationInformation();
                WCI.set_webTemplate('{a5269682-aec6-49d7-b3f5-7481039abff8}#ProjectTemplate');
                WCI.set_description($data.ProjectDescription);
                WCI.set_title($data.Title);
                WCI.set_url(url);
                WCI.set_language('1033');
                if ($data.Access == "Public") { WCI.set_useSamePermissionsAsParentSite(true); }//To inherit the permission
                if ($data.Access == "Closed") { WCI.set_useSamePermissionsAsParentSite(false); }//To break the permission
                newWeb = projectWeb.get_webs().add(WCI);
                //save changes and generate callbacks
                clientContext.load(projectWeb);
                clientContext.executeQueryAsync(onCreationSuccess, onQueryFailed);
            },

    Office 365 : How to update quick launch node in SharePoint 2013

    To update a navigation note in SharePoint quick lanuch, we can do by JSOM. In below example we are updating the red box node.
            collChildNavNode =null,
            getNavigationNode = function(web, listData)
            {
                 var clientContext = CORO.megaMenucontext;
                // Get the Quick Launch navigation node collection.
                quickLaunchNodeCollection = web.get_navigation().get_quickLaunch();
                clientContext.load(quickLaunchNodeCollection);
                clientContext.executeQueryAsync(getNavigationNodeSuccess,onQueryFailed);
            },
            getNavigationNodeSuccess = function (sender, args) {
                var url = currentProjectObject .Title.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
                var clientContext = CORO.megaMenucontext;
                collChildNavNode = quickLaunchNodeCollection.get_item(0);     
                clientContext.load(collChildNavNode);
                clientContext.executeQueryAsync(createNavNode ,onQueryFailed);
            },
            createNavNode = function()
            {
                var url = currentProjectObject .Title.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
                var clientContext = CORO.megaMenucontext;
                collChildNavNode.set_title('Home');
                collChildNavNode.set_url("/sites/dk/sites/projects/" +url);       
                collChildNavNode.update();    
                clientContext.executeQueryAsync(createNavNodeSuccess, onQueryFailed);
            },
            createNavNodeSuccess = function()
            {
                console.log("Created navigation node");
            },