MediaWiki:Common.js — различия между версиями

Материал из Энциклопедия фонда «Хайазг»
Перейти к: навигация, поиск
 
Строка 139: Строка 139:
 
     }
 
     }
 
}
 
}
 
 
/////////////////////////////////////////////////////////////////
 
 
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': "}}" }
 
            }
 
          }
 
        ]
 
    }
 
 
 
 
  }
 
};
 

Текущая версия на 23:12, 9 марта 2017

/* Размещённый здесь 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]);
            }
    }
}