Introduction
There are multiple ways we can show notifications or status from SharePoint Add In, in this article we can find more detail about SharePoint Out of box notification, status and JQuery notification implementation logic
You can download complete source code from the below URL
https://code.msdn.microsoft.com/Notification-and-Status-34bd280f
Solution compatibility
This sample is tested with SharePoint Online
This sample also compatible with SharePoint 2013 and SharePoint 2016
To create new project
Open visual studio 2015
On the file menu select New -> Project (Ctrl + Shift + N)
In the New Project window select or search “App for SharePoint”
In the “New App for SharePoint” wizard choose options based on your preferences
To add new resource file (.js or .css or Images) into project
Select a folder from solution explorer based on your file type (Images or Scripts or Content for CSS)
Right click and select “Open Folder in File Explorer” option
Now paste your files into the folder
Again in the solution explorer window at the top, click “Show All Files” icon
Now you can find the file without active icon, right click and select “Include in Project” Option
In the aspx page I have added six buttons and one text box to execute this sample and “notify.min.js” file added into project and refereed as script file reference.
<%-- The following 4 lines are ASP.NET directives needed when using SharePoint components --%> <%@ Page Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" MasterPageFile="~masterurl/default.master" Language="C#" %> <%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%-- The markup and script in the following Content element will be placed in the <head> of the page --%> <asp:Content ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server"> <script type="text/javascript" src="../Scripts/jquery-1.9.1.min.js"></script> <SharePoint:ScriptLink Name="sp.js" runat="server" OnDemand="true" LoadAfterUI="true" Localizable="false" /> <meta name="WebPartPageExpansion" content="full" /> <!-- Add your CSS styles to the following file --> <link rel="Stylesheet" type="text/css" href="../Content/App.css" /> <!-- Add your JavaScript to the following file --> <script type="text/javascript" src="../Scripts/App.js"></script> <script type="text/javascript" src="../Scripts/notify.min.js"></script> </asp:Content> <%-- The markup in the following Content element will be placed in the TitleArea of the page --%> <asp:Content ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server"> Notification and Status messages SharePoint Add In </asp:Content> <%-- The markup and script in the following Content element will be placed in the <body> of the page --%> <asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server"> <div id="divNotification"> <input type="button" name="btnAddNotification" id="btnAddNotification" value="Add Notification" /> </div> <div id="divStatus"> <input type="button" name="btnAddStatus" id="btnAddStatus" value="Add Status" /> <input type="button" name="btnModifyStatus" id="btnModifyStatus" value="Modify Status" /> <input type="button" name="btnStatusColour" id="btnStatusColour" value="Change Status Colour" /> <input type="button" name="btnRemoveStatus" id="btnRemoveStatus" value="Remove Status" /> </div> <div id="divJQueryStatus"> <input type="button" name="btnAddStatus" id="btnJQueryStatus" value="Add Status" /> </div> <input type="text" id="txtName" value="" /> </asp:Content>
In the App.js file (which is located under scripts folder) cleanup all unnecessary code, and using css selector select buttons and write functions inside click event.
SharePoint Out of Box Status
SP.UI.Status class provides methods for managing status messages. while we pass the color name as parameter to methods use lower case, Ex: red, green… if you pass it as “Red” then JavaScript won’t recognize it,because JavaScript is case sensitive.
SharePoint Out of Box Notification
SP.UI.Notify calss provides methods for managing notifications, we can pass notification message as HTML and by default, notifications appear for five seconds also we have option to adjusting this time
JQuery Notification
Notify.min.js used for JQuery notification, we can get extreme level of flexibility when we use JQuery notification also it is very simple to call with varies parameter. We can call any corner of the window or any side of the element
'use strict'; ExecuteOrDelayUntilScriptLoaded(initializePage, "sp.js"); function initializePage() { //This function creates a new notification on your this Add-In $('#btnAddNotification').click(function () { //The message inside the notification. var strHtml = "<img width='15px' src=\"../Images/loading.gif\" /> Loading <b>please wait...</b>"; //Specifies whether the notification stays on the page until removed. var bSticky = false; //Adds a notification to the page. By default, notifications appear for five seconds. SP.UI.Notify.addNotification(strHtml, bSticky); }); //The ID of the status to update. var spstatus; //this function Adds a status message to the Add-in page. $('#btnAddStatus').click(function () { //The title of the status message. var strTitle = "SPTECHNET"; //The contents of the status message. var strHtml = "New Status <b>massage</b>"; //Specifies whether the status message will appear at the beginning of the list. var atBegining = true; spstatus = SP.UI.Status.addStatus(strTitle, strHtml, atBegining); //The color to set for the status message. SP.UI.Status.setStatusPriColor(spstatus, "green"); }); $('#btnModifyStatus').click(function () { //The new status message. var strHtml = "Modified Status <b>massage</b>"; //Updates the specified status message. SP.UI.Status.updateStatus(spstatus, strHtml); //The color to set for the status message. SP.UI.Status.setStatusPriColor(spstatus, "blue"); }); $('#btnStatusColour').click(function () { var strColor = "red"; //The color to set for the status message. SP.UI.Status.setStatusPriColor(spstatus, strColor); }); $('#btnRemoveStatus').click(function () { //Removes all status messages from the page. SP.UI.Status.removeAllStatus(true); }); $('#btnJQueryStatus').click(function () { //Show JQuery status messages from the page. $.notify("Access granted", "success"); $.notify("Warning: Self-destruct in 3.. 2..", "warn"); $('#txtName').notify("This field is required", "info"); $.notify("BOOM!", { // whether to hide the notification on click clickToHide: true, // whether to auto-hide the notification autoHide: false, // if autoHide, hide after milliseconds autoHideDelay: 5000, // show the arrow pointing at the element arrowShow: true, // arrow size in pixels arrowSize: 5, // position defines the notification position though uses the defaults below position: 'top right', // default positions elementPosition: 'top right', globalPosition: 'top right', // default style style: 'bootstrap', // default class (string or [string]) className: 'error', // show animation showAnimation: 'slideDown', // show animation duration showDuration: 400, // hide animation hideAnimation: 'slideUp', // hide animation duration hideDuration: 200, // padding between element and notification gap: 2 }); }); }
You can download complete source code from the below URL
https://code.msdn.microsoft.com/Notification-and-Status-34bd280f
Hope you find this article helpful, check out my other articles too. Like my Facebook page to get future articles notification Let me know your Queries and feedback in comments