remotes/origin/1203
Назар Котюк 11 years ago
parent 3e94c98384
commit 3ec81842a0
  1. 69
      templates/client/accounts/calendar.html
  2. 27
      templates/client/article/news_list.html
  3. 2
      templates/client/blank.html
  4. 14
      templates/client/includes/catalog_search.html
  5. 14
      templates/client/includes/catalog_search_main.html
  6. 27
      templates/client/includes/company/company_edit.html
  7. 124
      templates/client/includes/company/company_object.html
  8. 32
      templates/client/includes/place/place_object.html
  9. 87
      templates/client/popups/advertise_member.html
  10. 165
      templates/client/static_client/css/main.css
  11. 3
      templates/client/static_client/css/main.min.css
  12. 1
      templates/client/static_client/css/normalize.min.css
  13. 1
      templates/client/static_client/css/regions.min.css
  14. 1
      templates/client/static_client/css/vendor.css
  15. 2
      templates/client/static_client/css_min/main.min.css
  16. 2
      templates/client/static_client/css_min/vendor.min.css
  17. BIN
      templates/client/static_client/img/sprites.png
  18. 109
      templates/client/static_client/js/_modules/block.newsFilter.js
  19. 8
      templates/client/static_client/js/_modules/block.search.js
  20. 349
      templates/client/static_client/js/_modules/page.company.js
  21. 21
      templates/client/static_client/js/_modules/page.exposition.object.js
  22. 26
      templates/client/static_client/js/_modules/page.place.object.js
  23. 128
      templates/client/static_client/js/_modules/page.profile.calendar.js
  24. 78
      templates/client/static_client/js/_modules/page.profile.js
  25. 1
      templates/client/static_client/js_min/_modules/block.newsFilter.min.js
  26. 2
      templates/client/static_client/js_min/_modules/block.registration.completion.min.js
  27. 2
      templates/client/static_client/js_min/_modules/block.search.min.js
  28. 2
      templates/client/static_client/js_min/_modules/page.company.min.js
  29. 2
      templates/client/static_client/js_min/_modules/page.exposition.object.min.js
  30. 2
      templates/client/static_client/js_min/_modules/page.place.object.min.js
  31. 2
      templates/client/static_client/js_min/_modules/page.profile.calendar.min.js
  32. 2
      templates/client/static_client/js_min/_modules/page.profile.min.js

@ -25,60 +25,31 @@
</div>
<div class="m-article cal-lists">
<div class="cl-sect">
<div class="cls-title">{{ days.15|date:"F"}}’{{ days.15|date:"y"}}</div>
{% include 'includes/accounts/calendar_list.html' with events=events %}
</div>
<div class="cl-actions clearfix">
<div class="cla-title">{% trans 'Все / выделенные:' %}</div>
<div class="cla-btns">
<a class="button" id="btn_delete" href="#">{% trans 'удалить из расписания' %}</a>
<!--
<a class="button icon-calendar-o" href="#">{% trans 'ЭКСПОРТИРОВАТЬ В' %} <span class="lc">iCal</span></a>
<a class="button icon-save" href="#">{% trans 'сохранить в xls' %}</a>
<a class="button icon-save" href="#">{% trans 'сохранить в pdf' %}</a>
<a class="button icon-print" href="#">{% trans 'Распечатать' %}</a>
-->
</div>
</div>
{% if events|length > 0 %}
<div class="cl-sect">
<div class="cls-title">{{ days.15|date:"F"}}’{{ days.15|date:"y"}}</div>
{% include 'includes/accounts/calendar_list.html' with events=events %}
</div>
<div class="cl-actions clearfix">
<div class="cla-title">{% trans 'Все / выделенные:' %}</div>
<div class="cla-btns">
<a class="button" id="btn_delete" href="#">{% trans 'удалить из расписания' %}</a>
<!--
<a class="button icon-calendar-o" href="#">{% trans 'ЭКСПОРТИРОВАТЬ В' %} <span class="lc">iCal</span></a>
<a class="button icon-save" href="#">{% trans 'сохранить в xls' %}</a>
<a class="button icon-save" href="#">{% trans 'сохранить в pdf' %}</a>
<a class="button icon-print" href="#">{% trans 'Распечатать' %}</a>
-->
</div>
</div>
{% endif %}
<div class="to-prev-cal">
<a class="icon-back" href="/profile/calendar/?year={{ days.15|add_month:'-1'|date:'Y' }}&month={{ days.15|add_month:'-1'|date:'m' }}">{% trans 'Посмотреть прошедший календарь' %}</a>
</div>
</div>
</div>
<script>
$(function () {
$('#btn_delete').on('click', function(e){
e.preventDefault();
var expos = $("input[name=expo]:checkbox:checked").map(function(){
return $(this).val();
}).get();
var confs = $("input[name=conf]:checkbox:checked").map(function(){
return $(this).val();
}).get();
var seminars = $("input[name=seminar]:checkbox:checked").map(function(){
return $(this).val();
}).get();
var webinars = $("input[name=webinar]:checkbox:checked").map(function(){
return $(this).val();
}).get();
var sendData = {'expo': JSON.stringify(expos),
'conf':JSON.stringify(confs),
'seminar':JSON.stringify(seminars),
'webinar': JSON.stringify(webinars)}
$.get('/profile/calendar/remove/', sendData, function(data){
if(data.success){
location.reload();
}
})
});
})
</script>
{% endblock %}
{% block scripts %}

@ -1,4 +1,5 @@
{% extends 'base_catalog.html' %}
{% load static %}
{% load i18n %}
{% load template_filters %}
@ -16,7 +17,7 @@
{% endblock %}
{% block content_list %}
<div class="set-sect p-form adm-form">
<div class="set-sect p-form adm-form news-filter-block">
<form action="#">
<div class="adm-form-body">
@ -24,12 +25,18 @@
<div class="mf-line mf-line1 s-subj-tag">
<div class="mf-field">
<label>{{ article_filter_form.theme.label }}</label>
{{ article_filter_form.theme }}
<div class="custom-select theme">
{{ article_filter_form.theme }}
</div>
</div>
<div class="mf-field">
<label>{{ article_filter_form.tag.label }}</label>
{{ article_filter_form.tag.label }}
<div class="custom-select tags">
{{ article_filter_form.tag }}
</div>
</div>
</div>
@ -52,6 +59,20 @@
{% endfor %}
</div>
</div>
<!--todo: вернуть минифицированную версию-->
<script src="{% static 'client/js/_modules/block.newsFilter.js' %}"></script>
<script>
//js module initialization
EXPO.newsFilter.init({
theme:{
placeholder:"{% trans 'Укажите тематику' %}"
},
tags:{
placeholder:"{% trans 'Выберите ключевые теги' %}",
url:'http://{{ request.get_host }}/theme/get-tag/'
}
});
</script>
{% endblock %}
{% block paginator %}

@ -129,7 +129,7 @@ This template include basic anf main styles and js files,
{% endblock %}
<!-- scripts -->
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
<!--vendor scripts concatenated-->
<script type="text/javascript" src="{% static 'client/js' %}{% if debug %}/{% else %}_min/{% endif %}vendor{% if debug %}{% else %}.min{% endif %}.js"></script>
<!--<script type="text/javascript" src="{% static 'client/js/vendor.js' %}"></script>-->

