SharePoint JavaScript On Demand SPSOD

http://www.ilovesharepoint.com/2010/08/sharepoint-scripts-on-demand-spsod.html

Update:

If you want to modify Item’s ECB Menu, please do not make a copy of core.js.

Change

    <SharePoint:ScriptLink language="javascript" name="core.js" OnDemand="true" runat="server"/>

->

    <SharePoint:ScriptLink language="javascript" name="core.js" OnDemand="false" runat="server"/>

 

Add another webpart at the end of the page, override the “AddCheckinCheckoutMenuItem” (for hiding “Publish a Major Version”)

function AddCheckinCheckoutMenuItem(m, ctx, url)
{ULSsa6:;
    var menuOption;
    if(!HasRights(0x0, 0x4))
        return;
    if (currentItemCheckedOutUserId==SYSTEM_ACCOUNT_ID && ctx.CurrentUserId !=SYSTEM_ACCOUNT_ID)
        return;
    if (currentItemCheckedOutUserId==null)
        currentItemCheckedOutUserId=itemTable.getAttribute("COUId");
    if (currentItemCheckedOutUserId !="")
    {
        if(currentItemCheckedOutUserId==ctx.CurrentUserId
         || ctx.CurrentUserId==null
            || HasRights(0x0, 0x100))
        {
            strDisplayText=L_Checkin_Text;
            if (!FV4UI() || ctx.listTemplate==109)
                strAction="NavigateToCheckinAspx('"+ctx.HttpRoot+"', 'List="+ctx.listName+"&FileName="+url+"')";
            else
                strAction="CheckInSingleItemFromECB_Stub(event, currentCtx, itemTable)";
            strImagePath=ctx.imagesPath+"checkin.gif";
            menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 300);
            menuOption.id="ID_Checkin";
            CUIInfo(menuOption, "CheckIn", ["CheckIn"]);
            strDisplayText=L_DiscardCheckou_Text;
            strAction="UnDoCheckOutwithNotification('"+ctx.HttpRoot+"', '"+url+"')";
            strImagePath=ctx.imagesPath+"unchkout.gif";
            menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 310);
            menuOption.id="ID_DiscardCheckou";
            CUIInfo(menuOption, "DiscardCheckOut", ["DiscardCheckOut"]);
        }
    }
    else if(typeof(g_disableCheckoutInEditMode)=="undefined" || !g_disableCheckoutInEditMode)
    {
        strDisplayText=L_Checkout_Text;
        if (currentItemOpenControl=="")
            setDocType();
        var opencontrol="";
        if (ctx.listTemplate !=109)
            opencontrol=currentItemOpenControl+".3";
        var serverFileRedirect=itemTable.getAttribute("SRed");
        if(serverFileRedirect==null || serverFileRedirect=="" || HasRights(0x0, 0x20))
        {
            if (!FV4UI() || ctx.listTemplate==109)
                strAction="CheckoutDocument('"+ctx.HttpRoot+"', '"+url+"', '"+opencontrol+"')";
            else
                strAction="CheckoutSingleItemFromECB(currentCtx, itemTable)";
            strImagePath=ctx.imagesPath+"checkout.gif";
            menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 300);
            menuOption.id="ID_Checkout";
            CUIInfo(menuOption, "CheckOut", ["CheckOut"]);
        }
        if (currentItemModerationStatus==null)
            currentItemModerationStatus=GetAttributeFromItemTable(itemTable, "MS", "MStatus");
        if (ctx.EnableMinorVersions)
        {
            if (currentItemUIString==null)
                currentItemUIString=GetAttributeFromItemTable(itemTable, "UIS", "UIString");
            var minorversion=currentItemUIString%512;
            if ((((currentItemModerationStatus==1) ||
                (currentItemModerationStatus==3)) &&
                ctx.isModerated) ||
                (!ctx.isModerated  && minorversion !=0))
            {
                /*strDisplayText=L_PublishItem_Text;
                strAction="PublishMajorVersion(event, '"+ctx.HttpRoot+"', 'List="+ctx.listName+"&FileName="+url+"&Publish=true')";
                strImagePath=ctx.imagesPath+"pubmajor.gif";
                menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 320);
                CUIInfo(menuOption, "Publish", ["Publish"]);
                menuOption.id="ID_PublishItem";*/
            }
            else
            {
                var strMenuOptionId;
                var  bCancelApproval=false;
                if ((!ctx.isModerated) || (currentItemModerationStatus==0))
                {
                    strDisplayText=L_UnPublishItem_Text;
                    strMenuOptionId="ID_UnPublishItem";
                    strImagePath=ctx.imagesPath+"unpub.gif";
                }
                else
                {
                    strDisplayText=L_CancelPublish_Text;
                    strMenuOptionId="ID_CancelPublish";
                    strImagePath=ctx.imagesPath+"unapprv.gif";
                    bCancelApproval=true;
                }
                strAction="UnPublish('"+ctx.HttpRoot+"', 'FileName="+url+"&UnPublish=true',"+bCancelApproval+")";
                menuOption=CAMOpt(m, strDisplayText, strAction, strImagePath, null, 330);
                if (bCancelApproval)
                    CUIInfo(menuOption, "CancelApproval", ["CancelApproval"]);
                else
                    CUIInfo(menuOption, "Unpublish", ["Unpublish"]);
                menuOption.id=strMenuOptionId;
            }
        }
    }
}

Thanks ILoveSharePoint.

Comments

Popular posts from this blog

Setup SharePoint 2010

Register CSS to SP Master Page