MediaWiki:Common.js
Материал из Энциклопедия фонда «Хайазг»
Версия от 22:14, 1 марта 2013; Oshlikov (обсуждение | вклад)
Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
- Opera: Перейдите в Menu → Настройки (Opera → Настройки на Mac), а затем Безопасность → Очистить историю посещений → Кэшированные изображения и файлы
/* Размещённый здесь JavaScript код будет загружаться всем пользователям при обращении к каждой странице */
//получает адреса, обрабатывает и отображает точки на карте
function ymGeocod(val, val2, val3, val4)
{
/*
val -адрес
val2-картинка
val3-статус объекта
val4-название объекта
*/
//МАКЕТ ДЛЯ БАЛУНА ОДНОЙ ТОЧКИ
// Макет заголовка балуна, в нем сразу и данные
var myBalloonContentLayout = ymaps.templateLayoutFactory.createClass('<div class="bal-div"> $[properties.clusterCaption]<br /><br />$[properties.balloonContentBody]</div>');
// Создание макета основного содержимого контента балуна.
// var myBalloonContentBodyLayout = ymaps.templateLayoutFactory.createClass(
// '$[properties.clusterCaption]<br /><br />$[properties.balloonContentBody]<br /><br />', {
// build: function () {
// this.constructor.superclass.build.call(this);
// }
// });
//МАКЕТ ДЛЯ БАЛУНА КЛАСТЕРА (НЕСКОЛЬКИХ ТОЧЕК)
var myClusterBalloonLayout =ymaps.templateLayoutFactory.createClass("", {
build: function () {
geoObjects = this.getData().properties.get('geoObjects');
var parent = this.getParentElement(),
content = "<div class='bal-div-home'>";
for (var i = 0, l = geoObjects.length; i < l; i++)
{
balloonContentBody = geoObjects[i].properties.get("balloonContentBody");
content += "<div class='bal-div'>" + balloonContentBody + "</div>";
}
content+="</div>";
parent.innerHTML = content;
}
});
//ПРИМЕНЕНИЕ МАКЕТА К КЛАСТЕРУ
cluster.options.set({
balloonContentLayout: myClusterBalloonLayout,
})
// регулярки для замен входящей инфы
var re= /\s/g,
regimg = /href=".*?"/g,
//преобразование названия для использоваиня в ссылке
ref = val4.replace(re,'_');
val2 = val2.replace(regimg, 'href=\"http://draft.hayazg.info/' + ref + '\"');
//создание переменной для содержимого балуна
var tab_content = val2 + '<br>' + val4;
//создание переменной для геокодинга
var mygeocod = ymaps.geocode(val, {results:1});
//после обработки делаем функцию...
mygeocod.then(
function(res){
if(res.geoObjects.getLength()) {
//координаты точки для маркера
var point = res.geoObjects.get(0).geometry.getCoordinates();
//plac- маркер с контентом, его передать в кластерер
var plac = new ymaps.Placemark
(point,
{
// данные в заголовке, уже использованы в tab_content
// clusterCaption: val4,
balloonContentBody: tab_content
},
{
// применение шаблона макета
// balloonContentBodyLayout: myBalloonContentBodyLayout,
balloonContentLayout: myBalloonContentLayout,
// preset: 'twirl#nightStretchyIcon'
}
);
//добавление маркеров в кластерер
cluster.add(plac);
//отображение кластерера на карте
myMap.geoObjects.add(cluster);
}
}
)
}
//центральная функция
function ymInit(S_all)
{
//обработка события наведения на пункты балуна
jQuery(function() {
jQuery("#var").live("mouseover", function(e){
jQuery("#clusterBody").html(this.value);
});
})
// Создаем кластеризатор со стандартными иконками
cluster = new ymaps.Clusterer();//{clusterIcons : clusterIcons});
//создание кластеризатора с пользовательскими иконками
//cluster = new ymaps.Clusterer({clusterIcons : clusterIcons});
// Создание экземпляра карты myMap и его привязка к контейнеру с
// заданным id ("map")
myMap = new ymaps.Map('map', {
center: [47.23,39.73],
zoom: 10,
});
//добавление инструментов для просмотра
myMap.controls
// Кнопка изменения масштаба
.add('zoomControl')
// Список типов карты
.add('typeSelector')
// Стандартный набор кнопок
.add('mapTools');
//скролл колесиком
myMap.behaviors.enable('scrollZoom');
//обработка входящей информации
/*
A_all[i][0]-картинка
A_all[i][1]-адрес
A_all[i][2]-доп инфа.
A_all[i][3]-название здания-памятника
*/
S_all=S_all.toString();
A_all=S_all.split('‼');
for (var i=0;i<A_all.length; i++)
{A_all[i]=A_all[i].split('|');}
//последовательный геокодинг и добавление адресов на карту в кластере
for (var i=0; i < A_all.length; i++)
{
if (A_all[i][2]==null){continue;}
else{
ymGeocod(A_all[i][1], A_all[i][0], A_all[i][2], A_all[i][3]);
}
}
}
/////////////////////////////////////////////////////////////////
var hayazg_hash = {
labelMsg: 'wikieditor-toolbar-section-hayazg',
type: 'booklet',
pages: {
'specialchars': {
'labelMsg': 'wikieditor-toolbar-hayazg-specialchars',
'layout': 'characters',
'characters': [
"I", "II", "III", "IV",
{ 'label': "\u00ab\u00bb", 'action': { 'type': 'encapsulate', 'options': { 'pre': "\u00ab", 'post': "\u00bb" } } },
{ 'label': "\u2018\u2019", 'action': { 'type': 'encapsulate', 'options': { 'pre': "\u2018", 'post': "\u2019" } } },
{ 'label': "\u201e\u201c", 'action': { 'type': 'encapsulate', 'options': { 'pre': "\u201e", 'post': "\u201c" } } },
"~", "#", "@", "\u00a7", "$", "\u00a2", "\u00a9", "\u00ae" ,"\u2122", "|",
{
'label': "[[ссылка|текст]]",
'action': {
'type': 'encapsulate', 'options': { 'pre': "[["+"|", 'post': "]]" }
}
},
{
'label': "[[Категория:]]",
'action': {
'type': 'encapsulate', 'options': { 'pre': "[[Категория:", 'post': "]]" }
}
},
{
'label': "[[/доп.ссылка|текст]]",
'action': {
'type': 'encapsulate', 'options': { 'pre': "[[/"+"|", 'post': "]]" }
}
},
{
'label': "Цитата",
'action': {
'type': 'encapsulate', 'options': { 'pre': "{{Цитата|", 'post': "}}" }
}
}
]
}
}
};