@ -36,23 +36,23 @@
<div class="search-line sl-options">
{% if search_form.th %}
<div class="sf-field-wrap no-wrap">{% trans 'Тематика: ' %}
<a class="search-modal-open" href="#pwSubj" id="subj-modal-trigger" data-default="{{ search_form.get_themes_display }}">
{{ search_form.get_themes_display }}
<a class="search-modal-open" href="#pwSubj" id="subj-modal-trigger" data-default="{% trans 'Не важно' %}">
{# search_form.get_themes_display #}{% trans 'Не важно' %}
</a>
<span class="clear-all-button">&nbsp;</span>
</div>
{% endif %}
{% if search_form.place_type %}
<div class="sf-field-wrap">{% trans 'Тип: ' %}
<a class="search-modal-open" href="#pw-place_type" id="subj-modal-trigger" data-default="{{ search_form.get_themes_display }}">
bla
<a class="search-modal-open" href="#pw-place_type" id="subj-modal-trigger" data-default="{% trans 'Не важно' %}">
{% trans 'Не важно' %}
</a>
</div>
{% endif %}
{% if search_form.area %}
<div class="sf-field-wrap no-wrap">{% trans 'Место: ' %}
<a class="search-modal-open" href="#pwPlace" id="place-modal-trigger" data-default="{{ search_form.get_places_display }}">
{{ search_form.get_places_display }}
<a class="search-modal-open" href="#pwPlace" id="place-modal-trigger" data-default="{% trans 'Не важно' %}">
{# search_form.get_places_display #}{% trans 'Не важно' %}
</a>
<span class="clear-all-button">&nbsp;</span>
</div>
@ -69,7 +69,7 @@
по {{ search_form.to.value }}
{% endif %}
{% else %}
Не важно
{% trans 'Не важно' %}
{% endif %}
</a>
<span class="clear-all-button">&nbsp;</span>

@ -41,23 +41,25 @@
<div class="search-line sl-options">
{% if search_form.th %}
<div class="sf-field-wrap no-wrap">{% trans 'Тематика: ' %}
<a class="search-modal-open" href="#pwSubj" id="subj-modal-trigger" data-default="{{ search_form.get_themes_display }}">
{{ search_form.get_themes_display }}
<a class="search-modal-open" href="#pwSubj" id="subj-modal-trigger" data-default="{% trans 'Не важно' %}">
{# search_form.get_themes_display #}
{% trans 'Не важно' %}
</a>
<span class="clear-all-button">&nbsp;</span>
</div>
{% endif %}
{% if search_form.place_type %}
<div class="sf-field-wrap">{% trans 'Тип: ' %}
<a class="search-modal-open" href="#pw-place_type" id="subj-modal-trigger" data-default="{{ search_form.get_themes_display }}">
bla
<a class="search-modal-open" href="#pw-place_type" id="subj-modal-trigger" data-default="{% trans 'Не важно' %}">
{% trans 'Не важно' %}
</a>
</div>
{% endif %}
{% if search_form.area %}
<div class="sf-field-wrap no-wrap">{% trans 'Место: ' %}
<a class="search-modal-open" href="#pwPlace" id="place-modal-trigger" data-default="{{ search_form.get_places_display }}">
{{ search_form.get_places_display }}
<a class="search-modal-open" href="#pwPlace" id="place-modal-trigger" data-default="{% trans 'Не важно' %}">
{# search_form.get_places_display #}
{% trans 'Не важно' %}
</a>
<span class="clear-all-button">&nbsp;</span>
</div>

@ -203,7 +203,8 @@
{% endwith %}
<hr />
<div class="form-item-wrap mb-05em">
<div class="form-item-wrap mb-1em address-wrap" id="address-block">
<a class="map-toggle " href="javascript:void(0);" data-show-text="{% trans 'Раскрыть карту' %}" data-hide-text="{% trans 'Скрыть карту' %}"><i class="fa fa-map-marker">&nbsp;</i><span class="label">Раскрыть карту</span></a>
<div class="i-descr add_link_text {% if address_form.address_inf.value %}hidden{% else %}{% endif %}">
<a class="e-btn" href="javascript:void(0);" title=""> <i class="fa fa-plus-circle">&nbsp;</i>{% trans 'Добавить' %}</a>
<div class="add_link_text_text">{% trans 'адрес компании' %} <b>+15</b></div>
@ -232,13 +233,18 @@
</div>
</div>
</div>
<div class="map-wrap hidden">
<div id="gmap-canvas" style="height: 308px; width:800px; position: relative;">
</div>
</div>
</div>
<hr />
<div class="add_link_teg">
<div class="form-item-wrap">
<div class="i-tags i-descr {% if company.tag.all|length > 0 %}{% else %}hidden{% endif %}">
<a class="e-btn fa fa-pencil-square-o" href="javascript:void(0);">{% trans 'редактировать' %}</a>
<a class="e-btn fa fa-pencil-square-o" href="javascript:void(0);" style="margin-left: -6px;">{% trans 'редактировать' %}</a>
<p class="tags static-value">
{% with tags=company.tag.all %}
{% for tag in tags %}
@ -660,11 +666,11 @@
path:'http://{{ request.get_host }}/city/get-city/'
},
{id:'id_tag',
placeholder:'Выберите ключевые теги',
placeholder:"{% trans 'Выберите ключевые теги' %}",
path:'http://{{ request.get_host }}/theme/get-tag/'
},
{id:'id_theme',
placeholder:'Укажите тематику',
placeholder:'Укажите тематику'
}
],
@ -676,6 +682,17 @@
},
rating:{
id:'profile-rating'
},
map:{
blockId:"address-block",
canvasId:"gmap-canvas",
autocompleteId:"id_address_inf",
zoom:{
street:14,
city:12,
country:4
}
}

@ -22,11 +22,17 @@
<div class="i-info">
<header>
<div class="i-title">{{ company.name|safe }}</div>
<div class="i-place p-editable editable-wrap ">
<span class="static-value">
Украина, Белая Церковь
</span>
</div>
</header>
<div class="i-area">
<a href="#">{{ company.specialization|linebreaks }}</a>
<div class="i-area brief">
{{ company.specialization|linebreaks }}
</div>
{% with themes=company.theme.all %}
<div class="i-area" id="theme-inf" data-theme="{% for th in themes %}{{ th.id }},{% endfor %}">
{% for th in themes %}
@ -36,22 +42,32 @@
{% endwith %}
<hr />
{% if company.tag.all|length > 0 %}
<div class="i-tags">
{% with tags=company.tag.all %}
{% for tag in tags %}
<a href="{{ company.catalog }}tag/{{ tag.url }}">{{ tag.name }}</a>,
{% endfor %}
{% endwith %}
</div>
<hr />
{% endif %}
{% if company.address_inf %}
{{ company.address_inf }}
<div class=" mb-1em address-wrap" id="address-wrap">
<a class="map-toggle " href="javascript:void(0);" data-show-text="{% trans 'Раскрыть карту' %}" data-hide-text="{% trans 'Скрыть карту' %}"><i class="fa fa-map-marker">&nbsp;</i><span class="label">Раскрыть карту</span></a>
<div class="i-descr">
<span id="address-text">{{ company.address_inf }}</span>
</div>
<div class="map-wrap hidden">
<div id="gmap-canvas" style="height: 308px; width:800px; position: relative;">
</div>
</div>
</div>
<hr />
{% endif %}
{% if company.tag.all|length > 0 %}
<div class="i-tags">
{% with tags=company.tag.all %}
{% for tag in tags %}
<a href="{{ company.catalog }}tag/{{ tag.url }}">{{ tag.name }}</a>,
{% endfor %}
{% endwith %}
</div>
<hr />
{% endif %}
<div class="i-contacts clearfix">
{% if company.facebook or company.linkedin or company.vk or company.twitter %}
<div class="ic-buttons">
@ -245,4 +261,86 @@
{% endif %}
</div>
<script>
$(function () {
var Map = function (opt) {
this.opt = opt;
var self = this,
canvasId = this.opt.canvasId,
initGooglemap = function () {
var mapHolder = document.getElementById(self.opt.canvasId);
self.mapOptions = {
zoom: self.opt.zoom
};
self.map = new google.maps.Map(mapHolder, self.mapOptions);
self.geocoder = new google.maps.Geocoder();
self.refresh();
};
google.maps.event.addDomListener(window, 'load', initGooglemap);
this.$wrapper= $(document.getElementById(this.opt.blockId));
this.$toggle = $(".map-toggle",this.$wrapper);
this.$container = $(".map-wrap", this.$wrapper);
this.status ={
visible:false
};
this.$toggle.on("click", function () {
if($(this).hasClass("active")){
self.hideMap();
}else{
self.showMap();
google.maps.event.trigger(self.map, 'resize');
self.refresh();
}
return false;
});
};
Map.prototype = {
showMap: function () {
this.$toggle.addClass("active").children(".label").text(this.$toggle.attr("data-hide-text"));
this.status.visible = true;
this.$container.removeClass("hidden");
},
hideMap: function () {
this.$toggle.removeClass("active").children(".label").text(this.$toggle.attr("data-show-text"));
this.status.visible = false;
this.$container.addClass("hidden");
},
refresh: function () {
var self = this,
address = $.trim($(document.getElementById(self.opt.addressId)).text());
if( address != '' && address){
this.geocoder.geocode({"address":address}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK){
self.map.setCenter(results[0].geometry.location);
if(!self.marker){
self.marker = new google.maps.Marker({
map: self.map,
position: results[0].geometry.location
});
}else{
self.marker.set("position",results[0].geometry.location);
}
}else{
console.log("!ERORR: Geocode was not successful for the following reason: " + status);
}
});
}else{
this.$toggle.addClass("hidden");
this.status.visible = false;
}
}
};
var map = new Map({
blockId: "address-wrap",
canvasId: "gmap-canvas",
addressId:"address-text",
zoom: 14
});
});
</script>
{% endblock %}

