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});
コード例 #2
0
define("bundles/ondemand/components/PremiumGradingQuizButton",["require","exports","module","react-with-addons","naptime","bundles/enroll/components/EnrollModal","bundles/ondemand/components/PremiumGradingModal","bundles/naptimejs/resources/onDemandSpecializations.v1","bundles/naptimejs/stores/NaptimeStore","pages/open-course/common/models/itemMetadata","vendor/cnpm/fluxible.v0-4/lib/Fluxible","vendor/cnpm/fluxible.v0-4/addons/FluxibleComponent","i18n!nls/ondemand"],function(require,exports,module){"use strict";function _defaults(e,r){for(var i=Object.getOwnPropertyNames(r),t=0;t<i.length;t++){var n=i[t],o=Object.getOwnPropertyDescriptor(r,n);o&&o.configurable&&void 0===e[n]&&Object.defineProperty(e,n,o)}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 t=function(){function defineProperties(o,n){for(var t=0;t<n.length;t++){var e=n[t];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(o,e.key,e)}}return function(e,t,n){return t&&defineProperties(e.prototype,t),n&&defineProperties(e,n),e}}(),n=function get(i,u,l){var n=!0;e:for(;n;){var t=i,a=u,s=l;n=!1,null===t&&(t=Function.prototype);var e=Object.getOwnPropertyDescriptor(t,a);if(void 0===e){var o=Object.getPrototypeOf(t);if(null===o)return void 0;i=o,u=a,l=s,n=!0,e=o=void 0;continue e}if("value"in e)return e.value;var r=e.get;if(void 0===r)return void 0;return r.call(s)}},e=require("react-with-addons"),r=require("naptime"),i=require("bundles/enroll/components/EnrollModal"),o=require("bundles/ondemand/components/PremiumGradingModal"),a=require("bundles/naptimejs/resources/onDemandSpecializations.v1"),s=require("bundles/naptimejs/stores/NaptimeStore"),u=require("pages/open-course/common/models/itemMetadata"),l=require("vendor/cnpm/fluxible.v0-4/lib/Fluxible"),c=require("vendor/cnpm/fluxible.v0-4/addons/FluxibleComponent"),p=require("i18n!nls/ondemand"),d=function(r){function PremiumGradingQuizButton(){var e=this;_classCallCheck(this,PremiumGradingQuizButton),n(Object.getPrototypeOf(PremiumGradingQuizButton.prototype),"constructor",this).apply(this,arguments),this.state={showModal:!1},this.onClose=function(){return e.setState({showModal:!1})}}return _inherits(PremiumGradingQuizButton,r),t(PremiumGradingQuizButton,[{key:"render",value:function render(){var s=this,t=this.props,r=t.courseId,u=t.itemMetadata,n=t.s12ns,a=n&&n.length?n[0].id:null;return e.createElement("div",{className:"rc-SubmitButton"},e.createElement("button",{className:"c-open-single-page-action-button primary",onClick:function(){return s.setState({showModal:!0})}},p("Upgrade to submit")),this.state.showModal&&(a?e.createElement(i,{courseIdOverride:r,onSdp:!1,s12nId:a,courseId:r,hideFooter:!0,onClose:this.onClose}):e.createElement(o,{itemMetadata:u,onClose:this.onClose})))}}],[{key:"propTypes",value:{courseId:e.PropTypes.string.isRequired,itemMetadata:e.PropTypes.instanceOf(u).isRequired,s12ns:e.PropTypes.array.isRequired},enumerable:!0}]),PremiumGradingQuizButton}(e.Component),m=r.createContainer(d,function(t){var n=t.itemMetadata,e=n.get("course.id");return{courseId:e,s12ns:a.specializationsByCourse({courseId:e})}});module.exports=function(o){function FluxifiedPremiumGradingQuizButton(){_classCallCheck(this,FluxifiedPremiumGradingQuizButton),n(Object.getPrototypeOf(FluxifiedPremiumGradingQuizButton.prototype),"constructor",this).apply(this,arguments)}return _inherits(FluxifiedPremiumGradingQuizButton,o),t(FluxifiedPremiumGradingQuizButton,[{key:"componentWillMount",value:function componentWillMount(){var e=new l;e.registerStore(s),this.fluxible=e.createContext()}},{key:"render",value:function render(){return e.createElement(c,{context:this.fluxible.getComponentContext()},e.createElement(m,this.props))}}]),FluxifiedPremiumGradingQuizButton}(e.Component)});