{"version":3,"sources":["webpack://Packs.[name]/./app/assets/javascripts/v3/modules/common/services/iframe-message-service.ts","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/assignment-advanced-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/assignment-assignments-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/assignment-details-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/assignment-instructional-items-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/assignment-memories-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/course-assignments-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/course-details-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/course-instructional-items-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/dashboard-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/instructional-item-show-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/learn-dashboard-lti-redirect-controller.ts","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/learning-library-controller.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers/library-controller.js.coffee","webpack://Packs.[name]/./app/assets/images/v3/assignment_placeholder_60.png","webpack://Packs.[name]/./lib/assets/javascripts/cerego_sdk/shared_lib.js","webpack://Packs.[name]/./app/assets/javascripts/util/constants.ts","webpack://Packs.[name]/./app/javascript/packs/learn-dashboard-app.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/resources sync nonrecursive \\.js$","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/resources/v3-after-study-messages-resource.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/resources/v3-my-collections-resource.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/resources/v3-my-study-stats-resource.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/instructional-item-show-service.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/paginated-assignments-service.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/paginated-my-collections-service.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/paginated-my-courses-service.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/paginated-learning-library-courses-service.js.coffee","webpack://Packs.[name]/./app/assets/javascripts/v3/modules/learn-dashboard/controllers sync nonrecursive ^\\.\\/.*$","webpack://Packs.[name]/./app/assets/images/default/big/default-learning-library.png"],"names":["angular","service","$window","$rootScope","DebugHelper","$scope","$new","register","postMessage","message","target","parent","opener","learnDashboardApp","controller","$q","AssignmentDetailsService","MySeriesResource","MySetsResource","SiteNavigationService","V3MyCoursesResource","V3ModelHelper","_","assignIn","routes","Packs","iKnowRoutes","uiState","header_string","addToSchedule","assignment","type","id","success","meta","removeFromSchedule","loadCourses","deferred","defer","params","include","context_type","query","courses","parse","resolve","reject","promise","initialize","then","memories_count","attributes","instructional_items_count","setContext","UserManager","V3SetsResource","V3SetItemsResource","set_ids","sets","deferredForSet","searchOptions","loadSets","each","set_id","get","set","push","relationships","data","assignments_count","length","$filter","$routeParams","$location","$timeout","GoalMathHelper","CourseContextService","isScorm","scormComplete","due_date","pastDue","Date","percent_progress","parseInt","progress","localizedDateString","toolTipOptionalVars","paginatedInstructionalItemsService","V3SeriesItemsResource","time","now","loadItems","options","redirect_path","v3_learn_set_path","v3_learn_series_path","getPaginatedResults","resources","path","instructional_items","item","show_path","v3_learn_series_instructional_item_path","v3_learn_set_instructional_item_path","PassageHighlightingService","modulesTilesPath","courses_v3_templates_path","resource","items","createHighlightedPassages","clozes","getClozes","highlightedPassage","passageWithHighlights","text","cloze","clozeObject","anchor","cloze_text","debouncedSearchItems","debounce","paginatedAssignmentsService","styles","showSearchCard","assignmentTileable","customOrderings","name","direction","desc","asc","default_direction","draggable","forbiddenTemplate","learn_dashboard_v3_templates_path","tabs","slug","empty","instructionalItemCardPath","course","$analytics","V3CourseUsersResource","toastHelper","InstructorNamesHelper","V3CourseAssignmentsResource","isV4Embed","isInstructor","tab","setInstructorString","instructor_string","getFormattedInstructorNames","unenroll","confirmationText","confirm","course_id","currentUser","$promise","eventTrack","markRefreshRequired","showToast","v3_dashboard_path","partnerSettings","partner","location","availableAssignmentsCount","availableAssignments","serviceOptions","goToItem","v3_learn_course_instructional_item_path","v3_learn_course_path","paginatedMyCoursesService","V3AfterStudyMessagesResource","ModalService","NpsService","PageTrackingService","myCourseTilePath","common_v3_templates_path","studyItemModuleNames","showSearchInsideList","progressOrbs","isOrbActive","index","isOrbComplete","setMobileDownloadTip","test","navigator","userAgent","mobileOS","showPayportal","showModal","paymentRequiredCourse","user","paymentSuccessCallback","reload","image","excludeController","setTimeOfDay","hour","getHours","timeOfDay","setGreetingString","firstName","split","greetingString","setPartnerData","partnerLibrary","partnerLibraryName","partnerSlug","partnerLibraryPath","v3_partner_learning_library_path","knowledgeBaseClick","href","v3_library_path","partnerLibraryClick","skipContentPress","$event","currentTarget","blur","document","getElementById","focus","activeTab","loadUser","displayNPS","trackPage","cerego_www","v3_signin_path","instructionalItemShowService","V3InstructionalPresentationsResource","V3ItemsResource","getCurrentTime","toISOString","loadItem","item_id","startTime","setUIState","setSiteNav","pdfAnnotation","find","annotations","annotation","embedItemType","fullInstructionalEmbed","alreadySeen","markAsDone","updateStudyDuration","study_time_millis","timeForItems","session_guid","studySessionId","occurred_at","create","endTime","sessionLength","failure","v3_learn_instructional_item_path","series_id","$on","LtiRedirectService","stateUI","error","exchangeTokenAndRedirect","paginatedMyCollectionsService","paginatedLearningLibraryService","PartnerLibraryResource","courseCardPath","emptyLibrary","courseTileable","partner_id","library","logError","assignmentCardPath","isEmpty","defaultHide","formatLibraryTabs","searchQuery","module","exports","MAX_NEW_ITEMS","CeregoSharedLib","Math","floor","MAX_BURDEN","studyTypes","FADING","RECOMMENDED","sessionSizeParts","unstarted","fading","studyType","percentStarted","new_item_count","fading_item_count","min","ceil","sessionSize","parts","ANONYMOUS_NAME","PARTNER_IDS","QLEARN","req","window","config","$routeProvider","when","templateUrl","$titleTag","$product","courses_v3_learn_dashboard_templates_path","$tab","v3_learn_course_instructional_items_path","assignments_v3_learn_dashboard_templates_path","$assignment_type","v3_learn_set_instructional_items_path","v3_learn_set_memories_path","v3_learn_series_instructional_items_path","v3_learn_series_memories_path","v3_learn_series_assignments_path","v3_learn_set_advanced_index_path","v3_learn_series_advanced_index_path","v3_lti_redirect_learn_dashboard_path","otherwise","redirectTo","keys","forEach","map","webpackContext","webpackContextResolve","__webpack_require__","o","e","Error","code","Object","factory","$resource","method","isArray","url","APIRoutes","v3_after_study_messages_path","v3_my_collections_path","v3_my_study_stats_path","uuid","deferredForItems","v4","currentItem","defaultOptions","sort","defaultResourceImage","a","lastOptions","defaults","loading","includeMeta","V3MyCollectionsResource","filter","goal_in_progress","goal_reached","optional","has_studied","created","ready","V3CoursesResource","loadPaymentRequiredCourse","courseId","myCourses"],"mappings":"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","file":"js/learn-dashboard-app-f9fa3c7289b26ba93ffa.chunk.js","sourcesContent":["import * as angular from 'angular';\nimport { IDebugHelper } from 'v2/modules/core/debug-helper';\n\ninterface IFrameMessage {\n messageType: string;\n context: {};\n data: {};\n}\n\nexport interface IFrameMessageService extends ng.IScope {\n postMessage: (IFrameMessage) => void;\n target: ng.IWindowService;\n}\n\nangular.module('cerego.common').service('iFrameMessageService', [\n '$window',\n '$rootScope',\n 'DebugHelper',\n ($window: ng.IWindowService, $rootScope: ng.IRootScopeService, DebugHelper: IDebugHelper) => {\n const $scope = $rootScope.$new() as IFrameMessageService;\n\n DebugHelper.register('iFrameMessageService', $scope);\n\n $scope.postMessage = message => {\n $scope.target.postMessage(message, '*');\n };\n\n // on non-iframed windows, the parent is equal to the window\n if ($window.parent === $window && $window.opener) {\n $scope.target = $window.opener;\n } else {\n $scope.target = $window.parent;\n }\n\n return $scope;\n }\n]);\n","learnDashboardApp.controller('assignmentAdvancedCtrl', ['$scope', '$q', 'DebugHelper', 'AssignmentDetailsService', 'MySeriesResource', 'MySetsResource', 'SiteNavigationService', 'V3MyCoursesResource', 'V3ModelHelper' , ($scope, $q, DebugHelper, AssignmentDetailsService, MySeriesResource, MySetsResource, SiteNavigationService, V3MyCoursesResource, V3ModelHelper) ->\n DebugHelper.register(\"assignmentAdvancedCtrl\", $scope)\n\n _.assignIn $scope, {\n routes: Packs.iKnowRoutes\n uiState:\n header_string: \"js.learn.assignments.advanced\"\n\n addToSchedule: ->\n if $scope.assignment.type == \"sets\"\n resource = MySetsResource\n else\n resource = MySeriesResource\n resource.addToSchedule\n id: $scope.assignment.id\n , (success) ->\n $scope.assignment.meta['in-schedule'] = true\n\n removeFromSchedule: ->\n if $scope.assignment.type == \"sets\"\n resource = MySetsResource\n else\n resource = MySeriesResource\n resource.removeFromSchedule\n id: $scope.assignment.id\n , (success) ->\n $scope.assignment.meta['in-schedule'] = false\n\n loadCourses: ->\n unless $scope.deferred\n $scope.deferred = $q.defer()\n params = {\n 'page[size]': 200\n include: 'image,partner,partner.partner-library'\n }\n\n if $scope.assignment.type == \"sets\"\n params['filter[contains_set][]'] = $scope.assignment.id\n $scope.assignment.context_type = \"set\"\n else\n params['filter[contains_series][]'] = $scope.assignment.id\n $scope.assignment.context_type = \"series\"\n\n\n V3MyCoursesResource.query params\n , (success) ->\n $scope.courses = V3ModelHelper.parse(success)\n $scope.deferred.resolve($scope.courses)\n , $scope.deferred.reject\n\n $scope.deferred.promise\n\n\n }\n\n AssignmentDetailsService.initialize().then (success) ->\n $scope.assignment = AssignmentDetailsService.assignment\n $scope.memories_count = $scope.assignment.attributes['memories-count'] || 0\n $scope.instructional_items_count = $scope.assignment.attributes['ic-items-count'] || 0\n\n $scope.loadCourses()\n SiteNavigationService.setContext($scope.assignment, 'assignment')\n\n])\n","learnDashboardApp.controller(\"assignmentAssignmentsCtrl\", ['$scope', '$q', 'DebugHelper', 'AssignmentDetailsService', 'SiteNavigationService', 'UserManager', 'V3SetsResource', 'V3SetItemsResource', 'V3ModelHelper', ($scope, $q, DebugHelper, AssignmentDetailsService, SiteNavigationService, UserManager, V3SetsResource, V3SetItemsResource, V3ModelHelper) ->\n DebugHelper.register(\"assignmentAssignmentsCtrl\", $scope)\n\n _.assignIn $scope,\n set_ids: []\n sets: []\n deferredForSet: {}\n searchOptions:\n query: \"\"\n uiState:\n header_string: \"js.learn.assignments.assignments\"\n\n loadSets: () ->\n _.each($scope.set_ids, (set_id) ->\n unless $scope.deferredForSet[set_id]\n $scope.deferredForSet[set_id] = $q.defer()\n V3SetsResource.get\n id: set_id\n include: \"image\"\n , (success) ->\n set = V3ModelHelper.parse(success)\n $scope.sets.push(set)\n $scope.deferredForSet[set_id].resolve(set)\n , $scope.deferredForSet[set_id].reject\n\n $scope.deferredForSet[set_id]\n )\n\n AssignmentDetailsService.initialize().then (success) ->\n $scope.assignment = AssignmentDetailsService.assignment\n $scope.assignment.context_type = \"series\"\n _.each($scope.assignment.relationships.sets.data, (set) ->\n $scope.set_ids.push(set.id)\n )\n\n $scope.instructional_items_count = $scope.assignment.attributes['ic-count'] || 0\n $scope.assignments_count = $scope.set_ids.length\n\n $scope.loadSets()\n SiteNavigationService.setContext($scope.assignment, 'assignment')\n\n])\n","learnDashboardApp.controller('assignmentDetailsCtrl', ['$scope', '$q', '$filter', '$routeParams', '$location', '$timeout', 'DebugHelper', 'AssignmentDetailsService', 'GoalMathHelper', 'SiteNavigationService', 'CourseContextService', ($scope, $q, $filter, $routeParams, $location, $timeout, DebugHelper, AssignmentDetailsService, GoalMathHelper, SiteNavigationService, CourseContextService) ->\n DebugHelper.register(\"assignmentDetailsCtrl\", $scope)\n\n _.assignIn $scope, {\n uiState:\n header_string: \"js.learn.assignments.overview\"\n }\n\n AssignmentDetailsService.initialize().then (success) ->\n $scope.assignment = AssignmentDetailsService.assignment\n if $scope.assignment.type == \"sets\"\n $scope.assignment.context_type = \"set\"\n else\n $scope.assignment.context_type = \"series\"\n $scope.memories_count = $scope.assignment.attributes['studiable-memories-count'] || 0\n $scope.uiState.isScorm = !!$scope.assignment.attributes['scorm-package-id']\n if $scope.uiState.isScorm && $scope.assignment.meta['scorm-progress'] && $scope.assignment.meta['scorm-progress'] == 1\n $scope.uiState.scormComplete = true\n $scope.instructional_items_count = $scope.assignment.attributes['ic-items-count'] || 0\n if $scope.assignment.meta['due-at']\n $scope.due_date = $scope.assignment.meta['due-at']\n $scope.pastDue = (new Date() > new Date($scope.assignment.meta['due-at']))\n $scope.percent_progress = parseInt($scope.assignment.meta['memory-aggregate'].progress * 100) || 0\n localizedDateString = $filter(\"localizeDateFormat\")($scope.due_date)\n $scope.toolTipOptionalVars = { localizedDateString: localizedDateString }\n\n SiteNavigationService.setContext($scope.assignment, 'assignment')\n])\n","learnDashboardApp.controller('assignmentInstructionalItemsCtrl', ['$scope', '$location', '$q', 'DebugHelper', 'AssignmentDetailsService', 'paginatedInstructionalItemsService', 'SiteNavigationService', 'V3ModelHelper', 'V3SetItemsResource', 'V3SeriesItemsResource', ($scope, $location, $q, DebugHelper, AssignmentDetailsService, paginatedInstructionalItemsService, SiteNavigationService, V3ModelHelper, V3SetItemsResource, V3SeriesItemsResource) ->\n DebugHelper.register(\"assignmentInstructionalItemsCtrl\", $scope)\n\n _.assignIn $scope, {\n time: Date.now()\n\n loadItems: ->\n options = {}\n\n if $scope.assignment.type == \"sets\"\n resource = V3SetItemsResource\n options['set_id'] = $scope.assignment.id\n redirect_path = Packs.iKnowRoutes.v3_learn_set_path($scope.assignment.id)\n else\n resource = V3SeriesItemsResource\n options['series_id'] = $scope.assignment.id\n redirect_path = Packs.iKnowRoutes.v3_learn_series_path($scope.assignment.id)\n\n\n paginatedInstructionalItemsService.getPaginatedResults(options).then (resources) ->\n if resources.data.length < 1\n $location.path redirect_path\n else\n $scope.instructional_items = V3ModelHelper.parse(resources)\n _.each($scope.instructional_items, (item) ->\n if $scope.assignment.type == \"series\"\n item.show_path = Packs.iKnowRoutes.v3_learn_series_instructional_item_path($scope.assignment, item.id)\n else\n item.show_path = Packs.iKnowRoutes.v3_learn_set_instructional_item_path($scope.assignment, item.id)\n )\n }\n\n AssignmentDetailsService.initialize().then (success) ->\n $scope.assignment = AssignmentDetailsService.assignment\n $scope.memories_count = $scope.assignment.attributes['memories-count'] || 0\n $scope.instructional_items_count = $scope.assignment.attributes['ic-items-count'] || 0\n $scope.loadItems()\n SiteNavigationService.setContext($scope.assignment, 'assignment')\n\n])\n","learnDashboardApp.controller(\"assignmentMemoriesCtrl\", ['$scope', 'DebugHelper', 'AssignmentDetailsService', 'SiteNavigationService', 'V3SetItemsResource', 'V3SeriesItemsResource', 'V3ModelHelper', 'PassageHighlightingService', ($scope, DebugHelper, AssignmentDetailsService, SiteNavigationService, V3SetItemsResource, V3SeriesItemsResource, V3ModelHelper, PassageHighlightingService) ->\n DebugHelper.register(\"assignmentMemoriesCtrl\", $scope)\n\n _.assignIn $scope,\n routes: Packs.iKnowRoutes\n modulesTilesPath: Packs.iKnowRoutes.courses_v3_templates_path('module_tile')\n set_ids: []\n searchOptions:\n query: \"\"\n uiState:\n header_string: \"js.learn.assignments.concepts\"\n\n loadItems: () ->\n params = {\n include: \"image,facets.anchor.sound,facets.association.sound,facets.anchor.image,facets.association.image\"\n 'filter[type][]': [\"AssociationCollection\", \"Vocabulary\", \"Pattern\", \"ApplicationQuestion\", \"QuestionAndAnswer\", \"ImageMap\", \"ClozeContainer\", \"Sequence\"]\n 'page[size]': 200\n }\n if $scope.assignment.context_type == \"set\"\n resource = V3SetItemsResource\n params[\"set_id\"] = $scope.assignment.id\n else\n resource = V3SeriesItemsResource\n params[\"series_id\"] = $scope.assignment.id\n\n\n resource.query params\n , (success) ->\n $scope.items = V3ModelHelper.parse(success)\n $scope.createHighlightedPassages()\n\n createHighlightedPassages: ->\n for item in $scope.items\n if item.attributes['template-type'] == \"passages\"\n clozes = $scope.getClozes(item)\n item.highlightedPassage = PassageHighlightingService.passageWithHighlights(clozes, item.attributes.text)\n\n getClozes: (item) ->\n clozes = []\n for cloze in _.filter(item.relationships?.facets?.data, (aCloze) -> aCloze.relationships?.anchor?.data?.type == \"passage-nodes\")\n clozeObject = cloze.relationships.anchor.data.attributes;\n clozeObject.cloze_text = cloze.relationships.anchor.data.attributes['cloze-text'];\n clozes.push(clozeObject)\n clozes\n\n AssignmentDetailsService.initialize().then (success) ->\n $scope.assignment = AssignmentDetailsService.assignment\n if $scope.assignment.type == \"sets\"\n $scope.assignment.context_type = \"set\"\n $scope.set_ids << $scope.assignment.id\n else\n $scope.assignment.context_type = \"series\"\n _.each $scope.assignment.relationships.sets.data, (set) ->\n $scope.set_ids << set.id\n\n $scope.memories_count = $scope.assignment.attributes['memories-count'] || 0\n $scope.instructional_items_count = $scope.assignment.attributes['ic-items-count'] || 0\n\n $scope.loadItems()\n SiteNavigationService.setContext($scope.assignment, 'assignment')\n\n $scope.debouncedSearchItems = _.debounce($scope.loadItems, 200)\n])\n","learnDashboardApp.controller('courseAssignmentsCtrl', ['$scope', 'DebugHelper', 'CourseContextService', 'paginatedAssignmentsService', 'SiteNavigationService', ($scope, DebugHelper, CourseContextService, paginatedAssignmentsService, SiteNavigationService) ->\n DebugHelper.register(\"courseAssignmentsCtrl\", $scope)\n\n _.assignIn $scope, {\n styles: { showSearchCard: true, assignmentTileable: true }\n\n customOrderings: [\n name: \"js.filters.order\"\n direction:\n desc: \"position\"\n asc: \"-position\"\n default_direction: \"desc\"\n draggable: true\n ,\n name: \"js.filters.name\"\n direction:\n desc: \"name\"\n asc: \"-name\"\n default_direction: \"desc\"\n ]\n\n forbiddenTemplate: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"payment_required_assignments\")\n paginatedAssignmentsService: paginatedAssignmentsService\n tabs: [\n slug: \"default\"\n empty: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"empty_tab_assignments\")\n ]\n instructionalItemCardPath: Packs.iKnowRoutes.learn_dashboard_v3_templates_path('_instructional_item_tile')\n uiState:\n header_string: \"js.learn.courses.assignments\"\n\n initialize: ->\n CourseContextService.initialize().then (success) ->\n $scope.course = CourseContextService.course\n SiteNavigationService.setContext($scope.course, 'course')\n }\n\n $scope.initialize()\n])\n","learnDashboardApp.controller('courseDetailsCtrl', ['$analytics', '$filter', '$location', '$scope', '$window', 'DebugHelper', 'CourseContextService', 'SiteNavigationService', 'V3CourseUsersResource', 'UserManager', 'toastHelper', 'InstructorNamesHelper', 'paginatedAssignmentsService', 'V3CourseAssignmentsResource', ($analytics, $filter, $location, $scope, $window, DebugHelper, CourseContextService, SiteNavigationService, V3CourseUsersResource, UserManager, toastHelper, InstructorNamesHelper, paginatedAssignmentsService, V3CourseAssignmentsResource) ->\n DebugHelper.register(\"courseDetailsCtrl\", $scope)\n\n _.assignIn $scope, {\n isV4Embed: SiteNavigationService.isV4Embed()\n uiState:\n header_string: \"js.learn.courses.overview\"\n isInstructor: false\n tab: 'assignments'\n styles: { showSearchCard: true, assignmentTileable: true }\n forbiddenTemplate: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"payment_required_assignments\")\n paginatedAssignmentsService: paginatedAssignmentsService\n routes: Packs.iKnowRoutes\n tabs: [\n slug: \"default\"\n empty: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"empty_tab_assignments\")\n ]\n\n setInstructorString: ->\n $scope.course.instructor_string = InstructorNamesHelper.getFormattedInstructorNames($scope.course.attributes['instructor-names'])\n\n unenroll: ->\n confirmationText = if $scope.course.meta[\"can-unenroll\"] then \"js.learn.courses.course_detail.unenroll_confirm\" else \"js.learn.courses.course_detail.unenroll_confirm_extra_careful\"\n if $window.confirm($filter('translate')(confirmationText))\n V3CourseUsersResource.delete\n course_id: $scope.course.id\n id: UserManager.currentUser.id\n .$promise.then (success) ->\n $analytics.eventTrack('self_unenrolled_from_course')\n CourseContextService.markRefreshRequired()\n toastHelper.showToast('simpleToast', message: $filter(\"translate\")(\"js.learn.courses.course_detail.unenroll_toast\", name: $scope.course.attributes.name))\n $location.path Packs.iKnowRoutes.v3_dashboard_path()\n }\n\n CourseContextService.initialize().then (success) ->\n $scope.course = CourseContextService.course\n $scope.partnerSettings = CourseContextService.course.relationships.partner.data.attributes['partner-settings']\n # on payment required, redirect to learn dashboard\n if $scope.course.meta['payment-required']\n $window.location = Packs.iKnowRoutes.v3_dashboard_path()\n $scope.instructional_items_count = $scope.course.attributes['ic-items-count']\n $scope.setInstructorString()\n $scope.uiState.isInstructor = $scope.course.meta['can-edit']\n SiteNavigationService.setContext($scope.course, 'course')\n options = { course_id: $scope.course.id }\n V3CourseAssignmentsResource.get options\n , (success) ->\n $scope.availableAssignmentsCount = success.meta['total-count']\n $scope.availableAssignments = $filter(\"translate\")(\"js.old.learn.courses.course_detail.available_assignments_count\", availableAssignmentsCount: $scope.availableAssignmentsCount)\n])\n","learnDashboardApp.controller('courseInstructionalItemsCtrl', ['$scope', '$location', 'DebugHelper', 'CourseContextService', 'paginatedInstructionalItemsService', 'SiteNavigationService', ($scope, $location, DebugHelper, CourseContextService, paginatedInstructionalItemsService, SiteNavigationService) ->\n DebugHelper.register(\"courseInstructionalItemsCtrl\", $scope)\n\n _.assignIn $scope, {\n paginatedInstructionalItemsService: paginatedInstructionalItemsService\n tabs: [\n slug: \"default\"\n empty: Packs.iKnowRoutes.courses_v3_templates_path(\"_empty_tab_instructors\")\n ]\n isV4Embed: SiteNavigationService.isV4Embed()\n instructionalItemCardPath: Packs.iKnowRoutes.learn_dashboard_v3_templates_path('_instructional_item_tile')\n routes: Packs.iKnowRoutes\n uiState:\n header_string: \"js.learn.courses.instructional_items\"\n tab: 'instructional_items'\n serviceOptions: {}\n\n goToItem: (item) ->\n $location.path Packs.iKnowRoutes.v3_learn_course_instructional_item_path($scope.course, item.id)\n\n initialize: ->\n CourseContextService.initialize().then (success) ->\n $scope.course = CourseContextService.course\n $scope.serviceOptions['course_id'] = CourseContextService.course.id\n if $scope.course.attributes['ic-items-count'] < 1\n $location.path Packs.iKnowRoutes.v3_learn_course_path($scope.course.id)\n SiteNavigationService.setContext($scope.course, 'course')\n $scope.instructional_items_count = $scope.course.attributes['ic-items-count']\n }\n\n $scope.initialize()\n])\n","import defaultLearningLibraryImage from 'images/default/big/default-learning-library.png'\nimport { ANONYMOUS_NAME } from 'javascripts/util/constants'\n\nlearnDashboardApp.controller('dashboardCtrl', ['$scope', '$filter', '$routeParams', '$q', 'DebugHelper', 'paginatedMyCoursesService', 'V3AfterStudyMessagesResource', 'UserManager', 'ModalService', 'NpsService', '$window', 'PageTrackingService', ($scope, $filter, $routeParams, $q, DebugHelper, paginatedMyCoursesService, V3AfterStudyMessagesResource, UserManager, ModalService, NpsService, $window, PageTrackingService) ->\n DebugHelper.register(\"dashboardCtrl\", $scope)\n\n _.assignIn $scope,\n routes: Packs.iKnowRoutes\n uiState: {}\n myCourseTilePath: Packs.iKnowRoutes.common_v3_templates_path('my_course_tile')\n paginatedMyCoursesService: paginatedMyCoursesService\n studyItemModuleNames: []\n styles:\n showSearchInsideList: true\n tabs: [\n slug: \"progress\"\n name: 'js.learn.dashboard.progress'\n empty: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"_empty_tab_overview_courses\")\n ]\n progressOrbs: [\n 'js.learn.dashboard.steps_tip.first_learning_session'\n 'js.learn.dashboard.steps_tip.start_all_unstarted'\n 'js.learn.dashboard.steps_tip.review_fading'\n 'js.learn.dashboard.steps_tip.first_mastery'\n 'js.learn.dashboard.steps_tip.all_mastery'\n ]\n customOrderings: [\n name: \"js.filters.course_progress\"\n direction:\n desc: \"-course_users.progress\"\n asc: \"course_users.progress\"\n default_direction: \"asc\"\n ,\n name: \"js.filters.name\"\n direction:\n desc: \"-courses.content_name\"\n asc: \"courses.content_name\"\n default_direction: \"asc\"\n ,\n name: \"js.filters.date\"\n direction:\n desc: \"-course_users.last_study_time\"\n asc: \"course_users.last_study_time\"\n default_direction: \"desc\"\n ]\n\n isOrbActive: (index) ->\n false # the tip card only shows completed orbs, never active\n\n isOrbComplete: (index) ->\n true #all progress orbs are filled in\n\n setMobileDownloadTip: () ->\n if /iphone|ipad/i.test(navigator.userAgent)\n $scope.uiState.mobileOS = \"ios\"\n else if /android/i.test(navigator.userAgent)\n $scope.uiState.mobileOS = \"android\"\n\n showPayportal: () ->\n ModalService.showModal('payportal-modal', {\n course: $scope.paginatedMyCoursesService.paymentRequiredCourse,\n user: $scope.currentUser,\n paymentSuccessCallback: () -> $window.location.reload(),\n image: $scope.paginatedMyCoursesService.paymentRequiredCourse.relationships.image.data?.attributes\n excludeController: true\n })\n\n setTimeOfDay: () ->\n hour = new Date().getHours()\n if 12 > hour >= 0\n $scope.uiState.timeOfDay = \"morning\"\n else if 18 > hour >= 12\n $scope.uiState.timeOfDay = \"afternoon\"\n else\n $scope.uiState.timeOfDay = \"evening\"\n\n setGreetingString: () ->\n if $scope.currentUser.attributes.name\n firstName = $scope.currentUser.attributes.name.split(\" \")[0]\n if firstName && firstName != ANONYMOUS_NAME\n $scope.uiState.greetingString = $filter('translate')('js.learn.dashboard.greeting_messages.with_name.' + $scope.uiState.timeOfDay, name: firstName)\n else\n $scope.uiState.greetingString = $filter('translate')('js.learn.dashboard.greeting_messages.without_name.' + $scope.uiState.timeOfDay)\n\n setPartnerData: () ->\n partnerLibrary = $scope.currentUser.relationships['primary-partner']['data']?[\"relationships\"]['partner-library']?['data']?['attributes']\n if partnerLibrary\n $scope.uiState.partnerLibraryName = partnerLibrary['name']\n partnerSlug = $scope.currentUser.relationships['primary-partner']['data']['attributes']['slug']\n $scope.uiState.partnerLibraryPath = Packs.iKnowRoutes.v3_partner_learning_library_path(partnerSlug)\n\n knowledgeBaseClick: () ->\n $window.location.href = Packs.iKnowRoutes.v3_library_path()\n\n partnerLibraryClick: () ->\n $window.location.href = $scope.uiState.partnerLibraryPath\n \n skipContentPress: ($event) ->\n $event.currentTarget.blur()\n document.getElementById('end-focus').focus()\n\n $scope.activeTab = $scope.tabs[0]\n\n UserManager.loadUser().then (currentUser) ->\n if currentUser.id\n $scope.currentUser = currentUser\n $scope.setMobileDownloadTip()\n $scope.setPartnerData()\n $scope.setTimeOfDay()\n $scope.setGreetingString()\n NpsService.displayNPS(currentUser)\n PageTrackingService.trackPage('dashboard')\n else\n cerego_www = SERVER_URLS['www']\n $window.location.href = if cerego_www then cerego_www else Packs.iKnowRoutes.v3_signin_path()\n])\n","learnDashboardApp.controller('instructionalItemShowCtrl', ['$scope', '$location', '$q', '$routeParams', 'DebugHelper', 'AssignmentDetailsService', 'CourseContextService', 'instructionalItemShowService', 'SiteNavigationService', 'V3InstructionalPresentationsResource', 'V3ItemsResource', 'V3ModelHelper', 'V3SetItemsResource', ($scope, $location, $q, $routeParams, DebugHelper, AssignmentDetailsService, CourseContextService, instructionalItemShowService, SiteNavigationService, V3InstructionalPresentationsResource, V3ItemsResource, V3ModelHelper, V3SetItemsResource) ->\n DebugHelper.register(\"instructionalItemShowCtrl\", $scope)\n\n _.assignIn $scope, {\n uiState: {}\n\n getCurrentTime: () ->\n now = new Date()\n now.toISOString()\n\n loadItem: () ->\n item_id = $routeParams.id\n instructionalItemShowService.loadItem(item_id).then (item) ->\n $scope.startTime = Date.now()\n $scope.item = item\n $scope.setUIState()\n $scope.setSiteNav()\n\n setUIState: ->\n pdfAnnotation = _.find($scope.item.relationships?.annotations.data, (annotation) ->\n annotation.relationships.document.data?.attributes['content-type'] == \"application/pdf\"\n )\n\n embedItemType = $scope.item.attributes[\"ic-subtype\"] == \"instructional_embed\"\n\n if pdfAnnotation || embedItemType\n $scope.uiState.fullInstructionalEmbed = true\n\n if $scope.item?.meta['already-seen']\n $scope.uiState.alreadySeen = true\n\n markAsDone: () ->\n $scope.updateStudyDuration()\n\n params = {}\n params.study_time_millis = instructionalItemShowService.timeForItems[$scope.item.id]\n params.session_guid = instructionalItemShowService.studySessionId\n params.item_id = $scope.item.id\n params.occurred_at = $scope.getCurrentTime()\n\n\n V3InstructionalPresentationsResource.create params\n , (success) ->\n $scope.item.meta ||= {}\n $scope.item.meta['already-seen'] = true\n $scope.uiState.alreadySeen = true\n\n setSiteNav: () ->\n if $scope.assignment\n SiteNavigationService.setContext($scope.assignment, 'assignment', 'instructional_content')\n else if $scope.course\n SiteNavigationService.setContext($scope.course, 'course', 'instructional_content')\n else\n SiteNavigationService.setContext(null, null, 'instructional_content')\n\n updateStudyDuration: () ->\n $scope.endTime = Date.now()\n sessionLength = $scope.endTime - $scope.startTime\n instructionalItemShowService.timeForItems[$scope.item.id] += sessionLength\n }\n\n\n if $routeParams.course_id\n CourseContextService.initialize().then (success) ->\n $scope.course = CourseContextService.course\n $scope.loadItem()\n , (failure) ->\n $location.path Packs.iKnowRoutes.v3_learn_instructional_item_path($routeParams.id)\n else if ($routeParams.set_id || $routeParams.series_id)\n AssignmentDetailsService.initialize().then (success) ->\n $scope.assignment = AssignmentDetailsService.assignment\n $scope.loadItem()\n , (failure) ->\n $location.path Packs.iKnowRoutes.v3_learn_instructional_item_path($routeParams.id)\n else\n $scope.loadItem()\n SiteNavigationService.setContext(null, null, 'instructional_content')\n\n $scope.$on \"$routeChangeStart\", ->\n $scope.updateStudyDuration()\n#\n#\n])\n","import * as angular from 'angular';\nimport * as $ from 'jquery';\nimport * as _ from 'lodash';\nimport { ILtiRedirectService } from 'v2/modules/common/lti-redirect-service';\nimport { IDebugHelper } from 'v2/modules/core/debug-helper';\n\nangular.module('cerego.learnDashboard').controller('learnDashboardLtiRedirectCtrl', [\n '$scope',\n 'LtiRedirectService',\n ($scope: v3.controller.ILtiRedirectCtrl, LtiRedirectService: ILtiRedirectService) => {\n $scope.stateUI = {\n error: null\n };\n\n try {\n LtiRedirectService.exchangeTokenAndRedirect();\n } catch (error) {\n $scope.stateUI.error = error;\n }\n }\n]);\n","learnDashboardApp.controller('learningLibraryCtrl', ['$scope', '$filter', '$routeParams', 'DebugHelper', 'paginatedMyCollectionsService', 'paginatedMyCoursesService', 'UserManager', 'paginatedLearningLibraryService', 'PartnerLibraryResource', 'V3ModelHelper', ($scope, $filter, $routeParams, DebugHelper, paginatedMyCollectionsService, paginatedMyCoursesService, UserManager, paginatedLearningLibraryService, PartnerLibraryResource, V3ModelHelper) ->\n DebugHelper.register(\"learningLibraryCtrl\", $scope)\n\n _.assignIn $scope,\n paginatedLearningLibraryService: paginatedLearningLibraryService\n courseCardPath: Packs.iKnowRoutes.common_v3_templates_path('course_card')\n\n uiState: {\n emptyLibrary: false\n }\n\n serviceOptions: {}\n\n tabs: [\n slug: \"default\"\n empty: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"empty_learning_library\")\n ]\n\n styles: {\n showSearchCard: true\n courseTileable: true\n }\n\n customOrderings: [\n name: \"js.filters.title\"\n direction:\n desc: \"name\"\n asc: \"-name\"\n default_direction: \"desc\"\n ]\n\n PartnerLibraryResource.get\n partner_id: $routeParams.partner_id\n include: \"image\"\n , (success) ->\n $scope.library = V3ModelHelper.parse(success)\n $scope.serviceOptions['filter[partner_id]'] = $scope.library.relationships.partner.data.id\n , (error) ->\n DebugHelper.logError(error, 'Error getting PartnerLibraryResource')\n\n])\n","learnDashboardApp.controller('libraryCtrl', ['$scope', '$filter', 'DebugHelper', 'paginatedMyCollectionsService', 'paginatedMyCoursesService', 'UserManager', ($scope, $filter, DebugHelper, paginatedMyCollectionsService, paginatedMyCoursesService, UserManager) ->\n DebugHelper.register(\"libraryCtrl\", $scope)\n\n _.assignIn $scope,\n assignmentCardPath: Packs.iKnowRoutes.common_v3_templates_path('assignment_card')\n paginatedMyCollectionsService: paginatedMyCollectionsService\n\n uiState: {\n emptyLibrary: false\n }\n\n customOrderings: [\n name: \"js.filters.title\"\n direction:\n desc: \"name\"\n asc: \"-name\"\n default_direction: \"desc\"\n ]\n\n styles: {\n showSearchCard: true\n assignmentTileable: true\n }\n tabs: [\n slug: \"goal_in_progress\"\n name: \"js.learn.assignments.goal_in_progress\"\n empty: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"empty_tab_goal_in_progress\")\n isEmpty: false\n defaultHide: true\n ,\n slug: \"goal_reached\"\n name: \"js.learn.assignments.goal_reached\"\n empty: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"empty_tab_goal_reached\")\n isEmpty: false\n defaultHide: true\n ,\n# slug: \"optional\"\n# name: \"js.learn.assignments.optional\"\n# empty: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"empty_tab_optional\")\n# isEmpty: false\n# defaultHide: true\n# ,\n slug: \"created\"\n name: \"js.learn.assignments.created_by_me\"\n empty: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"empty_tab_created_by_me\")\n isEmpty: false\n defaultHide: false\n ,\n slug: \"has_studied\"\n name: \"js.learn.assignments.has_studied\"\n empty: Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"empty_tab_everything_studied\")\n isEmpty: false\n defaultHide: false\n ]\n\n formatLibraryTabs: (searchQuery) ->\n for tab in $scope.tabs\n if !tab.isEmpty || !tab.defaultHide # If all tabs have been loaded go through tabs until you find one able to be set as the default tab\n $scope.activeTab = tab\n break\n if searchQuery.length == 0 && _.find($scope.tabs, slug: \"goal_in_progress\").isEmpty && _.find($scope.tabs, slug: \"goal_reached\").isEmpty\n _.find($scope.tabs, slug: \"optional\").name = 'js.learn.assignments.in_schedule'\n $scope.activeTab\n\n UserManager.loadUser(true).then (currentUser) ->\n $scope.currentUser = currentUser\n $scope.uiState.emptyLibrary = (currentUser.attributes['courses-count'] == 0 && currentUser.attributes['sets-count'] == 0)\n\n])\n","module.exports = __webpack_public_path__ + \"media/v3/assignment_placeholder_60-e5c59f92.png\";","/**\n * This Cerego Shared Library will be shared across iOS, Android, and web front end.\n * Functions that must live in the front end, but we don't want to duplicate in 3 places should go here.\n * The intrasession scheduler is one thing in the future that should be shared in another self contained js file like this.\n * */\nCeregoSharedLib = {};\n\n(function() {\n var UNSTARTED_ITEM_BURDEN = 2.0;\n var MAX_BURDEN = 25;\n var FADING_COUNT_CUTOFF = 12;\n var NEW_COUNT_CUTOFF = 3;\n var MAX_NEW_ITEMS = Math.floor(MAX_BURDEN / UNSTARTED_ITEM_BURDEN);\n\n CeregoSharedLib.studyTypes = {\n FADING: 'fading_only',\n RECOMMENDED: 'recommended'\n };\n\n /** Given the number of items unstarted, the number of items fading, and the study type for a smart_module,\n * returns the total number of items that v3/my/study_items will recommend be studied in a session.\n * This is used for displaying \"Learn 8\", or \"Review 12\" on an assignment card and having it match up with what\n * will be studied, without the need for actually fetching a study session.\n * studyType can be either recommended or fading\n * */\n CeregoSharedLib.sessionSizeParts = function(unstarted, fading, studyType, percentStarted, progress) {\n studyType = studyType || CeregoSharedLib.studyTypes.RECOMMENDED;\n var new_item_count = 0;\n var fading_item_count = 0;\n\n if (studyType == CeregoSharedLib.studyTypes.RECOMMENDED) {\n if (UNSTARTED_ITEM_BURDEN * unstarted + fading <= MAX_BURDEN) {\n new_item_count = unstarted;\n fading_item_count = fading;\n } else if (percentStarted == progress) {\n new_item_count = Math.min(MAX_NEW_ITEMS, unstarted);\n // NOTE: the math here is a little backwards, but that's because MAX_BURDEN is odd, this prevents us from always\n // padding a random fading item to the end of an all-new session\n fading_item_count = Math.min((MAX_NEW_ITEMS - new_item_count) * UNSTARTED_ITEM_BURDEN, fading);\n } else if (unstarted >= NEW_COUNT_CUTOFF && fading >= FADING_COUNT_CUTOFF) {\n new_item_count = NEW_COUNT_CUTOFF;\n fading_item_count = FADING_COUNT_CUTOFF;\n } else if (unstarted >= NEW_COUNT_CUTOFF && fading < FADING_COUNT_CUTOFF) {\n new_item_count =\n NEW_COUNT_CUTOFF + Math.ceil((MAX_BURDEN - FADING_COUNT_CUTOFF - fading) / UNSTARTED_ITEM_BURDEN);\n fading_item_count = fading;\n } else {\n // implied that unstarted < 3, and fading > 20\n new_item_count = unstarted;\n fading_item_count = FADING_COUNT_CUTOFF + UNSTARTED_ITEM_BURDEN * (NEW_COUNT_CUTOFF - unstarted);\n }\n } else if (studyType == CeregoSharedLib.studyTypes.FADING) {\n new_item_count = 0;\n fading_item_count = Math.min(fading, MAX_BURDEN);\n } else {\n // Will return an empty study session\n }\n\n // The below shouldn't be necessary, but just in case\n new_item_count = Math.min(new_item_count, unstarted);\n fading_item_count = Math.min(fading_item_count, fading);\n\n return { unstarted: new_item_count, fading: fading_item_count };\n };\n\n CeregoSharedLib.sessionSize = function(unstarted, fading, studyType, percentStarted, progress) {\n var parts = CeregoSharedLib.sessionSizeParts(unstarted, fading, studyType, percentStarted, progress);\n\n return parts.fading + parts.unstarted;\n };\n})();\n","export const ANONYMOUS_NAME = '(anonymous)';\n\nconst QUEENSLAND_STAGING_PARTNER_ID = 11277;\nconst QUEENSLAND_PARTNER_ID = 15362;\nexport const PARTNER_IDS = {\n QLEARN: [QUEENSLAND_STAGING_PARTNER_ID, QUEENSLAND_PARTNER_ID],\n};\n","# This app contains most of the V3 pages that live in the Green Learn product, but outside of the actual learn app itself\n\nrequire('../../../vendor/assets/javascripts/v2/jquery-ui-1.10.4.custom')\nrequire('../../../lib/assets/javascripts/cerego_sdk/shared_lib')\n\n# require this via webpack later\n# \"v2/modules/cerego-layout-app\" remove from v3/_head\n# \"v3/modules/common\"\n\nwindow.learnDashboardApp = angular.module(\"cerego.learnDashboard\", [\n \"ngPromiseExtras\"\n \"angular-uuid\"\n \"cerego.layout\"\n]).config(['$routeProvider', ($routeProvider) ->\n $routeProvider\n .when Packs.iKnowRoutes.v3_dashboard_path(),\n templateUrl : Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"dashboard\")\n controller : 'dashboardCtrl'\n resolve:\n $titleTag: -> (\"js.title_tags.dashboard\")\n $product: -> 'learn'\n .when Packs.iKnowRoutes.v3_learn_course_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.courses_v3_learn_dashboard_templates_path(\"show\")\n controller : 'courseDetailsCtrl'\n resolve:\n $titleTag: -> (\"js.title_tags.overview\")\n $product: -> 'learn'\n $tab: -> 'overview'\n .when Packs.iKnowRoutes.v3_learn_course_instructional_items_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.courses_v3_learn_dashboard_templates_path(\"instructional_items\")\n controller : 'courseInstructionalItemsCtrl'\n resolve:\n $titleTag: -> (\"js.title_tags.instructional_items\")\n $product: -> 'learn'\n $tab: -> 'instructional_items'\n .when Packs.iKnowRoutes.v3_learn_course_instructional_item_path(\":course_id\", \":id\"),\n templateUrl : Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"instructional_item\")\n controller : 'instructionalItemShowCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.instructional_items\"\n $product: -> 'learn'\n $tab: -> 'instructional_items'\n .when Packs.iKnowRoutes.v3_learn_set_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.assignments_v3_learn_dashboard_templates_path(\"show\")\n controller : 'assignmentDetailsCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'overview'\n $assignment_type: -> 'set'\n .when Packs.iKnowRoutes.v3_learn_series_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.assignments_v3_learn_dashboard_templates_path(\"show\")\n controller : 'assignmentDetailsCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'overview'\n $assignment_type: -> 'series'\n .when Packs.iKnowRoutes.v3_learn_set_instructional_items_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.assignments_v3_learn_dashboard_templates_path(\"instructional_items\")\n controller : 'assignmentInstructionalItemsCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'instructional_items'\n $assignment_type: -> 'set'\n .when Packs.iKnowRoutes.v3_learn_set_instructional_item_path(\":set_id\", \":id\"),\n templateUrl : Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"instructional_item\")\n controller : 'instructionalItemShowCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'instructional_items'\n $assignment_type: -> 'set'\n .when Packs.iKnowRoutes.v3_learn_set_memories_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.assignments_v3_learn_dashboard_templates_path(\"memories\")\n controller : 'assignmentMemoriesCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'memories'\n $assignment_type: -> 'set'\n .when Packs.iKnowRoutes.v3_learn_series_instructional_items_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.assignments_v3_learn_dashboard_templates_path(\"instructional_items\")\n controller : 'assignmentInstructionalItemsCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'instructional_items'\n $assignment_type: -> 'series'\n .when Packs.iKnowRoutes.v3_learn_series_instructional_item_path(\":series_id\", \":id\"),\n templateUrl : Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"instructional_item\")\n controller : 'instructionalItemShowCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'instructional_items'\n $assignment_type: -> 'series'\n .when Packs.iKnowRoutes.v3_learn_series_memories_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.assignments_v3_learn_dashboard_templates_path(\"memories\")\n controller : 'assignmentMemoriesCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'memories'\n $assignment_type: -> 'series'\n .when Packs.iKnowRoutes.v3_learn_series_assignments_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.assignments_v3_learn_dashboard_templates_path(\"assignments\")\n controller : 'assignmentAssignmentsCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'assignments'\n $assignment_type: -> 'series'\n .when Packs.iKnowRoutes.v3_learn_set_advanced_index_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.assignments_v3_learn_dashboard_templates_path(\"advanced\")\n controller : 'assignmentAdvancedCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'advanced'\n $assignment_type: -> 'set'\n .when Packs.iKnowRoutes.v3_learn_series_advanced_index_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.assignments_v3_learn_dashboard_templates_path(\"advanced\")\n controller : 'assignmentAdvancedCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.assignments\"\n $product: -> 'learn'\n $tab: -> 'advanced'\n $assignment_type: -> 'series'\n .when Packs.iKnowRoutes.v3_learn_instructional_item_path(\":id\"),\n templateUrl : Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"instructional_item\")\n controller : 'instructionalItemShowCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.instructional_items\"\n $product: -> 'learn'\n $tab: -> 'overview'\n .when Packs.iKnowRoutes.v3_library_path(),\n templateUrl : Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"library\")\n controller : 'libraryCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.knowledge_bank\"\n $product: -> 'learn'\n .when Packs.iKnowRoutes.v3_partner_learning_library_path(\":partner_id\"),\n templateUrl : Packs.iKnowRoutes.learn_dashboard_v3_templates_path(\"learning_library\")\n controller : 'learningLibraryCtrl'\n resolve:\n $titleTag: -> \"js.title_tags.library\"\n $product: -> 'learn'\n .when Packs.iKnowRoutes.v3_lti_redirect_learn_dashboard_path(),\n templateUrl : Packs.iKnowRoutes.common_v3_templates_path(\"lti_redirect\")\n controller : 'learnDashboardLtiRedirectCtrl'\n .otherwise\n redirectTo: Packs.iKnowRoutes.v3_dashboard_path()\n])\n\nreq = require.context('../../assets/javascripts/v3/modules/learn-dashboard/resources', false, /\\.js$/)\nreq.keys().forEach(req)\n\nrequire('../../assets/javascripts/v3/modules/learn-dashboard/instructional-item-show-service.js')\nrequire('../../assets/javascripts/v3/modules/learn-dashboard/paginated-assignments-service.js')\nrequire('../../assets/javascripts/v3/modules/learn-dashboard/paginated-my-collections-service.js')\nrequire('../../assets/javascripts/v3/modules/learn-dashboard/paginated-my-courses-service.js')\nrequire('../../assets/javascripts/v3/modules/learn-dashboard/paginated-learning-library-courses-service.js')\nrequire('../../assets/javascripts/v3/modules/common/services/iframe-message-service.ts')\n\n\nreq = require.context('../../assets/javascripts/v3/modules/learn-dashboard/controllers', false)\nreq.keys().forEach(req)\n","var map = {\n\t\"./v3-after-study-messages-resource.js\": 762,\n\t\"./v3-my-collections-resource.js\": 763,\n\t\"./v3-my-study-stats-resource.js\": 764\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 761;","learnDashboardApp.factory('V3AfterStudyMessagesResource', ['$resource', ($resource) ->\n $resource \"\", {},\n create:\n method: 'POST'\n isArray: false\n url: APIRoutes.v3_after_study_messages_path()\n])\n","learnDashboardApp.factory('V3MyCollectionsResource', ['$resource', ($resource) ->\n $resource \"\", {},\n query:\n method: 'GET'\n isArray: false\n url: APIRoutes.v3_my_collections_path()\n])\n","learnDashboardApp.factory('V3MyStudyStatsResource', ['$resource', ($resource) ->\n $resource \"\", {},\n query:\n method: 'GET'\n isArray: false\n url: APIRoutes.v3_my_study_stats_path()\n])\n","learnDashboardApp.service('instructionalItemShowService', ['$rootScope', '$routeParams', '$q', 'DebugHelper', '$filter', 'V3ItemsResource', 'V3ModelHelper', 'uuid', ($rootScope, $routeParams, $q, DebugHelper, $filter, V3ItemsResource, V3ModelHelper, uuid) ->\n $scope = $rootScope.$new()\n DebugHelper.register(\"instructionalItemShowService\", $scope)\n\n _.assignIn $scope,\n timeForItems: {}\n deferredForItems: {}\n studySessionId: uuid.v4()\n\n loadItem: (id) ->\n unless $scope.deferredForItems[id]\n $scope.deferredForItems[id] = $q.defer()\n V3ItemsResource.get\n id: $routeParams.id\n include: \"annotations,annotations.document,annotations.image,annotations.sound,annotations.video\"\n , (success) ->\n item = V3ModelHelper.parse(success)\n if item.attributes['template-type'] == \"instructional_contents\"\n $scope.currentItem = item\n $scope.timeForItems[id] ||= 0\n $scope.deferredForItems[id].resolve(item)\n else\n $scope.deferredForItems[id].reject\n , (failure) ->\n $scope.deferredForItems[id].reject\n\n $scope.deferredForItems[id].promise\n\n $scope\n])\n","import assignmentPlaceholder from 'images/v3/assignment_placeholder_60.png'\n\nlearnDashboardApp.service('paginatedAssignmentsService', ['$rootScope', '$routeParams', '$q', 'DebugHelper', '$filter', 'V3CourseAssignmentsResource', 'V3ModelHelper', ($rootScope, $routeParams, $q, DebugHelper, $filter, V3CourseAssignmentsResource, V3ModelHelper) ->\n $scope = $rootScope.$new()\n DebugHelper.register(\"paginatedAssignmentsService\", $scope)\n\n _.assignIn $scope,\n resources: {}\n activeTab: \"default\"\n defaultOptions:\n sort: \"\"\n include: 'image'\n defaultResourceImage: assignmentPlaceholder\n lastOptions: {}\n\n getPaginatedResults: (options = {}) ->\n options = _.defaults(options, $scope.defaultOptions)\n deferred = $q.defer()\n\n options['course_id'] = $routeParams.id || $routeParams.course_id || options['course_id'] || -1\n options.sort = \"position\"\n\n V3CourseAssignmentsResource.get options\n , (success) ->\n $scope.loading = false\n deferred.resolve(V3ModelHelper.parse(success, includeMeta: true))\n , (error) ->\n deferred.reject(error)\n\n deferred.promise\n\n $scope\n])\n","learnDashboardApp.service('paginatedMyCollectionsService', ['$rootScope', '$q', 'DebugHelper', 'toastHelper', '$filter', 'UserManager', 'V3MyCollectionsResource', 'V3ModelHelper', ($rootScope, $q, DebugHelper, toastHelper, $filter, UserManager, V3MyCollectionsResource, V3ModelHelper) ->\n $scope = $rootScope.$new()\n DebugHelper.register(\"paginatedMyCollectionsService\", $scope)\n\n _.assignIn $scope,\n resources: {}\n activeTab: \"default\"\n defaultOptions:\n include: 'image'\n filter: {}\n defaultResourceImage: '<%= image_path(\"v3/assignment_placeholder_60.png\") %>'\n lastOptions: {}\n\n getPaginatedResults: (options = {}) -> # constraints param will need to take care of tabs #---\n# !!! need to merge options in case they only provide a page number but otherwise rely on defaults !!!\n options = _.defaults(options, $scope.defaultOptions)\n tab = options.tab\n options.filter = {}\n deferred = $q.defer()\n\n switch tab\n when \"goal_in_progress\"\n options.filter.goal_in_progress = true\n when \"goal_reached\"\n options.filter.goal_reached = true\n when \"optional\"\n options.filter.optional = true\n when \"has_studied\"\n options.filter.has_studied = true\n when \"created\"\n options.filter.created = true\n else\n options.filter.ready = true\n\n UserManager.loadUser(true).then (user) ->\n V3MyCollectionsResource.query options\n , (success) ->\n $scope.loading = false\n deferred.resolve(V3ModelHelper.parse(success, includeMeta: true))\n deferred.promise\n\n $scope\n])\n","learnDashboardApp.service('paginatedMyCoursesService', ['$rootScope', '$q', 'DebugHelper', 'toastHelper', '$filter', 'UserManager', 'V3CoursesResource', 'V3MyCoursesResource', 'V3ModelHelper', ($rootScope, $q, DebugHelper, toastHelper, $filter, UserManager, V3CoursesResource, V3MyCoursesResource, V3ModelHelper) ->\n $scope = $rootScope.$new()\n DebugHelper.register(\"paginatedMyCoursesService\", $scope)\n\n _.assignIn $scope,\n resources: {}\n activeTab: \"default\"\n defaultOptions:\n sort: \"-course_users.last_study_time\"\n include: 'image,partner,partner.partner-library'\n filter: { ready: true }\n defaultResourceImage: '<%= image_path(\"v3/assignment_placeholder_60.png\") %>'\n lastOptions: {}\n\n loadPaymentRequiredCourse: (courseId) ->\n V3CoursesResource.get id: courseId\n , (success) ->\n $scope.paymentRequiredCourse = V3ModelHelper.parse(success)\n\n getPaginatedResults: (options = {}) -> # constraints param will need to take care of tabs #---\n options = _.defaults(options, $scope.defaultOptions)\n deferred = $q.defer()\n\n UserManager.loadUser(true).then (user) ->\n V3MyCoursesResource.query options\n , (success) ->\n $scope.loading = false\n myCourses = V3ModelHelper.parse(success, includeMeta: true)\n if myCourses.meta['payment-required-course-ids']?.length > 0\n $scope.loadPaymentRequiredCourse(myCourses.meta['payment-required-course-ids'][0])\n deferred.resolve(myCourses)\n deferred.promise\n\n $scope\n])\n","learnDashboardApp.service('paginatedLearningLibraryService', ['$rootScope', '$q', 'DebugHelper', 'toastHelper', '$filter', '$routeParams', 'UserManager', 'V3CoursesResource', 'V3ModelHelper', ($rootScope, $q, DebugHelper, toastHelper, $filter, $routeParams, UserManager, V3CoursesResource, V3ModelHelper) ->\n $scope = $rootScope.$new()\n DebugHelper.register(\"paginatedLearningLibraryService\", $scope)\n\n _.assignIn $scope,\n resources: {}\n defaultOptions:\n query: \"\"\n sort: \"name\"\n 'page[number]': 1\n 'page[size]': 15\n\n getPaginatedResults: (options = {}) ->\n options = _.defaults(options, $scope.defaultOptions)\n options['filter[in_library]'] = true\n options.include = \"partner,partner.image\"\n\n deferred = $q.defer()\n\n UserManager.loadUser().then (user) ->\n V3CoursesResource.query options\n , (success) ->\n $scope.loading = false\n courses = V3ModelHelper.parse(success, includeMeta: true)\n deferred.resolve(courses)\n deferred.promise\n\n $scope\n])\n","var map = {\n\t\"./assignment-advanced-controller.js\": 353,\n\t\"./assignment-advanced-controller.js.coffee\": 353,\n\t\"./assignment-assignments-controller.js\": 354,\n\t\"./assignment-assignments-controller.js.coffee\": 354,\n\t\"./assignment-details-controller.js\": 355,\n\t\"./assignment-details-controller.js.coffee\": 355,\n\t\"./assignment-instructional-items-controller.js\": 356,\n\t\"./assignment-instructional-items-controller.js.coffee\": 356,\n\t\"./assignment-memories-controller.js\": 357,\n\t\"./assignment-memories-controller.js.coffee\": 357,\n\t\"./course-assignments-controller.js\": 358,\n\t\"./course-assignments-controller.js.coffee\": 358,\n\t\"./course-details-controller.js\": 359,\n\t\"./course-details-controller.js.coffee\": 359,\n\t\"./course-instructional-items-controller.js\": 360,\n\t\"./course-instructional-items-controller.js.coffee\": 360,\n\t\"./dashboard-controller.js\": 361,\n\t\"./dashboard-controller.js.coffee\": 361,\n\t\"./instructional-item-show-controller.js\": 362,\n\t\"./instructional-item-show-controller.js.coffee\": 362,\n\t\"./learn-dashboard-lti-redirect-controller\": 363,\n\t\"./learn-dashboard-lti-redirect-controller.ts\": 363,\n\t\"./learning-library-controller.js\": 364,\n\t\"./learning-library-controller.js.coffee\": 364,\n\t\"./library-controller.js\": 365,\n\t\"./library-controller.js.coffee\": 365\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 770;","module.exports = __webpack_public_path__ + \"media/big/default-learning-library-19ce7222.png\";"],"sourceRoot":""}