@ -5,7 +5,7 @@
{% block page_body %}
<div class="m-article">
<div class="item-wrap place clearfix">
<div class="item-wrap expo-place-page clearfix">
<aside>
<div class="i-pict">
{% include 'client/includes/show_logo.html' with obj=place %}
@ -19,7 +19,7 @@
{{ place.name|safe }}
</div>
<div class="i-descr annotation-part">
{{ place.description|safe|linebreaks }}
{{ place.description.strip|safe|linebreaks }}
</div>
<a class="i-descr-readmore" href="javascript:void(0);">{% trans 'Далее...' %}</a>
<div class="i-descr full-part hidden" >
@ -33,7 +33,9 @@
</div>
<div class="show-map"><a class="toggle-map" href="#">Раскрыть карту</a></div>
</header>
<div class="i-map">
<!--todo: открыть-->
<div class="i-map ">
<div class="close-map"><a class="toggle-map" href="#">Скрыть карту</a></div>
<!-- позиция для карты задается в атрибуте data-coords -->
<div class="map-canvas" id="map-canvas" data-coords="{{ place.address.lat|stringformat:'f' }},{{ place.address.lng|stringformat:'f' }}" ></div>
@ -161,16 +163,25 @@
</div>
</div>
<div class="eni-holds">
{{ place.total_year_action }}
<div class="eni-areas stat clearfix">
<div class="eni-title">
{% trans 'Ежегодно проводится' %}
</div>
<div class="enis-col">
<b>{{ place.total_year_action }}</b>
{% trans 'событий' %}
</div>
</div>
{% if place.foundation_year %}
<div class="eni-areas">
<div class="eni-holds">
{% if place.foundation_year %}
<div class="eni-founded">{% trans 'Основано в' %} <b>{{ place.foundation_year }}</b> {% trans 'году' %}</div>
{% endif %}
</div>
</div>
{% endif %}
</div>
{% if place.get_scheme %}
@ -341,7 +352,8 @@
{% endblock %}
{% block scripts %}
<script src="{% static 'client/js' %}{% if debug %}/{% else %}_min/{% endif %}_modules/page.place.object{% if debug %}{% else %}.min{% endif %}.js"></script>
<script src="{% static 'client/js/_modules/page.place.object.js' %}"></script>
<!--<script src="{% static 'client/js' %}{% if debug %}/{% else %}_min/{% endif %}_modules/page.place.object{% if debug %}{% else %}.min{% endif %}.js"></script>-->
<script>
EXPO.place.object.init({
article:{

@ -1,50 +1,55 @@
{% load static %}
{% load i18n %}
<div id="pw-advertise" class="popup-window" style="display: none;">
<header class="clearfix">
<div class="pw-title">{% trans 'Рекламировать участника' %}</div>
</header>
<div class="pw-body clearfix">
<form id="advert-member-form" method="post" class="pw-form" action="{{ form.action }}">{% csrf_token %}
<div class="pwf-line">
<div class="pwf-field required">
{{ form.person_inf }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-line">
<div class="pwf-field required">
{{ form.person }}
</div>
<div class="pwf-msg"></div>
</div>
<div id="pw-advertise" class="popup-window advertise-window" style="display: none;">
<section>
<div class="pwf-line">
<div class="pwf-field required">
{{ form.phone }}
</div>
<div class="pwf-msg"></div>
</div>
<header class="clearfix">
<h2 class="pw-title">{% trans 'Рекламировать участника' %}</h2>
<p><strong>Вы хотите начать привлекать целевых клиентов еще до начала выставки?</strong> Размещение рекламы на странице выставки на <span class="bd-dashed">Expomap</span> - отличная возможность для этого!</p>
<p>Оставьте свои контакты, и мы вышлем Вам информацию о вариантах и ценах!</p>
</header>
<div class="pw-body clearfix">
<form id="advert-member-form" method="post" class="pw-form" action="{{ form.action }}">{% csrf_token %}
<div class="pwf-line">
<div class="pwf-field required">
{{ form.person_inf }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-line">
<div class="pwf-field required">
{{ form.person }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-line">
<div class="pwf-field select-input required">
{{ form.country }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-line">
<div class="pwf-field required">
{{ form.phone }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-line">
<div class="pwf-field select-input required">
{{ form.country }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-line">
<div class="pwf-field select-input required">
{{ form.city }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-buttons-line">
<button type="submit" class="icon-check">{% trans 'Рекламировать' %}</button>
</div>
</form>
</div>
<div class="pwf-line">
<div class="pwf-field select-input required">
{{ form.city }}
</div>
<div class="pwf-msg"></div>
</div>
<div class="pwf-buttons-line">
<button type="submit" class="icon-check">{% trans 'Рекламировать' %}</button>
</div>
</form>
</div>
</section>
</div>

@ -1249,7 +1249,6 @@ aside nav + hr {
.mp-top .recent-expo .re-descr {
color: #a2a2a2;
font-size: 14px;
white-space: nowrap;
overflow: hidden;
-ms-text-overflow: ellipsis;
text-overflow: ellipsis;
@ -12003,11 +12002,33 @@ hr + .rq-note {
.i-info header { position: relative;}
.site_link { text-align: right; position: absolute; z-index: 1; right: 0; width: 201px; top: 41px; font-size: 15px !important; color: #ff6600 !important;font-family:'dindisplay_pro', sans-serif; font-weight: 500; }
.site_link a { text-decoration: none !important;color: #ff6600 !important;}
.site_link a:before { content:''; width: 16px; height: 16px; background: url(../img/sprites.png) -426px -73px; display: inline-block; margin: 0 5px 0 0; position: relative; top: 4px;}
.site_link {
font-size: 13px;
font-family: 'dindisplay_pro', sans-serif;
font-weight: 500;
margin-bottom: 0.4em;
}
.site_link a {
color: #a2a2a2; ;
text-decoration: underline;
}
.site_link a:hover {
text-decoration: none ;
}
.site_link a:before {
content: '';
width: 16px;
height: 16px;
background: url(../img/sprites.png) -426px -93px;
display: inline-block;
margin: 0 5px 0 0;
position: relative;
top: 4px;
}
.site_link a:hover:before { background-position: -426px -73px!important;}
.i-contacts1 { margin-top: 0!important;}
.i-additional1 {margin-bottom: 0!important;}
@ -12183,6 +12204,9 @@ hr + .rq-note {
.mb-1em{
margin-bottom: 1em;
}
.bd-dashed{
border-bottom: 1px dashed #ff6600;
}
@ -12897,9 +12921,9 @@ hr + .rq-note {
}
.no-events .c-event .ce-wrap .message{
text-align: center;
-webkit-transition: all 0.8s ease-In;
-o-transition: all 0.8s ease-In;
transition: all 0.8s ease-In;
/*-webkit-transition: all 0.8s ease-In;*/
/*-o-transition: all 0.8s ease-In;*/
/*transition: all 0.8s ease-In;*/
}
@ -13127,7 +13151,7 @@ hr + .rq-note {
.edit-profile .editable-wrap .static-value.address{
line-height: 28px;
height: 27px;
min-height: 27px;
display: block;
}
@ -13187,7 +13211,7 @@ hr + .rq-note {
}
.add_link_teg .tags{
display: inline-block;
font-size: 14px;
font-size: 12px;
margin-top: 0;
}
.add_link_teg .e-btn{
@ -13230,11 +13254,23 @@ hr + .rq-note {
.company-preview .i-info .i-contacts .ic-buttons .soc-media-buttons{
margin-top: 12px;
}
.company-preview .i-info .brief{
font-size: 12px;
line-height: 16px;
color: #7e7e7e;
font-family: Arial, sans-serif;
}
.company-preview .i-info .brief p{
margin: 0;
}
.company-preview .i-info{
margin-bottom: 1em;
}
.company-preview .i-info .i-tags{
font-size: 12px;
}
.company-preview .pw-open{
margin-bottom: .6em;
margin-bottom: 1em;
}
.company-preview .soc-media-buttons{
margin-top: 2px !important;
@ -13249,7 +13285,6 @@ hr + .rq-note {
color: #7D7D7D;
}
.edit-profile .specialization{
padding-right: 200px;
margin-bottom: 1em;
}
.edit-profile .specialization .p-editable{
@ -13463,3 +13498,109 @@ hr + .rq-note {
.event-page .title .fa{
font-size: 0.8em;
}
/******************\
# Модальное окно "рекламировать участника"
\******************/
.advertise-window .pwf-msg{
color: #ff6600;
padding-top: 8px;
padding-left: 24px;
}
.advertise-window .pwf-field{
width: 310px !important;
}
.advertise-window header .pw-title{
font-weight: 400;
}
.advertise-window header {
padding-bottom: 0;
}
/*****************\
# Страница места проведения (/places/...)
\*****************/
.expo-place-page .i-info .i-descr{
height: auto;
}
.expo-place-page .i-descr-readmore{
margin-bottom: 1em;
display: block;
}
.eni-areas.stat .enis-col{
text-align: center;
display: inline-block;
width: auto;
padding-right: 32px;
}
.eni-areas.stat .eni-title{
float: left;
margin-left: -130px;
display: block;
width: 110px;
margin-right: 16px;
font-size: 20px;
line-height: 21px;
text-align: right;
-webkit-transition: color .3s;
-o-transition: color .3s;
transition: color .3s;
color:#ff6600;
/*margin-top: 28px;*/
}
/*****************\
# Страница блогов и новостей (/blogs/ /news)
\*****************/
.news-filter-block .mf-line.s-subj-tag .mf-field label{
margin-bottom: 1em;
}
.news-filter-block .select2-container-multi .select2-choices .select2-search-field:first-child input{
line-height: 36px ;
}
/*****************\
# карта на странице профиля компании (google maps)
\*****************/
.address-wrap .map-wrap{
margin-top: 1em;
margin-bottom: 2em;
}
.address-wrap .i-descr{
font-family: 'dindisplay_pro', sans-serif;
font-size: 18px;
line-height: 21px;
color: #464646;
}
.address-wrap .map-wrap .gmap-canvas{
height: 308px;
}
.address-wrap .map-toggle{
display: block;
float: right;
color: #a2a2a2;
text-decoration: none;
position: relative;
z-index: 2;
}
.address-wrap .map-toggle:hover{
color: #ff6600;
}
.address-wrap .map-toggle:hover .label{
border: 0;
}
.address-wrap .map-toggle .label{
font-size: 15px;
line-height: 12px;
text-decoration: none;
border-bottom: 1px dashed;
}
.address-wrap .map-toggle .fa{
font-size: 1.3em;
}

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
/*! normalize.css v1.1.2 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}

@ -1 +0,0 @@
.c-select-box.places .csb-title ul.ui-autocomplete{background:none repeat scroll 0 0 #fff;border:1px solid #ccc;margin-left:0;z-index:1020}.c-select-box.places .csb-title ul.ui-autocomplete li{margin-bottom:5px}.places-list ul li a:before,.topics-list ul li a:before{content:"";display:block;height:8px;left:-12px;position:absolute;top:4px;width:8px;z-index:1010;background:url('../img/sprites.png') no-repeat -83px -16px}.places-list ul li.active a:before,.topics-list ul li.active a:before{content:"";display:block;height:8px;left:-12px;position:absolute;top:3px;width:8px;z-index:1010;background:url('../img/sprites.png') no-repeat -86px -24px}.c-select-box-wrap .custom-radio-check:before{content:'';width:13px;height:13px;display:block;position:absolute;top:3px;left:-15px;z-index:1010;background:url('../img/sprites.png') no-repeat -345px -135px}.c-select-box-wrap .custom-radio-check.active:before{content:'';width:13px;height:13px;display:block;position:absolute;top:4px;left:-15px;z-index:1010;background:url('../img/sprites.png') no-repeat -46px -16px}.ac-custom-message{background:none repeat scroll 0 0 #fff;border:1px solid #ccccdc;border-radius:5px;padding:5px 10px 5px 25px;position:absolute;z-index:1415;display:none}.ac-custom-message span:before{background:url("../img/sprites.png") no-repeat scroll -106px -16px #fff;content:"";display:block;height:10px;left:7px;position:absolute;top:19px;width:13px;z-index:1416}

@ -1,4 +1,3 @@
/*! normalize.css v1.1.2 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}
/*
* Swiper - Mobile Touch Slider CSS
* http://www.idangero.us/sliders/swiper

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 52 KiB

@ -0,0 +1,109 @@
var EXPO = EXPO || {}; //isolated namespace
if (EXPO.newsFilter) {
console.warn('WARNING: EXPO.newsFilter is already defined!');
} else {
EXPO.newsFilter = (function () {
/**
* private (visible inside this module only) variables
*/
/**
* @type {Object} - module API interafce realization
*/
var that = {};
/**
* @type {Object} default setting
*/
that.opt = {};
/**
* dependencies.Place where you can switch on dependencies for module
* @type {EXPO.common|*} - mostly used in project functions and data (block.common.js)
*/
var com = EXPO.common;
/**
* current module general initialization
* @param {Object} options - options recieved from web page view
*/
that.init = function (options) {
// settings extending
$.extend(this.opt, options);
// begin of initialization
var self = this;
$(function () {
var $page = $(".news-filter-block"),
$theme = $('.custom-select.theme select', $page),
$tags = $(".custom-select.tags input", $page),
$form = $page.children("form");
$theme.attr("multiple","multiple");
$theme.select2({
placeholder: self.opt.theme.placeholder,
width: '368px',
maximumSelectionSize: 3
});
$tags.val('0');
$tags.select2({
placeholder: self.opt.tags.placeholder,
width: '368px',
multiple: true,
maximumSelectionSize: 5,
ajax: {
url: self.opt.tags.url,
dataType: "json",
quietMillis: 200,
data: function(term, page){
var themes = $theme.val();
if(!themes){
themes = [];
}
return {term: term,
page: page,
themes: themes};
},
results: function (data) {
var results = [];
$.each(data, function(index, item){
results.push({
id: item.id,
text: item.label
});
});
return {results: results};
}
},
initSelection : function(element, callback) {
var data = [],
dataObjArr;
element.val('');
if($.trim(element.attr('data-predifined')) != '' && $.trim(element.attr('data-predifined')) != '[]'){
dataObjArr = JSON.parse(element.attr('data-predifined'));
callback(dataObjArr);
}else{
$(" .custom-select.tags .select2-input").width(336).addClass('select2-default').val(self.opt.tags.placeholder);
}
}
});
$tags.on('change', function (e) {
$form.submit();
});
$theme.on('change', function (e) {
$form.submit();
});
});
};
return that;
}());
}

@ -2098,7 +2098,7 @@ if (EXPO.searchBlock){
},
/**
* functionality of selected object in autocomplete list
* fires after autocomplete is done and user selects item in it
* @param {Object} event
* @param {Object} ui
* @private
@ -2137,6 +2137,7 @@ if (EXPO.searchBlock){
},
/**
* this property must be redefined for each individual instances of MainField Object
* select checkboxes if there is coincidence with search result and modal subject modal window
* @param {number} id
* @param {string} name
@ -2257,6 +2258,7 @@ if (EXPO.searchBlock){
name:name,
id:id
};
EXPO.searchBlock.subjModal.resetList();
getRequest(nestedObj, EXPO.searchBlock.subjModal.opt.getParentUrl, function (data) {
EXPO.searchBlock.subjModal._loadParentTree(data, function(){
@ -2266,6 +2268,7 @@ if (EXPO.searchBlock){
});
} else{
$waiter.hide();
EXPO.searchBlock.subjModal.resetList();
$(DOMCheckboxes).prop('checked', true);
$(DOMCheckboxes).trigger('change');
}
@ -2283,6 +2286,7 @@ if (EXPO.searchBlock){
name:name,
id:id
};
EXPO.searchBlock.placesModal.resetList();
getRequest(nestedObj, EXPO.searchBlock.placesModal.opt.getParentUrl, function (data) {
EXPO.searchBlock.placesModal._loadParentTree(data, function(){
@ -2292,6 +2296,8 @@ if (EXPO.searchBlock){
});
} else{
$waiter.hide();
EXPO.searchBlock.placesModal.resetList();
$(DOMCheckboxes).prop('checked', true);
$(DOMCheckboxes).trigger('change');
}

@ -42,10 +42,10 @@ if (EXPO.company){
// methods to perform ajax responses to send and receive data from the server
Forms.prototype = {
// ajax request realization
getajax: function (dataToSend) {
submit: function (dataToSend) {
var self = this;
if(!dataToSend){
dataToSend = '';
dataToSend = new FormData(this.$form[0]);
}
$.ajax({
type: 'POST',
@ -54,7 +54,7 @@ if (EXPO.company){
processData: false,
contentType: false,
success: function(data) {
self.pullHandler(data);
self.afterSubmit(data);
if(data.success){
EXPO.company.rating.refresh(data.rating);
}
@ -64,8 +64,8 @@ if (EXPO.company){
},
// check if there exists custom data manipulation handler and evaluate it
pushData: function (data, formName) {
var handler = this.pushHandler,
beforeSubmit: function (data, formName) {
var handler = this.beforeSubmitHandler,
formData = data;
if(typeof formData != "string"){
this.formData =formData;
@ -77,16 +77,16 @@ if (EXPO.company){
if(typeof handler == 'function'){
// if particular data change required
this.formData = handler(data, formName);
this.getajax(data);
this.submit(data);
$('#wait-ajax').show();
} else{
this.getajax(data);
this.submit(data);
$('#wait-ajax').show();
}
},
pullData: function (data) {
var handler = this.pullHandler;
afterSubmit: function (data) {
var handler = this.afterSubmitHandler;
if(typeof handler == 'function'){
handler(data);
} else{
@ -103,7 +103,7 @@ if (EXPO.company){
* @function
* @public
*/
refreshState: function () {
refreshHTML: function () {
var pureText = $.trim( this.$staticValue.text()).replace(/[^0-9a-zA-Zа-я\s]/g,'').replace( /(\d)\s/, '' ).replace(/\s+/g,'');
if(($.trim( this.$staticValue.text()) == '' || pureText == 'NoneNone') && this.$wrapper.length && this.refrashable){
this.$editable.addClass('hidden');
@ -116,6 +116,11 @@ if (EXPO.company){
}
}
};
/**
* factory object directly
* @param {String} type - type of fabricated object
* @param {String} ajaxpath - attribute action from each form html element
*/
Forms.factory = function (type, ajaxpath) {
var constr = type,
newForm;
@ -125,20 +130,23 @@ if (EXPO.company){
message: constr + "doesen't exist"
};
}
if(typeof Forms[constr].prototype.pushData !== "function"){
if(typeof Forms[constr].prototype.beforeSubmit !== "function"){
Forms[constr].prototype = new Forms();
}
newForm = new Forms[constr](ajaxpath);
return newForm;
};
/**
* set of child objects that will override the factory default
*/
Forms.name_form = function (path) {
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
$('#static-name-value').text($('#id_name').val());
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}else{
this.$editable.addClass('err');
@ -148,11 +156,12 @@ if (EXPO.company){
};
Forms.spec_form = function (path) {
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
$('#static-spec-value').html(com.nl2br($('#id_specialization').val()));
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}else{
this.$editable.addClass('err');
@ -162,11 +171,13 @@ if (EXPO.company){
};
Forms.address_form = function (path) {
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
$('#static-address-value').text($('#id_address_inf').val());
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}else{
this.$editable.addClass('err');
@ -178,7 +189,7 @@ if (EXPO.company){
Forms.social_form = function (path) {
var self = this,
$img, imgSrc, $input, inputValue,item;
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
for (item in self.formData) {
@ -221,10 +232,10 @@ if (EXPO.company){
});
}
}
this.refreshState();
self.refreshHTML();
};
this.pushHandler = function (data, formName){
this.beforeSubmitHandler = function (data, formName){
var formData = $('#'+formName).serialize();
return JSON.parse('{"' + decodeURI(formData).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}');
@ -233,7 +244,7 @@ if (EXPO.company){
};
this.refreshState = function () {
this.refreshHTML = function () {
console.log(this);
var fullComplete = true;
$('input:text',this.$form).each(function () {
@ -253,11 +264,13 @@ if (EXPO.company){
};
Forms.phone_form = function (path) {
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
$('#static-phone-value').text($('#id_phone')[0].value);
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}
};
this.ajaxPath = path;
@ -265,12 +278,14 @@ if (EXPO.company){
};
Forms.email_form = function (path) {
var mailValue;
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
mailValue = $('#id_email').val();
$('#static-email-value').attr('href', 'mailto:'+mailValue).text(mailValue);
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}else{
this.$editable.addClass('err');
}
@ -280,12 +295,14 @@ if (EXPO.company){
};
Forms.web_page_form = function (path) {
var userLink;
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
userLink = $('#id_web_page').val();
$('#static-web-page-value').attr('href',userLink).text(userLink);
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}
};
@ -294,14 +311,16 @@ if (EXPO.company){
};
Forms.home_form = function (path) {
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
var country = $('#s2id_id_country').find('.select2-chosen').text(),
city = $('#s2id_id_city').find('.select2-chosen').text();
$('#static-home-country').text(country);
$('#static-home-city').text(city);
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}
};
@ -311,7 +330,9 @@ if (EXPO.company){
Forms.found_form = function (path) {
var currValue,
$input;
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
var $fullComplete = $('.full-complete',this.$staticValue);
@ -321,13 +342,13 @@ if (EXPO.company){
$fullComplete.text(currValue);
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}
};
this.ajaxPath = path;
this.refreshState = function () {
this.refreshHTML = function () {
var $fullComplete = $('.full-complete',this.$staticValue),
$notComplete = $('.not-complete',this.$staticValue);
if($.trim($fullComplete.text()) == ''){
@ -345,19 +366,21 @@ if (EXPO.company){
Forms.staff_form = function (path) {
var currValue,
$input;
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
var $fullComplete = $('.full-complete',this.$staticValue);
$input = $('#id_staff_number');
currValue = $.trim($input.val());
$fullComplete.text(currValue);
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}
};
this.ajaxPath = path;
this.refreshState = function () {
this.refreshHTML = function () {
var $fullComplete = $('.full-complete',this.$staticValue),
$notComplete = $('.not-complete',this.$staticValue);
if($.trim($fullComplete.text()) == ''){
@ -375,7 +398,9 @@ if (EXPO.company){
Forms.description_form = function (path) {
var currValue,
$input = $('#id_description');
this.pullHandler = function (data) {
var self = this;
this.afterSubmitHandler = function (data) {
if (data.success){
var $fullComplete = $('.full-complete',this.$staticValue);
@ -383,12 +408,12 @@ if (EXPO.company){
$fullComplete.html(com.nl2br(currValue));
$('.p-editable').removeClass('pe-current');
this.refreshState();
self.refreshHTML();
}
};
this.ajaxPath = path;
this.refreshState = function () {
this.refreshHTML = function () {
var $fullComplete = $('.full-complete',this.$staticValue),
$notComplete = $('.not-complete',this.$staticValue);
if($.trim($fullComplete.text()) == ''){
@ -414,20 +439,20 @@ if (EXPO.company){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
if($avatar.length){
$avatar.attr('src', data.url);
this.refreshState();
self.refreshHTML();
}
}
};
this.pushHandler = function(data){
this.beforeSubmitHandsler = function(data){
if(typeof data != 'string'){
self.getajax(data);
self.submit(data);
$('#wait-ajax').show();
}else{
$form = $('#'+self.formId);
@ -440,7 +465,7 @@ if (EXPO.company){
});
this.ajaxPath = path;
this.refreshState = function () {
this.refreshHTML = function () {
if($.trim(this.$image.attr('src')) == this.noImageSrc){
this.$editable.addClass('hidden');
this.$description.removeClass('hidden');
@ -458,7 +483,7 @@ if (EXPO.company){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
var divider ='<span>, </span>';
if (data.success){
@ -469,7 +494,7 @@ if (EXPO.company){
this.$staticValue.append($(divider));
}
}
this.refreshState();
self.refreshHTML();
}
};
@ -477,7 +502,7 @@ if (EXPO.company){
this.$input = $('#id_tag');
this.refreshState = function () {
this.refreshHTML = function () {
this.$label = $('.label', this.$editable);
this.$initial = $(".initial-position",this.$wrapper);
this.formId = this.$form.attr("id");
@ -505,11 +530,191 @@ if (EXPO.company){
}
};
var Map = function (opt) {
this.opt = opt;
var self = this,
canvasId = this.opt.canvasId,
initGooglemap = function () {
var mapHolder = document.getElementById(self.opt.canvasId),
input = document.getElementById(self.opt.autocompleteId);
self.mapOptions = {
/**
* default zoom for country
*/
zoom: self.opt.zoom.country
};
self.map = new google.maps.Map(mapHolder, self.mapOptions);
/**
* address to cordinates converter
* @type {google.maps.Geocoder}
*/
self.geocoder = new google.maps.Geocoder();
/**
* refresh map with new data
*/
self.refresh();
/**
* autocomplete for adress bar input
* @type {HTMLElement}
*/
var autocomplete = new google.maps.places.Autocomplete(input);
autocomplete.bindTo('bounds', self.map);
/**
* autocomplete item selected event
*/
google.maps.event.addListener(autocomplete, 'place_changed', function() {
if(!self.status.visible){
var place = autocomplete.getPlace();
if (!place.geometry) {
return;
}
/**
* If the place has a geometry, then present it on a map.
*/
if (place.geometry.viewport) {
self.map.fitBounds(place.geometry.viewport);
} else {
self.map.setCenter(place.geometry.location);
self.map.setZoom(14);
}
self.marker.setPosition(place.geometry.location);
EXPO.company.forms.address_form.submit();
}
});
};
/**
* initialize map when body loads
*/
google.maps.event.addDomListener(window, 'load', initGooglemap);
/**
* container with map itself and address static text
* @type {*|jQuery|HTMLElement}
*/
this.$wrapper= $(document.getElementById(this.opt.blockId));
/**
* show and hide map button
* @type {*|jQuery|HTMLElement}
*/
this.$toggle = $(".map-toggle",this.$wrapper);
/**
* container with map to hide and show
* @type {*|jQuery|HTMLElement}
*/
this.$container = $(".map-wrap", this.$wrapper);
this.status ={
/**
* when container with map is hidden pararmeter visible = false
*/
visible:false
};
this.$toggle.on("click", function () {
if($(this).hasClass("active")){
self.hideMap();
}else{
self.showMap();
/**
* just refresh the map drawing
*/
google.maps.event.trigger(self.map, 'resize');
self.refresh();
}
return false;
});
};
/**
* methods
* @type {{showMap: Function, hideMap: Function, refresh: Function}}
*/
Map.prototype = {
/**
* just show map container html tag
*/
showMap: function () {
this.$toggle.addClass("active").children(".label").text(this.$toggle.attr("data-hide-text"));
this.status.visible = true;
this.$container.removeClass("hidden");
},
/**
* just hide map container html tag
*/
hideMap: function () {
this.$toggle.removeClass("active").children(".label").text(this.$toggle.attr("data-show-text"));
this.status.visible = false;
this.$container.addClass("hidden");
},
/**
* collects dependent data and force map to refresh with that new data
*/
refresh: function () {
var self = this,
country =$("#id_country option:selected").text(),
city = $(document.getElementById("id_city")).attr("data-init-text"),
address = $.trim(document.getElementById(self.opt.autocompleteId).value),
fullAddress;
if( $.trim(country) != ''){
this.status.visible = true;
this.$toggle.removeClass("hidden");
if($.trim(city) == ''){
fullAddress = country;
self.map.set("zoom",self.opt.zoom.country);
}else{
if($.trim(address) == ''){
fullAddress = country + ' '+city;
self.map.set("zoom",self.opt.zoom.city);
}else{
fullAddress = country + ' '+city+ ' '+ address;
self.map.set("zoom",self.opt.zoom.street);
}
}
/**
* convert text adress data to lat/Ling coordinates with help of google api
*/
this.geocoder.geocode({"address":fullAddress}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK){
self.map.setCenter(results[0].geometry.location);
/**
* refresh marker position
*/
if(!self.marker){
self.marker = new google.maps.Marker({
map: self.map,
position: results[0].geometry.location
});
}else{
self.marker.set("position",results[0].geometry.location);
}
}else{
console.log("!ERORR: Geocode was not successful for the following reason: " + status);
}
});
}else{
this.$toggle.addClass("hidden")
this.status.visible = false;
}
}
};
// methods
// module methods
//инициализация общих свойств
that.init = function(options) {
// todo: убрать одновременное открытие форм
$.extend(this.lang, options.lang);
options.lang = null;
@ -546,13 +751,21 @@ if (EXPO.company){
this.rating = new Rating(this.opt.rating);
this.forms = {};
$(function () {
var $editables = $('.'+self.opt.editableClass),
$country = $('#'+self.opt.selectBox[0].id),
$city = $('#'+self.opt.selectBox[1].id),
$theme = $('#'+self.opt.selectBox[3].id);
$theme = $('#'+self.opt.selectBox[3].id),
$address = $("#id_address_inf");
//start of document.ready
$waiter = $('#wait-ajax').css({'z-index': '8012'});
/**
* google map
*/
self.map = new Map(self.opt.map);
/**
* <selectbox> styling with 3-rd party libs
*/
@ -564,6 +777,13 @@ if (EXPO.company){
placeholder: self.opt.selectBox[3].placeHolder,
maximumSelectionSize: 3
});
$theme.on("change", function () {
var $theme = $('#theme_form'),
url = $theme.attr("action"),
//toSendObj = new FormData(toSendObj);
toSendObj = $theme.serialize();
com.postRequest(toSendObj,url);
});
/**
* select country
*/
@ -571,14 +791,26 @@ if (EXPO.company){
width: 'element',
placeholder:self.opt.selectBox[0].placeholder
});
$country.on("change", function () {
$city.val(0);
$city.select2("val", "");
});
$city.on("change", function () {
var chosen = $(this).closest(".epf-field").find(".select2-chosen").text();
$(this).attr("data-init-text",chosen);
self.forms.address_form.$form.find("input:text").val("");
self.forms.address_form.$staticValue.text("");
self.forms.address_form.refreshHTML();
self.forms.home_form.submit();
self.forms.address_form.submit();
//$("#id_address_inf").val('').closest(".address-wrap").find(".static-value").text(' ');
self.map.refresh();
});
/**
* enable city <select/> when country is chosen
*/
//todo:чтобы работал надо ждать пока Назар сделает нулевой option
$country.on('change', function () {
if($(this).val() != 0 || $(this).val() != ''){
@ -668,7 +900,6 @@ if (EXPO.company){
}
},
initSelection : function(element, callback) {
console.log(element);
var data = [],
dataObjArr;
element.val('');
@ -734,17 +965,17 @@ if (EXPO.company){
$waiter.show();
if ( window.FormData && ("upload" in ($.ajaxSettings.xhr())) ){
inputData = new FormData(this);
self.forms[formName].pushData(inputData, formName);
self.forms[formName].beforeSubmit(inputData, formName);
} else {
inputData = $(this).serialize();
self.forms[formName].pushData(inputData, formName);
self.forms[formName].beforeSubmit(inputData, formName);
}
return false;
});
$closeButton.on('click', function() {
$editable.removeClass(self.opt.formCurrentClass);
self.forms[formName].refreshState();
self.forms[formName].refreshHTML();
return false;
});
@ -776,7 +1007,7 @@ if (EXPO.company){
if($(this).hasClass(self.opt.formCurrentClass)){
if(self.forms[formId].refrashable){
self.forms[formId].refreshState();
self.forms[formId].refreshHTML();
$editable.removeClass(EXPO.company.opt.formCurrentClass);
}else{
$editable.removeClass(self.opt.formCurrentClass);
@ -796,7 +1027,7 @@ if (EXPO.company){
var targetObj = $(event.target);
if (targetObj.parents().filter('.e-form').length < 1) {
$editable.removeClass(self.opt.formCurrentClass);
self.forms[formName].refreshState();
self.forms[formName].refreshHTML();
$(document).off('click.form');
}
});
@ -810,9 +1041,7 @@ if (EXPO.company){
* preview button
*/
$('#'+self.opt.previewBtnId).attr('href',window.location.href+"?logout=1");
//$('#'+self.opt.previewBtnId).on("click", function () {
//
//});
});

@ -6,7 +6,8 @@ if (EXPO.exposition.object){
EXPO.exposition.object = (function () {
// dependencies
var com = EXPO.common;
var com = EXPO.common,
$waiter;
// variables
var that = {},
Note = function (it, opt) {
@ -50,6 +51,9 @@ if (EXPO.exposition.object){
};
that.opt = {}; //свойства по умолчанию
//private
$(function () {
$waiter = $('#wait-ajax:not(.absolute)').css({'z-index': '8031'});
});
// methods
//инициализация общих свойств
@ -114,24 +118,29 @@ if (EXPO.exposition.object){
* @param data - data recieved from server ex
*/
handler = function (data) {
console.log(data);
if (!data.succes){
var clearValue = function () {
$('.err',$form).removeClass("err");
$('.pwf-msg',$form).text('');
};
if (data.success != true){
clearValue();
for (var k in data.errors){
if (data.errors.hasOwnProperty(k)) {
$('input[name="'+key+'"]',$form)
$('input[name="'+k+'"]',$form)
.closest(".required").addClass("err")
.siblings(".pwf-msg").text(data.errors[k]);
}
}
}else{
clearValue();
$('input:text',$form).val('');
$('.err',$form).removeClass("err");
$('.pwf-msg',$form).text('');
$.fancybox.close();
}
$waiter.hide();
};
$waiter.show();
com.postRequest(formData,formUrl,handler);
return false;
});

@ -19,10 +19,11 @@ if (EXPO.place.object){
Article.prototype = {
init: function () {
var self = this,
anText = this.$annotation.html().slice(0,self.cutLength);
this.fullText = this.$annotation.html();
this.$annotation.html(anText+'...');
this.$fullPart.html(this.fullText);
anText = this.$annotation.text().slice(0,self.cutLength);
this.fullText = this.$annotation.html().trim();
this._setMoreLess(this.fullText,self.cutLength, 10)
//this.$annotation.html($.trim(anText));
//this.$fullPart.html($.trim(this.fullText));
@ -34,6 +35,23 @@ if (EXPO.place.object){
},
_cutAnnotation: function () {
},
_setMoreLess: function (fullHtml, thrLength, tolerance) {
var alltext = fullHtml;
if (alltext.length + tolerance < thrLength) {
return;
}
else {
var firstHalf = alltext.substring(0, thrLength);
var firstHalfSpan = '<span class="firstHalf">' + firstHalf + '</span>';
this.$annotation.html(firstHalfSpan);
this.$annotation.find("p:last").append("...");
this.$fullPart.html(alltext);
}
}
};
that.opt = {}; //свойства по умолчанию

@ -14,6 +14,33 @@ if (EXPO.profile.calendar) {
that.opt = {}; //свойства по умолчанию
//private
$(function () {
/**
* events list below calendar
*/
$('#btn_delete').on('click', function(e){
e.preventDefault();
var expos = $("input[name=expo]:checkbox:checked").map(function(){
return $(this).val();
}).get();
var confs = $("input[name=conf]:checkbox:checked").map(function(){
return $(this).val();
}).get();
var seminars = $("input[name=seminar]:checkbox:checked").map(function(){
return $(this).val();
}).get();
var webinars = $("input[name=webinar]:checkbox:checked").map(function(){
return $(this).val();
}).get();
var sendData = {'expo': JSON.stringify(expos),
'conf':JSON.stringify(confs),
'seminar':JSON.stringify(seminars),
'webinar': JSON.stringify(webinars)}
$.get('/profile/calendar/remove/', sendData, function(data){
if(data.success){
location.reload();
}
})
});
});
// methods
@ -78,11 +105,15 @@ if (EXPO.profile.calendar) {
return offset;
};
this.$leftScroll = $leftScroll;
this.$rightScroll = $rightScroll;
this.currentOffset = currentWeekOffset();
this.scrollStep = scrollStep;
this.$scrollBox = $scrollBox;
//$(document).ready(function () {
//
//});
this.$messages = []
this.$messages = [];
$(function () {
$noEventsField.each(function () {
@ -125,38 +156,29 @@ if (EXPO.profile.calendar) {
},
keyboard:{
enable:false
}
});
//$('.mCSB_scrollTools_horizontal',$scrollBox).hide();
//$('.mCSB_scrollTools_horizontal',$scrollBox).css({'opacity':0});
//$scrollBox.mCustomScrollbar("scrollTo", currentWeekOffset());
});
$leftScroll.on('click', function () {
if(self.currentOffset >= self.stepWidth){
self.currentOffset -= scrollStep;
$scrollBox.mCustomScrollbar("scrollTo", '+=' + scrollStep);
for (var i =0; i< self.$messages.length; i++){
var marginLeft = parseInt(self.$messages[i].inlineStyle("margin-left"));
if(marginLeft> 0){
self.$messages[i].css({marginLeft:self.currentOffset+'px'});
}
}
}
});
$rightScroll.on('click', function () {
if((self.currentOffset + self.stepWidth) < self.calendarWidth){
},
callbacks:{
onScroll: function(){
self.$leftScroll.off("click").one('click', function () {
self.scrollLeft(self);
});
self.$rightScroll.off("click").one('click', function () {
self.scrollRight(self);
});
self.currentOffset+= scrollStep;
$scrollBox.mCustomScrollbar("scrollTo", '-=' + scrollStep);
for (var i =0; i< self.$messages.length; i++){
var marginLeft = parseInt(self.$messages[i].inlineStyle("margin-left"));
if((marginLeft +self.$messages[i].width())< self.calendarWidth){
self.$messages[i].css({marginLeft:self.currentOffset+'px'});
}
}
}
});
});
$leftScroll.one('click', function () {
self.scrollLeft(self);
});
$rightScroll.one('click', function () {
self.scrollRight(self);
});
$calendarToggle.on('click', function () {
var $switch = $(this);
var $sect = $switch.closest('.ep-sect');
@ -188,6 +210,56 @@ if (EXPO.profile.calendar) {
});
};
that.scrollRight = function (self) {
if(!self){
self = this;
}
self.$rightScroll.off('click');
if((self.currentOffset + self.stepWidth) < self.calendarWidth){
self.currentOffset+= self.scrollStep;
console.log("!!! right scroll fired!");
self.$scrollBox.mCustomScrollbar("scrollTo", '-=' + self.scrollStep);
self.offsetMessages();
}
return false;
};
that.scrollLeft = function (self) {
if(!self){
self = this;
}
self.$leftScroll.off('click');
if(self.currentOffset >= self.stepWidth){
self.currentOffset -= self.scrollStep;
console.log("!!! left scroll fired!");
self.$scrollBox.mCustomScrollbar("scrollTo", '+=' + self.scrollStep);
self.offsetMessages(self);
}
return false;
};
/**
* make message "no marked events" visible on current week slide
* @param self - context
*/
that.offsetMessages = function (self) {
if(!self){
self = this;
}
for (var i =0; i< self.$messages.length; i++){
var marginLeft = parseInt(self.$messages[i].inlineStyle("margin-left"));
if(marginLeft>= 0){
self.$messages[i].addClass("hidden");
self.$messages[i].css({marginLeft:self.currentOffset+'px'});
self.$messages[i].removeClass("hidden");
}
}
};
return that;
}());
}

@ -45,7 +45,7 @@ if (EXPO.profile){
// factory for on page form objects
Forms.prototype = {
// ajax request realization
getajax: function (dataToSend) {
submit: function (dataToSend) {
var self = this;
if(!dataToSend){
dataToSend = '';
@ -57,7 +57,7 @@ if (EXPO.profile){
processData: false,
contentType: false,
success: function(data) {
self.pullHandler(data);
self.afterSubmitHandler(data);
if(data.success){
EXPO.profile.rating.refresh(data.rating);
}
@ -67,8 +67,8 @@ if (EXPO.profile){
},
// check if there exists custom data manipulation handler and evaluate it
pushData: function (data, formName) {
var handler = this.pushHandler,
beforeSubmit: function (data, formName) {
var handler = this.beforeSubmitHandler,
formData = data;
if(typeof formData != "string"){
this.formData =formData;
@ -80,10 +80,10 @@ if (EXPO.profile){
if(typeof handler == 'function'){
// if particular data change required
this.formData = handler(data, formName);
this.getajax(data);
this.submit(data);
$('#wait-ajax').show();
} else{
this.getajax(data);
this.submit(data);
$('#wait-ajax').show();
}
@ -91,8 +91,8 @@ if (EXPO.profile){
},
pullData: function (data) {
var handler = this.pullHandler;
afterSubmit: function (data) {
var handler = this.afterSubmitHandler;
if(typeof handler == 'function'){
handler(data);
} else{
@ -122,7 +122,7 @@ if (EXPO.profile){
* @function
* @public
*/
refreshState: function () {
refreshHTML: function () {
var pureText = $.trim( this.$staticValue.text()).replace(/[^0-9a-zA-Zа-я\s]/g,'').replace( /(\d)\s/, '' ).replace(/\s+/g,'');
if(($.trim( this.$staticValue.text()) == '' || pureText == 'NoneNone') && this.$wrapper.length && this.refrashable){
this.$editable.addClass('hidden');
@ -145,7 +145,7 @@ if (EXPO.profile){
message: constr + "doesen't exist"
};
}
if(typeof Forms[constr].prototype.pushData !== "function"){
if(typeof Forms[constr].prototype.beforeSubmit !== "function"){
Forms[constr].prototype = new Forms();
}
newForm = new Forms[constr](ajaxpath);
@ -154,7 +154,7 @@ if (EXPO.profile){
//# constructors for each indivivdual form
// please add functionality for new profile forms here
// pushHandler is for ajax to server, pullHandler for ajax from it. Data is the response information from server
// beforeSubmitHandler is for ajax to server, pullHandler for ajax from it. Data is the response information from server
// name of each method is equal 'id' attribute of <form/> element on the page.
Forms.home_form = function (path) {
@ -163,14 +163,14 @@ if (EXPO.profile){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
var country = $('#s2id_id_country').find('.select2-chosen').text(),
city = $('#s2id_id_city').find('.select2-chosen').text();
$('#static-home-country').text(country);
$('#static-home-city').text(city);
$('.p-editable').removeClass('pe-current');
this.refreshState();
this.refreshHTML();
}
};
this.ajaxPath = path;
@ -182,11 +182,11 @@ if (EXPO.profile){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
$('#static-name-value').text($('#id_last_name').val()+' '+$('#id_first_name').val());
$('.p-editable').removeClass('pe-current');
this.refreshState();
this.refreshHTML();
}
};
@ -199,7 +199,7 @@ if (EXPO.profile){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
var staticText,
work_fieldValue = $.trim($('#s2id_id_company').text());
if (data.success ){
@ -209,7 +209,7 @@ if (EXPO.profile){
}
$('#static-work-value').text(staticText);
$('.p-editable').removeClass('pe-current');
this.refreshState();
this.refreshHTML();
}
};
@ -222,12 +222,12 @@ if (EXPO.profile){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
$('#static-phone-value').text($('#id_phone')[0].value);
$('.p-editable').removeClass('pe-current');
this.refreshState();
this.refreshHTML();
}
};
@ -240,12 +240,12 @@ if (EXPO.profile){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
var userLink = $('#id_web_page').val();
$('#static-web-page-value').attr('href',userLink).text(userLink);
$('.p-editable').removeClass('pe-current');
this.refreshState();
this.refreshHTML();
}
};
@ -259,11 +259,11 @@ if (EXPO.profile){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
$('#static-about-value').html(com.nl2br($('#id_about').val()));
$('.p-editable').removeClass('pe-current');
this.refreshState();
this.refreshHTML();
}
};
@ -277,7 +277,7 @@ if (EXPO.profile){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
for (item in self.formData) {
@ -310,7 +310,7 @@ if (EXPO.profile){
}
$('.p-editable').removeClass('pe-current');
this.refreshState();
this.refreshHTML();
}else {
for (item in data.errors) {
@ -323,7 +323,7 @@ if (EXPO.profile){
}
}
};
this.pushHandler = function (data, formName){
this.beforeSubmitHandler = function (data, formName){
var formData = $('#'+formName).serialize();
return JSON.parse('{"' + decodeURI(formData).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}');
@ -332,7 +332,7 @@ if (EXPO.profile){
};
this.refreshState = function () {
this.refreshHTML = function () {
console.log(this);
var fullComplete = true;
$('input:text',this.$form).each(function () {
@ -362,20 +362,20 @@ if (EXPO.profile){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
if($avatar.length){
$avatar.attr('src', data.url);
this.refreshState();
this.refreshHTML();
}
}
};
this.pushHandler = function(data){
this.beforeSubmitHandler = function(data){
if(typeof data != 'string'){
self.getajax(data);
self.submit(data);
$('#wait-ajax').show();
}else{
$form = $('#'+self.formId);
@ -389,7 +389,7 @@ if (EXPO.profile){
this.ajaxPath = path;
this.refreshState = function () {
this.refreshHTML = function () {
if($.trim(this.$image.attr('src')) == this.noImageSrc){
this.$editable.addClass('hidden');
this.$description.removeClass('hidden');
@ -411,7 +411,7 @@ if (EXPO.profile){
* callback after successful request to the server
* @param data -data object recieved from server
*/
this.pullHandler = function (data) {
this.afterSubmitHandler = function (data) {
if (data.success){
location.reload();
@ -610,7 +610,7 @@ if (EXPO.profile){
}
// todo:временно отключил
//self.forms[formName].refreshState();
//self.forms[formName].refreshHTML();
// submit events handler
$(this).off('submit');
@ -619,17 +619,17 @@ if (EXPO.profile){
$waiter.show();
if ( window.FormData && ("upload" in ($.ajaxSettings.xhr())) ){
inputData = new FormData(this);
self.forms[formName].pushData(inputData, formName);
self.forms[formName].beforeSubmit(inputData, formName);
} else {
inputData = $(this).serialize();
self.forms[formName].pushData(inputData, formName);
self.forms[formName].beforeSubmit(inputData, formName);
}
return false;
});
$closeButton.on('click', function() {
$editable.removeClass(self.opt.formCurrentClass);
self.forms[formName].refreshState();
self.forms[formName].refreshHTML();
return false;
});
if($('.'+self.opt.avatarButtonClass, $wrapper).length){
@ -660,7 +660,7 @@ if (EXPO.profile){
if($(this).hasClass(self.opt.formCurrentClass)){
if(self.forms[formId].refrashable){
self.forms[formId].refreshState();
self.forms[formId].refreshHTML();
$editable.removeClass(EXPO.profile.opt.formCurrentClass);
}else{
$editable.removeClass(self.opt.formCurrentClass);
@ -680,7 +680,7 @@ if (EXPO.profile){
var targetObj = $(event.target);
if (targetObj.parents().filter('.e-form').length < 1) {
$editable.removeClass(self.opt.formCurrentClass);
self.forms[formName].refreshState();
self.forms[formName].refreshHTML();
$(document).off('click.form');
}
});

@ -0,0 +1 @@
var EXPO=EXPO||{};EXPO.newsFilter?console.warn("WARNING: EXPO.newsFilter is already defined!"):EXPO.newsFilter=function(){var t={};t.opt={};EXPO.common;return t.init=function(t){$.extend(this.opt,t);var e=this;$(function(){var t=$(".news-filter-block"),i=$(".custom-select.theme select",t),a=$(".custom-select.tags input",t),l=t.children("form");i.attr("multiple","multiple"),i.select2({placeholder:e.opt.theme.placeholder,width:"368px",maximumSelectionSize:3}),a.val("0"),a.select2({placeholder:e.opt.tags.placeholder,width:"368px",multiple:!0,maximumSelectionSize:5,ajax:{url:e.opt.tags.url,dataType:"json",quietMillis:200,data:function(t,e){var a=i.val();return a||(a=[]),{term:t,page:e,themes:a}},results:function(t){var e=[];return $.each(t,function(t,i){e.push({id:i.id,text:i.label})}),{results:e}}},initSelection:function(t,i){var a;t.val(""),""!=$.trim(t.attr("data-predifined"))&&"[]"!=$.trim(t.attr("data-predifined"))?(a=JSON.parse(t.attr("data-predifined")),i(a)):$(" .custom-select.tags .select2-input").width(336).addClass("select2-default").val(e.opt.tags.placeholder)}}),a.on("change",function(){l.submit()}),i.on("change",function(){l.submit()})})},t}();

@ -1 +1 @@
var EXPO=EXPO||{};EXPO.registration=EXPO.registration||{},EXPO.registration.completion?console.warn("WARNING: EXPO.registration..completion is already defined!"):EXPO.registration.completion=function(){var e={},t=function(e){var t=$("#end-reg"),o="pwf-line",i=EXPO.common.opt.activeClass,r="phone",n="label",a=EXPO.common.opt.errMessageClass;if($("."+a,t).removeClass(i),e.success)location.reload();else{console.log(e);for(var s in e.errors)e.errors.hasOwnProperty(s)&&($itemWrap=$("#id_"+s).closest("."+o),$("."+a,$itemWrap).addClass(i).text(e.errors[s][0]),$itemWrap.hasClass(r)&&$("."+n,$itemWrap).hide())}},o=function(e){$("#id_country").val("159").select2({placeholder:"Ваша страна",width:e}),$("#id_city").select2({placeholder:"Ваш город",width:e,ajax:{url:"/city/get-city/",dataType:"json",quietMillis:200,data:function(e,t,o){var o=$("#id_country").val();return{term:e,page:t,country:o}},results:function(e){var t=[];return $.each(e,function(e,o){t.push({id:o.id,text:o.label})}),{results:t}}},initSelection:function(e,t){var o=$(e).val(),i=$(e).attr("data-init-text");t({id:o,text:i})}})};e.opt={};EXPO.common;return $(function(){$("body").addClass("body-fixed"),o("100%"),$("#id_code_country").select2({width:"95px"}),$.fancybox.open([{href:"#end-reg"}],{closeBtn:!1,closeClick:!1,modal:!0,scrolling:"no",helpers:{overlay:{closeClick:!1},locked:!0},keys:{close:null}}),$("#end-reg-form").on("submit",function(e){e.preventDefault();var o=$(this).attr("action"),i=$(this).serialize();$.post(o,i,t)})}),e.init=function(e){$.extend(this.opt,e)},e}();
var EXPO=EXPO||{};EXPO.registration=EXPO.registration||{},EXPO.registration.completion?console.warn("WARNING: EXPO.registration..completion is already defined!"):EXPO.registration.completion=function(){var e={},t=function(e){var t=$("#end-reg"),o="pwf-line",i=EXPO.common.opt.activeClass,r="phone",n="label",a=EXPO.common.opt.errMessageClass;if($("."+a,t).removeClass(i),e.success)location=e.redirect;else{console.log(e);for(var s in e.errors)e.errors.hasOwnProperty(s)&&($itemWrap=$("#id_"+s).closest("."+o),$("."+a,$itemWrap).addClass(i).text(e.errors[s][0]),$itemWrap.hasClass(r)&&$("."+n,$itemWrap).hide())}},o=function(e){$("#id_country").val("159").select2({placeholder:"Ваша страна",width:e}),$("#id_city").select2({placeholder:"Ваш город",width:e,ajax:{url:"/city/get-city/",dataType:"json",quietMillis:200,data:function(e,t,o){var o=$("#id_country").val();return{term:e,page:t,country:o}},results:function(e){var t=[];return $.each(e,function(e,o){t.push({id:o.id,text:o.label})}),{results:t}}},initSelection:function(e,t){var o=$(e).val(),i=$(e).attr("data-init-text");t({id:o,text:i})}})};e.opt={};EXPO.common;return $(function(){$("body").addClass("body-fixed"),o("100%"),$("#id_code_country").select2({width:"95px"}),$.fancybox.open([{href:"#end-reg"}],{closeBtn:!1,closeClick:!1,modal:!0,scrolling:"no",helpers:{overlay:{closeClick:!1},locked:!0},keys:{close:null}}),$("#end-reg-form").on("submit",function(e){e.preventDefault();var o=$(this).attr("action"),i=$(this).serialize();$.post(o,i,t)})}),e.init=function(e){$.extend(this.opt,e)},e}();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.object?console.warn("WARNING: EXPO.exposition.object is already defined!"):EXPO.exposition.object=function(){var t=EXPO.common,i={},s=function(t,i){this.opt=i,this.DOMthis=t,this.DOMbutton=t.querySelector("."+i.buttonClass),this.DOMinput=t.querySelector("."+i.inputClass),this.inputName=this.DOMinput.getAttribute("name"),this.url=this.DOMbutton.getAttribute("href"),this._controller()};return s.prototype={_init:function(){},_controller:function(){var t=this;$(this.DOMinput).on("blur",function(){t.send()}),$(this.DOMbutton).on("click",function(){return!1})},send:function(){var i,s={},o=this,e=function(t){t.success?(console.log("ok"),$(o.DOMbutton).addClass("active")):console.log("data not send")};s[this.inputName]=this.DOMinput.value,i=t.getRequest(s,this.url,e)}},i.opt={},i.init=function(i){$.extend(this.opt,i);var o=this,e=$("."+this.opt.visit.activeClass+", ."+this.opt.visit.passiveClass);this.notes=[],$("."+this.opt.note.wrapClass).each(function(){var t=new s(this,o.opt.note);o.notes.push(t)}),$("."+this.opt.note.wrapDisabledClass).on("click",function(){return $.fancybox.open("#pw-login"),!1}),t.opt.addCalendarText=this.opt.addCalendarText,t.opt.removeCalendarText=this.opt.removeCalendarText,e.off("click"),e.on("click",function(){return $(this).hasClass(o.opt.visit.activeClass)?($("."+o.opt.visit.activeClass).hide().siblings("."+o.opt.visit.passiveClass).show(),$("#"+o.opt.visit.visitorsListId).append(o.opt.visit.currentHtml),$("#"+o.opt.visit.somebodyId).removeClass("hidden"),$("#"+o.opt.visit.nobodyId).addClass("hidden")):($("."+o.opt.visit.passiveClass).hide().siblings("."+o.opt.visit.activeClass).show(),$("#"+o.opt.visit.visitorsListId).children(".current").remove(),0==$("#"+o.opt.visit.visitorsListId).children().length&&($("#"+o.opt.visit.somebodyId).addClass("hidden"),$("#"+o.opt.visit.nobodyId).removeClass("hidden"))),!1})},i}();
var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.object?console.warn("WARNING: EXPO.exposition.object is already defined!"):EXPO.exposition.object=function(){var t,i=EXPO.common,s={},o=function(t,i){this.opt=i,this.DOMthis=t,this.DOMbutton=t.querySelector("."+i.buttonClass),this.DOMinput=t.querySelector("."+i.inputClass),this.inputName=this.DOMinput.getAttribute("name"),this.url=this.DOMbutton.getAttribute("href"),this._controller()};return o.prototype={_init:function(){},_controller:function(){var t=this;$(this.DOMinput).on("blur",function(){t.send()}),$(this.DOMbutton).on("click",function(){return!1})},send:function(){var t,s={},o=this,e=function(t){t.success?(console.log("ok"),$(o.DOMbutton).addClass("active")):console.log("data not send")};s[this.inputName]=this.DOMinput.value,t=i.getRequest(s,this.url,e)}},s.opt={},$(function(){t=$("#wait-ajax:not(.absolute)").css({"z-index":"8031"})}),s.init=function(s){$.extend(this.opt,s);var e=this,n=$("."+this.opt.visit.activeClass+", ."+this.opt.visit.passiveClass);this.notes=[],$("."+this.opt.note.wrapClass).each(function(){var t=new o(this,e.opt.note);e.notes.push(t)}),$("."+this.opt.note.wrapDisabledClass).on("click",function(){return $.fancybox.open("#pw-login"),!1}),i.opt.addCalendarText=this.opt.addCalendarText,i.opt.removeCalendarText=this.opt.removeCalendarText,n.off("click"),n.on("click",function(){return $(this).hasClass(e.opt.visit.activeClass)?($("."+e.opt.visit.activeClass).hide().siblings("."+e.opt.visit.passiveClass).show(),$("#"+e.opt.visit.visitorsListId).append(e.opt.visit.currentHtml),$("#"+e.opt.visit.somebodyId).removeClass("hidden"),$("#"+e.opt.visit.nobodyId).addClass("hidden")):($("."+e.opt.visit.passiveClass).hide().siblings("."+e.opt.visit.activeClass).show(),$("#"+e.opt.visit.visitorsListId).children(".current").remove(),0==$("#"+e.opt.visit.visitorsListId).children().length&&($("#"+e.opt.visit.somebodyId).addClass("hidden"),$("#"+e.opt.visit.nobodyId).removeClass("hidden"))),!1}),$("#"+this.opt.advertise.id).on("submit",function(){var s=$(this).serialize(),o=$(this).attr("action"),e=$(this),n=function(i){var s=function(){$(".err",e).removeClass("err"),$(".pwf-msg",e).text("")};if(1!=i.success){s();for(var o in i.errors)i.errors.hasOwnProperty(o)&&$('input[name="'+o+'"]',e).closest(".required").addClass("err").siblings(".pwf-msg").text(i.errors[o])}else s(),$("input:text",e).val(""),$.fancybox.close();t.hide()};return t.show(),i.postRequest(s,o,n),!1})},s}();

@ -1 +1 @@
var EXPO=EXPO||{};EXPO.place=EXPO.place||{},EXPO.place.object?console.warn("WARNING: EXPO.place.object is already defined!"):EXPO.place.object=function(){var t={},i=function(t,i){this.$annotation=$("."+t.annotationClass,i),this.$fullPart=$("."+t.fullPartClass,i),this.$readMore=$("."+t.readMoreClass,i),this.cutLength=t.cutLength,this.fullText,this.init()};return i.prototype={init:function(){var t=this,i=this.$annotation.html().slice(0,t.cutLength);this.fullText=this.$annotation.html(),this.$annotation.html(i+"..."),this.$fullPart.html(this.fullText)},showMore:function(){this.$readMore.hide(),this.$annotation.hide(),this.$fullPart.removeClass("hidden")},_cutAnnotation:function(){}},t.opt={},$(function(){}),t.init=function(t){$.extend(this.opt,t);var n=this;this.articles=[],$("."+n.opt.article.class).each(function(){var t=new i(n.opt.article,this);t.$readMore.on("click",function(){t.showMore()}),n.articles.push(t)})},t}();
var EXPO=EXPO||{};EXPO.place=EXPO.place||{},EXPO.place.object?console.warn("WARNING: EXPO.place.object is already defined!"):EXPO.place.object=function(){var t={},n=function(t,n){this.$annotation=$("."+t.annotationClass,n),this.$fullPart=$("."+t.fullPartClass,n),this.$readMore=$("."+t.readMoreClass,n),this.cutLength=t.cutLength,this.fullText,this.init()};return n.prototype={init:function(){{var t=this;this.$annotation.text().slice(0,t.cutLength)}this.fullText=this.$annotation.html().trim(),this._setMoreLess(this.fullText,t.cutLength,10)},showMore:function(){this.$readMore.hide(),this.$annotation.hide(),this.$fullPart.removeClass("hidden")},_cutAnnotation:function(){},_setMoreLess:function(t,n,i){var a=t;if(!(a.length+i<n)){var e=a.substring(0,n),s='<span class="firstHalf">'+e+"</span>";this.$annotation.html(s),this.$annotation.find("p:last").append("..."),this.$fullPart.html(a)}}},t.opt={},$(function(){}),t.init=function(t){$.extend(this.opt,t);var i=this;this.articles=[],$("."+i.opt.article.class).each(function(){var t=new n(i.opt.article,this);t.$readMore.on("click",function(){t.showMore()}),i.articles.push(t)})},t}();

@ -1 +1 @@
var EXPO=EXPO||{};EXPO.profile=EXPO.profile||{},EXPO.profile.calendar?console.warn("WARNING: EXPO.profile.calendar is already defined!"):EXPO.profile.calendar=function(){var t=(EXPO.common,{});return t.opt={},$(function(){}),t.init=function(t){$.extend(this.opt,t);var e=this,s=$("#"+this.opt.scrollBoxId),n=$("#"+this.opt.calenadrId),a=(n.find("td."+this.opt.currentDayClass).index()*this.opt.cellWidth,$("#"+this.opt.scrollLeftId)),o=$("#"+this.opt.scrollRightId),r=$("."+this.opt.noEventsClass),l=$("."+this.opt.calendarToggleClass),i=this.opt.cellWidth*this.opt.cellsToScroll,c=0,d=function(){var t,s,n=0,a=0,o=e.opt.cellWidth,r=$("#"+e.opt.calenadrId),l=r.find("td."+e.opt.currentDayClass).index(),i=e.opt.cellsToScroll,c=r.find("."+e.opt.daysClass+" td").length;return e.stepWidth=i*o,e.calendarWidth=o*c,l>0?(l++,t=c/i,s=c/l,a=t-s,e.currentDay=l,a?(a=Math.floor(a-1),n=i*a*o):n=0):(e.currentDay=0,n=0),n};this.currentOffset=d(),this.$messages=[],$(function(){r.each(function(){$(this).attr("colspan")&&1!=$(this).attr("colspan")?$(this).width()>e.stepWidth&&e.$messages.push($(".message",$(this)).width(e.stepWidth).css({marginLeft:e.currentOffset+"px"})):$(this).find("."+e.opt.eventWrapClass).addClass("small")}),$("."+e.opt.eventsClass).each(function(){c++,3==c&&$(this).addClass("grey"),4==c&&($(this).addClass("grey"),c=0)})}),$(window).load(function(){s.mCustomScrollbar({axis:"y",horizontalScroll:!0,setLeft:"-"+EXPO.profile.calendar.currentOffset+"px",mouseWheel:{enable:!1},scrollButtons:{enable:!1},contentTouchScroll:!1,scrollInertia:1e3,timeout:0,advanced:{autoScrollOnFocus:!1,updateOnContentResize:!1,updateOnBrowserResize:!1},keyboard:{enable:!1}})}),a.on("click",function(){if(e.currentOffset>=e.stepWidth){e.currentOffset-=i,s.mCustomScrollbar("scrollTo","+="+i);for(var t=0;t<e.$messages.length;t++){var n=parseInt(e.$messages[t].inlineStyle("margin-left"));n>0&&e.$messages[t].css({marginLeft:e.currentOffset+"px"})}}}),o.on("click",function(){if(e.currentOffset+e.stepWidth<e.calendarWidth){e.currentOffset+=i,s.mCustomScrollbar("scrollTo","-="+i);for(var t=0;t<e.$messages.length;t++){var n=parseInt(e.$messages[t].inlineStyle("margin-left"));n+e.$messages[t].width()<e.calendarWidth&&e.$messages[t].css({marginLeft:e.currentOffset+"px"})}}}),l.on("click",function(){var t=$(this),e=t.closest(".ep-sect"),s=e.children("div.ep-sect-body");return e.hasClass("eps-opened")?(o.hide(),a.hide(),s.stop().animate({opacity:0},300,function(){e.removeClass("eps-opened")})):(o.show(),a.show(),s.stop().animate({opacity:1},300,function(){e.addClass("eps-opened")})),!1})},t}();
var EXPO=EXPO||{};EXPO.profile=EXPO.profile||{},EXPO.profile.calendar?console.warn("WARNING: EXPO.profile.calendar is already defined!"):EXPO.profile.calendar=function(){var e=(EXPO.common,{});return e.opt={},$(function(){$("#btn_delete").on("click",function(e){e.preventDefault();var t=$("input[name=expo]:checkbox:checked").map(function(){return $(this).val()}).get(),s=$("input[name=conf]:checkbox:checked").map(function(){return $(this).val()}).get(),o=$("input[name=seminar]:checkbox:checked").map(function(){return $(this).val()}).get(),l=$("input[name=webinar]:checkbox:checked").map(function(){return $(this).val()}).get(),n={expo:JSON.stringify(t),conf:JSON.stringify(s),seminar:JSON.stringify(o),webinar:JSON.stringify(l)};$.get("/profile/calendar/remove/",n,function(e){e.success&&location.reload()})})}),e.init=function(e){$.extend(this.opt,e);var t=this,s=$("#"+this.opt.scrollBoxId),o=$("#"+this.opt.calenadrId),l=(o.find("td."+this.opt.currentDayClass).index()*this.opt.cellWidth,$("#"+this.opt.scrollLeftId)),n=$("#"+this.opt.scrollRightId),c=$("."+this.opt.noEventsClass),i=$("."+this.opt.calendarToggleClass),r=this.opt.cellWidth*this.opt.cellsToScroll,a=0,f=function(){var e,s,o=0,l=0,n=t.opt.cellWidth,c=$("#"+t.opt.calenadrId),i=c.find("td."+t.opt.currentDayClass).index(),r=t.opt.cellsToScroll,a=c.find("."+t.opt.daysClass+" td").length;return t.stepWidth=r*n,t.calendarWidth=n*a,i>0?(i++,e=a/r,s=a/i,l=e-s,t.currentDay=i,l?(l=Math.floor(l-1),o=r*l*n):o=0):(t.currentDay=0,o=0),o};this.$leftScroll=l,this.$rightScroll=n,this.currentOffset=f(),this.scrollStep=r,this.$scrollBox=s,this.$messages=[],$(function(){c.each(function(){$(this).attr("colspan")&&1!=$(this).attr("colspan")?$(this).width()>t.stepWidth&&t.$messages.push($(".message",$(this)).width(t.stepWidth).css({marginLeft:t.currentOffset+"px"})):$(this).find("."+t.opt.eventWrapClass).addClass("small")}),$("."+t.opt.eventsClass).each(function(){a++,3==a&&$(this).addClass("grey"),4==a&&($(this).addClass("grey"),a=0)})}),$(window).load(function(){s.mCustomScrollbar({axis:"y",horizontalScroll:!0,setLeft:"-"+EXPO.profile.calendar.currentOffset+"px",mouseWheel:{enable:!1},scrollButtons:{enable:!1},contentTouchScroll:!1,scrollInertia:1e3,timeout:0,advanced:{autoScrollOnFocus:!1,updateOnContentResize:!1,updateOnBrowserResize:!1},keyboard:{enable:!1},callbacks:{onScroll:function(){t.$leftScroll.off("click").one("click",function(){t.scrollLeft(t)}),t.$rightScroll.off("click").one("click",function(){t.scrollRight(t)})}}})}),l.one("click",function(){t.scrollLeft(t)}),n.one("click",function(){t.scrollRight(t)}),i.on("click",function(){var e=$(this),t=e.closest(".ep-sect"),s=t.children("div.ep-sect-body");return t.hasClass("eps-opened")?(n.hide(),l.hide(),s.stop().animate({opacity:0},300,function(){t.removeClass("eps-opened")})):(n.show(),l.show(),s.stop().animate({opacity:1},300,function(){t.addClass("eps-opened")})),!1})},e.scrollRight=function(e){return e||(e=this),e.$rightScroll.off("click"),e.currentOffset+e.stepWidth<e.calendarWidth&&(e.currentOffset+=e.scrollStep,console.log("!!! right scroll fired!"),e.$scrollBox.mCustomScrollbar("scrollTo","-="+e.scrollStep),e.offsetMessages()),!1},e.scrollLeft=function(e){return e||(e=this),e.$leftScroll.off("click"),e.currentOffset>=e.stepWidth&&(e.currentOffset-=e.scrollStep,console.log("!!! left scroll fired!"),e.$scrollBox.mCustomScrollbar("scrollTo","+="+e.scrollStep),e.offsetMessages(e)),!1},e.offsetMessages=function(e){e||(e=this);for(var t=0;t<e.$messages.length;t++){var s=parseInt(e.$messages[t].inlineStyle("margin-left"));s>=0&&(e.$messages[t].addClass("hidden"),e.$messages[t].css({marginLeft:e.currentOffset+"px"}),e.$messages[t].removeClass("hidden"))}},e}();

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save