File tree Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -190,7 +190,7 @@ angular.module('mm.addons.mod_lesson')
190190
191191 $scope . pageData = data ;
192192 $scope . title = data . page . title ;
193- $scope . pageContent = data . page . contents ;
193+ $scope . pageContent = $mmaModLessonHelper . getPageContentsFromPageData ( data ) ;
194194 $scope . pageLoaded = true ;
195195 $scope . currentPage = pageId ;
196196 $scope . messages = $scope . messages . concat ( data . messages ) ;
Original file line number Diff line number Diff line change @@ -138,6 +138,31 @@ angular.module('mm.addons.mod_lesson')
138138 return buttons ;
139139 } ;
140140
141+ /**
142+ * Given a page data (result of getPageData), get the page contents.
143+ *
144+ * @module mm.addons.mod_lesson
145+ * @ngdoc method
146+ * @name $mmaModLessonHelper#getPageContentsFromPageData
147+ * @param {Object } data Page data.
148+ * @return {String } Page contents.
149+ */
150+ self . getPageContentsFromPageData = function ( data ) {
151+ var contents ,
152+ rootElement = document . createElement ( 'div' ) ;
153+
154+ // Search the page contents inside the whole page HTML. Use data.pagecontent because it's filtered.
155+ rootElement . innerHTML = data . pagecontent ;
156+ contents = rootElement . querySelector ( '.contents' ) ;
157+
158+ if ( contents ) {
159+ return contents . innerHTML . trim ( ) ;
160+ }
161+
162+ // Cannot find contents element, return the page.contents (some elements like videos might not work).
163+ return data . page . contents ;
164+ } ;
165+
141166 /**
142167 * Given the HTML of an answer from a question page, extract the data to render the answer.
143168 *
You can’t perform that action at this time.
0 commit comments