Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html >
- <head>
- <title>BrainHoney Player</title>
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <link rel="icon" href="bee_logo.png" type="image/x-icon">
- <link rel="shortcut icon" href="bee_logo.png" type="image/x-icon">
- <link rel="apple-touch-icon" href="bee_logo.png">
- <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/favicon.ico" /><link rel="stylesheet" type="text/css" href="/Scripts/ext-3.0.0-2/resources/css/ext-all.css" /><link rel="stylesheet" type="text/css" href="/Styles_vv1D1651E621DCF00.css" /><link rel="stylesheet" type="text/css" href="/StylesOld_vv1D1651E621DCF00.css" /><!--[if IE 6]><link rel="stylesheet" type="text/css" href="/IE6Styles.css" /><![endif]--><link rel="stylesheet" type="text/css" href="/resource/26601612/styles.css" /><script type="text/javascript" src="/Scripts/ext-3.0.0-2/ext-comb13.js"></script><script type="text/javascript" src="/Scripts/ext-3.0.0-2/locale/ext-lang-en.js"></script><script type="text/javascript">Ext.BLANK_IMAGE_URL = '/p';Ext.chart.Chart.CHART_URL='/Scripts/ext-3.0.0-2/resources/charts.swf';</script><script type="text/javascript">function convertLocalTimeToUtcDateTime(date){return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());}</script><script type="text/javascript" language="javascript" src="/Scripts/easyXDM-2.4.12.108/easyXDM.min.js"></script><script type="text/javascript" language="javascript">easyXDM.DomHelper.requiresJSON("/Scripts/easyXDM-2.4.12.108/json2.js");</script>
- <script type="text/javascript" language="javascript">
- var Privileges={None:0,Participate:1,CreateDomain:16,ReadDomain:32,UpdateDomain:64,DeleteDomain:128,CreateUser:256,ReadUser:512,UpdateUser:1024,DeleteUser:2048,CreateCourse:65536,ReadCourse:131072,UpdateCourse:262144,DeleteCourse:524288,CreateSection:1048576,ReadSection:2097152,UpdateSection:4194304,DeleteSection:8388608,GradeAssignment:16777216,GradeForum:33554432,GradeExam:67108864,SetupGradebook:134217728,ControlDomain:268435456,ControlCourse:536870912,ControlSection:1073741824,ReadGradebook:2147483648,ReportDomain:4294967296,ReportCourse:8589934592,ReportSection:17179869184,PostDomainAnnouncements:34359738368,Proxy:68719476736,UpdateCatalog:137438953472,ReportUser:274877906944,SubmitFinalGrade:549755813888,ControlEnrollment:1099511627776,ReadEnrollment:2199023255552,ReadCourseFull:4398046511104,ControlUser:8796093022208,ReadObjective:17592186044416,UpdateObjective:35184372088832,ReadCredits:70368744177664,UpdateCredits:140737488355328,All:-1};
- //FrameApi = function(config) {
- // // call parent constructor
- // FrameApi.superclass.constructor.call(this, config);
- //};
- FrameApi = Ext.extend(Ext.util.Observable, {
- /*********Helper methods********/
- constructor: function (config) {
- Ext.apply(this, config);
- this.addEvents(
- 'componentstatechanged',
- 'contentstatechanged',
- 'currentenrollmentchanged',
- 'helprequested',
- 'actionregistered',
- 'vieweropening',
- 'viewerclosed',
- 'editoropening',
- 'editorclosed',
- 'groupsetupopening',
- 'groupsetupclosed',
- 'jswindowopening',
- 'jswindowclosed',
- 'componentsaverequested',
- 'componentsaved',
- 'componentcancelled'
- );
- this.listeners = config.listeners;
- this.componentStates = new Ext.util.MixedCollection();
- this.componentMethods = new Ext.util.MixedCollection();
- this.contentState = {};
- this.actionListeners = new Ext.util.MixedCollection();
- this.enrollmentCache = new Ext.util.MixedCollection();
- FrameApi.superclass.constructor.call(this, config);
- this.on('closegroupsetupwindow', function (o) {
- this.groupEditorClosed(o);
- }, this);
- // this.on('componentsaved', function(type, id, o) {
- // alert('componentsaved:' + type + ',' + id + ',' + o);
- // }, this);
- // this.on('componentcancelled', function(type, id, o) {
- // alert('componentcancelled:' + type + ',' + id + ',' + o);
- // }, this);
- //Override the navToItem function so that links popup in grading (and other) windows that have inline course links
- if(typeof(navToItem) == 'undefined') {
- navToItem = function (itemId) {
- var courseId = FRAME_API.contentState.courseId;
- if(!Ext.isEmpty(courseId)) {
- var url = '%24APPROOT%24/Component/ActivityPlayer?courseid=' + FRAME_API.contentState.courseId + '&itemid=' + encodeURIComponent(itemId);
- window.open(String.escape(url), '', 'scrollbars, resizable, menubar, width=860, height=600');
- }
- }
- }
- },
- findParentApi: function (win) {
- if (win.parent != win) {
- // locate the API:
- try {
- if (win.parent.FRAME_API != null) {
- // try in this window
- return win.parent.FRAME_API;
- }
- }
- catch (e) { }
- // try parent
- return this.findParentApi(win.parent);
- }
- // else give up
- return null;
- },
- init: function (timeToLive) {
- this.recoverPingInterval = null;
- this.recoverPingCount = 0;
- timeToLive = timeToLive || 15;
- this.recoverPingMax = timeToLive;
- setInterval(this.pingServer.createDelegate(this), (timeToLive * 1000 * 28));
- if (Ext.isIE) {
- document.onfocusin = this.pingServer.createDelegate(this);
- }
- else {
- window.onfocus = this.pingServer.createDelegate(this);
- }
- if(this.viewAda) {
- Ext.getBody().addClass('ada-color');
- }
- this.loginWindow = null;
- try {
- //Do not call noConflict, as that kills the SameOrigin case
- this.easyXDM = easyXDM;//.noConflict('FrameAPI');
- this.rpc = new this.easyXDM.Rpc({},
- {
- local: {
- addListeners: function(events, successFn, errorFn){
- if(!Ext.isEmpty(events)) {
- if(typeof(events) == 'string') {
- events = events.split('|');
- }
- for(var i=0; i<events.length; i++) {
- FRAME_API.addListener(events[i], FRAME_API.rpc.onEvent.createDelegate(FRAME_API, [events[i]], 0));
- }
- }
- },
- setShowBeforeUnloadPrompts: function(val) {
- FRAME_API.setShowBeforeUnloadPrompts(val);
- },
- fireEvent: function(eventName, args) {
- return FRAME_API.fireEvent(eventName, args);
- },
- saveComponent: function(componentType, id) {
- return FRAME_API.saveComponent(componentType, id);
- },
- navigate: function(url) {
- FRAME_API.navigate(url);
- },
- getComponentState: function(componentType, id) {
- return FRAME_API.getComponentState(componentType, id);
- },
- callComponentMethod: function(componentType, id, name, args) {
- return FRAME_API.callComponentMethod(componentType, id, name, args);
- },
- getProperties: function() {
- return {
- adminUrl: FRAME_API.adminUrl,
- appVersion: FRAME_API.appVersion,
- appRoot: FRAME_API.appRoot,
- authenticated: FRAME_API.authenticated,
- canProxy: FRAME_API.canProxy,
- canTeachACourse: FRAME_API.canTeachACourse,
- catalogEntries: FRAME_API.catalogEntries,
- contentState: FRAME_API.contentState,
- currentEnrollment: FRAME_API.currentEnrollment,
- enrollments: FRAME_API.enrollments,
- domainId: FRAME_API.domainId,
- domainName: FRAME_API.domainName,
- frameResourceRoot: FRAME_API.frameResourceRoot,
- frameRoot: FRAME_API.frameRoot,
- isAdmin: FRAME_API.isAdmin,
- isProxy: FRAME_API.isProxy,
- menuEntries: FRAME_API.menuEntries,
- proxyUserId: FRAME_API.proxyUserId,
- resourceRoot: FRAME_API.resourceRoot,
- rights: FRAME_API.rights,
- roles: FRAME_API.roles,
- userId: FRAME_API.userId,
- userDisplay: FRAME_API.userDisplay,
- username: FRAME_API.username,
- userspace: FRAME_API.userspace,
- proxyUsername: FRAME_API.proxyUsername,
- proxyUserspace: FRAME_API.proxyUserspace
- };
- },
- hasRight: function(right, rights) {
- return FRAME_API.hasRight(right, rights);
- }
- },
- remote: {
- //Called so the containing frame can initialize event listeners, etc.
- init:{},
- onEvent:{}
- }
- });
- this.rpc.init();
- }
- catch(e) {
- }
- },
- pingServer: function () {
- if (!this.noforceRelogin) {
- Ext.Ajax.request({
- url: this.appRoot + "/ping",
- params: { checkuserid: FRAME_API.userId, proxyuserid: (!Ext.isEmpty(FRAME_API.proxyUserId) && FRAME_API.proxyUserId != FRAME_API.userId) ? FRAME_API.proxyUserId : '' },
- scope: this,
- success: function (response) {
- var result = eval("(" + response.responseText + ")");
- if (!result.authenticated) {
- this.displayModalPopup();
- }
- else {
- if (this.loginWindow) {
- this.loginWindow.close();
- this.loginWindow.destroy();
- this.loginWindow = null;
- }
- this.clearRecoverPing(true);
- }
- },
- failure: function (response) {
- this.displayModalPopup();
- if (this.recoverPingInterval == null && this.recoverPingCount <= 0) {
- this.recoverPingInterval = setInterval(this.recoverPingServer.createDelegate(this), 1000 * 60);
- }
- }
- });
- }
- else {
- Ext.Ajax.request({
- url: this.appRoot + "/ping",
- scope: this,
- success: function (response) {
- var result = eval("(" + response.responseText + ")");
- if (!result.authenticated)
- this.statusDisplay.updateStatus(this.getPingText(this.I18N.notLoggedIn));
- else
- this.statusDisplay.hide();
- },
- failure: function (response) {
- this.statusDisplay.updateStatus(this.getPingText(this.I18N.notConnected));
- }
- });
- }
- },
- getPingText: function (text) {
- return String.format(text, ['<a href="#" onclick="FRAME_API.statusDisplay.hide(); window.open(\'',
- this.appRoot, '/Login.vp/page.htm?ReturnUrl=',
- this.appRoot, '/Close\',\'LoginWindow\',\'width=800, height=600, scrollbars=yes\'); return false;">',
- this.I18N.login, '</a>'].join(''))
- },
- displayModalPopup: function () {
- if (this.loginWindow == null) {
- var passwordField = new Ext.form.TextField({
- xtype: 'textfield',
- id: 'txtpassword',
- inputType: 'password',
- allowBlank: false,
- hideLabel: true,
- cls: 'default_font',
- scope: this,
- blankText: this.I18N.passwordRequired,
- hidden: this.isSSO,
- listeners: {
- specialkey: function (field, e) {
- var key = e.getKey();
- if (key == Ext.EventObject.ENTER) {
- Ext.get('loginOK').dom.click();
- }
- }
- }
- });
- this.loginWindow = new Ext.Window({
- title: this.I18N.login,
- layout: 'form',
- width: 500,
- autoHeight: true,
- bodyCls: 'default_font',
- bodyStyle: 'padding: 10px 10px 25px 10px;',
- closeAction: 'hide',
- modal: true,
- resizable: false,
- shadow: false,
- closable: false,
- defaultButton: 'loginOK',
- items: [{
- xtype: 'label',
- html: String.format(this.I18N.connectionErrorMessage, FRAME_API.userDisplay, Ext.isEmpty(FRAME_API.proxyUsername) ? FRAME_API.username : FRAME_API.proxyUsername),
- forId: "txtpassword",
- cls: 'default_font'
- },
- passwordField, {
- xtype: 'label',
- id: "lblError",
- cls: 'default_font modalPopup-login-error'
- }, {
- xtype: 'label',
- hidden: false,
- html: '<iframe id="ssoiframe" name="ssoiframe" style="width:100%;height:200px;overflow:auto;display:none;"></iframe>'
- }],
- buttons: [{ xtype: 'tbfill' }, {
- text: this.I18N.login,
- id: 'loginOK',
- scope: this,
- handler: this.clickLoginOK
- }]
- });
- this.loginWindow.show();
- }
- },
- clickLoginOK: function () {
- if (this.isSSO) {
- try {
- this.setTimezoneInfoModel();
- var returnUrl = this.absoluteAppRoot + '/SSODone.aspx?DlapCookie=%TOKEN%&mode=login&userid=' + this.userId + '&puserid=' + this.proxyUserId + '&standardOffset=' + this.standardOffset + '&daylightOffset=' + this.daylightOffset + '&standardStartTime=' + this.standardStartTime + '&daylightStartTime=' + this.daylightStartTime;
- var iframeSrc = this.dlapUrl + '/SSOLogin' + '?domainid=' + encodeURIComponent(this.domainId) + '&url=' + encodeURIComponent(returnUrl) + '&token=' + encodeURIComponent(this.dlaptoken);
- document.getElementById('ssoiframe').src = iframeSrc;
- Ext.get(document.getElementById('ssoiframe')).show();
- }
- catch (e) {
- Ext.get(document.getElementById('ssoiframe')).setVisibilityMode(Ext.Element.DISPLAY).hide();
- if (e && e.message) {
- Ext.getCmp("lblError").setText(e.message);
- }
- else {
- Ext.getCmp("lblError").setText(this.I18N.unknownError);
- }
- if (this.loginWindow) {
- this.loginWindow.doLayout();
- }
- }
- }
- else if (Ext.getCmp('txtpassword').isValid()) {
- //reset the error label
- Ext.getCmp("lblError").setText('');
- this.setTimezoneInfoModel();
- var requestUserName = FRAME_API.username;
- if (!Ext.isEmpty(FRAME_API.proxyUsername)) {
- requestUserName = FRAME_API.proxyUserspace + '/' + FRAME_API.proxyUsername + '/' + FRAME_API.userspace + '/' + FRAME_API.username;
- }
- else if (!Ext.isEmpty(FRAME_API.userspace)) {
- requestUserName = FRAME_API.userspace + '/' + FRAME_API.username;
- }
- else {
- requestUserName = FRAME_API.username;
- }
- Ext.Ajax.request({
- params: {
- username: requestUserName,
- password: Ext.get('txtpassword').getValue(),
- standardOffset: this.standardOffset,
- daylightOffset: this.daylightOffset,
- standardStartTime: this.standardStartTime,
- daylightStartTime: this.daylightStartTime
- },
- url: FRAME_API.appRoot + '/Controls/CredentialsUI.ashx?modalPopup=true',
- method: 'POST',
- scope: this,
- callback: this.modalLoginCompleted
- });
- }
- },
- clickLoginDifferentUser: function(){
- if (this.isSSO) {
- try {
- var returnUrl = this.absoluteAppRoot + '/SSODone.aspx?mode=logout';
- var iframeSrc = this.dlapUrl + '/SSOLogout' + '?domainid=' + encodeURIComponent(this.domainId) + '&url=' + encodeURIComponent(returnUrl);
- document.getElementById('ssoiframe').src = iframeSrc;
- Ext.get(document.getElementById('ssoiframe')).show();
- }
- catch (e) {
- Ext.get(document.getElementById('ssoiframe')).setVisibilityMode(Ext.Element.DISPLAY).hide();
- if (e && e.message) {
- Ext.getCmp("lblError").setText(e.message);
- }
- else {
- Ext.getCmp("lblError").setText(this.I18N.unknownError);
- }
- if (this.loginWindow) {
- this.loginWindow.doLayout();
- }
- }
- }
- else {
- FRAME_API.logout();
- }
- },
- ssoComplete: function(success, mode, error){
- if (success) {
- if (this.loginWindow) {
- this.loginWindow.close();
- this.loginWindow.destroy();
- this.loginWindow = null;
- }
- this.clearRecoverPing(true);
- if (mode == 'logout') {
- FRAME_API.logout();
- }
- }
- else {
- Ext.get(document.getElementById('ssoiframe')).setVisibilityMode(Ext.Element.DISPLAY).hide();
- Ext.getCmp("lblError").setText(!Ext.isEmpty(error) ? error : this.I18N.unknownError);
- if (this.loginWindow) {
- this.loginWindow.doLayout();
- }
- }
- },
- modalLoginCompleted: function (options, success, response) {
- if (response && !Ext.isEmpty(response.responseText)) {
- if (success && response.responseText == "OK") {
- if (this.loginWindow) {
- this.loginWindow.close();
- this.loginWindow.destroy();
- this.loginWindow = null;
- }
- this.clearRecoverPing(true);
- }
- else {
- Ext.getCmp("lblError").setText(response.responseText);
- }
- }
- else {
- Ext.getCmp("lblError").setText(this.I18N.unknownError);
- }
- },
- recoverPingServer: function () {
- if (!this.noforceRelogin) {
- if (this.recoverPingCount >= this.recoverPingMax) {
- this.clearRecoverPing(false);
- }
- else {
- this.recoverPingCount++;
- this.pingServer();
- }
- }
- },
- clearRecoverPing: function(resetCount) {
- if (this.recoverPingInterval != null) {
- clearInterval(this.recoverPingInterval);
- this.recoverPingInterval = null;
- }
- if (resetCount){
- this.recoverPingCount = 0;
- }
- },
- TimeZoneInfo: function () { var year = new Date().getFullYear(); var beginDate = new Date(year, 0, 1, 0, 0, 0, 0); var begin = beginDate.getTime(); var end = new Date(year, 11, 31, 23, 59, 59, 999).getTime(); var currentOffset = beginDate.getTimezoneOffset(); this.standardOffset = currentOffset; this.daylightOffset = null; this.daylightStartTime = null; this.standardStartTime = null; for (var day = begin; day < end; day += 86400000) { var testDay = new Date(day); if (currentOffset != testDay.getTimezoneOffset()) { for (var hour = day - 86400000; hour < day; hour += 3600000) { var testHour = new Date(hour); if (currentOffset != testHour.getTimezoneOffset()) { for (var minute = hour - 3600000; minute < hour; minute += 60000) { var testMinute = new Date(minute); if (currentOffset != testMinute.getTimezoneOffset()) { if (currentOffset > testMinute.getTimezoneOffset()) { this.daylightStartTime = testMinute; this.daylightOffset = testMinute.getTimezoneOffset(); this.standardOffset = currentOffset; } else { this.standardStartTime = testMinute; this.standardOffset = testMinute.getTimezoneOffset(); this.daylightOffset = currentOffset; } currentOffset = testDay.getTimezoneOffset(); } } } } } } },
- setTimezoneInfoModel: function () {
- var DateToJson = function (date) { var f = function f(n) { return n < 10 ? '0' + n : n; }; return isFinite(date.valueOf()) ? date.getUTCFullYear() + '-' + f(date.getUTCMonth() + 1) + '-' + f(date.getUTCDate()) + 'T' + f(date.getUTCHours()) + ':' + f(date.getUTCMinutes()) + ':' + f(date.getUTCSeconds()) + 'Z' : null; };
- var zone = new this.TimeZoneInfo();
- this.standardOffset = zone.standardOffset;
- if (zone.daylightOffset) {
- this.daylightOffset = zone.daylightOffset;
- this.standardStartTime = DateToJson(zone.standardStartTime);
- this.daylightStartTime = DateToJson(zone.daylightStartTime);
- }
- },
- statusDisplay: function () {
- var msgCt;
- var message;
- var currentText = "";
- function createBox(text) {
- return ['<div class="gradebook_statusdisplay highlight_color" >', text, '</div>'].join('');
- }
- return {
- updateStatus: function (text) {
- currentText = text;
- if (!msgCt) {
- msgCt = Ext.DomHelper.append(document.body, { id: 'msg-div', style: "position:absolute;z-index:20001" }, true);
- }
- var slideIn = false;
- if (!message) {
- message = Ext.DomHelper.append(msgCt, { html: createBox(text) }, true);
- slideIn = true;
- msgCt.alignTo(document, 't-t');
- }
- else {
- message.update(createBox(text));
- msgCt.alignTo(document, 't-t');
- message.frame();
- }
- if (slideIn) message.slideIn('t');
- },
- hide: function () {
- currentText = "";
- if (message) {
- message.ghost("t", { remove: true });
- message = null;
- }
- },
- getText: function () {
- return currentText;
- }
- };
- } (),
- checkViewClose: function (frame, win) {
- frame.un('load', this.checkViewClose);
- if (frame.dom.contentWindow.location.href == 'about:blank') {
- win.hide();
- }
- },
- resizeViewWindow: function () {
- if (this.viewWindow == null) return;
- if (this.viewWindow.hidden) return;
- var pageSizeObj = Ext.get(document.body).getSize();
- this.viewWindow.setSize(pageSizeObj.width - 64, pageSizeObj.height - 64);
- },
- resizeEditWindow: function () {
- if (this.editWindow == null) return;
- if (this.editWindow.hidden) return;
- var pageSizeObj = Ext.get(document.body).getSize();
- this.editWindow.setSize(pageSizeObj.width - 32, pageSizeObj.height - 24);
- },
- resizeGroupEditWindow: function () {
- if (this.groupEditorWindow == null) return;
- if (this.groupEditorWindow.hidden) return;
- var pageSizeObj = Ext.get(document.body).getSize();
- this.groupEditorWindow.setSize(pageSizeObj.width - 32, pageSizeObj.height - 24);
- },
- editorClosed: function (o) {
- if (typeof o == 'boolean') {
- o = { refreshAll: o };
- }
- if (this.editWindow && this.editWindow.isVisible()) {
- this.editWindow.hide();
- }
- this.fireEvent('editorclosed', o);
- this.fireEvent('jswindowclosed');
- },
- groupEditorClosed: function (o) {
- if (this.groupEditorWindow && this.groupEditorWindow.isVisible()) {
- this.groupEditorWindow.hide();
- }
- this.fireEvent('groupsetupclosed', o);
- this.fireEvent('jswindowclosed');
- },
- /*********Public methods********/
- hasRight: function (right, flags) {
- flags = flags || this.rights;
- flags = flags * 1.0;
- if (flags == -1 || flags == -2) {
- flags = 0xffffff0ff0;
- }
- if (right >= 0x100000000) {
- var flagsHigher = Math.floor(flags / 0x100000000);
- var rightHigher = Math.floor(right / 0x100000000);
- return (rightHigher & flagsHigher) ? true : false;
- }
- else {
- return (right & flags) ? true : false;
- }
- },
- executeCommand: function (cmd, params, options) {
- Ext.Ajax.request(Ext.apply(options, {
- url: this.adminUrl,
- params: Ext.apply(params || {}, {
- cmd: cmd
- }),
- userCallback: options.callback,
- userScope: options.scope,
- scope: this,
- callback: null,
- success: function (response, options) {
- if(!options) {
- options = response.request.options;
- }
- if (options.userCallback) {
- var success = true;
- var details = [];
- var responses = response.responseXML.getElementsByTagName('response');
- if (Ext.isEmpty(responses)) {
- success = false;
- }
- else {
- for (var i = 0; i < responses.length; i++) {
- var detail = {
- code: responses[i].getAttribute('code'),
- message: responses[i].getAttribute('message'),
- detailedMessage: responses[i].textContent
- };
- details.push(detail);
- if (detail.code != 'OK') {
- success = false;
- }
- }
- }
- response.details = details;
- options.userCallback.call(options.userScope || this, options, success, response);
- }
- },
- failure: function (response, options) {
- if(!options) {
- options = response.request.options;
- }
- if (options.userCallback) {
- options.userCallback.call(options.userScope || this, options, false, response);
- }
- }
- }));
- },
- findEnrollment: function (enrollmentId) {
- for (var i = 0; i < this.enrollments.length; i++) {
- var enrollment = this.enrollments[i];
- if (!Ext.isEmpty(enrollment.id) && enrollment.id == enrollmentId) {
- return enrollment;
- }
- }
- if (this.enrollmentCache.containsKey(enrollmentId)) {
- return this.enrollmentCache.get(enrollmentId);
- }
- return null;
- },
- setComponentMethod: function(componentType, id, name, fn, scope) {
- if(Ext.isEmpty(name) || Ext.isEmpty(componentType) || Ext.isEmpty(id) || typeof(fn) != 'function') {
- return;
- }
- componentType = componentType.toLowerCase();
- id = id.toLowerCase();
- name = name.toLowerCase();
- var key = componentType + '|' + id + '|' + name;
- //Update the hash of component properties
- this.componentMethods.replace(key, { fn: fn, scope: scope });
- },
- callComponentMethod: function(componentType, id, name, args) {
- if(Ext.isEmpty(name) || Ext.isEmpty(componentType) || Ext.isEmpty(id)) {
- return;
- }
- componentType = componentType.toLowerCase();
- id = id.toLowerCase();
- name = name.toLowerCase();
- var key = componentType + '|' + id + '|' + name;
- if (!this.componentMethods.containsKey(componentType)) {
- var obj = this.componentMethods.get(key);
- return obj.fn.apply(obj.scope || this, args);
- }
- },
- setComponentState: function (componentType, id, o) {
- componentType = componentType || '';
- id = id || '';
- o = o || {};
- //Update the hash of component properties
- componentType = componentType.toLowerCase();
- id = id.toLowerCase();
- if (!this.componentStates.containsKey(componentType)) {
- this.componentStates.add(componentType, new Ext.util.MixedCollection());
- }
- var stateList = this.componentStates.get(componentType);
- if (stateList.containsKey(id)) {
- o = Ext.apply(stateList.get(id), o);
- }
- stateList.replace(id, o);
- //Update the main content properties
- if (id == 'framecontent') {
- this.contentState = o;
- this.contentState.type = componentType;
- if (!Ext.isEmpty(o.enrollmentId) &&
- (this.currentEnrollment == null || this.currentEnrollment.id != o.enrollmentId)) {
- if (this.enrollmentCache.containsKey(o.enrollmentId)) {
- this.currentEnrollment = this.enrollmentCache.get(o.enrollmentId);
- this.fireEvent('currentenrollmentchanged', this.currentEnrollment);
- }
- else {
- Ext.Ajax.request({
- url: this.appRoot + "/FrameHelper.ashx",
- params: {
- cmd: 'getenrollment',
- enrollmentid: o.enrollmentId
- },
- scope: this,
- callback: function (options, success, response) {
- if (success && !Ext.isEmpty(response.responseText)) {
- this.currentEnrollment = Ext.util.JSON.decode(response.responseText);
- this.enrollmentCache.replace(o.enrollmentId, this.currentEnrollment);
- if (this.currentEnrollment.id != o.enrollmentId) {
- this.enrollmentCache.replace(this.currentEnrollment.id, this.currentEnrollment);
- }
- this.fireEvent('currentenrollmentchanged', this.currentEnrollment);
- }
- }
- });
- }
- }
- this.fireEvent('contentstatechanged', this.contentState);
- }
- //Fire the event for this component
- this.fireEvent('componentstatechanged', componentType, id, o);
- },
- getComponentState: function (componentType, id) {
- componentType = componentType.toLowerCase();
- id = id.toLowerCase();
- var o = null;
- if (this.componentStates.containsKey(componentType)) {
- var stateList = this.componentStates.get(componentType);
- if (stateList.containsKey(id)) {
- o = stateList.get(id);
- }
- }
- return o;
- },
- registerAction: function (componentType, id, action, f, scope) {
- //Update the hash of component properties
- componentType = componentType.toLowerCase();
- id = id.toLowerCase();
- action = action.toLowerCase();
- if (id == 'framecontent') {
- this.actionListeners.replace(action, { handler: f, scope: scope });
- this.fireEvent('actionregistered', action, f, scope);
- }
- },
- getRegisteredActions: function () {
- var list = [];
- this.actionListeners.eachKey(function (key, item) {
- list.push(Ext.apply(item, { action: key }));
- }, this);
- return list;
- },
- setShowBeforeUnloadPrompts: function(val) {
- this.showBeforeUnloadPrompts = val;
- },
- addEvent: function (name) {
- this.addEvents(name);
- },
- logout: function (returnUrl) {
- this.fireEvent('beforelogout');
- var url = this.appRoot + '/SignOff.ashx';
- if(returnUrl) {
- url += '?ReturnUrl=' + encodeURIComponent(returnUrl);
- }
- // Ensure the player frame has had a chance to unload, and allow SCOs to save their data, record time spent, etc.
- setTimeout(function () {
- window.location = url;
- }, 1000);
- },
- proxy: function (name) {
- this.navigate('/Component/Proxy?proxy=' + encodeURIComponent(name));
- },
- unproxy: function () {
- this.navigate('/Component/Proxy');
- },
- navigate: function (url) {
- window.location = this.frameRoot + url;
- },
- saveComponent: function(componentType, id) {
- componentType = componentType.toLowerCase();
- id = id.toLowerCase();
- return this.fireEvent('componentsaverequested', componentType, id);
- },
- launchHelp: function (token) {
- if (this.hasListener('helprequested')) {
- this.fireEvent('helprequested', token);
- }
- else {
- if (Ext.isEmpty(token)) {
- token = 'root';
- var o = this.contentState;
- if (o != null && !Ext.isEmpty(o.helpToken)) {
- token = o.helpToken;
- }
- }
- window.open(this.helpRoot + token, 'bhHelp', 'scrollbars, resizable, toolbar, width=950, height=600');
- }
- },
- viewItem: function (enrollmentId, itemId, title, params) {
- if (this.viewWindow == null) {
- var pageSizeObj = Ext.get(document.body).getSize();
- this.viewWindow = new Ext.Window({
- width: pageSizeObj.width - 64,
- height: pageSizeObj.height - 64,
- layout: 'fit',
- plain: false,
- buttonAlign: 'center',
- shim: true,
- x: 32,
- y: 32,
- modal: true,
- frame: true,
- closable: true,
- closeAction: "hide",
- resizable: true,
- draggable: true,
- listeners: {
- beforehide: function () {
- var frame = this.viewFrame.el.child('iframe', false);
- if (frame.dom.contentWindow.location.href != 'about:blank') {
- frame.on('load', this.checkViewClose.createDelegate(this, [frame, this.viewWindow], false));
- frame.dom.contentWindow.location.replace('about:blank');
- return false;
- }
- return true;
- },
- hide: function () {
- this.fireEvent('viewerclosed');
- this.fireEvent('jswindowclosed');
- },
- scope: this
- }
- });
- }
- else {
- this.viewWindow.remove(this.viewFrame, true);
- }
- var url = this.appRoot + '/Component/ActivityPlayer?id=frameviewitem&showheader=false&enrollmentid=' + enrollmentId + '&itemid=' + itemId;
- if (params != null) {
- for (prop in params) {
- url += '&' + prop + '=' + params[prop];
- }
- }
- this.viewFrame = new Ext.Panel({
- layout: 'fit',
- //autoScroll: true,
- monitorResize: true,
- html: '<iframe class="x-panel-body page_color default_font" style="width:100%;height:100%;" frameborder="0" src="' + url + '" title="' + this.I18N.ItemViewerFrame + '"></iframe>'
- });
- this.viewWindow.add(this.viewFrame);
- this.fireEvent('jswindowopening');
- this.fireEvent('vieweropening');
- this.viewWindow.show();
- this.viewWindow.setTitle(Ext.util.Format.htmlEncode(title));
- this.resizeViewWindow();
- Ext.EventManager.onWindowResize(this.resizeViewWindow, this);
- return false;
- },
- editItem: function (enrollmentId, itemId, title, params) {
- var pageSizeObj = Ext.get(document.body).getSize();
- if (this.editWindow == null) {
- this.editWindow = new Ext.Window({
- width: pageSizeObj.width - 32,
- height: pageSizeObj.height - 24,
- layout: 'fit',
- plain: false,
- buttonAlign: 'center',
- shim: true,
- x: 16,
- y: 4,
- modal: true,
- frame: true,
- closable: false,
- closeAction: "hide",
- resizable: true,
- constrain: true,
- draggable: true
- });
- }
- else {
- this.editWindow.remove(this.editFrame, true);
- this.editFrame = null;
- }
- var url = this.appRoot + "/Component/ItemEditor?id=FrameItemEditor&closable=true&enrollmentid=" + enrollmentId + '&itemid=' + itemId;
- if (params != null) {
- for (prop in params) {
- url += '&' + prop + '=' + params[prop];
- }
- }
- this.editFrame = new Ext.Panel({
- xtype: 'panel',
- layout: 'fit',
- //autoScroll: true,
- monitorResize: true,
- id: 'hdEditFrame',
- html: '<iframe class="x-panel-body page_color default_font" style="width:100%;height:100%;" frameborder="0" src="' + url + '" title="' + this.I18N.ItemEditorFrame + '"></iframe>'
- });
- this.editWindow.add(this.editFrame);
- this.fireEvent('jswindowopening');
- this.fireEvent('editoropening');
- this.editWindow.show();
- this.editWindow.setTitle(Ext.util.Format.htmlEncode(title));
- this.resizeEditWindow();
- Ext.EventManager.onWindowResize(this.resizeEditWindow, this);
- },
- editGroupSet: function (enrollmentId, setId, title, params) {
- var pageSizeObj = Ext.get(document.body).getSize();
- if (this.groupEditorWindow == null) {
- this.groupEditorWindow = new Ext.Window({
- width: pageSizeObj.width - 32,
- height: pageSizeObj.height - 24,
- layout: 'fit',
- plain: false,
- buttonAlign: 'center',
- shim: true,
- x: 16,
- y: 4,
- modal: true,
- frame: true,
- closable: false,
- closeAction: "hide",
- resizable: true,
- constrain: true,
- draggable: true
- });
- }
- else {
- this.groupEditorWindow.remove(this.groupEditorFrame, true);
- this.groupEditorFrame = null;
- }
- var url = this.appRoot + "/Component/GroupSetup?enrollmentId=" + enrollmentId + '&setid=' + setId;
- if (params != null) {
- for (prop in params) {
- url += '&' + prop + '=' + params[prop];
- }
- }
- this.groupEditorFrame = new Ext.Panel({
- xtype: 'panel',
- layout: 'fit',
- //autoScroll: true,
- monitorResize: true,
- id: 'hdGroupEditFrame',
- html: '<iframe class="x-panel-body page_color default_font" style="width:100%;height:100%;" frameborder="0" src="' + url + '" title="' + this.I18N.GroupSetupFrame + '"></iframe>'
- });
- this.groupEditorWindow.add(this.groupEditorFrame);
- this.fireEvent('jswindowopening');
- this.fireEvent('groupsetupopening');
- this.groupEditorWindow.show();
- this.groupEditorWindow.setTitle(title);
- this.resizeGroupEditWindow();
- Ext.EventManager.onWindowResize(this.resizeGroupEditWindow, this);
- },
- sendEmail: function (enrollmentId) {
- var height = Math.min(400, screen.height);
- var width = Math.min(600, screen.width);
- var features = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,height=' + height + ',width=' + width;
- var contextQuery = '';
- var newWindow = window.open(this.appRoot + "/Learn/Email.aspx?appendcontext=1&enrollmentid=" + enrollmentId + contextQuery, "", features);
- newWindow.focus();
- return false;
- },
- launchConferencing: function () {
- var height = Math.min(600, screen.height);
- var width = Math.min(800, screen.width);
- var features = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,height=' + height + ',width=' + width;
- var newWindow = window.open(this.appRoot + "/CommCenter", "communications_center", features);
- newWindow.focus();
- return false;
- },
- fireEvent: function () {
- var args, name;
- name = arguments[0], args = 2 <= arguments.length ? [].slice.call(arguments, 1) : [];
- // Allow component hosted in an iframe to listen to the messages
- if (window.parent && (window !== window.parent)) {
- window.parent.postMessage({ eventName: name, args: args }, '*');
- }
- FrameApi.superclass.fireEvent.apply(this, arguments);
- }
- });
- FRAME_API = new FrameApi({
- appVersion: '2016.2.1286',
- appVersionMode: 'Annual',
- authenticated: true,
- appRoot: '',
- frameRoot: '/Frame',
- resourceRoot: '',
- frameResourceRoot: '/Frame',
- adminUrl: '/Admin/Admin.ashx',
- domainId: '26601612',
- domainName: 'Houston - The Woodlands',
- userId: '30479071',
- proxyUserId: '30479071',
- proxyUsername: '',
- proxyUserspace: '',
- isProxy: false,
- userspace: 'fusion-houstonthewoodlands',
- username: 'cseberino',
- userDisplay: 'Christian Seberino',
- rights: 4398049854208,
- roles: [{ entityType: 'D', name: 'Administrator', privileges: -1},{ entityType: 'D', name: 'Course Coordinator', privileges: 9127788576},{ entityType: 'D', name: 'User Coordinator', privileges: 343597387552},{ entityType: 'D', name: 'Section Coordinator', privileges: 570424295456},{ entityType: 'D', name: 'Cache Server', privileges: 2228224},{ entityType: 'D', name: 'Technical Support', privileges: 927444438816},{ entityType: 'D', name: 'Teacher', privileges: 3343104},{ entityType: 'C', name: 'Owner', privileges: 4950739255296},{ entityType: 'C', name: 'Author', privileges: 4398046904320},{ entityType: 'C', name: 'Teacher', privileges: 4950201860096},{ entityType: 'C', name: 'Teaching Assistant', privileges: 4400311566336},{ entityType: 'C', name: 'Student', privileges: 131073},{ entityType: 'C', name: 'Auditor', privileges: 131072},{ entityType: 'S', name: 'Owner', privileges: 553239183360},{ entityType: 'S', name: 'Teacher', privileges: 552157052928},{ entityType: 'S', name: 'Teaching Assistant', privileges: 2267021312},{ entityType: 'S', name: 'Student', privileges: 2097153},{ entityType: 'S', name: 'Auditor', privileges: 2097152}],
- isAdmin: false,
- canConference: false,
- canProxy: false,
- canTeachACourse: true,
- currentEnrollment: null,
- helpRoot: '/Docs/',
- homeLabel: 'Home',
- hideObjectives: false,
- hideSections: true,
- menuEntries: [{ id: 'tes-support-portal', type: 'Admin', text: 'TES Support Portal', url: 'https://tesconnected.freshdesk.com/solution/categories', target: '_blank', features: '', icon: '', domainRights: 0, domainRoles: '', enrollmentRights: 0,enrollmentRoles:'', submenus: [] },{ id: 'go-to-genius', type: 'Course', text: 'Go to Genius', url: 'http://fusion.geniussis.com/ActiveStudents.aspx', target: '_blank', features: '', icon: '', domainRights: 0, domainRoles: '', enrollmentRights: 0,enrollmentRoles:'', submenus: [] },{ id: 'go-to-genius', type: 'Home', text: 'Go to Genius', url: 'http://fusion.geniussis.com/ActiveStudents.aspx', target: '_blank', features: '', icon: '', domainRights: 0, domainRoles: '', enrollmentRights: 0,enrollmentRoles:'', submenus: [] },{ id: 'go-to-genius', type: 'Admin', text: 'Go to Genius', url: 'http://fusion.geniussis.com/ActiveStudents.aspx', target: '_blank', features: '', icon: '', domainRights: 0, domainRoles: '', enrollmentRights: 0,enrollmentRoles:'', submenus: [] },{ id: 'dld_topmenu', type: 'Top', text: 'Digital Library Dashboard', url: 'Frame/Resource/14727157/dld.vhtml', target: '', features: '', icon: 'Frame/Resource/14727157/icon_diglib_menu.png', domainRights: 0, domainRoles: 'Administrator|Teacher', enrollmentRights: 0,enrollmentRoles:'', submenus: [] },{ id: 'sharedContent', type: 'Top', text: 'Shared Content', url: 'Frame/Component/AdminDomainDetail?domainid=45256042', target: '', features: '', icon: 'Images/catalog_active.png', domainRights: 0, domainRoles: '', enrollmentRights: 0,enrollmentRoles:'', submenus: [] }],
- catalogEntries: [],
- enrollments: [{id: '45469737',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2016-01-11 18:00:00',enrollmentEnd: '2016-05-31 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '45469735',courseTitle: '112 Algebra 2 A TX (Desdin, Brett)',courseDisplay: '112 Algebra 2 A TX (Desdin, Brett)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '46024685',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2016-01-28 18:00:00',enrollmentEnd: '2016-05-31 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '46024683',courseTitle: '112 Algebra 2 B TX (Atkins, Caroline)',courseDisplay: '112 Algebra 2 B TX (Atkins, Caroline)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '46489298',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2016-02-24 18:00:00',enrollmentEnd: '2016-06-30 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '46489296',courseTitle: '112 Algebra 2 B TX (Desdin, Brett)',courseDisplay: '112 Algebra 2 B TX (Desdin, Brett)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '34536036',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2015-09-20 00:00:00',enrollmentEnd: '2016-02-27 23:59:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '34536033',courseTitle: '112H Algebra 2 Honors A TX (Fargo , Katie)',courseDisplay: '112H Algebra 2 Honors A TX (Fargo , Katie)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '42279202',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2015-11-29 18:00:00',enrollmentEnd: '2025-11-29 18:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '42208734',courseTitle: '112H Algebra 2 Honors B TX (Mulrooney, Dylan)',courseDisplay: '112H Algebra 2 Honors B TX (Mulrooney, Dylan)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '45030522',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2015-12-29 18:00:00',enrollmentEnd: '2016-05-30 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '45030519',courseTitle: '207 Science 7 B TX (Sos, Stephanie)',courseDisplay: '207 Science 7 B TX (Sos, Stephanie)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '44625573',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2015-12-15 18:00:00',enrollmentEnd: '2016-04-30 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '44625570',courseTitle: '208 Science 8 B TX (Henry, Sam )',courseDisplay: '208 Science 8 B TX (Henry, Sam )',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '45871963',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2016-01-21 18:00:00',enrollmentEnd: '2016-05-31 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '45871961',courseTitle: '221 Biology A TX (Spearman, Anthony)',courseDisplay: '221 Biology A TX (Spearman, Anthony)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '45433568',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2016-01-10 18:00:00',enrollmentEnd: '2016-05-31 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '45433565',courseTitle: '241 Chemistry A TX (Desdin, Isabella)',courseDisplay: '241 Chemistry A TX (Desdin, Isabella)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '46489321',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2016-02-24 18:00:00',enrollmentEnd: '2016-06-30 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '46489319',courseTitle: '241 Chemistry B TX (Desdin, Isabella)',courseDisplay: '241 Chemistry B TX (Desdin, Isabella)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '45030559',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2015-12-29 18:00:00',enrollmentEnd: '2016-05-30 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '45030556',courseTitle: 'MS Course 2 B TX (Sos, Stephanie)',courseDisplay: 'MS Course 2 B TX (Sos, Stephanie)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '44533776',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2015-12-13 18:00:00',enrollmentEnd: '2016-04-30 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '44533773',courseTitle: 'MS Course 3 B TX (Scott, Bryson)',courseDisplay: 'MS Course 3 B TX (Scott, Bryson)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '45956550',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 1,enrollmentStart: '2016-01-25 18:00:00',enrollmentEnd: '2016-08-31 19:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '45956548',courseTitle: 'TM (Heil, Michael)',courseDisplay: 'TM (Heil, Michael)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '35068009',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 3,enrollmentStart: '2015-10-11 19:00:00',enrollmentEnd: '2016-01-30 18:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '35067999',courseTitle: 'TMA TX (Henry, Leland)',courseDisplay: 'TMA TX (Henry, Leland)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '35603527',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 3,enrollmentStart: '2015-10-25 19:00:00',enrollmentEnd: '2016-01-30 18:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '35603524',courseTitle: 'TMA TX (Varughese, Nicole)',courseDisplay: 'TMA TX (Varughese, Nicole)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true},{id: '35603536',courseEnrollment: false,domainId: '26601612',enrollmentStatus: 3,enrollmentStart: '2015-10-25 19:00:00',enrollmentEnd: '2016-01-30 18:00:00',rights: 4950201860096,sectionRights: 0,courseRights: -1895432192,currentUser: true,userId: '30479071',userFirstName: '',userLastName: '',courseId: '35603533',courseTitle: 'TMA TX (Varughese, Nicole)',courseDisplay: 'TMA TX (Varughese, Nicole)',courseReference: '',courseType: 'Range',courseDays: 365,isTeacher: true,isStudent: false,isTestStudent: false,canEdit: true,canConference: false,canReportGrades: true}],
- showBeforeUnloadPrompts: true,
- viewAda: false,
- showMobileViewMenuItem: false,
- mobileViewEnabled: false,
- noforceRelogin: false,
- dlaptoken: '~fLR0BAAAAAgR443xiRCqtA.N3hqQfwiH4YEsBQIeaYR2B',
- isSSO: true,
- dlapUrl: '//gls.agilix.com',
- absoluteAppRoot: 'https://fusion-houstonthewoodlands.brainhoney.com',
- objectiveOptions: {
- setowner: 'CA_ASN,CA_edgate,TX_edgate,NY_edgate,NJ_edgate,CCSS',
- lowgrade: 'K',
- highgrade: '12'
- },
- // Strings
- I18N : {
- ItemViewerFrame: 'Item Viewer Frame',
- ItemEditorFrame: 'Item Editor Frame',
- GroupSetupFrame: 'Group Setup Frame',
- notLoggedIn: 'You are no longer logged in.\u003cbr /\u003ePlease click {0} now.',
- notConnected: 'You have been disconnected.\u003cbr /\u003ePlease connect and click {0}.',
- login: 'Login',
- unknownError: 'Unknown error.',
- passwordRequired:'Password is required',
- connectionErrorMessage:'You have lost your connection. Please log in again so that you can resume your last session and not lose your work.\u003cbr/\u003e',
- loginAsDifferentUser:'Login As a Different User'
- }
- });
- Ext.onReady(function() {
- if (typeof (Ext.QuickTips) != 'undefined') {
- Ext.QuickTips.init();
- }
- var parentApi = FRAME_API.findParentApi(window);
- if(parentApi != null) {
- FRAME_API = parentApi;
- }
- else {
- FRAME_API.init(15);
- }
- });
- </script>
- <style type="text/css">
- html, body
- {
- overflow: hidden;
- }
- #frame-prev-link
- {
- float: left;
- margin-left: 8px;
- margin-right: 2px;
- background: url(/Images/nav_back_normal.gif) no-repeat;
- height: 30px;
- width: 24px;
- cursor:pointer;
- background-position: 4px 2px;
- }
- #frame-next-link
- {
- float: left;
- margin-right: 4px;
- background: url(/Images/nav_next_normal.gif) no-repeat;
- height: 30px;
- width: 24px;
- cursor:pointer;
- background-position: 4px 2px;
- }
- #frame-header-border
- {
- position: absolute;
- top: 97px;
- height: 2px;
- left: 0px;
- right: 0px;
- }
- </style>
- <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
- </head>
- <body class="page_color default_font">
- <div class="global_header">
- <div class="top_header">
- <div class="top_left_header no-print"></div>
- <div id="frame-top-right-header" class="top_right_header no-print"></div>
- <div id="frame-top-header-buttons" class="top_header_buttons no-print">
- <div id="h-home-btn" style="display:none;" class="top_header_button">
- <div class="top_header_button_img top_header_home_button" ext:qtip="Home" data-label="Home"></div>
- </div>
- <div id="h-course-btn" style="display:none;position:relative;" class="top_header_button">
- <div class="top_header_button_img top_header_courses_button" ext:qtip="Courses" data-label="Courses"></div>
- <div id="h-course-btn-dropdown" class="sub_header_dropdown" style="position:absolute;right:0px;bottom:2px;"></div>
- </div>
- <div id="h-catalog-btn" style="display:none;" class="top_header_button">
- <div class="top_header_button_img top_header_catalog_button" ext:qtip="Catalog" data-label="Catalog"></div>
- </div>
- <div id="h-admin-btn" style="display:none;" class="top_header_button">
- <div class="top_header_button_img top_header_admin_button" ext:qtip="Administration" data-label="Administration"></div>
- </div> </div>
- </div>
- <div id="frame-sub-header" class="sub_header">
- <div id="sh-home" style="display:none">
- <div class="sub_header_list"></div>
- <div id="frame-view-home" class="sub_header_list">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div id="h-home-link" class="no_underline_link"></div>
- </a>
- </div>
- <div id="frame-calendar" class="sub_header_list">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">Calendar</div>
- </a>
- </div>
- <div id="frame-teachacourse" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">Teach a Course</div>
- </a>
- </div>
- </div>
- <div id="sh-courses" style="display:none">
- <div id="frame-view-course" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">Student View</div>
- </a>
- </div>
- <div id="frame-view-syllabus" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">Syllabus</div>
- </a>
- </div>
- <div id="frame-view-gradebook" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">Gradebook</div>
- </a>
- </div>
- <div id="frame-view-grades" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">Grades</div>
- </a>
- </div>
- <div id="frame-view-objectives" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">Objectives</div>
- </a>
- </div>
- <div id="frame-view-testanalytics" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">_</div>
- </a>
- </div>
- <div id="frame-view-activity" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">_</div>
- </a>
- </div>
- <div id="frame-view-finalgrades" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">Final Grades</div>
- </a>
- </div>
- </div>
- <div id="sh-common" style="display:none">
- <div id="frame-communicate" class="sub_header_list" style="display:none">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div class="no_underline_link">Communicate</div>
- <div class="sub_header_dropdown"></div>
- </a>
- </div>
- </div>
- <div id="sh-catalog" style="display:none">
- </div>
- <div id="sh-admin" style="display:none">
- <div id="frame-admin-dashboard" class="sub_header_list">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- Dashboard
- </a>
- </div>
- <div id="frame-admin-domaindetail" class="sub_header_list">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- Administration
- </a>
- </div>
- <div id="frame-admin-users" class="sub_header_list">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- Users
- </a>
- </div>
- <div id="frame-admin-courses" class="sub_header_list">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- Courses
- </a>
- </div>
- <div id="frame-admin-sections" class="sub_header_list">
- <a class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- Sections
- </a>
- </div>
- </div>
- <div class="sub_header_user">
- <a id="frame-account" class="no_underline_link" href="javascript:void(0)" onclick="return false;">
- <div id="userDropdown" class="no_underline_link"></div>
- <div class="sub_header_dropdown">
- </div>
- </a>
- <a id="frame-logout" class="no_underline_link" style="margin-left: 4px" href="javascript:void(0);" onclick="return false;">
- Log Out
- </a>
- </div>
- </div>
- <div id="hdPageHeader">
- <div class="page_header">
- <span id="hdPageTitle" class="page_title"></span><span id="hdPageTitleSeparator" style="display: none;" class="page_title_separator">: </span><span id="hdCourseTitle" class="course_title"></span><span id="hdCourseSeparator" style="display: none;" class="course_separator"> - </span><span id="hdSectionTitle" class="section_title"></span>
- </div>
- <div class="header_top_right">
- <span id="headerTopRight" style="float:left">
- <div id="frame-edit-link" class="hover_link" style="display: none; float: left; margin-top: 4px"><a class="hover_link" href="javascript:void(0)" onclick="return false;">Edit</a></div>
- <div id="frame-prev-link" ext:qtip="Previous" style="display:none;float:left"></div>
- <div id="frame-next-link" ext:qtip="Next" style="display:none;float:left"></div>
- </span>
- <div id="hdHelp" style="float:left">
- <div class="help_button" ext:qtip='Help'>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="main_content">
- <!-- Ext CSS and Libs -->
- <style type="text/css">
- .module_header
- {
- text-align: center;
- font-weight: bold;
- height: 20px;
- padding-top:2px;
- white-space: nowrap;
- }
- .module_table table.x-table-layout {
- width: 100%;
- }
- .module_table td {
- vertical-align:top;
- }
- .module_lo_list {
- border-left:0px;
- border-top:0px;
- border-bottom:0px;
- width: 200px;
- min-width: 200px;
- }
- .module_lo_list div
- {
- width: 200px;
- overflow: hidden;
- }
- .module_activity_list {
- }
- .x-tree-node-leaf .x-tree-node-icon {
- background-image: url(/Images/document_plain.png);
- }
- .lo_info
- {
- font-style: italic;
- color: Gray;
- }
- .lo_used
- {
- color: Green;
- }
- .lo_warning
- {
- color: Maroon;
- }
- .upload-input
- {
- margin: 10px 10px 0px 10px;
- }
- .category_ed_cat_row.x-grid3-row td
- {
- font-weight: bold;
- font-size: 10pt;
- }
- .category_ed_grid div.x-grid3-cell-inner
- {
- height: 20px;
- text-align: right;
- }
- .category_ed_grid_total
- {
- height: 24px;
- text-align: right;
- font-weight: bold;
- }
- .category_ed_grid div.x-grid3-cell-inner div,
- .category_ed_grid input,
- .category_ed_grid_total_cell
- {
- padding-top: 3px;
- }
- .category_ed_grid div.x-grid3-cell-inner div.loading-indicator
- {
- height: 14px;
- margin-left: 50px;
- }
- .category_ed_grid div.x-grid-editor
- {
- padding-top: 2px;
- }
- .category_ed_cat_row
- {
- /*border-top: solid 1px #ddd;*/
- border-top-width: 1px;
- border-bottom-width: 0px;
- border-left-width: 0px;
- border-right-width: 0px;
- }
- .query-checkbox
- {
- white-space:nowrap;
- margin-left:5px;
- }
- .query-font
- {
- font-size: 8pt;
- }
- .query-cf-checkbox
- {
- margin-top: 3px;
- }
- .extra-credit-checkbox .x-form-checkbox
- {
- margin-top: 4px;
- }
- .agx-dt-list
- {
- font-size: 8pt;
- font-weight: normal !important;
- font-style: italic;
- margin-top: 3px;
- white-space: nowrap;
- }
- .x-date-inner a {
- text-align:left;
- }
- .x-date-inner th {
- text-align:center !important;
- }
- .x-date-inner td {
- border-left:0px;
- border-top:0px;
- border-right: solid 1px #777;
- border-bottom: solid 1px #777;
- vertical-align: top;
- }
- .x-syllabus-group-row .x-grid3-col-title
- {
- font-weight: bold;
- font-size: 11pt;
- }
- .x-syllabus-group-row .x-grid3-row-body
- {
- margin-left:20px;
- }
- .x-syllabus-group
- {
- margin-bottom: 6px;
- white-space: pre-wrap;
- }
- .x-syllabus-group-name
- {
- font-weight: bold;
- }
- .x-syllabus-group-members
- {
- font-style: italic;
- }
- </style>
- <div id="viewportPanel_FrameContent" class="x-hidden" style="overflow:hidden;">
- <div id="loPanel_FrameContent">
- <table id="loHeader_FrameContent" width="100%" cellpadding="0" cellspacing="0">
- <tr class="color_header panel_header" >
- <td style="white-space:nowrap;width:100%">Objectives</td>
- <td><a class="hover_link" href="javascript:void(0);" onclick="syllabus_FrameContent.configureLOs(); return false;">Edit</a></td>
- </tr>
- </table>
- <div id="loList_FrameContent"></div>
- </div>
- <div id="assetPanel_FrameContent">
- <div id="resourcesHeader_FrameContent">
- <table width="100%" cellpadding="0" cellspacing="0">
- <tr class="color_header panel_header">
- <td style="white-space:nowrap;width:100%" colspan="2">Resources</td>
- </tr>
- </table>
- </div>
- <div id="myFiles_FrameContent">
- <table width="100%" cellpadding="0" cellspacing="0">
- <tr>
- <td colspan="2">
- <div id="queryPanel_FrameContent"></div>
- </td>
- </tr>
- <tr>
- <td colspan="2" align="right">
- <div id="goButton_FrameContent" style="float:right;display:inline;padding-right:7px;padding-bottom:5px"></div>
- <div id="clearButton_FrameContent" style="float:right;display:inline;padding-right:7px;padding-bottom:5px"></div>
- </td>
- </tr>
- <tr class="results_header color_medium">
- <td style="white-space:nowrap;width:100%;padding-left:3px" colspan="2">Results<span id="filteredAssets_FrameContent" style="font-weight:normal;color:Red;cursor:default;display:none;"> (*first 500 shown)</span></td>
- </tr>
- </table>
- </div>
- </div>
- <table id="assemblyHeader_FrameContent" width="100%" cellpadding="0" cellspacing="0">
- <tr class="color_header panel_header">
- <td style="white-space:nowrap;">Syllabus/Schedule <img style="vertical-align:middle;cursor:pointer;" ext:qtip="Restore Deleted Items" height="16" width="16" src="/Images/garbage.png" onclick="return syllabus_FrameContent.restoreItems();" /></td>
- <td style="padding-top:0px !important; padding-bottom:0px !important;width:100%"><div id="viewComboEl_FrameContent"></div></td>
- <td style="white-space:nowrap;"><a class="hover_link" href="javascript:void(0);" onclick="syllabus_FrameContent.configureCourse(); return false;">Course Settings</a></td>
- </tr>
- </table>
- <div id="assemblyNodes_FrameContent">
- </div>
- <!-- Dialog for Upload Course Assets-->
- <div id="uploadContentDialog_FrameContent" class="x-hidden">
- <div class="x-window-header">Upload File</div>
- </div>
- <div id="uploadPackageDialog_FrameContent" class="x-hidden">
- <div class="x-window-header">IMS Common Cartridge or SCORM Package</div>
- </div>
- </div>
- <div id="syllabus_FrameContent" class="default_font page_color default_border" style="position:absolute; top:0px; bottom:0px; left:0px; right:0px; border-left-width: 0; border-right-width: 0; border-bottom-width: 0;"></div>
- <script type="text/javascript" src="/Scripts/MediaLoader_vv1D1651E621DCF00.js"></script><script type="text/javascript" src="/Scripts/SearchResults_vv1D1651E621DCF00.js"></script><script type="text/javascript" src="/Scripts/CourseAssembly_vv1D1651E621DCF00.js"></script>
- <script type="text/javascript" language="javascript">
- var assemblyApi = null;
- var syllabus_FrameContent;
- Ext.onReady(function() {
- syllabus_FrameContent = new Syllabus({
- cid: 'FrameContent',
- appRoot: '',
- enrollmentId: '46024685',
- courseId: '46024683',
- courseTitle: '112 Algebra 2 B TX (Atkins, Caroline)',
- blankImg: '/p',
- zoomItemId: '',
- invalidFileChars: '\"\u003c\u003e|
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement