更新 infowindow-view.js

remotes/origin/master
钟进 4 years ago
parent c6ced2cfe0
commit bb43395e8a

@ -114,6 +114,12 @@ var Infowindow = View.extend({
this._loadCover(); this._loadCover();
} }
if (this._containsVideo()) {
this._loadVideo();
}
this._setupClasses(); this._setupClasses();
this._renderScroll(); this._renderScroll();
this._renderShadows(); this._renderShadows();
@ -165,6 +171,8 @@ var Infowindow = View.extend({
var hasContent = this._getContent().length; var hasContent = this._getContent().length;
var hasTitle = this.$('.CDB-infowindow-title').length; var hasTitle = this.$('.CDB-infowindow-title').length;
var numberOfFields = this.model.get('content') && this.model.get('content').fields.length; var numberOfFields = this.model.get('content') && this.model.get('content').fields.length;
var hasH5url = this.$('.js-h5url').length;
if (hasCover) { if (hasCover) {
$infowindow $infowindow
@ -295,6 +303,12 @@ var Infowindow = View.extend({
_containsCover: function () { _containsCover: function () {
return !!this.$('.js-infowindow').attr('data-cover'); return !!this.$('.js-infowindow').attr('data-cover');
}, },
//检测视频
_containsVideo: function () {
return !!this.$('.js-infowindow').attr('data-video');
},
_containsTemplateCover: function () { _containsTemplateCover: function () {
return this.$('.js-cover img').length > 0; return this.$('.js-cover img').length > 0;
@ -365,6 +379,21 @@ var Infowindow = View.extend({
this.$('.js-cover img').remove(); this.$('.js-cover img').remove();
this._loadCoverFromUrl(url); this._loadCoverFromUrl(url);
}, },
_loadVideoFromUrl: function (url) {
var $cover = this.$('.js-cover');
this._startCoverLoader();
var $img = $("<video class='CDB-infowindow-media-item' />");
$cover.append($img);
$img
.load(this._onLoadImageSuccess)
.error(this._onLoadImageError)
.attr('src', url);
},
_loadCoverFromUrl: function (url) { _loadCoverFromUrl: function (url) {
var $cover = this.$('.js-cover'); var $cover = this.$('.js-cover');
@ -425,6 +454,25 @@ var Infowindow = View.extend({
return styles; return styles;
}, },
_loadVideofunction () {
this._renderCoverLoader();
this._startCoverLoader();
var url = this._getCoverURL();
if (this._isLoadingFields()) {
return;
}
if (!this._isValidURL(url)) {
this._stopCoverLoader();
this._showInfowindowVideoError();
return;
}
this._loadVideoFromUrl(url);
}
_loadCover: function () { _loadCover: function () {
this._renderCoverLoader(); this._renderCoverLoader();
@ -475,6 +523,11 @@ var Infowindow = View.extend({
this.$('.js-infowindow').addClass('is-fail'); this.$('.js-infowindow').addClass('is-fail');
this.$('.js-cover').append('<p class="CDB-infowindow-fail">Non-valid picture URL</p>'); this.$('.js-cover').append('<p class="CDB-infowindow-fail">Non-valid picture URL</p>');
}, },
_showInfowindowVideoError: function () {
this.$('.js-infowindow').addClass('is-fail');
this.$('.js-cover').append('<p class="CDB-infowindow-fail">无效的视频地址</p>');
},
_stopCoverLoader: function () { _stopCoverLoader: function () {
this.$('.js-infowindow').removeClass('is-loading'); this.$('.js-infowindow').removeClass('is-loading');

Loading…
Cancel
Save