1 - Resumen de lo visto hasta ahora (20')
2 - Procedimiento para realizar operaciones básicas con JavaScript en SharePoint 2013 (100')
Break
3 - App Contoso (Provider Hosted-App). Uso de Azure (120')
function deleteListItem(siteUrl) { this.itemId = 2; var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('Announcements'); this.oListItem = oList.getItemById(itemId); oListItem.deleteObject(); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded() { alert('Item deleted: ' + itemId); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); }
function deleteListItemDisplayCount(siteUrl) { this.clientContext = new SP.ClientContext(siteUrl); this.oList = clientContext.get_web().get_lists() .getByTitle('Announcements'); clientContext.load(oList); clientContext.executeQueryAsync( Function.createDelegate(this, this.deleteItem), Function.createDelegate(this, this.onQueryFailed) ); } function deleteItem() { this.itemId = 58; this.startCount = oList.get_itemCount(); this.oListItem = oList.getItemById(itemId); oListItem.deleteObject(); oList.update(); clientContext.load(oList); clientContext.executeQueryAsync( Function.createDelegate(this, this.displayCount), Function.createDelegate(this, this.onQueryFailed) ); } function displayCount() { var endCount = oList.get_itemCount(); var listItemInfo = 'Item deleted: ' + itemId + '\nStart Count: ' + startCount + ' End Count: ' + endCount; alert(listItemInfo) } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); }
function updateListItem(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('Announcements'); this.oListItem = oList.getItemById(3); oListItem.set_item('Title', 'My Updated Title'); oListItem.update(); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded() { alert('Item updated!'); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); }
function createListItem(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('Announcements'); var itemCreateInfo = new SP.ListItemCreationInformation(); this.oListItem = oList.addItem(itemCreateInfo); oListItem.set_item('Title', 'My New Item!'); oListItem.set_item('Body', 'Hello World!'); oListItem.update(); clientContext.load(oListItem); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded() { alert('Item created: ' + oListItem.get_id()); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); }
var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('Announcements'); var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml('<View><RowLimit>100</RowLimit></View>'); this.collListItem = oList.getItems(camlQuery); clientContext.load( collListItem, 'Include(Id, DisplayName, HasUniqueRoleAssignments)' ); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded(sender, args) { var listItemInfo = ''; var listItemEnumerator = collListItem.getEnumerator(); while (listItemEnumerator.moveNext()) { var oListItem = listItemEnumerator.get_current(); listItemInfo += '\nID: ' + oListItem.get_id() + '\nDisplay name: ' + oListItem.get_displayName() + '\nUnique role assignments: ' + oListItem.get_hasUniqueRoleAssignments(); } alert(listItemInfo.toString()); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); }
function retrieveListItems(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('Announcements'); var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml( '<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + '<Value Type=\'Number\'>1</Value></Geq></Where></Query>' + '<RowLimit>10</RowLimit></View>' ); this.collListItem = oList.getItems(camlQuery); clientContext.load(collListItem); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded(sender, args) { var listItemInfo = ''; var listItemEnumerator = collListItem.getEnumerator(); while (listItemEnumerator.moveNext()) { var oListItem = listItemEnumerator.get_current(); listItemInfo += '\nID: ' + oListItem.get_id() + '\nTitle: ' + oListItem.get_item('Title') + '\nBody: ' + oListItem.get_item('Body'); } alert(listItemInfo.toString()); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); }
function readFile(resultpanel) { var clientContext; var oWebsite; var fileUrl; clientContext = new SP.ClientContext.get_current(); oWebsite = clientContext.get_web(); clientContext.load(oWebsite); clientContext.executeQueryAsync(function () { fileUrl = oWebsite.get_serverRelativeUrl() + "/Lists/Shared Documents/TextFile1.txt"; $.ajax({ url: fileUrl, type: "GET" }) .done(Function.createDelegate(this, successHandler)) .error(Function.createDelegate(this, errorHandler)); }, errorHandler); function successHandler(data) { resultpanel.innerHTML = "The content of file \"TextFile1.txt\": " + data } function errorHandler() { resultpanel.innerHTML = "Request failed: " + arguments[2]; } }