How to add Custom ECB (Context Menu) in SharePoint Online List
Below is the script for adding context menu in SharePoint List
<script language="javascript" type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', AddCustomUserActionToECB);
});
var oListItem;
function AddCustomUserActionToECB() {
//Get the client context,web and list object
var clientContext = new SP.ClientContext();
var oWeb = clientContext.get_web();
var oList = oWeb.get_lists().getByTitle('TestList');
var userCustomActionColl = oList.get_userCustomActions();
var oUserCustomAction = userCustomActionColl.add();
oUserCustomAction.set_location('EditControlBlock');
oUserCustomAction.set_sequence(100);
oUserCustomAction.set_title("Copy Item");
oUserCustomAction.set_url("/sites/TestSite/sitepages/UserCustomActionLandingPage.aspx?ListId={ListId}&ItemId={ItemId}");
oUserCustomAction.update();
clientContext.load(userCustomActionColl);
clientContext.executeQueryAsync(QuerySuccess, QueryFailure);
}
function QuerySuccess() {
console.log("Custom Action added to ECB menu.");
}
function QueryFailure() {
console.log('Request failed - ' + args.get_message());
}
</script>
<script language="javascript" type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', AddCustomUserActionToECB);
});
var oListItem;
function AddCustomUserActionToECB() {
//Get the client context,web and list object
var clientContext = new SP.ClientContext();
var oWeb = clientContext.get_web();
var oList = oWeb.get_lists().getByTitle('TestList');
var userCustomActionColl = oList.get_userCustomActions();
var oUserCustomAction = userCustomActionColl.add();
oUserCustomAction.set_location('EditControlBlock');
oUserCustomAction.set_sequence(100);
oUserCustomAction.set_title("Copy Item");
oUserCustomAction.set_url("/sites/TestSite/sitepages/UserCustomActionLandingPage.aspx?ListId={ListId}&ItemId={ItemId}");
oUserCustomAction.update();
clientContext.load(userCustomActionColl);
clientContext.executeQueryAsync(QuerySuccess, QueryFailure);
}
function QuerySuccess() {
console.log("Custom Action added to ECB menu.");
}
function QueryFailure() {
console.log('Request failed - ' + args.get_message());
}
</script>
Comments
Post a Comment