%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/js/landing/mediaservice/ |
| Current File : //home/bitrix/www/bitrix/js/landing/mediaservice/facebook_page_plugin_service.js |
;(function() {
"use strict";
BX.namespace("BX.Landing.MediaService");
var isString = BX.Landing.Utils.isString;
/**
* Implements interface for works with Facebook pages plugin
* @inheritDoc
*/
BX.Landing.MediaService.FacebookPages = function(url, settings)
{
BX.Landing.MediaService.BaseMediaService.apply(this, arguments);
this.matcher = BX.Landing.Utils.Matchers.facebookPages;
this.pageUrl = encodeURIComponent(url.replace(/\/$/, ""));
this.embedURL = "https://www.facebook.com/plugins/page.php?href="+this.pageUrl;
this.params = {
tabs: "timeline",
width: 340,
small_header: false,
adapt_container_width: true,
hide_cover: false,
show_facepile: true
};
};
/**
* Checks that URL is valid Google Maps Place
* @param {string} url
* @return {boolean}
*/
BX.Landing.MediaService.FacebookPages.validate = function(url)
{
return BX.Landing.Utils.Matchers.facebookPages.test(url);
};
BX.Landing.MediaService.FacebookPages.prototype = {
constructor: BX.Landing.MediaService.FacebookPages,
__proto__: BX.Landing.MediaService.BaseMediaService.prototype,
/**
* Gets settings form
* @return {BX.Landing.UI.Form.BaseForm}
*/
getSettingsForm: function()
{
if (!this.form)
{
this.form = new BX.Landing.UI.Form.BaseForm();
var settings = this.getSettings();
this.form.addField(
new BX.Landing.UI.Field.Dropdown({
title: BX.message("LANDING_CONTENT_URL_MEDIA_FB_PAGE_SMALL_HEADER"),
selector: "small_header",
content: settings.small_header === "true" || settings.small_header === true,
items: [
{name: BX.message("LANDING_CONTENT_URL_MEDIA_YES"), value: true},
{name: BX.message("LANDING_CONTENT_URL_MEDIA_NO"), value: false}
]
})
);
this.form.addField(
new BX.Landing.UI.Field.Dropdown({
title: BX.message("LANDING_CONTENT_URL_MEDIA_FB_PAGE_COVER"),
selector: "hide_cover",
content: settings.hide_cover === "true" || settings.hide_cover === true,
items: [
{name: BX.message("LANDING_CONTENT_URL_MEDIA_YES"), value: false},
{name: BX.message("LANDING_CONTENT_URL_MEDIA_NO"), value: true}
]
})
);
this.form.addField(
new BX.Landing.UI.Field.Dropdown({
title: BX.message("LANDING_CONTENT_URL_MEDIA_FB_PAGE_FACES"),
selector: "show_facepile",
content: settings.show_facepile === "true" || settings.show_facepile === true,
items: [
{name: BX.message("LANDING_CONTENT_URL_MEDIA_YES"), value: true},
{name: BX.message("LANDING_CONTENT_URL_MEDIA_NO"), value: false}
]
})
);
var tabsItems = [
{name: BX.message("LANDING_CONTENT_URL_MEDIA_FB_PAGE_TABS_TIMELINE"), value: "timeline"},
{name: BX.message("LANDING_CONTENT_URL_MEDIA_FB_PAGE_TABS_MESSAGES"), value: "messages"},
{name: BX.message("LANDING_CONTENT_URL_MEDIA_FB_PAGE_TABS_EVENTS"), value: "events"}
];
var selectedTabs = isString(settings.tabs) ? settings.tabs.split(", ") : [];
if (selectedTabs.length)
{
tabsItems.forEach(function(item) {
item.selected = selectedTabs.includes(item.value);
});
}
this.form.addField(
new BX.Landing.UI.Field.MultiSelect({
title: BX.message("LANDING_CONTENT_URL_MEDIA_FB_PAGE_TABS"),
selector: "tabs",
value: selectedTabs,
items: tabsItems
})
);
}
return this.form;
}
};
})();