Frontend framework
|
@ -6,6 +6,7 @@
|
|||
display: inline-block;
|
||||
|
||||
padding: 4px 12px;
|
||||
padding: 5px 12px;
|
||||
margin: 0;
|
||||
|
||||
text-align: center;
|
||||
|
@ -14,31 +15,19 @@
|
|||
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
||||
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
|
||||
color: #333;
|
||||
|
||||
background: #fafafa;
|
||||
background: -moz-linear-gradient(top, #fff 0%, #e6e6e6 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#e6e6e6));
|
||||
background: -webkit-linear-gradient(top, #fff 0%,#e6e6e6 100%);
|
||||
background: -o-linear-gradient(top, #fff 0%,#e6e6e6 100%);
|
||||
background: -ms-linear-gradient(top, #fff 0%,#e6e6e6 100%);
|
||||
background: linear-gradient(top, #fff 0%,#e6e6e6 100%);
|
||||
|
||||
-webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
-moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
background: #eee;
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
*margin-right: 5px;
|
||||
*border: 0;
|
||||
}
|
||||
.button:hover { text-decoration: none; background: #eee; }
|
||||
.button:hover { text-decoration: none; background: #ddd; }
|
||||
.button:active,
|
||||
.button.active {
|
||||
background: #eaeaea;
|
||||
|
@ -53,16 +42,8 @@
|
|||
/* Button Primary */
|
||||
.button.button-primary {
|
||||
color: #fff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
|
||||
background: #006DCC;
|
||||
background: -moz-linear-gradient(top, #0088cc 0%, #0044cc 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#0088cc), color-stop(100%,#0044cc));
|
||||
background: -webkit-linear-gradient(top, #0088cc 0%,#0044cc 100%);
|
||||
background: -o-linear-gradient(top, #0088cc 0%,#0044cc 100%);
|
||||
background: -ms-linear-gradient(top, #0088cc 0%,#0044cc 100%);
|
||||
background: linear-gradient(top, #0088cc 0%,#0044cc 100%);
|
||||
}
|
||||
.button.button-primary:hover { background: #0044cc; }
|
||||
.button.button-primary.active { background: #006DCC; }
|
|
@ -12,9 +12,9 @@
|
|||
*display: inline; *zoom: 1; /* IE7 */
|
||||
background: #2891d3;
|
||||
color: #fff;
|
||||
border-radius: 2px;
|
||||
padding: 5px 12px;
|
||||
margin-bottom: 10px;
|
||||
min-height: 18px;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
|
@ -54,11 +54,53 @@
|
|||
padding: 5px 0;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 5px 10px rgba(0,0,0,.2);
|
||||
}
|
||||
.dropdown-menu li > a { display: block; padding: 5px 12px; white-space: nowrap; }
|
||||
.dropdown-menu > li { overflow: hidden; }
|
||||
.dropdown-menu > li > a { display: block; padding: 5px 12px; white-space: nowrap; }
|
||||
.dropdown-menu > li.active > a { background: #c8ecff; color: #48a4d5; }
|
||||
.dropdown-menu > li > a:hover { background: #0088cc; color: #fff; }
|
||||
|
||||
.dropdown-menu > li.divider { height: 0; border-top: 1px solid #e1e1e1; margin: 5px 0; }
|
||||
.dropdown-menu > li.divider { height: 0; border-top: 1px solid #e1e1e1; margin: 5px 0; }
|
||||
|
||||
|
||||
/* Arrow */
|
||||
/*
|
||||
.dropdown-menu:after,
|
||||
.dropdown-menu:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: auto;
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
left: auto;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border: 6px solid transparent;
|
||||
}
|
||||
.dropdown-menu:after { border-width: 7px; z-index: -1; }
|
||||
|
||||
.dropdown-menu.alignx-left.aligny-top:before { left: 10px; bottom: -12px; border-top-color: #fff; }
|
||||
.dropdown-menu.alignx-left.aligny-center:before { right: -12px; top: 50%; margin-top: -6px; border-left-color: #fff; }
|
||||
.dropdown-menu.alignx-left.aligny-bottom:before { left: 10px; top: -12px; border-bottom-color: #fff; }
|
||||
|
||||
.dropdown-menu.alignx-center.aligny-top:before { left: 50%; bottom: -12px; margin-left: -6px; border-top-color: #fff; }
|
||||
.dropdown-menu.alignx-center.aligny-center:before { display: none; }
|
||||
.dropdown-menu.alignx-center.aligny-bottom:before { left: 50%; top: -12px; margin-left: -6px; border-bottom-color: #fff; }
|
||||
|
||||
.dropdown-menu.alignx-right.aligny-top:before { right: 10px; bottom: -12px; border-top-color: #fff; }
|
||||
.dropdown-menu.alignx-right.aligny-center:before { left: -12px; top: 50%; margin-top: -6px; border-right-color: #fff; }
|
||||
.dropdown-menu.alignx-right.aligny-bottom:before { right: 10px; top: -12px; border-bottom-color: #fff; }
|
||||
|
||||
.dropdown-menu.alignx-left.aligny-top:after { left: 9px; bottom: -14px; border-top-color: #bbb; }
|
||||
.dropdown-menu.alignx-left.aligny-center:after { right: -14px; top: 50%; margin-top: -7px; border-left-color: #bbb; }
|
||||
.dropdown-menu.alignx-left.aligny-bottom:after { left: 9px; top: -14px; border-bottom-color: #bbb; }
|
||||
|
||||
.dropdown-menu.alignx-center.aligny-top:after { left: 50%; bottom: -14px; margin-left: -7px; border-top-color: #bbb; }
|
||||
.dropdown-menu.alignx-center.aligny-center:after { display: none; }
|
||||
.dropdown-menu.alignx-center.aligny-bottom:after { left: 50%; top: -14px; margin-left: -7px; border-bottom-color: #bbb; }
|
||||
|
||||
.dropdown-menu.alignx-right.aligny-top:after { right: 9px; bottom: -14px; border-top-color: #bbb; }
|
||||
.dropdown-menu.alignx-right.aligny-center:after { left: -14px; top: 50%; margin-top: -7px; border-right-color: #bbb; }
|
||||
.dropdown-menu.alignx-right.aligny-bottom:after { right: 9px; top: -14px; border-bottom-color: #bbb; }
|
||||
*/
|
|
@ -9,7 +9,6 @@ input[type="text"],
|
|||
.input-text {
|
||||
padding: 5px;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 3px;
|
||||
-webkit-box-shadow: 0 2px 4px rgba(0,0,0,.07) inset;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,.07) inset;
|
||||
-webkit-box-sizing: border-box;
|
||||
|
|
|
@ -74,4 +74,15 @@
|
|||
|
||||
/* Links */
|
||||
.link-dashed { text-decoration: none; border-bottom: 1px dashed; }
|
||||
.link-dotted { text-decoration: none; border-bottom: 1px dotted; }
|
||||
.link-dotted { text-decoration: none; border-bottom: 1px dotted; }
|
||||
|
||||
|
||||
/* Loader */
|
||||
/* TODO: Change gif */
|
||||
.loading {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-image: url(../images/modal-loader.gif) ;
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
|
@ -11,12 +11,12 @@
|
|||
color: #333;
|
||||
border: 1px solid #666;
|
||||
background-color: #fff;
|
||||
border-radius: 5px;
|
||||
-webkit-box-shadow: 0 0 15px rgba(0,0,0,.5);
|
||||
-moz-box-shadow: 0 0 15px rgba(0,0,0,.5);
|
||||
box-shadow: 0 0 15px rgba(0,0,0,.5);
|
||||
overflow: hidden;
|
||||
z-index: 9999;
|
||||
z-index: 1000;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
|
@ -58,6 +58,22 @@
|
|||
.modal .modal-content { padding: 20px; }
|
||||
|
||||
|
||||
/* Lock */
|
||||
.modal .modal-lock {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
opacity: .2;
|
||||
filter: alpha(opacity=20);
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
|
||||
/* Footer */
|
||||
.modal .modal-footer { background: #fafafa; border-top: 1px solid #f7f7f7; padding: 15px 20px; }
|
||||
|
||||
|
@ -70,7 +86,20 @@
|
|||
position: fixed;
|
||||
top: 50%; left: 50%;
|
||||
border-radius: 5px;
|
||||
background: rgba(0,0,0,.8) url(../img/modal-loader.gif) 50% 50% no-repeat;
|
||||
background-color: #000;
|
||||
background: rgba(0,0,0,.8) url(../images/modal-loader.gif) 50% 50% no-repeat;
|
||||
z-index: 1001;
|
||||
}
|
||||
.modal-loader.modal-loader-text {
|
||||
background-image: none;
|
||||
color: #eee;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
line-height: 1.2em;
|
||||
padding: 15px;
|
||||
width: 300px;
|
||||
margin-left: -150px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
|
||||
|
@ -82,6 +111,6 @@
|
|||
width: 100%;
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA9JREFUeNpiYmBgaAAIMAAAjwCD5Hc2/AAAAABJRU5ErkJggg==);;
|
||||
background: rgba(0,0,0,.5);
|
||||
z-index: 9998;
|
||||
z-index: 999;
|
||||
overflow: auto;
|
||||
}
|
|
@ -80,45 +80,10 @@
|
|||
.tab-pane { display: none; }
|
||||
|
||||
|
||||
/* Userbar
|
||||
* TODO: Fix
|
||||
-------------------------------------------------- */
|
||||
#userbar {
|
||||
border: 1px solid #ddd;
|
||||
border-top: none;
|
||||
border-radius: 0 0 4px 4px;
|
||||
-webkit-box-shadow: 0 0 5px #ddd; box-shadow: 0 0 5px #ddd;
|
||||
|
||||
background: #ffffff;
|
||||
background: -moz-linear-gradient(top, #ffffff 0%, #f3f3f3 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f3f3f3));
|
||||
background: -webkit-linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
|
||||
background: -o-linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
|
||||
background: -ms-linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
|
||||
background: linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f3f3f3',GradientType=0 );
|
||||
}
|
||||
#userbar .search { float: left; margin: 5px 0 0 6px; *margin: 4px 0 0 4px; }
|
||||
|
||||
.nav.nav-userbar { float: right; }
|
||||
.nav.nav-userbar li { border-radius: 0 0 0 4px; border-left: 1px solid #eaeaea; }
|
||||
.nav.nav-userbar li a { color: #555; }
|
||||
.nav.nav-userbar li:first-child a { border-radius: 0 0 0 4px; }
|
||||
.nav.nav-userbar li:last-child a { border-radius: 0 0 4px 0; }
|
||||
.nav.nav-userbar li.nav-userbar-username a { position: relative; padding-left: 47px; font-weight: bold; color: #333; }
|
||||
.nav.nav-userbar li.nav-userbar-username .avatar { position: absolute; top: 7px; left: 15px; }
|
||||
.nav.nav-userbar li .new-messages { color: #4AA731; font-weight: bold; }
|
||||
|
||||
/* Dropdown support */
|
||||
.nav.nav-userbar .dropdown-toggle:after { border-top-color: #000; }
|
||||
.nav.nav-userbar .dropdown-toggle.open { background: #08c; color: #fff; }
|
||||
.nav.nav-userbar .dropdown-toggle.open:after { border-top-color: #fff; }
|
||||
|
||||
|
||||
/* Main
|
||||
* TODO: Fix
|
||||
-------------------------------------------------- */
|
||||
.nav.nav-main { border-radius: 4px; background: #222; background: -moz-linear-gradient(top, #333 0%, #222 100%); }
|
||||
.nav.nav-main { background: #222; background: -moz-linear-gradient(top, #333 0%, #222 100%); }
|
||||
.nav.nav-main li a { color: #ddd; }
|
||||
.nav.nav-main li a:hover { background: #333; }
|
||||
.nav.nav-main li:first-child a { border-radius: 4px 0 0 4px; }
|
||||
|
|
34
templates/framework/css/popover.css
Normal file
|
@ -0,0 +1,34 @@
|
|||
/**
|
||||
* Popover
|
||||
*/
|
||||
|
||||
.popover {
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
min-width: 100px;
|
||||
max-width: 300px;
|
||||
background-color: #fafafa;
|
||||
color: #000;
|
||||
border: 1px solid #ccc;
|
||||
-webkit-box-shadow: 0 0 5px rgba(0,0,0,.1);
|
||||
box-shadow: 0 0 5px rgba(0,0,0,.1);
|
||||
}
|
||||
.popover .popover-title { background: #eee; padding: 10px 15px; font-weight: bold; }
|
||||
.popover .popover-content { padding: 10px 15px; }
|
||||
|
||||
|
||||
.popover .tip-arrow {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: auto;
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
left: auto;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border: 7px solid transparent;
|
||||
}
|
||||
.popover.alignx-center.aligny-top .tip-arrow { left: 50%; bottom: -14px; margin-left: -7px; border-top-color: #ccc; }
|
||||
.popover.alignx-center.aligny-bottom .tip-arrow { left: 50%; top: -14px; margin-left: -7px; border-bottom-color: #ccc; }
|
||||
.popover.alignx-left.aligny-center .tip-arrow { right: -14px; top: 50%; margin-top: -7px; border-left-color: #ccc; }
|
||||
.popover.alignx-right.aligny-center .tip-arrow { left: -14px; top: 50%; margin-top: -7px; border-right-color: #ccc; }
|
33
templates/framework/css/tooltip.css
Normal file
|
@ -0,0 +1,33 @@
|
|||
/**
|
||||
* Tooltip
|
||||
*/
|
||||
|
||||
.tooltip {
|
||||
display: none;
|
||||
padding: 12px 15px;
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
min-width: 50px;
|
||||
max-width: 300px;
|
||||
background: #222;
|
||||
color: #fff;
|
||||
-webkit-box-shadow: 0 0 5px rgba(0,0,0,.2);
|
||||
box-shadow: 0 0 5px rgba(0,0,0,.2);
|
||||
}
|
||||
.tooltip .tip-arrow {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: auto;
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
left: auto;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border: 6px solid transparent;
|
||||
}
|
||||
|
||||
/* Arrow */
|
||||
.tooltip.alignx-center.aligny-top .tip-arrow { left: 50%; bottom: -12px; margin-left: -6px; border-top-color: #222; }
|
||||
.tooltip.alignx-center.aligny-bottom .tip-arrow { left: 50%; top: -12px; margin-left: -6px; border-bottom-color: #222; }
|
||||
.tooltip.alignx-left.aligny-center .tip-arrow { right: -12px; top: 50%; margin-top: -6px; border-left-color: #222; }
|
||||
.tooltip.alignx-right.aligny-center .tip-arrow { left: -12px; top: 50%; margin-top: -6px; border-right-color: #222; }
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
@ -382,6 +382,21 @@ ls.tools = (function ($) {
|
|||
}
|
||||
};
|
||||
|
||||
this.getDataOptions = function (element, prefix) {
|
||||
var prefix = prefix || 'option',
|
||||
resultOptions = {},
|
||||
dataOptions = typeof element === 'string' ? $(element).data() : element.data();
|
||||
|
||||
for (option in dataOptions) {
|
||||
// Remove 'option' prefix
|
||||
if (option.substring(0, prefix.length) == prefix) {
|
||||
var str = option.substring(prefix.length);
|
||||
resultOptions[str[0].toLowerCase() + str.substring(1)] = dataOptions[option];
|
||||
}
|
||||
}
|
||||
|
||||
return resultOptions;
|
||||
};
|
||||
|
||||
return this;
|
||||
}).call(ls.tools || {},jQuery);
|
||||
|
@ -574,11 +589,9 @@ ls.autocomplete = (function ($) {
|
|||
return this;
|
||||
}).call(ls.autocomplete || {},jQuery);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Костыли для ИЕ
|
||||
*/
|
||||
* Костыли для ИЕ
|
||||
*/
|
||||
ls.ie = (function ($) {
|
||||
|
||||
// эмуляция border-sizing в IE
|
|
@ -1,121 +0,0 @@
|
|||
/*
|
||||
* Dropdowns
|
||||
*
|
||||
* Author: Denis Shakhov
|
||||
* Version: 1.0
|
||||
*
|
||||
* TODO: Add fixed menu option
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
/**
|
||||
* Constructs dropdown objects
|
||||
* @constructor
|
||||
* @class Dropdown
|
||||
* @param {Object} options Options
|
||||
*/
|
||||
var Dropdown = function (element) {
|
||||
var self = this;
|
||||
|
||||
this.$element = $(element);
|
||||
this.options = {
|
||||
menuId : ls.tools.getOption(this.$element,'dropdown-menu'),
|
||||
align : ls.tools.getOption(this.$element,'dropdown-align', 'left'),
|
||||
isAjax : ls.tools.getOption(this.$element,'dropdown-ajax', false),
|
||||
isAppendToBody : ls.tools.getOption(this.$element,'dropdown-append-to-body', true),
|
||||
isChangeText : ls.tools.getOption(this.$element,'dropdown-change-text', true),
|
||||
defaultText : this.$element.text()
|
||||
};
|
||||
this.menu = $('#' + this.options.menuId);
|
||||
|
||||
if (this.options.isAppendToBody) this.menu.appendTo('body');
|
||||
|
||||
this.options.defaultText = this.options.defaultText || Dropdown.settings.defaultActiveText;
|
||||
|
||||
if (this.options.isChangeText) {
|
||||
var activeText = this.menu.find('li.active').text();
|
||||
this.$element.text(this.menu.find('li.active').text() || this.options.defaultText);
|
||||
}
|
||||
|
||||
// Resize
|
||||
$(window).resize(function () {
|
||||
self.position();
|
||||
});
|
||||
|
||||
if (this.options.isAjax) {
|
||||
this.menu.find('li > a').on('click', function () {
|
||||
$this = $(this);
|
||||
if (self.options.isChangeText) self.$element.text($this.text());
|
||||
self.menu.find('li').removeClass('active');
|
||||
$this.parent('li').addClass('active');
|
||||
self.toggle();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// Common settings
|
||||
Dropdown.settings = {
|
||||
dropdownSelector: '[data-toggle=dropdown]',
|
||||
menuSelector: '.dropdown-menu',
|
||||
menuTopOffset: 2,
|
||||
defaultActiveText: '...'
|
||||
};
|
||||
|
||||
// Static methods
|
||||
Dropdown.methods = {
|
||||
hideAll: function (currentDropdown) {
|
||||
$(Dropdown.settings.dropdownSelector).removeClass('open');
|
||||
$(Dropdown.settings.menuSelector).hide();
|
||||
}
|
||||
};
|
||||
|
||||
Dropdown.prototype = {
|
||||
/**
|
||||
* Toggle dropdown
|
||||
*/
|
||||
toggle: function () {
|
||||
if (!this.menu.is(':visible')) {
|
||||
Dropdown.methods.hideAll();
|
||||
this.position();
|
||||
}
|
||||
this.$element.toggleClass('open');
|
||||
this.menu.toggle();
|
||||
},
|
||||
|
||||
/**
|
||||
* Position menu
|
||||
*/
|
||||
position: function () {
|
||||
var
|
||||
pos = this.$element.offset(),
|
||||
height = this.$element.outerHeight(),
|
||||
width = this.$element.outerWidth();
|
||||
|
||||
this.menu.css({
|
||||
'top': this.options.isAppendToBody ? pos.top + height + Dropdown.settings.menuTopOffset : height + Dropdown.settings.menuTopOffset,
|
||||
'left': this.options.isAppendToBody ? ( this.options.align == 'right' ? 'auto' : pos.left ) : ( this.options.align == 'right' ? 'auto' : 0 ),
|
||||
'right': this.options.isAppendToBody ? ( this.options.align == 'right' ? $(window).width() - pos.left - width : 'auto' ) : ( this.options.align == 'right' ? 0 : 'auto' )
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// Init
|
||||
$(document).ready(function($) {
|
||||
$('body').on('click', function (e) {
|
||||
var $target = $(e.target);
|
||||
// TODO: Fix hide function
|
||||
if ($target.data('toggle') != 'dropdown' && !$target.hasClass('dropdown-menu')) Dropdown.methods.hideAll();
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('click', Dropdown.settings.dropdownSelector, function () {
|
||||
var
|
||||
dropdown = $(this),
|
||||
object = dropdown.data('object');
|
||||
|
||||
if (!object) dropdown.data('object', (object = new Dropdown(this)));
|
||||
|
||||
object.toggle();
|
||||
return false;
|
||||
});
|
||||
})(jQuery);
|
|
@ -1,139 +0,0 @@
|
|||
var ls = ls || {};
|
||||
|
||||
/**
|
||||
* Всплывающие поп-апы
|
||||
*/
|
||||
ls.infobox = (function ($) {
|
||||
|
||||
/**
|
||||
* Шаблон процесс-бара
|
||||
*/
|
||||
this.sTemplateProcess=['<div class="infobox-process">process..',
|
||||
'</div>'].join('');
|
||||
this.aLinks=[];
|
||||
this.aOptDef={
|
||||
hideOther: true,
|
||||
className: 'infobox-standart',
|
||||
showOn: 'none',
|
||||
alignTo: 'target',
|
||||
alignX: 'inner-left',
|
||||
alignY: 'bottom',
|
||||
offsetX: -14,
|
||||
offsetY: 5,
|
||||
fade: false,
|
||||
slide: false,
|
||||
bgImageFrameSize: 10,
|
||||
showTimeout: 500,
|
||||
hideTimeout: 100,
|
||||
timeOnScreen: 0,
|
||||
liveEvents: false,
|
||||
allowTipHover: true,
|
||||
followCursor: false,
|
||||
slideOffset: 8,
|
||||
showAniDuration: 300,
|
||||
hideAniDuration: 300,
|
||||
refreshAniDuration: 200
|
||||
};
|
||||
|
||||
this.show = function(oLink,sContent,aOpt) {
|
||||
aOpt=$.extend(true,{},this.aOptDef,aOpt || {});
|
||||
|
||||
if (aOpt.hideOther) {
|
||||
this.hideAll();
|
||||
}
|
||||
|
||||
$oLink=$(oLink);
|
||||
if ($oLink.data('isPoshytip')) {
|
||||
$oLink.poshytip('update', sContent);
|
||||
} else {
|
||||
$oLink.on('click',function(e){
|
||||
e.stopPropagation();
|
||||
});
|
||||
$oLink.poshytip({
|
||||
className: 'js-infobox '+aOpt.className,
|
||||
content: sContent,
|
||||
showOn: aOpt.showOn,
|
||||
alignTo: aOpt.alignTo,
|
||||
alignX: aOpt.alignX,
|
||||
fade: aOpt.fade,
|
||||
slide: aOpt.slide,
|
||||
alignY: aOpt.alignY,
|
||||
offsetX: aOpt.offsetX,
|
||||
offsetY: aOpt.offsetY,
|
||||
bgImageFrameSize: aOpt.bgImageFrameSize,
|
||||
showTimeout: aOpt.showTimeout,
|
||||
hideTimeout: aOpt.hideTimeout,
|
||||
timeOnScreen: aOpt.timeOnScreen,
|
||||
liveEvents: aOpt.liveEvents,
|
||||
allowTipHover: aOpt.allowTipHover,
|
||||
followCursor: aOpt.followCursor,
|
||||
slideOffset: aOpt.slideOffset,
|
||||
showAniDuration: aOpt.showAniDuration,
|
||||
hideAniDuration: aOpt.hideAniDuration,
|
||||
refreshAniDuration: aOpt.refreshAniDuration
|
||||
});
|
||||
$oLink.data('isPoshytip',1);
|
||||
this.aLinks.push($oLink);
|
||||
}
|
||||
|
||||
$oLink.poshytip('show');
|
||||
};
|
||||
|
||||
this.hideAll = function() {
|
||||
$.each(this.aLinks,function(k,oLink){
|
||||
this.hide(oLink);
|
||||
}.bind(this));
|
||||
};
|
||||
|
||||
this.hide = function(oLink) {
|
||||
$(oLink).poshytip('hide');
|
||||
return false;
|
||||
};
|
||||
|
||||
this.hideIfShow = function(oLink) {
|
||||
if ($(oLink).data('poshytip') && $(oLink).data('poshytip').$tip.data('active')) {
|
||||
this.hide(oLink);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
this.showProcess = function(oLink,aOpt) {
|
||||
this.show(oLink,this.sTemplateProcess,aOpt);
|
||||
};
|
||||
|
||||
|
||||
this.showInfoBlog = function(oLink,iBlogId) {
|
||||
if (this.hideIfShow(oLink)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
this.showProcess(oLink);
|
||||
var url = aRouter['ajax']+'infobox/info/blog/';
|
||||
var params = {iBlogId: iBlogId};
|
||||
'*showInfoBlogBefore*'; '*/showInfoBlogBefore*';
|
||||
ls.ajax(url, params, function(result) {
|
||||
if (result.bStateError) {
|
||||
ls.msg.error(null, result.sMsg);
|
||||
this.hide(oLink);
|
||||
} else {
|
||||
this.show(oLink,result.sText);
|
||||
ls.hook.run('ls_infobox_show_info_blog_after',[oLink, iBlogId, result]);
|
||||
}
|
||||
}.bind(this));
|
||||
return false;
|
||||
};
|
||||
|
||||
jQuery(function($){
|
||||
$(document).click(function(e) {
|
||||
if (e.which==1 && !$(e.target).data('isPoshytip')) {
|
||||
this.hideAll();
|
||||
}
|
||||
}.bind(this));
|
||||
$('body').on("click", ".js-infobox", function(e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
}.bind(this));
|
||||
|
||||
return this;
|
||||
}).call(ls.infobox || {},jQuery);
|
|
@ -1,217 +0,0 @@
|
|||
/*
|
||||
* Modal
|
||||
*
|
||||
* Author: Denis Shakhov
|
||||
* Version: 1.0
|
||||
*
|
||||
*/
|
||||
|
||||
(function ($) {
|
||||
/**
|
||||
* Constructs modal objects
|
||||
* @constructor
|
||||
* @class Modal
|
||||
* @param {Object} options Options
|
||||
*/
|
||||
var Modal = function (element, options) {
|
||||
var $this = this;
|
||||
|
||||
this.options = options || {};
|
||||
|
||||
this.$element = $(element);
|
||||
|
||||
// TODO: Fix data options
|
||||
this.center = this.$element.data('center') == undefined ? true : (this.$element.data('center') === "false" ? false : true);
|
||||
|
||||
this.$element.appendTo(Modal.settings._overlay);
|
||||
|
||||
|
||||
|
||||
this.$element.find(Modal.settings.closeSelector).on('click.modal', function () {
|
||||
Modal.settings._hideOverlay();
|
||||
if ($this.options.isAjax) $this.$element.remove();
|
||||
return false;
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Static methods and vars
|
||||
* @type {Object}
|
||||
*/
|
||||
Modal.settings = {
|
||||
modalClass: 'modal',
|
||||
overlayClass: 'modal-overlay',
|
||||
loaderClass: 'modal-loader',
|
||||
|
||||
modalSelector: '[data-type=modal]',
|
||||
toggleSelector: '[data-type=modal-toggle]',
|
||||
closeSelector: '[data-type=modal-close]',
|
||||
|
||||
ajaxVar: 'sText',
|
||||
|
||||
closeOnEsc: true,
|
||||
|
||||
_windowWidth: null,
|
||||
_windowHeight: null,
|
||||
_scrollTop: 0,
|
||||
|
||||
_overlay: null,
|
||||
_loader: null,
|
||||
|
||||
_resize: function () {
|
||||
Modal.settings._windowWidth = $(window).width();
|
||||
Modal.settings._windowHeight = $(window).height();
|
||||
Modal.settings._overlay.height(Modal.settings._windowHeight);
|
||||
},
|
||||
/**
|
||||
* Hide overlay, loader and all modals
|
||||
*/
|
||||
_hideOverlay: function (callback) {
|
||||
if (!Modal.settings._overlay.is(':visible')) return false;
|
||||
|
||||
Modal.settings._overlay.fadeOut(300, function () {
|
||||
if ($('html').hasClass('ie7')) {
|
||||
$('html').css('overflow', 'auto');
|
||||
} else {
|
||||
$('html').css('overflow', 'visible');
|
||||
}
|
||||
$('body').css({'margin-right': 0});
|
||||
Modal.settings._overlay.find(Modal.settings.modalSelector).hide();
|
||||
Modal.settings._loader.hide();
|
||||
$(window).scrollTop(Modal.settings._scrollTop);
|
||||
|
||||
callback && callback();
|
||||
});
|
||||
},
|
||||
/**
|
||||
* Show overlay
|
||||
*/
|
||||
_showOverlay: function () {
|
||||
if (Modal.settings._overlay.is(':visible')) {
|
||||
Modal.settings._overlay.find(Modal.settings.modalSelector).hide();
|
||||
Modal.settings._loader.hide();
|
||||
return false;
|
||||
}
|
||||
|
||||
Modal.settings._scrollTop = $(window).scrollTop();
|
||||
|
||||
$('html').css({'overflow': 'hidden'});
|
||||
|
||||
// Prevent content from shifting
|
||||
$('body').css({'margin-right': $(window).width() - Modal.settings._windowWidth});
|
||||
$(window).scrollTop(Modal.settings._scrollTop);
|
||||
|
||||
// Show overlay
|
||||
Modal.settings._overlay.fadeIn(300);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Modal.prototype = {
|
||||
/**
|
||||
* Show modal
|
||||
*/
|
||||
show: function () {
|
||||
Modal.settings._showOverlay();
|
||||
this.$element.show();
|
||||
Modal.settings._overlay.scrollTop(0);
|
||||
|
||||
// Center
|
||||
if (this.center && Modal.settings._windowHeight > this.$element.outerHeight()) {
|
||||
this.$element.css({'margin-top': (Modal.settings._windowHeight - this.$element.outerHeight()) / 2});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
$(document).ready(function($) {
|
||||
// Hide scrollbar in IE7
|
||||
if ($('html').hasClass('ie7')) {
|
||||
$('body').attr('scroll', 'no');
|
||||
$('html').css('overflow', 'auto');
|
||||
}
|
||||
|
||||
Modal.settings._overlay = $('<div class="' + Modal.settings.overlayClass + '" />').height(Modal.settings._windowHeight).appendTo('body');
|
||||
Modal.settings._loader = $('<div class="' + Modal.settings.loaderClass + '" />').height(Modal.settings._windowHeight).appendTo(Modal.settings._overlay);
|
||||
Modal.settings._resize();
|
||||
|
||||
Modal.settings._overlay.on('click.modal', function (e) {
|
||||
if (e.target === this) {
|
||||
Modal.settings._hideOverlay();
|
||||
}
|
||||
});
|
||||
|
||||
$(window).on('resize.modal', function () {
|
||||
Modal.settings._resize();
|
||||
});
|
||||
|
||||
// Close on esc
|
||||
if (Modal.settings.closeOnEsc) {
|
||||
$(document).on('keyup.modal', function (e) {
|
||||
e.keyCode === 27 && Modal.settings._hideOverlay();
|
||||
});
|
||||
}
|
||||
|
||||
// Init modals
|
||||
$(Modal.settings.modalSelector).each(function () {
|
||||
var
|
||||
modal = $(this),
|
||||
object = modal.data('object');
|
||||
|
||||
if (!object) modal.data('object', (object = new Modal(this)));
|
||||
});
|
||||
|
||||
// Init toggles
|
||||
$(Modal.settings.toggleSelector).each(function () {
|
||||
var
|
||||
toggle = $(this),
|
||||
url = toggle.data('modal-url'),
|
||||
modal = $('#' + toggle.data('modal-target')).data('object');
|
||||
|
||||
|
||||
toggle.on('click.modal', function () {
|
||||
if (url) {
|
||||
Modal.settings._loader.show();
|
||||
Modal.settings._showOverlay();
|
||||
|
||||
// TODO: Fix params selector
|
||||
var params = $(this).data() || {};
|
||||
|
||||
ls.ajax(url, params, function (result) {
|
||||
if (result.bStateError) {
|
||||
Modal.settings._hideOverlay();
|
||||
ls.msg.error('Error', result.sMsg);
|
||||
} else {
|
||||
var modal = $(result[Modal.settings.ajaxVar]);
|
||||
Modal.settings._loader.hide();
|
||||
modal.data('object', (object = new Modal(modal, { isAjax: true })));
|
||||
object.show();
|
||||
}
|
||||
}, {
|
||||
error: function () {
|
||||
Modal.settings._hideOverlay(function () {
|
||||
// TODO: Move text to lang file
|
||||
ls.msg.error('Error', 'Please try again later');
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
modal.show();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Plugin defention
|
||||
*/
|
||||
$.fn.jqmShow = $.fn.modalShow = function () {
|
||||
$(this).data('object').show();
|
||||
};
|
||||
|
||||
$.fn.jqmHide = $.fn.modalHide = function () {
|
||||
Modal.settings._hideOverlay();
|
||||
};
|
||||
})(jQuery);
|
|
@ -1,72 +0,0 @@
|
|||
/*
|
||||
* Tabs
|
||||
*
|
||||
* Author: Denis Shakhov
|
||||
* Version: 1.0
|
||||
*
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
/**
|
||||
* Constructs tab objects
|
||||
* @constructor
|
||||
* @class Tab
|
||||
* @param {Object} options Options
|
||||
*/
|
||||
var Tab = function (element, options) {
|
||||
this.element = $(element);
|
||||
};
|
||||
|
||||
/**
|
||||
* Static methods and vars
|
||||
* @type {Object}
|
||||
*/
|
||||
Tab.settings = {
|
||||
tabsSelector: '[data-toggle=tabs]',
|
||||
tabSelector: '[data-toggle=tab]',
|
||||
contentSelector: '[data-toggle=tab-content]',
|
||||
paneSelector: '[data-toggle=tab-pane]'
|
||||
};
|
||||
|
||||
Tab.prototype = {
|
||||
/**
|
||||
* Activate tab
|
||||
*/
|
||||
activate: function () {
|
||||
var
|
||||
pane = $('#' + this.element.data('tab-target')),
|
||||
dropdown = this.element.closest('ul').parent('li');
|
||||
|
||||
this.element
|
||||
.addClass('active')
|
||||
.closest(Tab.settings.tabsSelector)
|
||||
.find('li') // TODO: Fix selector
|
||||
.not(this.element)
|
||||
.removeClass('active');
|
||||
if (dropdown.length > 0) dropdown.addClass('active');
|
||||
pane.show().parent(Tab.settings.contentSelector).find(Tab.settings.paneSelector).not(pane).hide();
|
||||
}
|
||||
};
|
||||
|
||||
$(document).on('click.tab', Tab.settings.tabSelector, function () {
|
||||
$(this).data('object').activate();
|
||||
return false;
|
||||
});
|
||||
|
||||
$.fn.tabActivate = function () {
|
||||
$(this).data('object').activate();
|
||||
};
|
||||
|
||||
// Init
|
||||
$(document).ready(function($) {
|
||||
$(Tab.settings.tabSelector).each(function () {
|
||||
var
|
||||
tab = $(this),
|
||||
tabFirst = tab.closest(Tab.settings.tabsSelector).find('li').eq(0);
|
||||
object = tab.data('object');
|
||||
|
||||
if (!object) tab.data('object', (object = new Tab(this)));
|
||||
if (!tabFirst.hasClass('active')) tabFirst.data('object').activate();
|
||||
});
|
||||
});
|
||||
})(jQuery);
|
68
templates/framework/js/ui/dropdown.js
Normal file
|
@ -0,0 +1,68 @@
|
|||
/**
|
||||
* Dropdowns
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Denis Shakhov <denis.shakhov@gmail.com>
|
||||
*/
|
||||
|
||||
var ls = ls || {};
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
var Dropdown = function (element, options) {
|
||||
this.init('dropdown', element, options);
|
||||
};
|
||||
|
||||
Dropdown.prototype = $.extend({}, $.fn.popup.Constructor.prototype, {
|
||||
constructor: Dropdown,
|
||||
|
||||
hooks : {
|
||||
onInitTarget: function () {
|
||||
var self = this;
|
||||
|
||||
// Toggle's text
|
||||
if (this.options.changeText) {
|
||||
var activeText = this.$target.find('li.active').text();
|
||||
activeText && this.$toggle.text(activeText);
|
||||
}
|
||||
|
||||
// Change dropdown's text on item click and add 'active' class to clicked item
|
||||
if (this.options.activateItems || this.options.changeText) {
|
||||
this.$target.find('li > a').on('click', function (e) {
|
||||
var $link = $(this);
|
||||
|
||||
if (self.options.activateItems) {
|
||||
self.$target.find('li').removeClass('active');
|
||||
$link.parent('li').addClass('active');
|
||||
}
|
||||
if (self.options.changeText) {
|
||||
self.$toggle.find('[data-type=dropdown-text]').text($link.text());
|
||||
}
|
||||
self.hide();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$.fn.dropdown = function (options, variable, value) {
|
||||
return ls.popup.initPlugin('dropdown', this, options, variable, value);
|
||||
};
|
||||
|
||||
$.fn.dropdown.Constructor = Dropdown;
|
||||
|
||||
$.fn.dropdown.defaults = $.extend({} , $.fn.popup.defaults, {
|
||||
effect: 'show',
|
||||
duration: 0
|
||||
});
|
||||
|
||||
$.fn.dropdown.settings = $.extend({} , $.fn.popup.settings, {
|
||||
toggleSelector: '[data-type=dropdown-toggle]',
|
||||
targetSelector: '[data-type=dropdown-target]'
|
||||
});
|
||||
|
||||
$(document).ready(function($) {
|
||||
$($.fn.dropdown.settings.toggleSelector).dropdown();
|
||||
});
|
||||
})(jQuery);
|
339
templates/framework/js/ui/modal.js
Normal file
|
@ -0,0 +1,339 @@
|
|||
/*
|
||||
* Modal
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Denis Shakhov <denis.shakhov@gmail.com>
|
||||
*/
|
||||
|
||||
var ls = ls || {};
|
||||
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Private vars and methods
|
||||
*/
|
||||
var windowWidth = null,
|
||||
windowHeight = null,
|
||||
overlay = null,
|
||||
loader = null,
|
||||
scrollTop = 0;
|
||||
|
||||
/**
|
||||
* Resize
|
||||
*/
|
||||
var resize = function () {
|
||||
windowWidth = $(window).width();
|
||||
windowHeight = $(window).height();
|
||||
overlay.height(windowHeight);
|
||||
};
|
||||
|
||||
/**
|
||||
* Show overlay
|
||||
*/
|
||||
var showOverlay = function () {
|
||||
if (overlay.is(':visible')) {
|
||||
overlay.find($.fn.modal.settings.modalSelector).hide();
|
||||
Modal.hideLoader(false);
|
||||
return false;
|
||||
}
|
||||
|
||||
scrollTop = $(window).scrollTop();
|
||||
|
||||
$('html').css({'overflow': 'hidden'});
|
||||
|
||||
// Prevent content from shifting
|
||||
$('body').css({'margin-right': $(window).width() - windowWidth});
|
||||
$(window).scrollTop(scrollTop);
|
||||
|
||||
// Show overlay
|
||||
overlay.fadeIn(300);
|
||||
};
|
||||
|
||||
/**
|
||||
* Constructs modal objects
|
||||
* @constructor
|
||||
* @class Modal
|
||||
* @param {Object} options Options
|
||||
*/
|
||||
var Modal = ls.modal = function (element, options) {
|
||||
var self = this;
|
||||
|
||||
this.$element = $(element);
|
||||
this.options = $.extend({}, $.fn.modal.defaults, options);
|
||||
this.$element.appendTo(overlay);
|
||||
|
||||
this.$element.find($.fn.modal.settings.closeSelector).on('click.modal', function (e) {
|
||||
Modal.hideAll();
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
// Close on esc
|
||||
if (this.options.closeOnEsc) {
|
||||
$(document).on('keyup.modal', function (e) {
|
||||
e.keyCode === 27 && Modal.hideAll();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Show loader
|
||||
* @param {Boolean} bText Use text instead of animation
|
||||
* @param {String} sText Text
|
||||
* @param {String} bLock Lock overlay and active modal, default: false
|
||||
* @param {Number} iLockTime Lock time
|
||||
*/
|
||||
Modal.showLoader = function (bText, sText, bLock, iLockTime) {
|
||||
overlay.find('.' + $.fn.modal.settings.lockClass).remove();
|
||||
|
||||
if ( ! overlay.is(':visible')) showOverlay();
|
||||
if (bLock) {
|
||||
var ts = new Date().getTime();
|
||||
|
||||
overlay.data('locked', true);
|
||||
overlay.find($.fn.modal.settings.modalSelector + ':visible').append('<div class="' + $.fn.modal.settings.lockClass + '" />');
|
||||
|
||||
loader.data('id', ts);
|
||||
|
||||
setTimeout(function () {
|
||||
if (loader.data('id') == ts) {
|
||||
Modal.hideAll();
|
||||
ls.msg.error('Ошибка', 'Ошибка загрузки');
|
||||
}
|
||||
}, (iLockTime || this.options.lockTime) * 1000);
|
||||
}
|
||||
|
||||
if (bText) {
|
||||
loader
|
||||
.addClass($.fn.modal.settings.loaderTextClass)
|
||||
.text(sText || this.options.loaderText)
|
||||
.show();
|
||||
} else {
|
||||
loader.show();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide loader
|
||||
*/
|
||||
Modal.hideLoader = function (bHideOverlay) {
|
||||
bHideOverlay = typeof bHideOverlay === 'undefined' ? true : bHideOverlay;
|
||||
|
||||
overlay.data('locked', false);
|
||||
overlay.find('.' + $.fn.modal.settings.lockClass).remove();
|
||||
|
||||
if (overlay.find($.fn.modal.settings.modalSelector + ':visible').length == 0 && bHideOverlay) Modal.hideAll();
|
||||
|
||||
loader
|
||||
.removeClass($.fn.modal.settings.loaderTextClass)
|
||||
.text('')
|
||||
.hide();
|
||||
};
|
||||
|
||||
/**
|
||||
* Init overlay
|
||||
*/
|
||||
Modal.initOverlay = function () {
|
||||
// Hide scrollbar in IE7
|
||||
if ($('html').hasClass('ie7')) {
|
||||
$('body').attr('scroll', 'no');
|
||||
$('html').css('overflow', 'auto');
|
||||
}
|
||||
|
||||
overlay = $('<div class="' + $.fn.modal.settings.overlayClass + '" data-type="modal-overlay" />').height(windowHeight).appendTo('body');
|
||||
loader = $('<div class="' + $.fn.modal.settings.loaderClass + '" data-type="modal-loader" />').height(windowHeight).css('z-index', 9999).appendTo(overlay);
|
||||
resize();
|
||||
|
||||
overlay.on('click.modal', function (e) {
|
||||
if (e.target === this && overlay.data('locked') !== true) {
|
||||
Modal.hideAll();
|
||||
}
|
||||
});
|
||||
|
||||
$(window).on('resize.modal', function () {
|
||||
resize();
|
||||
});
|
||||
|
||||
/**
|
||||
* Init toggles
|
||||
*/
|
||||
$(document).on('click.modal', $.fn.modal.settings.toggleSelector, function (e) {
|
||||
var toggle = $(this),
|
||||
options = ls.tools.getDataOptions(toggle);
|
||||
|
||||
if (options.url) {
|
||||
Modal.load(options.url, ls.tools.getDataOptions(toggle, 'param'), options);
|
||||
} else {
|
||||
$('#' + options.target).data('object').show();
|
||||
}
|
||||
e.preventDefault();
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide overlay, loader and all modals
|
||||
* @param {Function} callback onHide callback
|
||||
*/
|
||||
Modal.hideAll = function (callback) {
|
||||
if ( ! overlay.is(':visible')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
overlay.fadeOut(300, function () {
|
||||
if ($('html').hasClass('ie7')) {
|
||||
$('html').css('overflow', 'auto');
|
||||
} else {
|
||||
$('html').css('overflow', 'visible');
|
||||
}
|
||||
$('body').css({'margin-right': 0});
|
||||
|
||||
Modal.hideLoader(false);
|
||||
|
||||
overlay.find($.fn.modal.settings.modalSelector).each(function () {
|
||||
var object = $(this).data('object');
|
||||
object.options.url ? object.$element.remove() : object.$element.hide();
|
||||
});
|
||||
|
||||
$(window).scrollTop(scrollTop);
|
||||
|
||||
callback && $.proxy(callback, this)();
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Load modal from url
|
||||
* @param {String} url URL
|
||||
* @param {Object} params Params
|
||||
* @param {Object} options Options
|
||||
*/
|
||||
Modal.load = function (url, params, options) {
|
||||
var self = this;
|
||||
|
||||
showOverlay();
|
||||
Modal.showLoader();
|
||||
|
||||
var options = options || {};
|
||||
options.url = url;
|
||||
options.params = params;
|
||||
|
||||
ls.ajax(url, params, function (result) {
|
||||
if (result.bStateError) {
|
||||
Modal.hideAll();
|
||||
ls.msg.error('Error', result.sMsg);
|
||||
} else {
|
||||
var modal = $(result[self.options.ajaxVar]),
|
||||
object;
|
||||
|
||||
Modal.hideLoader(false);
|
||||
modal.data('object', (object = new Modal(modal, options)));
|
||||
object.show();
|
||||
}
|
||||
}, {
|
||||
error: function () {
|
||||
Modal.hideLoader();
|
||||
Modal.hideAll(function () {
|
||||
// TODO: Move text to lang file
|
||||
ls.msg.error('Error', 'Please try again later');
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
Modal.prototype = {
|
||||
/**
|
||||
* Show modal
|
||||
*/
|
||||
show: function (options) {
|
||||
if (options) $.extend(this.options, options);
|
||||
|
||||
showOverlay();
|
||||
this.$element.show();
|
||||
overlay.scrollTop(0);
|
||||
|
||||
// onShow
|
||||
this.options.onShow && $.proxy(this.options.onShow, this)();
|
||||
|
||||
// Center
|
||||
if (this.options.center && windowHeight > this.$element.outerHeight()) {
|
||||
this.$element.css({'margin-top': (windowHeight - this.$element.outerHeight()) / 2});
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Hide modal
|
||||
*/
|
||||
hide: function () {
|
||||
Modal.hideAll();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Plugin defention
|
||||
*/
|
||||
|
||||
// Fallback
|
||||
$.fn.jqmShow = function (options) {
|
||||
$(this).modal('show');
|
||||
};
|
||||
|
||||
// Fallback
|
||||
$.fn.jqmHide = function () {
|
||||
Modal.hideAll();
|
||||
};
|
||||
|
||||
$.fn.modal = function (options, variable, value) {
|
||||
var returnValue = false;
|
||||
|
||||
! $($.fn.modal.settings.overlaySelector).length && Modal.initOverlay();
|
||||
|
||||
this.each(function () {
|
||||
var element = $(this),
|
||||
object = element.data('object');
|
||||
|
||||
if ( ! object ) element.data('object', (object = new Modal(this, $.extend({}, options, typeof options === 'string' ? {} : options))));
|
||||
|
||||
if (typeof options === 'string') {
|
||||
if (options === "option") {
|
||||
if (value) object.options[variable] = value; else returnValue = object.options[variable];
|
||||
} else {
|
||||
object[options]();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return returnValue;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Default options
|
||||
* @type {Object}
|
||||
*/
|
||||
$.fn.modal.defaults = {
|
||||
url: false,
|
||||
center: true,
|
||||
ajaxVar: 'sText',
|
||||
loaderText: 'Идет загрузка...',
|
||||
lockTime: 30,
|
||||
closeOnEsc: true
|
||||
};
|
||||
|
||||
/**
|
||||
* Global settings
|
||||
* @type {Object}
|
||||
*/
|
||||
$.fn.modal.settings = {
|
||||
modalClass: 'modal',
|
||||
overlayClass: 'modal-overlay',
|
||||
loaderClass: 'modal-loader',
|
||||
loaderTextClass: 'modal-loader-text',
|
||||
lockClass: 'modal-lock',
|
||||
|
||||
modalSelector: '[data-type=modal]',
|
||||
toggleSelector: '[data-type=modal-toggle]',
|
||||
closeSelector: '[data-type=modal-close]',
|
||||
overlaySelector: '[data-type=modal-overlay]'
|
||||
};
|
||||
})(jQuery);
|
72
templates/framework/js/ui/popover.js
Normal file
|
@ -0,0 +1,72 @@
|
|||
/**
|
||||
* Popover
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Denis Shakhov <denis.shakhov@gmail.com>
|
||||
*/
|
||||
|
||||
var ls = ls || {};
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
var Popover = function (element, options) {
|
||||
this.init('popover', element, options);
|
||||
};
|
||||
|
||||
Popover.prototype = $.extend({}, $.fn.popup.Constructor.prototype, {
|
||||
constructor: Popover,
|
||||
|
||||
hooks : {
|
||||
onInitTarget: function () {
|
||||
if ( ! this.options.target ) {
|
||||
if ( ! this.options.title ) {
|
||||
this.options.title = this.$toggle.attr('title');
|
||||
this.$toggle.removeAttr('title');
|
||||
}
|
||||
|
||||
this.setTitle(this.options.title);
|
||||
this.setContent(this.options.content);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Set header
|
||||
*/
|
||||
setTitle: function (title) {
|
||||
var $title = this.$target.find('[data-type=' + this.type + '-title]');
|
||||
|
||||
title ? $title.show().html(title) : $title.hide();
|
||||
}
|
||||
});
|
||||
|
||||
$.fn.popover = function (options, variable, value) {
|
||||
return ls.popup.initPlugin('popover', this, options, variable, value);
|
||||
};
|
||||
|
||||
$.fn.popover.Constructor = Popover;
|
||||
|
||||
$.fn.popover.defaults = $.extend({} , $.fn.popup.defaults, {
|
||||
template: '<div class="popover" data-type="popover-target">' +
|
||||
'<div class="tip-arrow"></div>' +
|
||||
'<div class="popover-title" data-type="popover-title"></div>' +
|
||||
'<div class="popover-content" data-type="popover-content"></div>' +
|
||||
'</div>',
|
||||
alignX: 'center',
|
||||
alignY: 'top',
|
||||
offsetY: 10,
|
||||
duration: 300,
|
||||
event: 'click'
|
||||
});
|
||||
|
||||
$.fn.popover.settings = $.extend({} , $.fn.popup.settings, {
|
||||
toggleSelector: '[data-type=popover-toggle]',
|
||||
targetSelector: '[data-type=popover-target]'
|
||||
});
|
||||
|
||||
// Init
|
||||
$(document).ready(function($) {
|
||||
//$($.fn.popover.settings.toggleSelector).popover();
|
||||
});
|
||||
})(jQuery);
|
357
templates/framework/js/ui/popup.js
Normal file
|
@ -0,0 +1,357 @@
|
|||
/**
|
||||
* Popups
|
||||
*
|
||||
* Base plugin for dropdowns, tooltips and popovers
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Denis Shakhov <denis.shakhov@gmail.com>
|
||||
*/
|
||||
|
||||
var ls = ls || {};
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Constructs popup objects
|
||||
* @constructor
|
||||
* @class Popup
|
||||
* @param {Object} toggle Toggle element
|
||||
* @param {Object} options Options
|
||||
*/
|
||||
var Popup = ls.popup = function (toggle, options) {
|
||||
this.init('popup', toggle, options);
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide all dropdowns
|
||||
*/
|
||||
Popup.hideAll = function (type) {
|
||||
$($.fn[type].settings.toggleSelector + '.' + $.fn[type].settings.openClass).each(function () {
|
||||
$(this).data('object').hide();
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Init plugin
|
||||
*/
|
||||
Popup.initPlugin = function (type, elements, options, variable, value) {
|
||||
var returnValue = false;
|
||||
|
||||
// Hide when click anywhere but target
|
||||
$('body').on('click', function (e) {
|
||||
var el = $($.fn[type].settings.toggleSelector + ', ' + $.fn[type].settings.targetSelector);
|
||||
|
||||
if (el.length && ! el.is(e.target) && el.has(e.target).length === 0) {
|
||||
Popup.hideAll(type);
|
||||
}
|
||||
});
|
||||
|
||||
// Resize
|
||||
$(window).resize(function () {
|
||||
$($.fn[type].settings.toggleSelector + '.' + $.fn[type].settings.openClass).each(function(event) {
|
||||
$(this).data('object').position();
|
||||
});
|
||||
});
|
||||
|
||||
elements.each(function () {
|
||||
var element = $(this),
|
||||
object = element.data('object');
|
||||
|
||||
if ( ! object ) {
|
||||
element.data('object', (object = new $.fn[type].Constructor(this, $.extend({}, options, ls.tools.getDataOptions(element)))));
|
||||
object.options.params = ls.tools.getDataOptions(element, 'param');
|
||||
}
|
||||
if (typeof options === 'string') {
|
||||
if (options === "option") {
|
||||
if (value) object.options[variable] = value; else returnValue = object.options[variable];
|
||||
} else {
|
||||
object[options]();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return returnValue;
|
||||
};
|
||||
|
||||
Popup.prototype = {
|
||||
constructor: Popup,
|
||||
|
||||
/**
|
||||
* Hooks
|
||||
* @type {Object}
|
||||
*/
|
||||
hooks : {
|
||||
onInitTarget: false
|
||||
},
|
||||
|
||||
/**
|
||||
* Init
|
||||
* @param {String} type Type of control
|
||||
* @param {Object} toggle Toggle element
|
||||
* @param {Object} options Options
|
||||
*/
|
||||
init: function (type, toggle, options) {
|
||||
this.type = type;
|
||||
this.timeout = false;
|
||||
this.open = false;
|
||||
|
||||
this.togglePosition = {};
|
||||
this.targetPosition = {};
|
||||
|
||||
// Default options
|
||||
this.options = $.extend({}, $.fn[this.type].defaults, options);
|
||||
|
||||
// Toggle
|
||||
this.$toggle = $(toggle);
|
||||
|
||||
// Events
|
||||
this.$toggle.on(this.options.event + '.' + this.type, this.options.selector, $.proxy(this.toggle, this));
|
||||
|
||||
// Init target
|
||||
! this.options.template && this.initTarget(this);
|
||||
},
|
||||
|
||||
/**
|
||||
* Init target
|
||||
*/
|
||||
initTarget: function () {
|
||||
var self = this;
|
||||
|
||||
this.$target = this.options.template && ! this.options.target ? $(this.options.template) : $('#' + this.options.target);
|
||||
this.$target.hide();
|
||||
|
||||
// Align classes
|
||||
this.$target.addClass($.fn[this.type].settings.menuAlignPrefixClass + 'x-' + this.options.alignX);
|
||||
this.$target.addClass($.fn[this.type].settings.menuAlignPrefixClass + 'y-' + this.options.alignY);
|
||||
|
||||
// Append to body
|
||||
if (this.options.appendToBody) this.$target.appendTo('body');
|
||||
|
||||
// Target's content
|
||||
this.options.content && this.setContent(this.options.content);
|
||||
|
||||
// Add classes
|
||||
this.options.class && this.$target.addClass(this.options.class);
|
||||
|
||||
// Hide
|
||||
this.$target.find('[data-type=dropdown-hide]').on('click', this.hide);
|
||||
|
||||
// Hook
|
||||
if (this.hooks.onInitTarget) $.proxy(this.hooks.onInitTarget, this)();
|
||||
},
|
||||
|
||||
/**
|
||||
* Mouse enter
|
||||
*/
|
||||
enter: function () {
|
||||
var self = this;
|
||||
|
||||
if ( ! this.options.delay ) {
|
||||
this.show();
|
||||
} else {
|
||||
this.timeout = setTimeout(function() { self.show(); }, this.options.delay);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Mouse leave
|
||||
*/
|
||||
leave: function () {
|
||||
if ( ! this.options.delay ) {
|
||||
this.hide();
|
||||
} else {
|
||||
this.open && this.hide();
|
||||
clearTimeout(this.timeout);
|
||||
this.timeout = false;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Toggle dropdown
|
||||
*/
|
||||
toggle: function (e) {
|
||||
if ( ! this.options.delay) {
|
||||
! this.open ? this.enter() : this.leave();
|
||||
} else {
|
||||
this.open || (this.timeout && ! this.open) ? this.leave() : this.enter();
|
||||
}
|
||||
this.options.preventDefault && e.preventDefault();
|
||||
},
|
||||
|
||||
/**
|
||||
* Show dropdown
|
||||
*/
|
||||
show: function () {
|
||||
var self = this;
|
||||
|
||||
typeof this.options.onShow === 'function' && $.proxy(this.options.onShow, this)();
|
||||
|
||||
this.options.template && this.initTarget();
|
||||
Popup.hideAll(this.type);
|
||||
this.position();
|
||||
this.$toggle.addClass($.fn[this.type].settings.openClass);
|
||||
this.$target[this.options.effect == 'show' ? 'show' : (this.options.effect == 'fade' ? 'fadeIn' : 'slideDown')](this.options.duration);
|
||||
this.open = true;
|
||||
|
||||
// Ajax
|
||||
if (this.options.url) {
|
||||
this.setContent('');
|
||||
this.$target.addClass('loading');
|
||||
this.position();
|
||||
|
||||
ls.ajax(this.options.url, this.options.params, function (result) {
|
||||
if (result.bStateError) {
|
||||
self.hide();
|
||||
ls.msg.error('Error', result.sMsg);
|
||||
} else {
|
||||
self.$target.removeClass('loading');
|
||||
self.setContent(result[self.options.ajaxVar]);
|
||||
self.position();
|
||||
}
|
||||
}, {
|
||||
error: function () {
|
||||
self.hide();
|
||||
ls.msg.error('Error', 'Please try again later');
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Hide dropdown
|
||||
*/
|
||||
hide: function () {
|
||||
var self = this;
|
||||
|
||||
typeof this.options.onHide === 'function' && $.proxy(this.options.onHide, this)();
|
||||
|
||||
this.$toggle.removeClass($.fn[this.type].settings.openClass);
|
||||
this.$target[this.options.effect == 'show' ? 'hide' : (this.options.effect == 'fade' ? 'fadeOut' : 'slideUp')](this.options.duration, function () {
|
||||
if (self.options.template && ! self.options.target) {
|
||||
self.$target.remove();
|
||||
self.$target = false;
|
||||
}
|
||||
self.open = false;
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Set content
|
||||
*/
|
||||
setContent: function (content) {
|
||||
var contentElement = this.$target.find('[data-type=' + this.type + '-content]');
|
||||
if ( ! contentElement.length ) contentElement = this.$target;
|
||||
|
||||
contentElement.html(content);
|
||||
},
|
||||
|
||||
/**
|
||||
* Position menu
|
||||
*/
|
||||
position: function () {
|
||||
var toggleWidth = this.$toggle.outerWidth(),
|
||||
toggleHeight = this.$toggle.outerHeight(),
|
||||
targetWidth = this.$target.outerWidth(),
|
||||
targetHeight = this.$target.outerHeight();
|
||||
|
||||
this.togglePosition = this.$toggle.offset();
|
||||
|
||||
if ( ! this.options.appendToBody ) {
|
||||
this.togglePosition.top = this.togglePosition.left = 0;
|
||||
}
|
||||
|
||||
switch(this.options.alignY) {
|
||||
case 'top':
|
||||
this.targetPosition.top = this.togglePosition.top - targetHeight - this.options.offsetY;
|
||||
break;
|
||||
case 'center':
|
||||
this.targetPosition.top = this.togglePosition.top + (toggleHeight - targetHeight) / 2;
|
||||
break;
|
||||
case 'bottom':
|
||||
this.targetPosition.top = this.togglePosition.top + toggleHeight + this.options.offsetY;
|
||||
break;
|
||||
default:
|
||||
this.targetPosition.top = 0;
|
||||
}
|
||||
|
||||
switch(this.options.alignX) {
|
||||
case 'left':
|
||||
this.targetPosition.left = this.options.alignY == 'center' ? this.togglePosition.left - targetWidth - this.options.offsetY : this.togglePosition.left + this.options.offsetX;
|
||||
break;
|
||||
case 'center':
|
||||
this.targetPosition.left = this.togglePosition.left + (toggleWidth - targetWidth) / 2;
|
||||
break;
|
||||
case 'right':
|
||||
this.targetPosition.left = this.options.alignY == 'center' ? this.togglePosition.left + toggleWidth + this.options.offsetY : this.togglePosition.left + toggleWidth - targetWidth - this.options.offsetX;
|
||||
break;
|
||||
default:
|
||||
this.targetPosition.left = 0;
|
||||
}
|
||||
|
||||
this.$target.css({
|
||||
'top' : this.targetPosition.top,
|
||||
'left' : this.targetPosition.left,
|
||||
'bottom' : 'auto',
|
||||
'right' : 'auto'
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Plugin defenition
|
||||
*/
|
||||
$.fn.popup = function (options, variable, value) {
|
||||
//Popup.initPlugin('popup', this, options);
|
||||
};
|
||||
|
||||
$.fn.popup.Constructor = Popup;
|
||||
|
||||
/**
|
||||
* Default options
|
||||
* @type {Object}
|
||||
*/
|
||||
$.fn.popup.defaults = {
|
||||
target : false, // Target ID
|
||||
selector : false, // Target ID
|
||||
|
||||
alignX : 'left', // left, center, right
|
||||
alignY : 'bottom', // top, center, bottom
|
||||
alignTo : false,
|
||||
|
||||
offsetX : 0, // Shift along toggle
|
||||
offsetY : 3, // Distance from toggle
|
||||
|
||||
appendToBody : true, // Append toggle to body
|
||||
changeText : false,
|
||||
activateItems : false,
|
||||
|
||||
event : 'click',
|
||||
effect : 'fade', // slide, fade, show
|
||||
delay : 0,
|
||||
duration : 200,
|
||||
|
||||
url : false,
|
||||
params : {},
|
||||
class : false,
|
||||
title : false,
|
||||
content : false,
|
||||
template : false,
|
||||
ajaxVar : 'sText',
|
||||
|
||||
onShow : false,
|
||||
onHide : false,
|
||||
preventDefault : true
|
||||
};
|
||||
|
||||
// Global settings
|
||||
$.fn.popup.settings = {
|
||||
// Selectors
|
||||
toggleSelector: '[data-type=popup-toggle]',
|
||||
targetSelector: '[data-type=popup-target]',
|
||||
|
||||
// Classes
|
||||
openClass: 'open',
|
||||
menuAlignPrefixClass: 'align'
|
||||
};
|
||||
})(jQuery);
|
96
templates/framework/js/ui/tab.js
Normal file
|
@ -0,0 +1,96 @@
|
|||
/*
|
||||
* Tabs
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Denis Shakhov <denis.shakhov@gmail.com>
|
||||
*/
|
||||
|
||||
var ls = ls || {};
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Constructs tab objects
|
||||
* @constructor
|
||||
* @class Tab
|
||||
* @param {Object} options Options
|
||||
*/
|
||||
var Tab = function (element, options) {
|
||||
this.options = $.extend({}, $.fn.tab.defaults, options);
|
||||
|
||||
this.$tab = $(element);
|
||||
this.$pane = $('#' + this.options.target);
|
||||
};
|
||||
|
||||
Tab.prototype = {
|
||||
/**
|
||||
* Activate tab
|
||||
*/
|
||||
activate: function () {
|
||||
var dropdown = this.$tab.closest('ul').parent('li');
|
||||
|
||||
this.$tab
|
||||
.addClass('active')
|
||||
.closest($.fn.tab.settings.tabsSelector)
|
||||
.find('li') // TODO: Fix selector
|
||||
.not(this.$tab)
|
||||
.removeClass('active');
|
||||
|
||||
if (dropdown.length > 0) dropdown.addClass('active');
|
||||
|
||||
this.$pane.show().parent($.fn.tab.settings.contentSelector).find($.fn.tab.settings.paneSelector).not(this.$pane).hide();
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.tab = function (options, variable, value) {
|
||||
var returnValue = false;
|
||||
|
||||
this.each(function () {
|
||||
var tab = $(this),
|
||||
object = tab.data('object');
|
||||
|
||||
if ( ! object ) tab.data('object', (object = new Tab(this, $.extend({}, options, ls.tools.getDataOptions(tab)))));
|
||||
if (typeof options === 'string') {
|
||||
if (options === "option") {
|
||||
if (value) object.options[variable] = value; else returnValue = object.options[variable];
|
||||
} else {
|
||||
object[options]();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return returnValue;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Default options
|
||||
* @type {Object}
|
||||
*/
|
||||
$.fn.tab.defaults = {
|
||||
target: false
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Global settings
|
||||
* @type {Object}
|
||||
*/
|
||||
$.fn.tab.settings = {
|
||||
tabsSelector: '[data-type=tabs]',
|
||||
tabSelector: '[data-type=tab]',
|
||||
contentSelector: '[data-type=tab-content]',
|
||||
paneSelector: '[data-type=tab-pane]'
|
||||
};
|
||||
|
||||
$(document).on('click.tab', $.fn.tab.settings.tabSelector, function (e) {
|
||||
$(this).tab('activate');
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
// Init
|
||||
$(document).ready(function($) {
|
||||
$($.fn.tab.settings.tabSelector).tab();
|
||||
});
|
||||
})(jQuery);
|
60
templates/framework/js/ui/tooltip.js
Normal file
|
@ -0,0 +1,60 @@
|
|||
/**
|
||||
* Tooltip
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Denis Shakhov <denis.shakhov@gmail.com>
|
||||
*/
|
||||
|
||||
var ls = ls || {};
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
var Tooltip = function (element, options) {
|
||||
this.init('tooltip', element, options);
|
||||
};
|
||||
|
||||
Tooltip.prototype = $.extend({}, $.fn.popup.Constructor.prototype, {
|
||||
constructor: Tooltip,
|
||||
|
||||
hooks : {
|
||||
onInitTarget: function () {
|
||||
if ( ! this.options.target ) {
|
||||
if ( ! this.options.content ) {
|
||||
this.options.content = this.$toggle.attr('title');
|
||||
this.$toggle.removeAttr('title');
|
||||
}
|
||||
|
||||
this.setContent(this.options.content);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$.fn.tooltip = function (options, variable, value) {
|
||||
return ls.popup.initPlugin('tooltip', this, options, variable, value);
|
||||
};
|
||||
|
||||
$.fn.tooltip.Constructor = Tooltip;
|
||||
|
||||
$.fn.tooltip.defaults = $.extend({} , $.fn.popup.defaults, {
|
||||
template: '<div class="tooltip" data-type="tooltip-target"><div class="tip-arrow"></div><div class="tooltip-content" data-type="tooltip-content"></div></div>',
|
||||
alignX: 'center',
|
||||
alignY: 'top',
|
||||
effect: 'fade',
|
||||
offsetY: 10,
|
||||
duration: 500,
|
||||
delay: 500,
|
||||
event: 'hover',
|
||||
preventDefault: false
|
||||
});
|
||||
|
||||
$.fn.tooltip.settings = $.extend({} , $.fn.popup.settings, {
|
||||
toggleSelector: '[data-type=tooltip-toggle]',
|
||||
targetSelector: '[data-type=tooltip-target]'
|
||||
});
|
||||
|
||||
$(document).ready(function($) {
|
||||
$($.fn.tooltip.settings.toggleSelector).tooltip();
|
||||
});
|
||||
})(jQuery);
|
|
@ -1,5 +1,5 @@
|
|||
{include file='header.tpl'}
|
||||
{include file='modals/modal_userfields.tpl'}
|
||||
{include file='modals/modal.userfields.tpl'}
|
||||
|
||||
|
||||
<h2 class="page-header">{$aLang.user_field_admin_title}</h2>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
|
||||
{if $oUserCurrent and $oUserCurrent->isAdministrator()}
|
||||
{include file='modals/modal_blog_delete.tpl'}
|
||||
{include file='modals/modal.blog_delete.tpl'}
|
||||
{/if}
|
||||
|
||||
|
||||
|
@ -40,7 +40,7 @@
|
|||
<li>
|
||||
<a href="{router page='blog'}edit/{$oBlog->getId()}/" title="{$aLang.blog_edit}" class="edit">{$aLang.blog_edit}</a></li>
|
||||
{if $oUserCurrent->isAdministrator()}
|
||||
<li><a href="#" title="{$aLang.blog_delete}" data-type="modal-toggle" data-modal-target="modal-blog-delete" class="delete">{$aLang.blog_delete}</a>
|
||||
<li><a href="#" title="{$aLang.blog_delete}" data-type="modal-toggle" data-option-target="modal-blog-delete" class="delete">{$aLang.blog_delete}</a>
|
||||
{else}
|
||||
<a href="{router page='blog'}delete/{$oBlog->getId()}/?security_ls_key={$LIVESTREET_SECURITY_KEY}" title="{$aLang.blog_delete}" onclick="return confirm('{$aLang.blog_admin_delete_confirm}');" >{$aLang.blog_delete}</a>
|
||||
{/if}
|
||||
|
@ -101,27 +101,7 @@
|
|||
|
||||
{hook run='blog_info' oBlog=$oBlog}
|
||||
|
||||
<div class="nav-filter-wrapper">
|
||||
<ul class="nav nav-filter">
|
||||
<li {if $sMenuSubItemSelect=='good'}class="active"{/if}><a href="{$sMenuSubBlogUrl}">{$aLang.blog_menu_collective_good}</a></li>
|
||||
<li {if $sMenuSubItemSelect=='new'}class="active"{/if}><a href="{$sMenuSubBlogUrl}newall/">{$aLang.blog_menu_collective_new}</a>{if $iCountTopicsBlogNew>0} <a href="{$sMenuSubBlogUrl}new/">+{$iCountTopicsBlogNew}</a>{/if}</li>
|
||||
<li {if $sMenuSubItemSelect=='discussed'}class="active"{/if}><a href="{$sMenuSubBlogUrl}discussed/">{$aLang.blog_menu_collective_discussed}</a></li>
|
||||
<li {if $sMenuSubItemSelect=='top'}class="active"{/if}><a href="{$sMenuSubBlogUrl}top/">{$aLang.blog_menu_collective_top}</a></li>
|
||||
{hook run='menu_blog_blog_item'}
|
||||
</ul>
|
||||
|
||||
{if $sPeriodSelectCurrent}
|
||||
<ul class="nav nav-filter nav-filter-sub">
|
||||
<li {if $sPeriodSelectCurrent=='1'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=1">{$aLang.blog_menu_top_period_24h}</a></li>
|
||||
<li {if $sPeriodSelectCurrent=='7'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=7">{$aLang.blog_menu_top_period_7d}</a></li>
|
||||
<li {if $sPeriodSelectCurrent=='30'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=30">{$aLang.blog_menu_top_period_30d}</a></li>
|
||||
<li {if $sPeriodSelectCurrent=='all'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=all">{$aLang.blog_menu_top_period_all}</a></li>
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{include file='menu.blog_single.tpl'}
|
||||
|
||||
{if $bCloseBlog}
|
||||
{$aLang.blog_close_show}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
</script>
|
||||
|
||||
|
||||
{include file='modals/modal_photoset_add_photo.tpl'}
|
||||
{include file='modals/modal.photoset_add_photo.tpl'}
|
||||
|
||||
|
||||
{hook run='add_topic_photoset_begin'}
|
||||
|
@ -97,7 +97,7 @@
|
|||
{/if}
|
||||
</ul>
|
||||
|
||||
<a href="#" data-type="modal-toggle" data-modal-target="photoset-upload-form" class="link-dotted" id="photoset-start-upload">{$aLang.topic_photoset_upload_choose}</a>
|
||||
<a href="#" data-type="modal-toggle" data-option-target="photoset-upload-form" class="link-dotted" id="photoset-start-upload">{$aLang.topic_photoset_upload_choose}</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
{elseif $oUserFriend and $oUserFriend->getFriendStatus()==$USER_FRIEND_OFFER+$USER_FRIEND_NULL and $oUserFriend->getUserTo()==$oUserCurrent->getId()}
|
||||
<li id="add_friend_item"><a href="#" title="{$aLang.user_friend_add}" onclick="return ls.user.addFriend(this,{$oUserProfile->getId()},'accept');">{$aLang.user_friend_add}</a></li>
|
||||
{elseif !$oUserFriend}
|
||||
{include file='modals/modal_add_friend.tpl'}
|
||||
{include file='modals/modal.add_friend.tpl'}
|
||||
|
||||
<li id="add_friend_item"><a href="#" title="{$aLang.user_friend_add}" data-type="modal-toggle" data-modal-target="add_friend_form">{$aLang.user_friend_add}</a></li>
|
||||
<li id="add_friend_item"><a href="#" title="{$aLang.user_friend_add}" data-type="modal-toggle" data-option-target="add_friend_form">{$aLang.user_friend_add}</a></li>
|
||||
{else}
|
||||
<li id="add_friend_item"><a href="#" title="{$aLang.user_friend_add}" onclick="return ls.user.addFriend(this,{$oUserProfile->getId()},'link');">{$aLang.user_friend_add}</a></li>
|
||||
{/if}
|
|
@ -1,6 +1,6 @@
|
|||
{hook run='profile_sidebar_begin' oUserProfile=$oUserProfile}
|
||||
|
||||
{include file='modals/modal_profile_photo_upload.tpl'}
|
||||
{include file='modals/modal.profile_photo_upload.tpl'}
|
||||
|
||||
|
||||
<section class="block block-type-profile">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{assign var="sidebarPosition" value='left'}
|
||||
|
||||
{include file='header.tpl'}
|
||||
{include file='modals/modal_profile_avatar_upload.tpl'}
|
||||
{include file='modals/modal.profile_avatar_upload.tpl'}
|
||||
{include file='actions/ActionProfile/profile_top.tpl'}
|
||||
{include file='menu.settings.tpl'}
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
|
||||
<div
|
||||
class="dropdown dropdown-toggle js-block-stream-dropdown"
|
||||
data-toggle="dropdown"
|
||||
data-dropdown-menu="js-dropdown-stream"
|
||||
data-dropdown-ajax="true"
|
||||
data-type="dropdown-toggle"
|
||||
data-option-target="js-dropdown-stream"
|
||||
data-option-change-text="true"
|
||||
{if !$sItemsHook}style="display: none;"{/if}>{$aLang.block_stream_comments}</a></div>
|
||||
|
||||
<ul class="dropdown-menu js-block-stream-dropdown-items" id="js-dropdown-stream">
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
</a>
|
||||
|
||||
<p>
|
||||
<a href="#" onclick="return ls.infobox.showInfoBlog(this,{$oBlog->getId()});" class="icon-question-sign"></a>
|
||||
<a href="#" data-type="popover-toggle" data-option-url="{router page='ajax'}infobox/info/blog/" data-param-i-blog-id="{$oBlog->getId()}" class="icon-question-sign js-popover-blog-info"></a>
|
||||
|
||||
{if $oBlog->getType() == 'close'}
|
||||
<i title="{$aLang.blog_closed}" class="icon-lock"></i>
|
||||
|
|
|
@ -29,7 +29,7 @@ a:hover { color: #058; }
|
|||
.page-header span { color: #aaa; }
|
||||
|
||||
/* Dropdown support */
|
||||
.page-header.page-header-publish .dropdown-toggle { text-transform: lowercase; }
|
||||
.page-header.page-header-publish .dropdown-toggle { text-transform: lowercase; padding-right: 18px !important; }
|
||||
.page-header.page-header-publish .dropdown-toggle:after { border-top-color: #5055B2; }
|
||||
.page-header.page-header-publish .dropdown-toggle.open { background: transparent; color: #9496ea; }
|
||||
.page-header.page-header-publish .dropdown-toggle.open:after { border-top-color: #9496ea; }
|
||||
|
|
|
@ -4,4 +4,35 @@
|
|||
.nav.nav-menu > li { margin-right: 3px; }
|
||||
.nav.nav-menu > li > a { border-radius: 2px; padding: 5px 12px; background: #f5f5f5; color: #888; }
|
||||
.nav.nav-menu > li > a:hover { background: #eaeaea; }
|
||||
.nav.nav-menu > li.active > a { background: #2891d3; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); color: #fff; }
|
||||
.nav.nav-menu > li.active > a { background: #2891d3; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); color: #fff; }
|
||||
|
||||
|
||||
/* Userbar
|
||||
-------------------------------------------------- */
|
||||
#userbar {
|
||||
border: 1px solid #ddd;
|
||||
border-top: none;
|
||||
-webkit-box-shadow: 0 0 5px #ddd; box-shadow: 0 0 5px #ddd;
|
||||
|
||||
background: #ffffff;
|
||||
background: -moz-linear-gradient(top, #ffffff 0%, #f3f3f3 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f3f3f3));
|
||||
background: -webkit-linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
|
||||
background: -o-linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
|
||||
background: -ms-linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
|
||||
background: linear-gradient(top, #ffffff 0%,#f3f3f3 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f3f3f3',GradientType=0 );
|
||||
}
|
||||
#userbar .search { float: right; margin: 5px 5px 0 6px; *margin: 4px 0 0 4px; }
|
||||
|
||||
.nav.nav-userbar { float: left; }
|
||||
.nav.nav-userbar li { border-right: 1px solid #eaeaea; }
|
||||
.nav.nav-userbar li a { color: #555; }
|
||||
.nav.nav-userbar li.nav-userbar-username a { position: relative; padding-left: 40px; font-weight: bold; color: #333; }
|
||||
.nav.nav-userbar li.nav-userbar-username .avatar { position: absolute; top: 7px; left: 8px; }
|
||||
.nav.nav-userbar li .new-messages { color: #4AA731; font-weight: bold; }
|
||||
|
||||
/* Dropdown support */
|
||||
.nav.nav-userbar .dropdown-toggle:after { border-top-color: #000; }
|
||||
.nav.nav-userbar .dropdown-toggle.open { background: #08c; color: #fff; }
|
||||
.nav.nav-userbar .dropdown-toggle.open:after { border-top-color: #fff; }
|
Before Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 120 B |
Before Width: | Height: | Size: 105 B |
Before Width: | Height: | Size: 111 B |
Before Width: | Height: | Size: 110 B |
Before Width: | Height: | Size: 119 B |
Before Width: | Height: | Size: 101 B |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.3 KiB |
|
@ -1,414 +0,0 @@
|
|||
/*
|
||||
* jQuery UI CSS Framework 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming/API
|
||||
*/
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden { display: none; }
|
||||
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
|
||||
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
||||
.ui-helper-clearfix { display: inline-block; }
|
||||
/* required comment for clearfix to work in Opera \*/
|
||||
* html .ui-helper-clearfix { height:1%; }
|
||||
.ui-helper-clearfix { display:block; }
|
||||
/* end clearfix */
|
||||
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; }
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
|
||||
|
||||
/*
|
||||
* jQuery UI CSS Framework 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming/API
|
||||
*
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
|
||||
*/
|
||||
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
|
||||
.ui-widget .ui-widget { font-size: 1em; }
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
|
||||
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
|
||||
.ui-widget-content a { color: #222222; }
|
||||
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
|
||||
.ui-widget-header a { color: #222222; }
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
|
||||
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
|
||||
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
||||
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
|
||||
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
||||
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
|
||||
.ui-widget :active { outline: none; }
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
|
||||
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
|
||||
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
|
||||
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
|
||||
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
|
||||
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
||||
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
||||
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
||||
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
|
||||
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
||||
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
||||
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
|
||||
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.ui-icon-extlink { background-position: -32px -80px; }
|
||||
.ui-icon-newwin { background-position: -48px -80px; }
|
||||
.ui-icon-refresh { background-position: -64px -80px; }
|
||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.ui-icon-document { background-position: -32px -96px; }
|
||||
.ui-icon-document-b { background-position: -48px -96px; }
|
||||
.ui-icon-note { background-position: -64px -96px; }
|
||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.ui-icon-comment { background-position: -128px -96px; }
|
||||
.ui-icon-person { background-position: -144px -96px; }
|
||||
.ui-icon-print { background-position: -160px -96px; }
|
||||
.ui-icon-trash { background-position: -176px -96px; }
|
||||
.ui-icon-locked { background-position: -192px -96px; }
|
||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.ui-icon-tag { background-position: -240px -96px; }
|
||||
.ui-icon-home { background-position: 0 -112px; }
|
||||
.ui-icon-flag { background-position: -16px -112px; }
|
||||
.ui-icon-calendar { background-position: -32px -112px; }
|
||||
.ui-icon-cart { background-position: -48px -112px; }
|
||||
.ui-icon-pencil { background-position: -64px -112px; }
|
||||
.ui-icon-clock { background-position: -80px -112px; }
|
||||
.ui-icon-disk { background-position: -96px -112px; }
|
||||
.ui-icon-calculator { background-position: -112px -112px; }
|
||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.ui-icon-search { background-position: -160px -112px; }
|
||||
.ui-icon-wrench { background-position: -176px -112px; }
|
||||
.ui-icon-gear { background-position: -192px -112px; }
|
||||
.ui-icon-heart { background-position: -208px -112px; }
|
||||
.ui-icon-star { background-position: -224px -112px; }
|
||||
.ui-icon-link { background-position: -240px -112px; }
|
||||
.ui-icon-cancel { background-position: 0 -128px; }
|
||||
.ui-icon-plus { background-position: -16px -128px; }
|
||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.ui-icon-minus { background-position: -48px -128px; }
|
||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.ui-icon-close { background-position: -80px -128px; }
|
||||
.ui-icon-closethick { background-position: -96px -128px; }
|
||||
.ui-icon-key { background-position: -112px -128px; }
|
||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.ui-icon-scissors { background-position: -144px -128px; }
|
||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.ui-icon-copy { background-position: -176px -128px; }
|
||||
.ui-icon-contact { background-position: -192px -128px; }
|
||||
.ui-icon-image { background-position: -208px -128px; }
|
||||
.ui-icon-video { background-position: -224px -128px; }
|
||||
.ui-icon-script { background-position: -240px -128px; }
|
||||
.ui-icon-alert { background-position: 0 -144px; }
|
||||
.ui-icon-info { background-position: -16px -144px; }
|
||||
.ui-icon-notice { background-position: -32px -144px; }
|
||||
.ui-icon-help { background-position: -48px -144px; }
|
||||
.ui-icon-check { background-position: -64px -144px; }
|
||||
.ui-icon-bullet { background-position: -80px -144px; }
|
||||
.ui-icon-radio-off { background-position: -96px -144px; }
|
||||
.ui-icon-radio-on { background-position: -112px -144px; }
|
||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.ui-icon-play { background-position: 0 -160px; }
|
||||
.ui-icon-pause { background-position: -16px -160px; }
|
||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.ui-icon-power { background-position: 0 -176px; }
|
||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.ui-icon-signal { background-position: -32px -176px; }
|
||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
|
||||
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
||||
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
||||
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
||||
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
|
||||
* jQuery UI Autocomplete 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Autocomplete#theming
|
||||
*/
|
||||
.ui-autocomplete { position: absolute; cursor: default; }
|
||||
|
||||
/* workarounds */
|
||||
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
||||
|
||||
/*
|
||||
* jQuery UI Menu 1.8.14
|
||||
*
|
||||
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Menu#theming
|
||||
*/
|
||||
.ui-menu {
|
||||
list-style:none;
|
||||
padding: 2px;
|
||||
margin: 0;
|
||||
display:block;
|
||||
float: left;
|
||||
}
|
||||
.ui-menu .ui-menu {
|
||||
margin-top: -3px;
|
||||
}
|
||||
.ui-menu .ui-menu-item {
|
||||
margin:0;
|
||||
padding: 0;
|
||||
zoom: 1;
|
||||
float: left;
|
||||
clear: left;
|
||||
width: 100%;
|
||||
}
|
||||
.ui-menu .ui-menu-item a {
|
||||
text-decoration:none;
|
||||
display:block;
|
||||
padding:.2em .4em;
|
||||
line-height:1.5;
|
||||
zoom:1;
|
||||
}
|
||||
.ui-menu .ui-menu-item a.ui-state-hover,
|
||||
.ui-menu .ui-menu-item a.ui-state-active {
|
||||
font-weight: normal;
|
||||
margin: -1px;
|
||||
}
|
||||
/*
|
||||
* jQuery UI Datepicker 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Datepicker#theming
|
||||
*/
|
||||
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
|
||||
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
||||
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
||||
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
||||
.ui-datepicker .ui-datepicker-next { right:2px; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
||||
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
||||
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
||||
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
||||
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
|
||||
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
||||
.ui-datepicker select.ui-datepicker-month,
|
||||
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
||||
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
||||
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
||||
.ui-datepicker td { border: 0; padding: 1px; }
|
||||
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
||||
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
||||
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
||||
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl { direction: rtl; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
|
||||
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
||||
.ui-datepicker-cover {
|
||||
display: none; /*sorry for IE5*/
|
||||
display/**/: block; /*sorry for IE5*/
|
||||
position: absolute; /*must have*/
|
||||
z-index: -1; /*must have*/
|
||||
filter: mask(); /*must have*/
|
||||
top: -4px; /*must have*/
|
||||
left: -4px; /*must have*/
|
||||
width: 200px; /*must have*/
|
||||
height: 200px; /*must have*/
|
||||
}
|
||||
|
||||
.ui-autocomplete-loading {
|
||||
background: #fafafa url(../../images/loader.gif) 50% 50% no-repeat;
|
||||
}
|
|
@ -13,7 +13,7 @@
|
|||
{if !$sImgToLoad}
|
||||
{assign var="sImgToLoad" value="topic_text"}
|
||||
{/if}
|
||||
{include file='modals/modal_load_img.tpl' sToLoad=$sImgToLoad}
|
||||
{include file='modals/modal.load_img.tpl' sToLoad=$sImgToLoad}
|
||||
|
||||
{if !$sSettingsTinymce}
|
||||
{assign var="sSettingsMarkitup" value="ls.settings.getMarkitup()"}
|
||||
|
|
|
@ -10,12 +10,7 @@
|
|||
|
||||
|
||||
<footer id="footer">
|
||||
<div class="copyright">
|
||||
{hook run='copyright'}
|
||||
</div>
|
||||
|
||||
Автор шаблона — <a href="http://deniart.ru">deniart</a>
|
||||
|
||||
{hook run='copyright'}
|
||||
{hook run='footer_end'}
|
||||
</footer>
|
||||
|
||||
|
|
|
@ -114,10 +114,10 @@
|
|||
|
||||
|
||||
{if $oUserCurrent}
|
||||
{include file='modals/modal_write.tpl'}
|
||||
{include file='modals/modal_favourite_form_tags.tpl'}
|
||||
{include file='modals/modal.write.tpl'}
|
||||
{include file='modals/modal.favourite_form_tags.tpl'}
|
||||
{else}
|
||||
{include file='modals/modal_login.tpl'}
|
||||
{include file='modals/modal.login.tpl'}
|
||||
{/if}
|
||||
|
||||
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
<nav id="userbar" class="clearfix">
|
||||
<form action="{router page='search'}topics/" class="search">
|
||||
<input type="text" placeholder="{$aLang.search}" maxlength="255" name="q" class="input-text">
|
||||
<input type="submit" value="" title="{$aLang.search_submit}" class="input-submit icon icon-search">
|
||||
</form>
|
||||
|
||||
{hook run='userbar_nav'}
|
||||
|
||||
<ul class="nav nav-userbar">
|
||||
{if $oUserCurrent}
|
||||
<li class="nav-userbar-username">
|
||||
<a href="{$oUserCurrent->getUserWebPath()}" class="username">
|
||||
<a href="{$oUserCurrent->getUserWebPath()}" class="dropdown-toggle" data-type="dropdown-toggle" data-option-offset-y="2" data-option-target="js-dropdown-usermenu" onclick="return false">
|
||||
<img src="{$oUserCurrent->getProfileAvatarPath(24)}" alt="avatar" class="avatar" />
|
||||
{$oUserCurrent->getLogin()}
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="{router page='topic'}add/" data-type="modal-toggle" data-modal-target="modal-write">{$aLang.block_create}</a></li>
|
||||
<li><a href="{$oUserCurrent->getUserWebPath()}favourites/topics/">{$aLang.user_menu_profile_favourites}</a></li>
|
||||
<li><a href="{router page='talk'}" {if $iUserCurrentCountTalkNew}class="new-messages"{/if} id="new_messages" title="{if $iUserCurrentCountTalkNew}{$aLang.user_privat_messages_new}{/if}">{$aLang.user_privat_messages}{if $iUserCurrentCountTalkNew} ({$iUserCurrentCountTalkNew}){/if}</a></li>
|
||||
<li><a href="{router page='settings'}profile/">{$aLang.user_settings}</a></li>
|
||||
<li><a href="{router page='topic'}add/" data-type="modal-toggle" data-option-target="modal-write">{$aLang.block_create}</a></li>
|
||||
|
||||
{if $iUserCurrentCountTalkNew}
|
||||
<li><a href="{router page='talk'}" class="new-messages" id="new_messages" title="{if $iUserCurrentCountTalkNew}{$aLang.user_privat_messages_new}{/if}">{$aLang.user_privat_messages} +{$iUserCurrentCountTalkNew}</a></li>
|
||||
{/if}
|
||||
|
||||
{hook run='userbar_item'}
|
||||
<li><a href="{router page='login'}exit/?security_ls_key={$LIVESTREET_SECURITY_KEY}">{$aLang.exit}</a></li>
|
||||
{else}
|
||||
|
@ -26,6 +23,30 @@
|
|||
<li><a href="#" class="js-registration-form-show">{$aLang.registration_submit}</a></li>
|
||||
{/if}
|
||||
</ul>
|
||||
|
||||
{if $oUserCurrent}
|
||||
{* User Menu *}
|
||||
|
||||
<ul class="dropdown-menu" id="js-dropdown-usermenu">
|
||||
{* TODO: Add hooks *}
|
||||
{* TODO: Add counters *}
|
||||
|
||||
<li {if $sAction=='profile' && ($aParams[0]=='whois' or $aParams[0]=='')}class="active"{/if}><a href="{$oUserCurrent->getUserWebPath()}">{$aLang.user_menu_profile}</a></li>
|
||||
<li {if $sAction=='profile' && $aParams[0]=='wall'}class="active"{/if}><a href="{$oUserCurrent->getUserWebPath()}wall/">{$aLang.user_menu_profile_wall}</a></li>
|
||||
<li {if $sAction=='profile' && $aParams[0]=='created'}class="active"{/if}><a href="{$oUserCurrent->getUserWebPath()}created/topics/">{$aLang.user_menu_publication}</a></li>
|
||||
<li {if $sAction=='profile' && $aParams[0]=='favourites'}class="active"{/if}><a href="{$oUserCurrent->getUserWebPath()}favourites/topics/">{$aLang.user_menu_profile_favourites}</a></li>
|
||||
<li {if $sAction=='profile' && $aParams[0]=='friends'}class="active"{/if}><a href="{$oUserCurrent->getUserWebPath()}friends/">{$aLang.user_menu_profile_friends}</a></li>
|
||||
<li {if $sAction=='profile' && $aParams[0]=='stream'}class="active"{/if}><a href="{$oUserCurrent->getUserWebPath()}stream/">{$aLang.user_menu_profile_stream}</a></li>
|
||||
|
||||
<li {if $sAction=='talk'}class="active"{/if}><a href="{router page='talk'}">{$aLang.talk_menu_inbox} {if $iUserCurrentCountTalkNew}<strong>+{$iUserCurrentCountTalkNew}</strong>{/if}</a></li>
|
||||
<li {if $sAction=='settings'}class="active"{/if}><a href="{router page='settings'}">{$aLang.settings_menu}</a></li>
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
<form action="{router page='search'}topics/" class="search">
|
||||
<input type="text" placeholder="{$aLang.search}" maxlength="255" name="q" class="input-text">
|
||||
<input type="submit" value="" title="{$aLang.search_submit}" class="input-submit icon icon-search">
|
||||
</form>
|
||||
</nav>
|
||||
|
||||
|
||||
|
|
|
@ -23,8 +23,9 @@ jQuery(document).ready(function($){
|
|||
|
||||
|
||||
$('.js-registration-form-show').click(function(){
|
||||
if ($('[data-tab-target=tab-pane-registration]').length) {
|
||||
$('#modal-login').jqmShow({onShow: $('[data-tab-target=tab-pane-registration]').tabActivate()});
|
||||
if ($('[data-option-target=tab-pane-registration]').length) {
|
||||
$('#modal-login').modal('option', 'onShow', function () { $('[data-option-target=tab-pane-registration]').tab('activate') });
|
||||
$('#modal-login').modal('show');
|
||||
} else {
|
||||
window.location=aRouter.registration;
|
||||
}
|
||||
|
@ -32,8 +33,9 @@ jQuery(document).ready(function($){
|
|||
});
|
||||
|
||||
$('.js-login-form-show').click(function(){
|
||||
if ($('[data-tab-target=tab-pane-login]').length) {
|
||||
$('#modal-login').jqmShow({onShow: $('[data-tab-target=tab-pane-login]').tabActivate()});
|
||||
if ($('[data-option-target=tab-pane-login]').length) {
|
||||
$('#modal-login').modal('option', 'onShow', function () { $('[data-option-target=tab-pane-login]').tab('activate') });
|
||||
$('#modal-login').modal('show');
|
||||
} else {
|
||||
window.location=aRouter.login;
|
||||
}
|
||||
|
@ -41,16 +43,9 @@ jQuery(document).ready(function($){
|
|||
});
|
||||
|
||||
// Datepicker
|
||||
/**
|
||||
* TODO: навесить языки на datepicker
|
||||
*/
|
||||
$('.date-picker').datepicker({
|
||||
dateFormat: 'dd.mm.yy',
|
||||
dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
|
||||
monthNames: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
|
||||
firstDay: 1
|
||||
});
|
||||
$('.date-picker').datepicker();
|
||||
|
||||
$('.js-popover-blog-info').popover();
|
||||
|
||||
// Поиск по тегам
|
||||
$('.js-tag-search-form').submit(function(){
|
||||
|
@ -76,58 +71,36 @@ jQuery(document).ready(function($){
|
|||
ls.toolbar.up.init();
|
||||
|
||||
|
||||
// Всплывающие сообщения
|
||||
/**
|
||||
* Modals
|
||||
*/
|
||||
$('.js-modal-default').modal();
|
||||
|
||||
|
||||
/**
|
||||
* Tooltips
|
||||
*/
|
||||
$('.js-tooltip').tooltip();
|
||||
|
||||
$('.js-title-talk').tooltip({
|
||||
alignX: 'left',
|
||||
alignY: 'center'
|
||||
});
|
||||
|
||||
$('.js-tip-help').tooltip({
|
||||
alignX: 'right',
|
||||
alignY: 'center'
|
||||
});
|
||||
|
||||
if (ls.registry.get('block_stream_show_tip')) {
|
||||
$('.js-title-comment, .js-title-topic').poshytip({
|
||||
className: 'infobox-yellow',
|
||||
alignTo: 'target',
|
||||
$('.js-title-comment, .js-title-topic').tooltip({
|
||||
alignX: 'left',
|
||||
alignY: 'center',
|
||||
offsetX: 10,
|
||||
liveEvents: true,
|
||||
showTimeout: 1000
|
||||
alignY: 'center'
|
||||
});
|
||||
}
|
||||
|
||||
$('.js-title-talk').poshytip({
|
||||
className: 'infobox-yellow',
|
||||
alignTo: 'target',
|
||||
alignX: 'left',
|
||||
alignY: 'center',
|
||||
offsetX: 10,
|
||||
liveEvents: true,
|
||||
showTimeout: 500
|
||||
});
|
||||
|
||||
$('.js-infobox-vote-topic').poshytip({
|
||||
content: function() {
|
||||
var id = $(this).attr('id').replace('vote_total_topic_','vote-info-topic-');
|
||||
return $('#'+id).html();
|
||||
},
|
||||
className: 'infobox-standart',
|
||||
alignTo: 'target',
|
||||
alignX: 'center',
|
||||
alignY: 'top',
|
||||
offsetX: 2,
|
||||
liveEvents: true,
|
||||
showTimeout: 100
|
||||
});
|
||||
|
||||
$('.js-tip-help').poshytip({
|
||||
className: 'infobox-standart',
|
||||
alignTo: 'target',
|
||||
alignX: 'right',
|
||||
alignY: 'center',
|
||||
offsetX: 5,
|
||||
liveEvents: true,
|
||||
showTimeout: 500
|
||||
});
|
||||
|
||||
$('.js-infobox').poshytip({
|
||||
className: 'infobox-standart',
|
||||
liveEvents: true,
|
||||
showTimeout: 300
|
||||
});
|
||||
|
||||
// подсветка кода
|
||||
prettyPrint();
|
||||
|
|
|
@ -62,9 +62,9 @@
|
|||
{/if}
|
||||
|
||||
{if $sPeriodSelectCurrent}
|
||||
<div class="dropdown dropdown-toggle" data-toggle="dropdown" data-dropdown-menu="js-dropdown-date"></div>
|
||||
<div class="dropdown dropdown-toggle" data-type="dropdown-toggle" data-option-target="js-dropdown-date" data-option-change-text="true"></div>
|
||||
|
||||
<ul class="dropdown-menu" id="js-dropdown-date">
|
||||
<ul class="dropdown-menu" id="js-dropdown-date" data-type="dropdown-target">
|
||||
<li {if $sPeriodSelectCurrent=='1'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=1">{$aLang.blog_menu_top_period_24h}</a></li>
|
||||
<li {if $sPeriodSelectCurrent=='7'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=7">{$aLang.blog_menu_top_period_7d}</a></li>
|
||||
<li {if $sPeriodSelectCurrent=='30'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=30">{$aLang.blog_menu_top_period_30d}</a></li>
|
||||
|
|
20
templates/skin/developer/menu.blog_single.tpl
Normal file
|
@ -0,0 +1,20 @@
|
|||
<div class="nav-filter-wrapper">
|
||||
<ul class="nav nav-pills">
|
||||
<li {if $sMenuSubItemSelect=='good'}class="active"{/if}><a href="{$sMenuSubBlogUrl}">{$aLang.blog_menu_collective_good}</a></li>
|
||||
<li {if $sMenuSubItemSelect=='new'}class="active"{/if}><a href="{$sMenuSubBlogUrl}newall/">{$aLang.blog_menu_collective_new}</a>{if $iCountTopicsBlogNew>0} <a href="{$sMenuSubBlogUrl}new/">+{$iCountTopicsBlogNew}</a>{/if}</li>
|
||||
<li {if $sMenuSubItemSelect=='discussed'}class="active"{/if}><a href="{$sMenuSubBlogUrl}discussed/">{$aLang.blog_menu_collective_discussed}</a></li>
|
||||
<li {if $sMenuSubItemSelect=='top'}class="active"{/if}><a href="{$sMenuSubBlogUrl}top/">{$aLang.blog_menu_collective_top}</a></li>
|
||||
{hook run='menu_blog_blog_item'}
|
||||
</ul>
|
||||
|
||||
{if $sPeriodSelectCurrent}
|
||||
<div class="dropdown dropdown-toggle" data-type="dropdown-toggle" data-option-target="js-dropdown-date" data-option-change-text="true"></div>
|
||||
|
||||
<ul class="dropdown-menu" id="js-dropdown-date" data-type="dropdown-target">
|
||||
<li {if $sPeriodSelectCurrent=='1'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=1">{$aLang.blog_menu_top_period_24h}</a></li>
|
||||
<li {if $sPeriodSelectCurrent=='7'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=7">{$aLang.blog_menu_top_period_7d}</a></li>
|
||||
<li {if $sPeriodSelectCurrent=='30'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=30">{$aLang.blog_menu_top_period_30d}</a></li>
|
||||
<li {if $sPeriodSelectCurrent=='all'}class="active"{/if}><a href="{$sPeriodSelectRoot}?period=all">{$aLang.blog_menu_top_period_all}</a></li>
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
|
@ -1,7 +1,7 @@
|
|||
<h2 class="page-header page-header-publish">
|
||||
{$aLang.block_create}
|
||||
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" data-dropdown-menu="js-dropdown-publish">
|
||||
<a href="#" class="dropdown-toggle" data-type="dropdown-toggle" data-option-target="js-dropdown-publish">
|
||||
{if $sMenuItemSelect=='topic'}
|
||||
{$aLang.topic_menu_add}
|
||||
{elseif $sMenuItemSelect=='blog'}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{extends file='modals/modal_base.tpl'}
|
||||
|
||||
{block name='id'}add_friend_form{/block}
|
||||
{block name='class'}js-modal-default{/block}
|
||||
{block name='title'}{$aLang.profile_add_friend}{/block}
|
||||
|
||||
{block name='content'}
|
|
@ -1,6 +1,7 @@
|
|||
{extends file='modals/modal_base.tpl'}
|
||||
|
||||
{block name='id'}modal-blog-delete{/block}
|
||||
{block name='class'}modal-blog-delete js-modal-default{/block}
|
||||
{block name='title'}{$aLang.blog_admin_delete_title}{/block}
|
||||
|
||||
{block name='content'}
|
|
@ -1,6 +1,7 @@
|
|||
{extends file='modals/modal_base.tpl'}
|
||||
|
||||
{block name='id'}favourite-form-tags{/block}
|
||||
{block name='class'}modal-favourite-tags js-modal-default{/block}
|
||||
{block name='title'}{$aLang.add_favourite_tags}{/block}
|
||||
|
||||
{block name='content'}
|
|
@ -6,19 +6,19 @@
|
|||
{/block}
|
||||
|
||||
{block name='id'}window_upload_img{/block}
|
||||
{block name='class'}modal-image-upload{/block}
|
||||
{block name='class'}modal-image-upload js-modal-default{/block}
|
||||
{block name='title'}{$aLang.uploadimg}{/block}
|
||||
|
||||
{block name='header_after'}
|
||||
<ul class="nav nav-pills nav-pills-tabs" data-toggle="tabs">
|
||||
<li data-toggle="tab" data-tab-target="tab-upload-pc"><a href="#">{$aLang.uploadimg_from_pc}</a></li>
|
||||
<li data-toggle="tab" data-tab-target="tab-upload-link"><a href="#">{$aLang.uploadimg_from_link}</a></li>
|
||||
<ul class="nav nav-pills nav-pills-tabs" data-type="tabs">
|
||||
<li data-type="tab" data-option-target="tab-upload-pc" class="active"><a href="#">{$aLang.uploadimg_from_pc}</a></li>
|
||||
<li data-type="tab" data-option-target="tab-upload-link"><a href="#">{$aLang.uploadimg_from_link}</a></li>
|
||||
</ul>
|
||||
{/block}
|
||||
|
||||
{block name='content_after'}
|
||||
<div data-toggle="tab-content">
|
||||
<form method="POST" action="" enctype="multipart/form-data" id="tab-upload-pc" onsubmit="return false;" data-toggle="tab-pane">
|
||||
<div data-type="tab-content">
|
||||
<form method="POST" action="" enctype="multipart/form-data" id="tab-upload-pc" onsubmit="return false;" data-type="tab-pane" class="tab-pane" style="display: block">
|
||||
<div class="modal-content">
|
||||
<p><label for="img_file">{$aLang.uploadimg_file}:</label>
|
||||
<input type="file" name="img_file" id="img_file" value="" class="input-text input-width-full" /></p>
|
||||
|
@ -48,7 +48,7 @@
|
|||
</form>
|
||||
|
||||
|
||||
<form method="POST" action="" enctype="multipart/form-data" id="tab-upload-link" onsubmit="return false;" data-toggle="tab-pane">
|
||||
<form method="POST" action="" enctype="multipart/form-data" id="tab-upload-link" onsubmit="return false;" data-type="tab-pane" class="tab-pane">
|
||||
<div class="modal-content">
|
||||
<p><label for="img_file">{$aLang.uploadimg_url}:</label>
|
||||
<input type="text" name="img_url" id="img_url" value="http://" class="input-text input-width-full" /></p>
|
|
@ -5,7 +5,7 @@
|
|||
{/block}
|
||||
|
||||
{block name='id'}modal-login{/block}
|
||||
{block name='class'}modal-login{/block}
|
||||
{block name='class'}modal-login js-modal-default{/block}
|
||||
{block name='title'}{$aLang.user_authorization}{/block}
|
||||
|
||||
{block name='content'}
|
||||
|
@ -19,18 +19,18 @@
|
|||
});
|
||||
</script>
|
||||
|
||||
<ul class="nav nav-pills" data-toggle="tabs">
|
||||
<li data-toggle="tab" data-tab-target="tab-pane-login"><a href="#">{$aLang.user_login_submit}</a></li>
|
||||
<ul class="nav nav-pills" data-type="tabs">
|
||||
<li data-type="tab" data-option-target="tab-pane-login"><a href="#">{$aLang.user_login_submit}</a></li>
|
||||
{if !$oConfig->GetValue('general.reg.invite')}
|
||||
<li data-toggle="tab" data-tab-target="tab-pane-registration"><a href="#">{$aLang.registration}</a></li>
|
||||
<li data-type="tab" data-option-target="tab-pane-registration"><a href="#">{$aLang.registration}</a></li>
|
||||
{else}
|
||||
<li><a href="{router page='registration'}">{$aLang.registration}</a></li>
|
||||
{/if}
|
||||
<li data-toggle="tab" data-tab-target="tab-pane-reminder"><a href="#">{$aLang.password_reminder}</a></li>
|
||||
<li data-type="tab" data-option-target="tab-pane-reminder"><a href="#">{$aLang.password_reminder}</a></li>
|
||||
</ul>
|
||||
|
||||
<div data-toggle="tab-content">
|
||||
<div class="tab-pane" id="tab-pane-login" data-toggle="tab-pane">
|
||||
<div data-type="tab-content">
|
||||
<div class="tab-pane" id="tab-pane-login" data-type="tab-pane">
|
||||
{hook run='login_popup_begin'}
|
||||
<form action="{router page='login'}" method="post" id="popup-login-form">
|
||||
{hook run='form_login_popup_begin'}
|
||||
|
@ -54,7 +54,7 @@
|
|||
|
||||
|
||||
{if !$oConfig->GetValue('general.reg.invite')}
|
||||
<div class="tab-pane" id="tab-pane-registration" data-toggle="tab-pane">
|
||||
<div class="tab-pane" id="tab-pane-registration" data-type="tab-pane">
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function($){
|
||||
$('#popup-registration-form').find('input.js-ajax-validate').blur(function(e){
|
||||
|
@ -124,7 +124,7 @@
|
|||
{/if}
|
||||
|
||||
|
||||
<div class="tab-pane" id="tab-pane-reminder" data-toggle="tab-pane">
|
||||
<div class="tab-pane" id="tab-pane-reminder" data-type="tab-pane">
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function($){
|
||||
$('#popup-reminder-form').bind('submit',function(){
|
|
@ -1,6 +1,7 @@
|
|||
{extends file='modals/modal_base.tpl'}
|
||||
|
||||
{block name='id'}photoset-upload-form{/block}
|
||||
{block name='class'}js-modal-default{/block}
|
||||
{block name='title'}{$aLang.uploadimg}{/block}
|
||||
|
||||
{block name='content'}
|
|
@ -5,6 +5,7 @@
|
|||
{/block}
|
||||
|
||||
{block name='id'}avatar-resize{/block}
|
||||
{block name='class'}modal-avatar-resize js-modal-default{/block}
|
||||
{block name='title'}{$aLang.uploadimg}{/block}
|
||||
|
||||
{block name='content'}
|
|
@ -5,6 +5,7 @@
|
|||
{/block}
|
||||
|
||||
{block name='id'}foto-resize{/block}
|
||||
{block name='class'}modal-photo-resize js-modal-default{/block}
|
||||
{block name='title'}{$aLang.uploadimg}{/block}
|
||||
|
||||
{block name='content'}
|
|
@ -1,6 +1,7 @@
|
|||
{extends file='modals/modal_base.tpl'}
|
||||
|
||||
{block name='id'}userfield_form{/block}
|
||||
{block name='class'}modal-userfield js-modal-default{/block}
|
||||
{block name='title'}{$aLang.user_field_admin_title_add}{/block}
|
||||
|
||||
{block name='content'}
|
|
@ -5,7 +5,7 @@
|
|||
{/block}
|
||||
|
||||
{block name='id'}modal-write{/block}
|
||||
{block name='class'}modal-write{/block}
|
||||
{block name='class'}modal-write js-modal-default{/block}
|
||||
{block name='title'}{$aLang.block_create}{/block}
|
||||
|
||||
{block name='content'}
|
|
@ -12,7 +12,7 @@
|
|||
{block name='options'}{/block}
|
||||
|
||||
|
||||
<div class="modal {block name='class'}{/block}" id="{block name='id'}{/block}" data-type="modal">
|
||||
<div class="modal {block name='class'}{/block}" id="{block name='id'}{/block}" data-type="modal" {block name='attributes'}{/block}>
|
||||
<header class="modal-header">
|
||||
{if !$noTitle}<h3>{block name='title'}Modal window{/block}</h3>{/if}
|
||||
<a href="#" class="modal-close" data-type="modal-close"></a>
|
||||
|
|
|
@ -21,70 +21,86 @@ $config['view']['grid']['fixed_width'] = 1000;
|
|||
|
||||
|
||||
|
||||
$config['head']['default']['js'] = array(
|
||||
"___path.root.engine_lib___/external/html5shiv.js" => array('browser'=>'lt IE 9'),
|
||||
"___path.root.engine_lib___/external/jquery/jquery.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery-ui.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.notifier.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.scrollto.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.rich-array.min.js",
|
||||
"___path.root.engine_lib___/external/jquery/markitup/jquery.markitup.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.form.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.jqplugin.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.cookie.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.serializejson.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.file.js",
|
||||
"___path.root.engine_lib___/external/jquery/jcrop/jquery.Jcrop.js",
|
||||
"___path.root.engine_lib___/external/jquery/poshytip/jquery.poshytip.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.placeholder.min.js",
|
||||
"___path.root.engine_lib___/external/jquery/jquery.charcount.js",
|
||||
"___path.root.engine_lib___/external/prettify/prettify.js",
|
||||
"___path.root.server___/templates/framework/js/main.js",
|
||||
"___path.root.server___/templates/framework/js/favourite.js",
|
||||
"___path.root.server___/templates/framework/js/blocks.js",
|
||||
"___path.root.server___/templates/framework/js/talk.js",
|
||||
"___path.root.server___/templates/framework/js/vote.js",
|
||||
"___path.root.server___/templates/framework/js/poll.js",
|
||||
"___path.root.server___/templates/framework/js/subscribe.js",
|
||||
"___path.root.server___/templates/framework/js/infobox.js",
|
||||
"___path.root.server___/templates/framework/js/geo.js",
|
||||
"___path.root.server___/templates/framework/js/wall.js",
|
||||
"___path.root.server___/templates/framework/js/usernote.js",
|
||||
"___path.root.server___/templates/framework/js/comments.js",
|
||||
"___path.root.server___/templates/framework/js/blog.js",
|
||||
"___path.root.server___/templates/framework/js/user.js",
|
||||
"___path.root.server___/templates/framework/js/userfeed.js",
|
||||
"___path.root.server___/templates/framework/js/userfield.js",
|
||||
"___path.root.server___/templates/framework/js/stream.js",
|
||||
"___path.root.server___/templates/framework/js/photoset.js",
|
||||
"___path.root.server___/templates/framework/js/toolbar.js",
|
||||
"___path.root.server___/templates/framework/js/settings.js",
|
||||
"___path.root.server___/templates/framework/js/topic.js",
|
||||
"___path.root.server___/templates/framework/js/hook.js",
|
||||
'___path.root.server___/templates/framework/js/dropdown.js',
|
||||
'___path.root.server___/templates/framework/js/tab.js',
|
||||
'___path.root.server___/templates/framework/js/modal.js',
|
||||
"http://yandex.st/share/share.js" => array('merge'=>false),
|
||||
$config['path']['static']['framework'] = "___path.root.server___/templates/framework";
|
||||
|
||||
$config['head']['default']['js'] = array(
|
||||
/* Vendor libs */
|
||||
"___path.static.framework___/js/vendor/html5shiv.js" => array('browser'=>'lt IE 9'),
|
||||
"___path.static.framework___/js/vendor/jquery.js",
|
||||
//"___path.static.framework___/js/vendor/jquery-1.9.1.min.js",
|
||||
"___path.static.framework___/js/vendor/jquery-ui/js/jquery-ui-1.10.2.custom.min.js",
|
||||
"___path.static.framework___/js/vendor/jquery-ui/js/localization/jquery-ui-datepicker-ru.js",
|
||||
"___path.static.framework___/js/vendor/jquery.notifier.js",
|
||||
"___path.static.framework___/js/vendor/jquery.scrollto.js",
|
||||
"___path.static.framework___/js/vendor/jquery.rich-array.min.js",
|
||||
"___path.static.framework___/js/vendor/jquery.form.js",
|
||||
"___path.static.framework___/js/vendor/jquery.jqplugin.js",
|
||||
"___path.static.framework___/js/vendor/jquery.cookie.js",
|
||||
"___path.static.framework___/js/vendor/jquery.serializejson.js",
|
||||
"___path.static.framework___/js/vendor/jquery.file.js",
|
||||
"___path.static.framework___/js/vendor/jcrop/jquery.Jcrop.js",
|
||||
"___path.static.framework___/js/vendor/jquery.placeholder.min.js",
|
||||
"___path.static.framework___/js/vendor/jquery.charcount.js",
|
||||
"___path.static.framework___/js/vendor/poshytip/jquery.poshytip.js",
|
||||
"___path.static.framework___/js/vendor/markitup/jquery.markitup.js",
|
||||
"___path.static.framework___/js/vendor/prettify/prettify.js",
|
||||
|
||||
/* Core */
|
||||
"___path.static.framework___/js/core/main.js",
|
||||
"___path.static.framework___/js/core/hook.js",
|
||||
|
||||
/* User Interface */
|
||||
"___path.static.framework___/js/ui/popup.js",
|
||||
"___path.static.framework___/js/ui/dropdown.js",
|
||||
"___path.static.framework___/js/ui/tooltip.js",
|
||||
"___path.static.framework___/js/ui/popover.js",
|
||||
"___path.static.framework___/js/ui/tab.js",
|
||||
"___path.static.framework___/js/ui/modal.js",
|
||||
|
||||
/* LiveStreet */
|
||||
"___path.static.framework___/js/livestreet/favourite.js",
|
||||
"___path.static.framework___/js/livestreet/blocks.js",
|
||||
"___path.static.framework___/js/livestreet/talk.js",
|
||||
"___path.static.framework___/js/livestreet/vote.js",
|
||||
"___path.static.framework___/js/livestreet/poll.js",
|
||||
"___path.static.framework___/js/livestreet/subscribe.js",
|
||||
"___path.static.framework___/js/livestreet/geo.js",
|
||||
"___path.static.framework___/js/livestreet/wall.js",
|
||||
"___path.static.framework___/js/livestreet/usernote.js",
|
||||
"___path.static.framework___/js/livestreet/comments.js",
|
||||
"___path.static.framework___/js/livestreet/blog.js",
|
||||
"___path.static.framework___/js/livestreet/user.js",
|
||||
"___path.static.framework___/js/livestreet/userfeed.js",
|
||||
"___path.static.framework___/js/livestreet/userfield.js",
|
||||
"___path.static.framework___/js/livestreet/stream.js",
|
||||
"___path.static.framework___/js/livestreet/photoset.js",
|
||||
"___path.static.framework___/js/livestreet/toolbar.js",
|
||||
"___path.static.framework___/js/livestreet/settings.js",
|
||||
"___path.static.framework___/js/livestreet/topic.js",
|
||||
);
|
||||
$config['head']['default']['js'][] = '___path.static.skin___/js/template.js';
|
||||
|
||||
$config['head']['default']['css'] = array(
|
||||
// Framework styles
|
||||
"___path.root.server___/templates/framework/css/reset.css",
|
||||
"___path.root.server___/templates/framework/css/helpers.css",
|
||||
"___path.root.server___/templates/framework/css/text.css",
|
||||
"___path.root.server___/templates/framework/css/dropdowns.css",
|
||||
"___path.root.server___/templates/framework/css/buttons.css",
|
||||
"___path.root.server___/templates/framework/css/forms.css",
|
||||
"___path.root.server___/templates/framework/css/navs.css",
|
||||
"___path.root.server___/templates/framework/css/modals.css",
|
||||
"___path.static.framework___/css/reset.css",
|
||||
"___path.static.framework___/css/helpers.css",
|
||||
"___path.static.framework___/css/text.css",
|
||||
"___path.static.framework___/css/dropdowns.css",
|
||||
"___path.static.framework___/css/buttons.css",
|
||||
"___path.static.framework___/css/forms.css",
|
||||
"___path.static.framework___/css/navs.css",
|
||||
"___path.static.framework___/css/modals.css",
|
||||
"___path.static.framework___/css/tooltip.css",
|
||||
"___path.static.framework___/css/popover.css",
|
||||
|
||||
// Template styles
|
||||
"___path.static.skin___/css/base.css",
|
||||
"___path.root.engine_lib___/external/jquery/markitup/skins/simple/style.css",
|
||||
"___path.root.engine_lib___/external/jquery/markitup/sets/default/style.css",
|
||||
"___path.root.engine_lib___/external/jquery/jcrop/jquery.Jcrop.css",
|
||||
"___path.root.engine_lib___/external/prettify/prettify.css",
|
||||
"___path.static.framework___/js/vendor/jquery-ui/css/smoothness/jquery-ui-1.10.2.custom.css",
|
||||
"___path.static.framework___/js/vendor/markitup/skins/simple/style.css",
|
||||
"___path.static.framework___/js/vendor/markitup/sets/default/style.css",
|
||||
"___path.static.framework___/js/vendor/jcrop/jquery.Jcrop.css",
|
||||
"___path.static.framework___/js/vendor/prettify/prettify.css",
|
||||
"___path.static.framework___/js/vendor/poshytip/tip-yellow/tip-yellow.css",
|
||||
"___path.static.skin___/css/grid.css",
|
||||
"___path.static.skin___/css/common.css",
|
||||
"___path.static.skin___/css/icons.css",
|
||||
|
@ -99,7 +115,6 @@ $config['head']['default']['css'] = array(
|
|||
"___path.static.skin___/css/wall.css",
|
||||
"___path.static.skin___/css/infobox.css",
|
||||
"___path.static.skin___/css/jquery.notifier.css",
|
||||
"___path.static.skin___/css/smoothness/jquery-ui.css",
|
||||
"___path.static.skin___/themes/___view.theme___/style.css",
|
||||
"___path.static.skin___/css/print.css",
|
||||
);
|
||||
|
|
|
@ -62,7 +62,12 @@
|
|||
{assign var="bVoteInfoShow" value=true}
|
||||
{/if}
|
||||
<div class="vote-up" onclick="return ls.vote.vote({$oTopic->getId()},this,1,'topic');"></div>
|
||||
<div class="vote-count {if $bVoteInfoShow}js-infobox-vote-topic{/if}" id="vote_total_topic_{$oTopic->getId()}" title="{$aLang.topic_vote_count}: {$oTopic->getCountVote()}">
|
||||
<div
|
||||
class="vote-count {if $bVoteInfoShow}js-infobox-vote-topic{/if}"
|
||||
id="vote_total_topic_{$oTopic->getId()}"
|
||||
data-type="tooltip-toggle"
|
||||
data-option-target="vote-info-topic-{$oTopic->getId()}">
|
||||
|
||||
{if $bVoteInfoShow}
|
||||
{if $oTopic->getRating() > 0}+{/if}{$oTopic->getRating()}
|
||||
{else}
|
||||
|
@ -70,12 +75,19 @@
|
|||
{/if}
|
||||
</div>
|
||||
<div class="vote-down" onclick="return ls.vote.vote({$oTopic->getId()},this,-1,'topic');"></div>
|
||||
|
||||
|
||||
{if $bVoteInfoShow}
|
||||
<div id="vote-info-topic-{$oTopic->getId()}" style="display: none;">
|
||||
+ {$oTopic->getCountVoteUp()}<br/>
|
||||
- {$oTopic->getCountVoteDown()}<br/>
|
||||
{$oTopic->getCountVoteAbstain()}<br/>
|
||||
{hook run='topic_show_vote_stats' topic=$oTopic}
|
||||
<div id="vote-info-topic-{$oTopic->getId()}" class="tooltip" data-type="tooltip-target">
|
||||
<div class="tip-arrow"></div>
|
||||
<div class="tooltip-content" data-type="tooltip-content">
|
||||
<i class="icon-plus icon-white"></i> {$oTopic->getCountVoteUp()}<br />
|
||||
<i class="icon-minus icon-white"></i> {$oTopic->getCountVoteDown()}<br />
|
||||
<i class="icon-eye-open icon-white"></i> {$oTopic->getCountVoteAbstain()}<br />
|
||||
{$aLang.topic_vote_count}: {$oTopic->getCountVote()}<br />
|
||||
|
||||
{hook run='topic_show_vote_stats' topic=$oTopic}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</li>
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<a href="{$oUserList->getUserWebPath()}"><img src="{$oUserList->getProfileAvatarPath(24)}" alt="avatar" class="avatar" /></a>
|
||||
<p class="username word-wrap"><a href="{$oUserList->getUserWebPath()}">{$oUserList->getLogin()}</a>
|
||||
{if $oUserNote}
|
||||
<i class="icon-comment js-infobox" title="{$oUserNote->getText()|escape:'html'}"></i>
|
||||
<i class="icon-comment js-tooltip" title="{$oUserNote->getText()|escape:'html'}"></i>
|
||||
{/if}
|
||||
</p>
|
||||
</td>
|
||||
|
|