MediaWiki:Common.js

Материал из Энциклопедия фонда «Хайазг»
Перейти к: навигация, поиск

Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • 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: {

    'template': {
      'labelMsg': 'wikieditor-toolbar-hayazg-template',
      'layout': 'tools',
      'tools': {
          'persona': {
            label: 'Персона',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                peri: "{{Персона\n\
| name-ru-main  =\n\
| name-ru-01    =\n\
| name-ru-02    =\n\
| name-ru-03    =\n\
| name-lat =\n\
| name-en       =\n\
| name-am       =\n\
| name-fr       =\n\
| состояние текста     = 1\n\
| состояние поиска     = 1\n\
| состояние тэгов      = 1\n\
| состояние ссылок     = 1\n\
| флаг чистовик        =\n\
| автокартинки         =\n\
| портрет              =\n\
| дата рождения        =\n\
| место рождения       =\n\
| дата смерти          =\n\
| место смерти         =\n\
| краткая информация =\n\
| тэг01 =\n\
| тэг02 =\n\
| тэг03 =\n\
| тэг04 =\n\
| тэг05 =\n\
}}\n\
\n\
=Биография=\n\
\n\
==Сочинения==\n\
\n\
==Достижения==\n\
\n\
==Изображения==\n\
\n\
=Библиография=\n",
                ownline: true
              }
            }
          },
          'person_frend': {
            label: 'Друзья',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                peri: "{{Персона_доп\n\
| name-ru-main  = \n\
| name-ru-01    = \n\
| name-ru-02    = \n\
| name-ru-03    = \n\
| name-lat      = \n\
| name-en       = \n\
| name-am       = \n\
| name-fr       = \n\
| портрет              = \n\
| дата рождения        = \n\
| место рождения       = \n\
| дата смерти          = \n\
| место смерти         = \n\
| краткая информация   = \n\
}}\n\
\n\
=Биография=\n\
\n\
==Сочинения==\n\
\n\
==Достижения==\n\
\n\
==Изображения==\n\
\n\
=Библиография=\n",
                ownline: true
              }
            }
          },
          'organization': {
            labelMsg: 'wikieditor-toolbar-hayazg-template-organization',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                pre: "{{",
                periMsg: 'wikieditor-toolbar-hayazg-template-organization-template',
                post: "}}",
                ownline: true
              }
            }
          },
          'study': {
            labelMsg: 'wikieditor-toolbar-hayazg-template-study',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                pre: "{{",
                periMsg: 'wikieditor-toolbar-hayazg-template-study-template',
                post: "}}",
                ownline: true
              }
            }
          },
          'public': {
            labelMsg: 'wikieditor-toolbar-hayazg-template-public',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                pre: "{{",
                periMsg: 'wikieditor-toolbar-hayazg-template-public-template',
                post: "}}",
                ownline: true
              }
            }
          },
          'library': {
            labelMsg: 'wikieditor-toolbar-hayazg-template-library',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                pre: "{{",
                periMsg: 'wikieditor-toolbar-hayazg-template-library-template',
                post: "}}",
                ownline: true
              }
            }
          },
          'media': {
            labelMsg: 'wikieditor-toolbar-hayazg-template-media',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                pre: "{{",
                periMsg: 'wikieditor-toolbar-hayazg-template-media-template',
                post: "}}",
                ownline: true
              }
            }
          },
          'church': {
            labelMsg: 'wikieditor-toolbar-hayazg-template-church',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                pre: "{{",
                periMsg: 'wikieditor-toolbar-hayazg-template-church-template',
                post: "}}",
                ownline: true
              }
            }
          },
          'source': {
            label: 'Источник',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                pre: "{{Источник|ссылка=",
                post: "|копия=}}",
                ownline: true
              }
            }
          },
          'archive': {
            label: 'Архивный',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                peri: "{{Архивный\n\
| название документа = \n\
| архив = \n\
| фонд  = \n\
| опись = \n\
| дело  = \n\
| листы = \n\
| факсимиле = \n\
}}",
                ownline: true
              }
            }
          },
          'book1': {
            label: 'Книга',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                peri: "{{Книга \n\
| название-ориг = \n\n\
| название-рус = \n\
| название-анг = \n\
| название-арм = \n\
| название-фра = \n\n\
| изображение =  \n\
| авторы      =  \n\
| редакторы   =  \n\
| издательство =  \n\n\
| переводчики =  \n\
| дата издания =  \n\
| язык оригинала =  \n\n\
| ISBN = \n\
| ссылка =  \n\
}}\n\
= Аннотация =\n\n\
= Содержание =\n\n\
= Рецензия =\n",
                ownline: true
              }
            }
          },
          'memorial_desk': {
            label: 'Доски',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                peri: "{{Мемориальная доска \n\
| кому = \n\
| годы жизни = \n\
| событие = \n\
| дата = \n\
| место = \n\
| текст = \n\
| изображение = \n\
}}\n",
                ownline: true
              }
            }
          },
          'ozon': {
            label: 'Купить Озон',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                pre: "{{Озон|",
                post: "|}}",
                ownline: true
              }
            }
          },
          'memorial': {
            label: 'Памятник',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                peri: "{{Памятник\n\
| название = \n\
| другие названия = \n\
| время строительства = \n\
| архитектор = \n\
| владелец = \n\
| статус памятника = \n\
| место нахождения = \n\
| изображение = \n\
}}\n\
\n\
= История =\n\
= Архитектура =\n\
= Статус и состояние =\n\
= Изображения =\n\
= Библиография =\n",
                ownline: true
              }
            }
          },
          'multimedia': {
            label: 'Мультимедиа',
            type: 'normal_button',
            action: {
              type: 'encapsulate',
              options: {
                peri: "{{Мультимедиа\n\
| название-ориг = \n\
\n\
| название-рус = \n\
| название-анг = \n\
| название-арм = \n\
| название-фра = \n\
\n\
| видеоссылка = \n\
| жанр        = \n\
| авторы      = \n\
| режисёры    = \n\
| сценаристы  = \n\
| издательство = \n\
| операторы    = \n\
\n\
| переводчики = \n\
| дата издания = \n\
| язык оригинала = \n\
}}\n\
\n\
=Аннотация=\n\
\n\
=Рецензии=\n",
                ownline: true
              }
            }
          }
      }
    },

    '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': "}}" }
            }
          }
        ]
    }



  }
};