Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

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');
share|improve this question

1 Answer 1

up vote 3 down vote accepted

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>
    
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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