define("bundles/ondemand/components/menu/FullMenuItems",["require","exports","module","q","react-with-addons","underscore","naptime","js/lib/mapProps","bundles/phoenix/template/models/userIdentity","bundles/course-references/components/CourseReferencesLink","bundles/course-references/components/CourseReferencesList","bundles/group-roster/components/GroupClassmatesPage","bundles/ondemand/components/CourseInfoPage","bundles/ondemand/components/menu/AdminButton","bundles/ondemand/components/menu/ForumSetList","bundles/ondemand/components/menu/MainNavItem","bundles/ondemand/components/menu/ModuleList","bundles/ondemand/utils/gle/inGleHomeExperiment","bundles/ondemand/stores/SessionStore","bundles/groups/models/Group","bundles/ondemand/constants/Constants","bundles/ondemand/utils/socialExperimentUtils","bundles/ondemand/utils/url","bundles/naptimejs/resources/onDemandPreviewingStates.v1","bundles/discussions/utils/ViewContextLoader","bundles/discussions/viewModels/viewContext","js/lib/getPropsFromPromise","js/lib/waitFor","pages/open-course/common/promises/courseAuthorization","bundles/naptimejs/resources/privilegedAuths.v1","i18n!nls/ondemand","vendor/cnpm/fluxible.v0-4/addons/connectToStores"],function(require,exports,module){"use strict";function _defaults(e,o){for(var r=Object.getOwnPropertyNames(o),t=0;t<r.length;t++){var s=r[t],n=Object.getOwnPropertyDescriptor(o,s);n&&n.configurable&&void 0===e[s]&&Object.defineProperty(e,s,n)}return e}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):_defaults(t,e))}var b=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[s]=t[s])}return n},S=function(){function defineProperties(n,s){for(var t=0;t<s.length;t++){var e=s[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(n,e.key,e)}}return function(e,t,s){return t&&defineProperties(e.prototype,t),s&&defineProperties(e,s),e}}(),O=function get(r,a,u){var s=!0;e:for(;s;){var t=r,i=a,l=u;s=!1,null===t&&(t=Function.prototype);var e=Object.getOwnPropertyDescriptor(t,i);if(void 0===e){var n=Object.getPrototypeOf(t);if(null===n)return void 0;r=n,a=i,u=l,s=!0,e=n=void 0;continue e}if("value"in e)return e.value;var o=e.get;if(void 0===o)return void 0;return o.call(l)}},w=require("q"),e=require("react-with-addons"),_=require("underscore"),a=require("naptime"),u=require("js/lib/mapProps"),i=require("bundles/phoenix/template/models/userIdentity"),p=require("bundles/course-references/components/CourseReferencesLink"),m=require("bundles/course-references/components/CourseReferencesList"),d=require("bundles/group-roster/components/GroupClassmatesPage"),c=require("bundles/ondemand/components/CourseInfoPage"),v=require("bundles/ondemand/components/menu/AdminButton"),h=require("bundles/ondemand/components/menu/ForumSetList"),n=require("bundles/ondemand/components/menu/MainNavItem"),f=require("bundles/ondemand/components/menu/ModuleList"),I=require("bundles/ondemand/utils/gle/inGleHomeExperiment"),g=require("bundles/ondemand/stores/SessionStore"),H=require("bundles/groups/models/Group"),E=require("bundles/ondemand/constants/Constants"),t=E.mainNavItems,C=require("bundles/ondemand/utils/socialExperimentUtils"),y=C.isForumsBlacklisted,o=require("bundles/ondemand/utils/url"),N=o.getDiscussionsUrl,P=o.getHomeUrl,M=o.getAssignmentsUrl,l=o.getOfficeHoursUrl,G=o.getCourseManagerUrl,R=require("bundles/naptimejs/resources/onDemandPreviewingStates.v1"),F=require("bundles/discussions/utils/ViewContextLoader"),T=require("bundles/discussions/viewModels/viewContext"),j=require("js/lib/getPropsFromPromise"),x=require("js/lib/waitFor"),U=require("pages/open-course/common/promises/courseAuthorization"),A=require("bundles/naptimejs/resources/privilegedAuths.v1"),s=require("i18n!nls/ondemand"),k=require("vendor/cnpm/fluxible.v0-4/addons/connectToStores"),L=c.getUrl,r=function(o){function FullMenuItems(){_classCallCheck(this,FullMenuItems),O(Object.getPrototypeOf(FullMenuItems.prototype),"constructor",this).apply(this,arguments),this.state={canTeach:!1}}return _inherits(FullMenuItems,o),S(FullMenuItems,[{key:"componentWillMount",value:function componentWillMount(){var e=this;U.then(function(t){e.setState({canTeach:t.canTeach})}).done()}},{key:"render",value:function render(){var i=this.props,o=i.groupContext,r=i.eventGroup,u=i.previewState,c=u&&!!u.previewBranchId,S=e.createElement(n,{name:t.HOME,title:s("Course Home"),link:P(),selected:this.props.selectedItem===t.HOME,isItemNav:this.props.isItemNav}),x=e.createElement(n,{name:t.ASSIGNMENTS,title:s("Assignments"),link:M(),selected:this.props.selectedItem===t.ASSIGNMENTS,isItemNav:this.props.isItemNav}),b=!y(),g=e.createElement(n,{name:t.DISCUSSIONS,title:s("Discussions"),link:o?o.get("discussionsLink"):N(),selected:this.props.selectedItem===t.DISCUSSIONS,isItemNav:this.props.isItemNav,locked:c}),C=e.createElement(n,{name:t.OFFICE_HOURS,title:s("Office Hours"),link:l(),selected:this.props.selectedItem===t.OFFICE_HOURS,isItemNav:this.props.isItemNav}),O=e.createElement(n,{name:t.OFFICE_HOURS,title:s("Live Events"),link:l(),selected:this.props.selectedItem===t.OFFICE_HOURS,isItemNav:this.props.isItemNav}),w=e.createElement(n,{name:t.COURSE,title:s("Course Content"),link:this.props.scheduleUrl,selected:this.props.selectedItem===t.COURSE,isItemNav:this.props.isItemNav}),R=e.createElement(n,{name:t.CLASSMATES,title:s("Classmates"),link:d.getUrl(),selected:this.props.selectedItem===t.CLASSMATES,isItemNav:this.props.isItemNav,locked:c}),F=e.createElement(n,{name:t.INFO,title:s("Course Info"),link:L(),selected:this.props.selectedItem===t.INFO,isItemNav:this.props.isItemNav}),T=e.createElement(n,{name:t.COURSE_MANAGER,title:s("Course Manager"),link:G(),selected:this.props.selectedItem===t.COURSE_MANAGER,isItemNav:this.props.isItemNav,subtitle:s("Staff & Mentors Only")}),j=!_(this.props.rosterGroups).isEmpty()||this.state.canTeach,a=I(),E=!this.props.isItemNav&&(this.props.selectedItem===t.COURSE||a&&this.props.selectedItem===t.HOME);return e.createElement("ul",{className:"rc-FullMenuItems c-main-menu flex-1 vertical-box nostyle",onClick:this.props.hideMobileMenu},!this.props.isItemNav&&e.createElement(v,null),e.createElement("li",null,S),!a&&e.createElement("li",null,w),E&&e.createElement(f,null),!a&&this.props.hasGradableItems&&e.createElement("li",null,x),b&&e.createElement("li",null,g),b&&o&&!this.props.isItemNav&&this.props.selectedItem===t.DISCUSSIONS&&e.createElement(h,{groupContext:o}),r&&r.isFacilitatedGroup()&&e.createElement("li",null,C),r&&!r.isFacilitatedGroup()&&e.createElement("li",null,O),j&&e.createElement("li",null,R),e.createElement("li",null,e.createElement(p,{isSelected:this.props.selectedItem===t.REFERENCES,isItemNav:this.props.isItemNav})),!this.props.isItemNav&&this.props.selectedItem===t.REFERENCES&&e.createElement(m,null),e.createElement("li",null,F),this.props.showCourseManager&&e.createElement("li",null,T))}}],[{key:"propTypes",value:{hideMobileMenu:e.PropTypes.func.isRequired,scheduleUrl:e.PropTypes.string.isRequired,hasGradableItems:e.PropTypes.bool.isRequired,selectedItem:e.PropTypes.string,isItemNav:e.PropTypes.bool,rosterGroups:e.PropTypes.array,groupContext:e.PropTypes.instanceOf(T),eventGroup:e.PropTypes.instanceOf(H),previewState:e.PropTypes.object,isEnrolled:e.PropTypes.bool,showCourseManager:e.PropTypes.bool},enumerable:!0},{key:"defaultProps",value:{isItemNav:!1,showEvents:!1},enumerable:!0}]),FullMenuItems}(e.Component);module.exports=_.compose(k(["CourseStore","FacilitatedStore","GroupEntitlementStore","CourseMembershipStore"],function(e,r){var s=e.CourseStore,o=e.FacilitatedStore,t=e.GroupEntitlementStore,n=e.CourseMembershipStore;return{hasLoaded:s.hasLoaded()&&o.hasLoaded()&&t.hasGroupsLoaded(),hasGradableItems:s.hasGradableItems(),rosterGroups:t.getMyGroupsWithRosterEnabled(),eventGroups:t.getMyGroupsWithEventsEnabled(),forumGroups:t.getMyGroupsWithForumsEnabled(),isEnrolled:g.isEnrolled(),canPreviewBranches:n.hasTeachingRole()||i.get("is_superuser"),hasModerationRole:n.hasModerationRole(),hasPeerReviewItems:s.getMaterials().getPeerReviewItemMetadatas().length>0}}),x(function(e){var t=e.hasLoaded;return t}),j(function(e){var t=e.eventGroups,s=e.forumGroups,n=s.length>0?s[0].id:null,o=t.length>0?t[0]:null,r=n?F.loadGroupContext(n):w(null);return r.then(function(e){return{groupContext:e,eventGroup:o}})}),a.createContainer(function(e){var t=e.courseId,s=e.canPreviewBranches,n=[i.get("id"),t].join("~");return{previewState:s&&R.get(n,{required:!1,fields:["previewBranchId"]}),privilegedAuths:A.finder("me",{fields:["outsourcingPermissions"],required:!1})}}),u(function(e){return b({},e,{showCourseManager:e.hasPeerReviewItems&&(e.hasModerationRole||e.privilegedAuths&&e.privilegedAuths[0]&&!!e.privilegedAuths[0].outsourcingPermissions)})}))(r),module.exports.BaseComp=r});
define("bundles/ondemand/components/quiz/QuizItem",["require","exports","module","classnames","q","react-with-addons","underscore","bundles/assess/assessmentTypes/phoenixQuiz/assessment","bundles/assess/assessmentTypes/phoenixQuiz/assessment.attempt","bundles/content-feedback/constants/ItemTypes","bundles/ondemand/components/ItemLayout","bundles/ondemand/components/item/LightItemLayout","bundles/ondemand/utils/itemViewValidator","bundles/phoenix/components/OrigamiRegion","js/lib/getPropsFromPromise","js/lib/waitFor","pages/open-course/assessment/clients/contentRequesterAssessmentClient","pages/open-course/assessment/clients/naptimeAssessmentClient","pages/open-course/assessment/models/exam/assessment","pages/open-course/assessment/models/openSinglePage/assessment","pages/open-course/assessment/models/quiz/assessment","pages/open-course/common/contentRequester","pages/open-course/common/models/itemGroup","pages/open-course/common/models/itemMetadata","pages/open-course/common/naptimeItemClient","pages/open-course/common/singletons/course","pages/open-course/common/singletons/courseGrade","pages/open-course/common/singletons/courseMaterials","pages/open-course/common/singletons/courseProgress","pages/open-course/common/singletons/verificationDisplay","pages/open-course/common/utils/lockExperiment","pages/open-course/verification/views/verification"],function(require,exports,module){"use strict";function _defaults(e,o){for(var r=Object.getOwnPropertyNames(o),s=0;s<r.length;s++){var t=r[s],n=Object.getOwnPropertyDescriptor(o,t);n&&n.configurable&&void 0===e[t]&&Object.defineProperty(e,t,n)}return e}function _classCallCheck(e,s){if(!(e instanceof s))throw new TypeError("Cannot call a class as a function")}function _inherits(s,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);s.prototype=Object.create(e&&e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(s,e):_defaults(s,e))}function getContentModelPromise(e){if("assessOpenSinglePage"===e.getTypeName())return P({metadata:e});if("quiz"===e.getTypeName())return w({metadata:e});if("exam"===e.getTypeName())return O({metadata:e})}function getClient(e){if("assessOpenSinglePage"===e.getTypeName()||"quiz"===e.getTypeName()){var s=new T(e);return new v(s)}if("exam"===e.getTypeName()){var t=new q(e);return new h(e,t)}}var n=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var s=arguments[e];for(var t in s)Object.prototype.hasOwnProperty.call(s,t)&&(n[t]=s[t])}return n},o=function(){function defineProperties(n,t){for(var s=0;s<t.length;s++){var e=t[s];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(n,e.key,e)}}return function(e,s,t){return s&&defineProperties(e.prototype,s),t&&defineProperties(e,t),e}}(),r=function get(r,p,u){var t=!0;e:for(;t;){var s=r,a=p,i=u;t=!1,null===s&&(s=Function.prototype);var e=Object.getOwnPropertyDescriptor(s,a);if(void 0===e){var n=Object.getPrototypeOf(s);if(null===n)return void 0;r=n,p=a,u=i,t=!0,e=n=void 0;continue e}if("value"in e)return e.value;var o=e.get;if(void 0===o)return void 0;return o.call(i)}},a=require("classnames"),i=require("q"),e=require("react-with-addons"),p=require("underscore"),u=p.compose,c=require("bundles/assess/assessmentTypes/phoenixQuiz/assessment"),m=require("bundles/assess/assessmentTypes/phoenixQuiz/assessment.attempt"),l=require("bundles/content-feedback/constants/ItemTypes"),d=require("bundles/ondemand/components/ItemLayout"),g=require("bundles/ondemand/components/item/LightItemLayout"),f=require("bundles/ondemand/utils/itemViewValidator"),y=require("bundles/phoenix/components/OrigamiRegion"),t=require("js/lib/getPropsFromPromise"),b=require("js/lib/waitFor"),v=require("pages/open-course/assessment/clients/contentRequesterAssessmentClient"),h=require("pages/open-course/assessment/clients/naptimeAssessmentClient"),O=require("pages/open-course/assessment/models/exam/assessment"),P=require("pages/open-course/assessment/models/openSinglePage/assessment"),w=require("pages/open-course/assessment/models/quiz/assessment"),T=require("pages/open-course/common/contentRequester"),j=require("pages/open-course/common/models/itemGroup"),s=require("pages/open-course/common/models/itemMetadata"),q=require("pages/open-course/common/naptimeItemClient"),x=require("pages/open-course/common/singletons/course"),I=require("pages/open-course/common/singletons/courseGrade"),M=require("pages/open-course/common/singletons/courseMaterials"),C=require("pages/open-course/common/singletons/courseProgress"),R=require("pages/open-course/common/singletons/verificationDisplay"),z=require("pages/open-course/common/utils/lockExperiment"),L=require("pages/open-course/verification/views/verification"),k={start:c,verify:L,attempt:m},G=function(t){function QuizItem(){var e=this;_classCallCheck(this,QuizItem),r(Object.getPrototypeOf(QuizItem.prototype),"constructor",this).apply(this,arguments),this.state={state:"start",stateOptions:{}},this.onStateChange=function(s,t){e.setState({state:s,stateOptions:t||{}})}}return _inherits(QuizItem,t),o(QuizItem,[{key:"componentDidMount",value:function componentDidMount(){var e=this.props,s=e.course,t=e.courseMaterials,n=e.courseGrade,o=e.courseProgress;z.setup(s.get("id"),t,n,o)}},{key:"renderView",value:function renderView(){var r=this.props.isLoaded,t=this.state,s=t.state,i=t.stateOptions,o=k[s];if(!o)throw new Error("Unknown state: "+s);var p=a("rc-QuizItem",{state:s});return e.createElement("div",{className:p},r&&e.createElement(y,{ViewClass:o,viewOptions:n({},this.props,i,{onStateChange:this.onStateChange})}))}},{key:"render",value:function render(){var t=this.props.itemMetadata,n=this.state.state,s=this.renderView();return"start"===n?e.createElement(d,null,e.createElement(g,{itemMetadata:t,itemType:l.Quiz,isCard:!0},s)):s}}],[{key:"propTypes",value:{itemMetadata:e.PropTypes.instanceOf(s).isRequired,course:e.PropTypes.object.isRequired,courseProgress:e.PropTypes.object.isRequired,courseMaterials:e.PropTypes.object.isRequired,courseGrade:e.PropTypes.object.isRequired,verificationDisplay:e.PropTypes.object.isRequired,model:e.PropTypes.object.isRequired,nextItemMetadataOrItemGroup:e.PropTypes.oneOfType([e.PropTypes.instanceOf(j),e.PropTypes.instanceOf(s)]),isLoaded:e.PropTypes.bool},enumerable:!0}]),QuizItem}(e.Component),E=f(G,{renderItemLayout:!0});module.exports=u(t(function(s,t){var e=s.itemMetadata;return i.all([getContentModelPromise(e),x,I,C,M,R]).spread(function(t,n,o,r,s,a){return{isLoaded:!0,course:n,courseProgress:r,courseMaterials:s,courseGrade:o,verificationDisplay:a,assessmentClient:getClient(e),model:t,nextItemMetadataOrItemGroup:s.getNeighbors(e).nextItemMetadataOrItemGroup}})}),b(function(e){var s=e.isLoaded;return!!s}))(E)});