3

It seems from my trivial Google searches, that some users find, for certain list types - an inconsistent experience related to modal dialogs.

In my scenario, we have a plain old SharePoint Foundation server, and on our particular sub site's Calendar, we have gone into 'List Settings' > 'Advanced Settings' and have turned off the 'Launch forms in a dialog' setting.

It seems to have no effect except for certain views of the calendar (we have a plain list view of the calendar -not by week/month/day or anything.. just a straight list rendering- where it does seem to work)

I'm wondering what's up with this?

EDIT

For the meantime, I'm can use jQuery to deactivate the dialog functionality. But, it gets ignored if users click the left-hand calendar widget to jump to various dates (the ajax refresh kills off the DOM that was affected by my jQuery)

jQuery('div#WebPartWPQ1 a').removeAttr('onclick');

2 Answers 2

3

Dialogs setting only affects List Views rendered via XsltListViewWebPart.

Specific List Views like Calendar (your case), Gantt or Chart Views are rendered via ListViewWebPart.
The point is that Dialogs setting does not take into account when a List View is rendered via ListViewWebPart. And the message on the List settings page:

Dialogs that may not be available on all forms

concerns exactly this situation.

How to open calendar forms as a full pages

The idea is to specify explicitly NavigateForFormsPages parameter for ContextInfo structure (for more details please follow this post Understanding the List Dialogs setting in SharePoint 2010 )

Steps:

  1. Add CEWP into Calendar View page (Calendar.aspx)
  2. Place the following JavaScript code into CEWP

    <script type="text/javascript">
    
    var ContextInfo = (function() {
        var ContextInfo_Orig = ContextInfo;
    
        return function() {
                ContextInfo_Orig();
                this.NavigateForFormsPages = true; // Set navigate to the full page for list forms links
        }
    
    })();
    </script>
    
0

Alternatively you can add the following link to your left navigation as "New Calender Event" and include the below link

sitename/Lists/Calenderlistname/NewForm.aspx?RootFolder=Lists%2FCalenderListName&ContentTypeId=0x010200482D7C3F07C0694984DEC8DD23D8A2D7002E021C99EA80B4438C58E54ABECCC335

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.