r1800 - oipf/lib/js/impl
Author: ygrego Date: 2015-07-10 18:28:35 +0200 (Fri, 10 Jul 2015) New Revision: 1800 Url: http://forge.nuiton.org/projects/sandbox/repository/revisions/1800 Log: Now only one file is used for get channel line-up and programmes data. Modified: oipf/lib/js/impl/OipfObjectFactory.js Modified: oipf/lib/js/impl/OipfObjectFactory.js =================================================================== --- oipf/lib/js/impl/OipfObjectFactory.js 2015-07-10 16:25:39 UTC (rev 1799) +++ oipf/lib/js/impl/OipfObjectFactory.js 2015-07-10 16:28:35 UTC (rev 1800) @@ -80,13 +80,11 @@ _setInitPromise() { var self = this; - var channelListUrl = this._oipfConfiguration.channelList; var programmesUrl = this._oipfConfiguration.programmes; - this._initPromise = this._createDocument(channelListUrl, "_setChannelConfig") - .then(function() { - return self._createDocument(programmesUrl, "_setSearchManagerObject"); - }); + this._initPromise = this._createDocument(programmesUrl) + .then(this._setChannelConfig.bind(this)) + .then(this._setSearchManagerObject.bind(this)); } _getInitPromise() { @@ -93,24 +91,35 @@ return this._initPromise; } - _createDocument(filename, callbackName) { + _createDocument(filename) { var self = this; var promise = new Promise(function(resolve, reject) { if (window.XMLHttpRequest) { var xmlHttpRequest = new XMLHttpRequest(); + xmlHttpRequest.open("GET", filename); + xmlHttpRequest.send(); + xmlHttpRequest.onload = function() { + if (this.status == 200 && this.responseXML != null) { var xmlToJson = new XmlToJson(this.responseXML); - var jsonData = xmlToJson.getJson(); - self[callbackName].call(self, jsonData); + self._jsonProgrammesAndChannels = xmlToJson.getJson(); + + if (self._jsonProgrammesAndChannels) { + console.log("Channels and programmes data have been received.") + } + console.log("A new doument has been created."); + resolve(); + } else { console.log("An error occured during the document creation."); + reject(); } }; @@ -655,12 +664,15 @@ } } - _setChannelConfig(channelListJson) { + _setChannelConfig() { + var channelHelper = new ChannelHelper(this._jsonProgrammesAndChannels.tv.channel); + var oipfChannels = channelHelper.getOipfChannels(); + this._channelService = new ChannelService(this._oipfConfiguration.currentChannel, this._oipfConfiguration.channelNumber, this._oipfConfiguration.channelOrigin, - channelListJson.channelList.channel + oipfChannels ); this._channelServicePromise.resolve(this._channelService); @@ -668,11 +680,11 @@ this.channelConfig._fireEventChannelListUpdate(); } - _setSearchManagerObject(programmesJson) { - var somesChannelInfo = programmesJson.tv.channel; + _setSearchManagerObject() { + var somesChannelInfo = this._jsonProgrammesAndChannels.tv.channel; var oipfProgrammes = new ProgrammeHelper(this._channelService, somesChannelInfo) - .initProgrammes(programmesJson.tv.programme); + .initProgrammes(this._jsonProgrammesAndChannels.tv.programme); this._programmeService = new ProgrammeService(oipfProgrammes);
participants (1)
-
ygregoï¼ users.nuiton.org