Update to Fancybox 3. Update to jQuery 3.3.1. Update and simplify MayanImage class.
Signed-off-by: Michael Price <loneviking72@gmail.com>
@@ -38,6 +38,8 @@ Next (2018-XX-XX)
|
||||
- Display resolution settings are now specified as width and height and not a single resolution value.
|
||||
- Printed pages are now full width.
|
||||
- Move the invalid document markup to a separate HTML template.
|
||||
- Update to Fancybox 3.
|
||||
- Update to jQuery 3.3.1
|
||||
|
||||
2.8 (2018-02-27)
|
||||
================
|
||||
|
||||
@@ -6,17 +6,13 @@ var MayanImage = function (options) {
|
||||
}
|
||||
|
||||
MayanImage.intialize = function () {
|
||||
$('a.fancybox').fancybox({
|
||||
beforeShow : function(){
|
||||
this.title = $(this.element).data('caption');
|
||||
},
|
||||
openEffect : 'elastic',
|
||||
closeEffect : 'elastic',
|
||||
prevEffect : 'none',
|
||||
nextEffect : 'none',
|
||||
titleShow : true,
|
||||
type : 'image',
|
||||
autoResize : true,
|
||||
this.fancybox = $().fancybox({
|
||||
animationDuration : 400,
|
||||
buttons : [
|
||||
'fullScreen',
|
||||
'close'
|
||||
],
|
||||
selector: 'a.fancybox',
|
||||
});
|
||||
|
||||
$('img.lazy-load').lazyload({
|
||||
@@ -31,7 +27,7 @@ MayanImage.intialize = function () {
|
||||
new MayanImage({element: $(this)});
|
||||
},
|
||||
container: $('#carousel-container'),
|
||||
threshold: 2000
|
||||
threshold: 2000,
|
||||
});
|
||||
|
||||
$('.lazy-load').on('load', function() {
|
||||
@@ -51,27 +47,14 @@ MayanImage.intialize = function () {
|
||||
|
||||
MayanImage.templateInvalidDocument = $('#template-invalid-document').html();
|
||||
|
||||
MayanImage.prototype.onImageError = function () {
|
||||
this.element.parent().parent().html(MayanImage.templateInvalidDocument);
|
||||
|
||||
// Remove border to indicate non interactive image
|
||||
this.element.removeClass('thin_border');
|
||||
|
||||
var container = this.element.parent().parent();
|
||||
// Save img HTML
|
||||
var html = this.element.parent().html();
|
||||
// Remove anchor
|
||||
this.element.parent().remove();
|
||||
// Place again img
|
||||
container.html(html);
|
||||
};
|
||||
|
||||
MayanImage.prototype.load = function () {
|
||||
var self = this;
|
||||
var container = this.element.parent().parent().parent();
|
||||
|
||||
this.element.error(function(event) {
|
||||
self.onImageError();
|
||||
});
|
||||
this.element.on('error', (function(event) {
|
||||
container.html(MayanImage.templateInvalidDocument);
|
||||
}));
|
||||
|
||||
this.element.attr('src', this.element.attr('data-url'));
|
||||
$.fn.matchHeight._update();
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
|
||||
# Denote all files that are truly binary and should not be modified.
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.gif binary
|
||||
@@ -1,125 +0,0 @@
|
||||
fancyBox - Changelog
|
||||
=========
|
||||
|
||||
### Version 2.1.5 - June 14, 2013
|
||||
* Fixed #493 - Broken slideshow
|
||||
* Fixed #556 - Parent option
|
||||
* Retina graphics (#564) and retina display support (#420)
|
||||
* Improved "lock" feature
|
||||
|
||||
### Version 2.1.4 - January 10, 2013
|
||||
* Update to be compatible with jQuery v1.9
|
||||
* Small changes that should fix usability issues for certain users
|
||||
|
||||
### Version 2.1.3 - October 23, 2012
|
||||
|
||||
* Fixed #426 - Broken IE7
|
||||
* Fixed #423 - Background flickering on iOS
|
||||
* Fixed #418 - Automatically Grow/Shrink and Center
|
||||
* Updated the script to work with jQuery 1.6
|
||||
* Media helper supports YouTube video series
|
||||
|
||||
### Version 2.1.2 - October 15, 2012
|
||||
|
||||
* Fixed #414 - Don't allow nextClick if there is only one item
|
||||
* Fixed #397 - Button helper 'Menu' not visible in IE7
|
||||
* Overlay can be opened/closed manually:
|
||||
* $.fancybox.helpers.overlay.open();
|
||||
* $.fancybox.helpers.overlay.open({closeClick : false});
|
||||
* $.fancybox.helpers.overlay.close();
|
||||
* Optimized for Internet Explorer 10 (Windows 8)
|
||||
|
||||
### Version 2.1.1 - October 01, 2012
|
||||
|
||||
* Fixed #357 - Converting values like 'auto' in getScalar()
|
||||
* Fixed #358 - Updated overlay background image
|
||||
* New "fancybox-href" and "fancybox-title" HTML5 data-attributes (#317)
|
||||
* Improved helpers:
|
||||
* - now they can have a property 'defaults' that contains default settings
|
||||
* - updated vimeo and youtube parsers for media helper
|
||||
* Content locking now can be turned off
|
||||
|
||||
### Version 2.1.0 - August 20, 2012
|
||||
|
||||
* Fixed #103 - DOM element re-injection after closing
|
||||
* Fixed #188 - navigation keys inside editable content
|
||||
* New animation directions (see https://github.com/fancyapps/fancyBox/issues/233#issuecomment-5512453)
|
||||
* New option "iframe" - it is now possible to separate scrolling for iframe and wrapping element; choose to preload
|
||||
* New option "swf" - brings back functionality from fancyBox v1
|
||||
* Improved media helper - better support for vimeo and youtube; links are now configurable
|
||||
* Rewritten overlay helper:
|
||||
* - new option "showEarly" - toggles if should be open before of after content is loaded
|
||||
* - Facebook-style (https://github.com/fancyapps/fancyBox/issues/24) and therefore uses image for background
|
||||
* Option "padding" accepts array (e.g., padding: [15, 50, 10, 5])
|
||||
* One of dimensions (width or height) can now be set to "auto" (option "autoSize" needs to be "false")
|
||||
* Updated callbacks:
|
||||
* - "beforeClose" is now called only once
|
||||
* - "afterLoad" receives current and previous object as arguments
|
||||
* Method "$.fancybox.update();" recalculates content width/height
|
||||
* Updated to work with jQuery v1.8
|
||||
|
||||
### Version 2.0.6 - April 16, 2012
|
||||
|
||||
* Fixed #188 - keystrokes in contenteditable
|
||||
* Fixed #171 - non-images should not be preloaded
|
||||
* Fixed #158 - 'closeClick: true' breaks gallery navigation
|
||||
* New "media" helper - detects and displays various media types
|
||||
* New option "groupAttr" - name of group selector attribute, default is "data-fancybox-group"
|
||||
* New feature - selector expressions in URLs, see #170
|
||||
* Improved 'overlay' helper to use "position: fixed"
|
||||
* Improved autoSize, fixed wrong height in some cases
|
||||
* Improved centering and iframe scrolling for iOS
|
||||
* Updated markup, new element '.fancybox-skin' is now used for styling
|
||||
|
||||
### Version 2.0.5 - February 21, 2012
|
||||
|
||||
* Fixed #155 - easing for prev/next animations
|
||||
* Fixed #153 - overriding "keys" options
|
||||
* Fixed #147 - IE7 problem with #hash links
|
||||
* Fixed #130 - changing dynamically data-fancybox-group
|
||||
* Fixed #126 - obey minWidth/minHeight
|
||||
* Fixed #118 - placement of loading icon and navigation arrows
|
||||
* Fixed #101 - "index" option not working
|
||||
* Fixed #94 - "orig" option not working
|
||||
* Fixed #80 - does not work on IE6
|
||||
* Fixed #72 - can't set overlay opacity to 0
|
||||
* Fixed #63 - properly set gallery index
|
||||
* New option "autoCenter" - toggles centering on window resize or scroll, disabled for mobile devices by default
|
||||
* New option "autoResize" - toggles responsivity, disabled for mobile devices by default
|
||||
* New option "preload" - number of images to preload
|
||||
* New feature to target mobile/desktop browsers using CSS, see #108
|
||||
* Changed ajax option defaults to "{ dataType: 'html', headers: { 'X-fancyBox': true } }", see #150 and #128
|
||||
* Updated loading icon for IE7, IE8
|
||||
* Calculates height of the iframe if 'autoSize' is set to 'true' and the iframe is on the same domain as the main page
|
||||
|
||||
### Version 2.0.4 - December 12, 2011
|
||||
|
||||
* Fixed #47 - fix overriding properties
|
||||
* New option "position" to thumbnail and button helpers
|
||||
|
||||
|
||||
### Version 2.0.3 - November 29, 2011
|
||||
|
||||
* Fixed #29 - broken elastic transitions
|
||||
|
||||
|
||||
### Version 2.0.2 - November 28, 2011
|
||||
|
||||
* Fixed slideshow
|
||||
* Fixed scrollbars issue when displayed a very tall image
|
||||
* New option "nextClick" - navigate to next gallery item when user clicks the content
|
||||
* New option "modal" - to disable navigation and closing
|
||||
* Add 'metadata' plugin support
|
||||
* Add ability to create groups using 'data-fancybox-group' attribute
|
||||
* Updated manual usage to match earlier releases
|
||||
|
||||
|
||||
### Version 2.0.1 - November 23, 2011
|
||||
|
||||
* Fixed keyboard events inside form elements
|
||||
* Fixed manual usage
|
||||
|
||||
|
||||
### Version 2.0.0 - November 21, 2011
|
||||
|
||||
First release - completely rewritten, many new features and updated graphics.
|
||||
@@ -1,217 +0,0 @@
|
||||
fancyBox
|
||||
========
|
||||
|
||||
fancyBox is a tool that offers a nice and elegant way to add zooming functionality for images, html content and multi-media on your webpages.
|
||||
|
||||
More information and examples: http://www.fancyapps.com/fancybox/
|
||||
|
||||
License: http://www.fancyapps.com/fancybox/#license
|
||||
|
||||
Copyright (c) 2012 Janis Skarnelis - janis@fancyapps.com
|
||||
|
||||
|
||||
How to use
|
||||
----------
|
||||
|
||||
To get started, download the plugin, unzip it and copy files to your website/application directory.
|
||||
Load files in the <head> section of your HTML document. Make sure you also add the jQuery library.
|
||||
|
||||
<head>
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
|
||||
<link rel="stylesheet" href="/fancybox/jquery.fancybox.css" type="text/css" media="screen" />
|
||||
<script type="text/javascript" src="/fancybox/jquery.fancybox.pack.js"></script>
|
||||
</head>
|
||||
|
||||
Create your links with a `title` if you want a title to be shown, and add a class:
|
||||
|
||||
<a href="large_image.jpg" class="fancybox" title="Sample title"><img src="small_image.jpg" /></a>
|
||||
|
||||
If you have a set of related items that you would like to group,
|
||||
additionally include a group name in the `rel` (or `data-fancybox-group`) attribute:
|
||||
|
||||
<a href="large_1.jpg" class="fancybox" rel="gallery" title="Sample title 1"><img src="small_1.jpg" /></a>
|
||||
<a href="large_2.jpg" class="fancybox" rel="gallery" title="Sample title 1"><img src="small_2.jpg" /></a>
|
||||
|
||||
Initialise the script like this:
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.fancybox').fancybox();
|
||||
});
|
||||
</script>
|
||||
|
||||
May also be passed an optional options object which will extend the default values. Example:
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.fancybox').fancybox({
|
||||
padding : 0,
|
||||
openEffect : 'elastic'
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
Tip: Automatically group and apply fancyBox to all images:
|
||||
|
||||
$("a[href$='.jpg'],a[href$='.jpeg'],a[href$='.png'],a[href$='.gif']").attr('rel', 'gallery').fancybox();
|
||||
|
||||
Script uses the `href` attribute of the matched elements to obtain the location of the content and to figure out content type you want to display.
|
||||
You can specify type directly by adding classname (fancybox.image, fancybox.iframe, etc) or `data-fancybox-type` attribute:
|
||||
|
||||
//Ajax:
|
||||
<a href="/example.html" class="fancybox fancybox.ajax">Example</a>
|
||||
//or
|
||||
<a href="/example.html" class="fancybox" data-fancybox-type="ajax">Example</a>
|
||||
|
||||
//Iframe:
|
||||
<a href="example.html" class="fancybox fancybox.iframe">Example</a>
|
||||
|
||||
//Inline (will display an element with `id="example"`)
|
||||
<a href="#example" class="fancybox">Example</a>
|
||||
|
||||
//SWF:
|
||||
<a href="example.swf" class="fancybox">Example</a>
|
||||
|
||||
//Image:
|
||||
<a href="example.jpg" class="fancybox">Example</a>
|
||||
|
||||
Note, ajax requests are subject to the [same origin policy](http://en.wikipedia.org/wiki/Same_origin_policy).
|
||||
If fancyBox will not be able to get content type, it will try to guess based on 'href' and will quit silently if would not succeed.
|
||||
(this is different from previsous versions where 'ajax' was used as default type or an error message was displayed).
|
||||
|
||||
Advanced
|
||||
--------
|
||||
|
||||
### Helpers
|
||||
|
||||
Helpers provide a simple mechanism to extend the capabilities of fancyBox. There are two built-in helpers - 'overlay' and 'title'.
|
||||
You can disable them, set custom options or enable other helpers. Examples:
|
||||
|
||||
//Disable title helper
|
||||
$(".fancybox").fancybox({
|
||||
helpers: {
|
||||
title: null
|
||||
}
|
||||
});
|
||||
|
||||
//Disable overlay helper
|
||||
$(".fancybox").fancybox({
|
||||
helpers: {
|
||||
overlay : null
|
||||
}
|
||||
});
|
||||
|
||||
//Change title position and overlay color
|
||||
$(".fancybox").fancybox({
|
||||
helpers: {
|
||||
title : {
|
||||
type : 'inside'
|
||||
},
|
||||
overlay : {
|
||||
css : {
|
||||
'background' : 'rgba(255,255,255,0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//Enable thumbnail helper and set custom options
|
||||
$(".fancybox").fancybox({
|
||||
helpers: {
|
||||
thumbs : {
|
||||
width: 50,
|
||||
height: 50
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
### API
|
||||
|
||||
Also available are event driven callback methods. The `this` keyword refers to the current or upcoming object (depends on callback method). Here is how you can change title:
|
||||
|
||||
$(".fancybox").fancybox({
|
||||
beforeLoad : function() {
|
||||
this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
|
||||
|
||||
/*
|
||||
"this.element" refers to current element, so you can, for example, use the "alt" attribute of the image to store the title:
|
||||
this.title = $(this.element).find('img').attr('alt');
|
||||
*/
|
||||
}
|
||||
});
|
||||
|
||||
It`s possible to open fancyBox programmatically in various ways:
|
||||
|
||||
//HTML content:
|
||||
$.fancybox( '<div><h1>Lorem Lipsum</h1><p>Lorem lipsum</p></div>', {
|
||||
title : 'Custom Title'
|
||||
});
|
||||
|
||||
//DOM element:
|
||||
$.fancybox( $("#inline"), {
|
||||
title : 'Custom Title'
|
||||
});
|
||||
|
||||
//Custom object:
|
||||
$.fancybox({
|
||||
href: 'example.jpg',
|
||||
title : 'Custom Title'
|
||||
});
|
||||
|
||||
//Array of objects:
|
||||
$.fancybox([
|
||||
{
|
||||
href: 'example1.jpg',
|
||||
title : 'Custom Title 1'
|
||||
},
|
||||
{
|
||||
href: 'example2.jpg',
|
||||
title : 'Custom Title 2'
|
||||
}
|
||||
], {
|
||||
padding: 0
|
||||
});
|
||||
|
||||
There are several methods that allow you to interact with and manipulate fancyBox, example:
|
||||
|
||||
//Close fancybox:
|
||||
$.fancybox.close();
|
||||
|
||||
There is a simply way to access wrapping elements using JS:
|
||||
|
||||
$.fancybox.wrap
|
||||
$.fancybox.skin
|
||||
$.fancybox.outer
|
||||
$.fancybox.inner
|
||||
|
||||
You can override CSS to customize the look. For example, make navigation arrows always visible,
|
||||
change width and move them outside of area (use this snippet after including fancybox.css):
|
||||
|
||||
.fancybox-nav span {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.fancybox-nav {
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.fancybox-prev {
|
||||
left: -80px;
|
||||
}
|
||||
|
||||
.fancybox-next {
|
||||
right: -80px;
|
||||
}
|
||||
|
||||
In that case, you might want to increase space around box:
|
||||
|
||||
$(".fancybox").fancybox({
|
||||
margin : [20, 60, 20, 60]
|
||||
});
|
||||
|
||||
|
||||
Bug tracker
|
||||
-----------
|
||||
|
||||
Have a bug? Please create an issue on GitHub at https://github.com/fancyapps/fancyBox/issues
|
||||
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"name": "fancybox",
|
||||
"version": "2.1.5",
|
||||
"main": [
|
||||
"source/jquery.fancybox.css",
|
||||
"source/jquery.fancybox.js",
|
||||
"source/blank.gif",
|
||||
"source/fancybox_loading.gif",
|
||||
"source/fancybox_loading@2x.gif",
|
||||
"source/fancybox_overlay.png",
|
||||
"source/fancybox_sprite.png",
|
||||
"source/fancybox_sprite@2x.png",
|
||||
"source/jquery.fancybox.pack.js"
|
||||
],
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"fancybox.jquery.json",
|
||||
"demo"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">=1.10",
|
||||
"jquery-mousewheel": "~3.1.3"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
@@ -1,15 +0,0 @@
|
||||
<div style="max-width:700px;min-width:200px;">
|
||||
<h2>Lorem ipsum dolor sit amet3</h2>
|
||||
<p>
|
||||
<a href="javascript:jQuery.fancybox.close();">Close me</a>
|
||||
</p>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas fermentum ante et sapien dignissim in viverra magna feugiat. Donec tempus ipsum nec neque dignissim quis eleifend eros gravida. Praesent nisi massa, sodales quis tincidunt ac, semper quis risus. In suscipit nisl sed leo aliquet consequat. Integer vitae augue in risus porttitor pellentesque eu eget odio. Fusce ut sagittis quam. Morbi aliquam interdum blandit. Integer pharetra tempor velit, aliquam dictum justo tempus sed. Morbi congue fringilla justo a feugiat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent quis metus et nisl consectetur pharetra. Nam bibendum turpis eu metus luctus eu volutpat sem molestie. Nam sollicitudin porttitor lorem, ac ultricies est venenatis eu. Ut dignissim elit et orci feugiat ac placerat purus euismod. Ut mi lorem, cursus et sagittis elementum, luctus ac massa.
|
||||
</p>
|
||||
<p>
|
||||
Phasellus et ligula vel diam ullamcorper volutpat. Integer rhoncus rhoncus aliquam. Aliquam erat volutpat. Aenean luctus vestibulum placerat. Quisque quam neque, lacinia aliquet eleifend ac, aliquet blandit felis. Curabitur porta ultricies dui, sit amet mattis quam euismod a. Ut eleifend scelerisque neque, sit amet accumsan odio consequat ut. Proin facilisis auctor elit sed accumsan. Cras dapibus nisl in nisi rhoncus laoreet. Nullam pellentesque tortor libero, eget facilisis ipsum. Donec ultricies tellus tellus, in tincidunt purus. Nullam in est aliquam velit scelerisque blandit. In tincidunt, magna a dapibus imperdiet, quam urna elementum leo, vitae rhoncus nisl velit cursus velit. In dignissim sem ac mauris rhoncus ornare.
|
||||
</p>
|
||||
<p>
|
||||
Duis imperdiet velit vel quam malesuada suscipit imperdiet tellus hendrerit. Mauris vestibulum odio mauris, ut placerat leo. Mauris quis neque at tellus feugiat congue id non enim. Nam vehicula posuere nulla eget vehicula. Donec pretium purus nec ligula porta eu laoreet sapien venenatis. Nulla facilisi. Phasellus eget mi enim. Phasellus molestie tincidunt ultrices. Aenean id sem a tellus lobortis tincidunt. Nam laoreet nulla vel velit tincidunt ac rutrum libero malesuada. Nulla consequat dolor quis nisl tempor fermentum. Integer sodales pretium varius. Aenean a leo vitae odio dictum dignissim malesuada nec dolor. Phasellus adipiscing viverra est, ac sagittis libero sagittis quis. Sed interdum dapibus nunc et fringilla. Nunc vel velit et urna laoreet bibendum.
|
||||
</p>
|
||||
</div>
|
||||
@@ -1,26 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>fancyBox - iframe demo</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>fancyBox - iframe demo</h1>
|
||||
|
||||
<p>
|
||||
<a href="javascript:parent.jQuery.fancybox.close();">Close iframe parent</a>
|
||||
|
||||
|
|
||||
|
||||
<a href="javascript:parent.jQuery.fancybox.open({href : '1_b.jpg', title : 'My title'});">Change content</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam scelerisque justo ac eros consectetur bibendum. In hac habitasse platea dictumst. Nulla aliquam turpis et tellus elementum luctus. Duis sit amet rhoncus velit. Duis nisl ligula, mattis interdum blandit laoreet, mattis id ante. Cras pulvinar lacus vitae nisi egestas non euismod neque bibendum. Vestibulum faucibus libero id ante molestie ultricies. Vestibulum quis nibh felis. Vestibulum libero nisl, vehicula vel ullamcorper sit amet, tristique sit amet augue. Etiam urna neque, porttitor sed sodales lacinia, posuere a nisl. Vestibulum blandit neque in sapien volutpat ac condimentum sapien auctor. Ut imperdiet venenatis ultricies. Phasellus accumsan, sem eu placerat commodo, felis purus commodo ipsum, sit amet vulputate orci est viverra est.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Aenean velit est, condimentum ut iaculis ut, accumsan at mi. Maecenas velit mi, venenatis ut condimentum at, ultrices vel tortor. Curabitur pharetra ornare dapibus. Ut volutpat cursus semper. In hac habitasse platea dictumst. Donec eu iaculis ipsum. Morbi eu dolor velit, a semper nunc.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,312 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>fancyBox - Fancy jQuery Lightbox Alternative | Demonstration</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
|
||||
<!-- Add jQuery library -->
|
||||
<script type="text/javascript" src="../lib/jquery-1.10.2.min.js"></script>
|
||||
|
||||
<!-- Add mousewheel plugin (this is optional) -->
|
||||
<script type="text/javascript" src="../lib/jquery.mousewheel.pack.js?v=3.1.3"></script>
|
||||
|
||||
<!-- Add fancyBox main JS and CSS files -->
|
||||
<script type="text/javascript" src="../source/jquery.fancybox.pack.js?v=2.1.5"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../source/jquery.fancybox.css?v=2.1.5" media="screen" />
|
||||
|
||||
<!-- Add Button helper (this is optional) -->
|
||||
<link rel="stylesheet" type="text/css" href="../source/helpers/jquery.fancybox-buttons.css?v=1.0.5" />
|
||||
<script type="text/javascript" src="../source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script>
|
||||
|
||||
<!-- Add Thumbnail helper (this is optional) -->
|
||||
<link rel="stylesheet" type="text/css" href="../source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" />
|
||||
<script type="text/javascript" src="../source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>
|
||||
|
||||
<!-- Add Media helper (this is optional) -->
|
||||
<script type="text/javascript" src="../source/helpers/jquery.fancybox-media.js?v=1.0.6"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
/*
|
||||
* Simple image gallery. Uses default settings
|
||||
*/
|
||||
|
||||
$('.fancybox').fancybox();
|
||||
|
||||
/*
|
||||
* Different effects
|
||||
*/
|
||||
|
||||
// Change title type, overlay closing speed
|
||||
$(".fancybox-effects-a").fancybox({
|
||||
helpers: {
|
||||
title : {
|
||||
type : 'outside'
|
||||
},
|
||||
overlay : {
|
||||
speedOut : 0
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Disable opening and closing animations, change title type
|
||||
$(".fancybox-effects-b").fancybox({
|
||||
openEffect : 'none',
|
||||
closeEffect : 'none',
|
||||
|
||||
helpers : {
|
||||
title : {
|
||||
type : 'over'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Set custom style, close if clicked, change title type and overlay color
|
||||
$(".fancybox-effects-c").fancybox({
|
||||
wrapCSS : 'fancybox-custom',
|
||||
closeClick : true,
|
||||
|
||||
openEffect : 'none',
|
||||
|
||||
helpers : {
|
||||
title : {
|
||||
type : 'inside'
|
||||
},
|
||||
overlay : {
|
||||
css : {
|
||||
'background' : 'rgba(238,238,238,0.85)'
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Remove padding, set opening and closing animations, close if clicked and disable overlay
|
||||
$(".fancybox-effects-d").fancybox({
|
||||
padding: 0,
|
||||
|
||||
openEffect : 'elastic',
|
||||
openSpeed : 150,
|
||||
|
||||
closeEffect : 'elastic',
|
||||
closeSpeed : 150,
|
||||
|
||||
closeClick : true,
|
||||
|
||||
helpers : {
|
||||
overlay : null
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
* Button helper. Disable animations, hide close button, change title type and content
|
||||
*/
|
||||
|
||||
$('.fancybox-buttons').fancybox({
|
||||
openEffect : 'none',
|
||||
closeEffect : 'none',
|
||||
|
||||
prevEffect : 'none',
|
||||
nextEffect : 'none',
|
||||
|
||||
closeBtn : false,
|
||||
|
||||
helpers : {
|
||||
title : {
|
||||
type : 'inside'
|
||||
},
|
||||
buttons : {}
|
||||
},
|
||||
|
||||
afterLoad : function() {
|
||||
this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* Thumbnail helper. Disable animations, hide close button, arrows and slide to next gallery item if clicked
|
||||
*/
|
||||
|
||||
$('.fancybox-thumbs').fancybox({
|
||||
prevEffect : 'none',
|
||||
nextEffect : 'none',
|
||||
|
||||
closeBtn : false,
|
||||
arrows : false,
|
||||
nextClick : true,
|
||||
|
||||
helpers : {
|
||||
thumbs : {
|
||||
width : 50,
|
||||
height : 50
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
* Media helper. Group items, disable animations, hide arrows, enable media and button helpers.
|
||||
*/
|
||||
$('.fancybox-media')
|
||||
.attr('rel', 'media-gallery')
|
||||
.fancybox({
|
||||
openEffect : 'none',
|
||||
closeEffect : 'none',
|
||||
prevEffect : 'none',
|
||||
nextEffect : 'none',
|
||||
|
||||
arrows : false,
|
||||
helpers : {
|
||||
media : {},
|
||||
buttons : {}
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
* Open manually
|
||||
*/
|
||||
|
||||
$("#fancybox-manual-a").click(function() {
|
||||
$.fancybox.open('1_b.jpg');
|
||||
});
|
||||
|
||||
$("#fancybox-manual-b").click(function() {
|
||||
$.fancybox.open({
|
||||
href : 'iframe.html',
|
||||
type : 'iframe',
|
||||
padding : 5
|
||||
});
|
||||
});
|
||||
|
||||
$("#fancybox-manual-c").click(function() {
|
||||
$.fancybox.open([
|
||||
{
|
||||
href : '1_b.jpg',
|
||||
title : 'My title'
|
||||
}, {
|
||||
href : '2_b.jpg',
|
||||
title : '2nd title'
|
||||
}, {
|
||||
href : '3_b.jpg'
|
||||
}
|
||||
], {
|
||||
helpers : {
|
||||
thumbs : {
|
||||
width: 75,
|
||||
height: 50
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.fancybox-custom .fancybox-skin {
|
||||
box-shadow: 0 0 50px #222;
|
||||
}
|
||||
|
||||
body {
|
||||
max-width: 700px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>fancyBox</h1>
|
||||
|
||||
<p>This is a demonstration. More information and examples: <a href="http://fancyapps.com/fancybox/">www.fancyapps.com/fancybox/</a></p>
|
||||
|
||||
<h3>Simple image gallery</h3>
|
||||
<p>
|
||||
<a class="fancybox" href="1_b.jpg" data-fancybox-group="gallery" title="Lorem ipsum dolor sit amet"><img src="1_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox" href="2_b.jpg" data-fancybox-group="gallery" title="Etiam quis mi eu elit temp"><img src="2_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox" href="3_b.jpg" data-fancybox-group="gallery" title="Cras neque mi, semper leon"><img src="3_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox" href="4_b.jpg" data-fancybox-group="gallery" title="Sed vel sapien vel sem uno"><img src="4_s.jpg" alt="" /></a>
|
||||
</p>
|
||||
|
||||
<h3>Different effects</h3>
|
||||
<p>
|
||||
<a class="fancybox-effects-a" href="5_b.jpg" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit"><img src="5_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox-effects-b" href="5_b.jpg" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit"><img src="5_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox-effects-c" href="5_b.jpg" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit"><img src="5_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox-effects-d" href="5_b.jpg" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit"><img src="5_s.jpg" alt="" /></a>
|
||||
</p>
|
||||
|
||||
<h3>Various types</h3>
|
||||
<p>
|
||||
fancyBox will try to guess content type from href attribute but you can specify it directly by adding classname (fancybox.image, fancybox.iframe, etc).
|
||||
</p>
|
||||
<ul>
|
||||
<li><a class="fancybox" href="#inline1" title="Lorem ipsum dolor sit amet">Inline</a></li>
|
||||
<li><a class="fancybox fancybox.ajax" href="ajax.txt">Ajax</a></li>
|
||||
<li><a class="fancybox fancybox.iframe" href="iframe.html">Iframe</a></li>
|
||||
<li><a class="fancybox" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">Swf</a></li>
|
||||
</ul>
|
||||
|
||||
<div id="inline1" style="width:400px;display: none;">
|
||||
<h3>Etiam quis mi eu elit</h3>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Ajax example will not run from your local computer and requires a server to run.
|
||||
</p>
|
||||
|
||||
<h3>Button helper</h3>
|
||||
<p>
|
||||
<a class="fancybox-buttons" data-fancybox-group="button" href="1_b.jpg"><img src="1_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox-buttons" data-fancybox-group="button" href="2_b.jpg"><img src="2_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox-buttons" data-fancybox-group="button" href="3_b.jpg"><img src="3_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox-buttons" data-fancybox-group="button" href="4_b.jpg"><img src="4_s.jpg" alt="" /></a>
|
||||
</p>
|
||||
|
||||
<h3>Thumbnail helper</h3>
|
||||
<p>
|
||||
<a class="fancybox-thumbs" data-fancybox-group="thumb" href="4_b.jpg"><img src="4_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox-thumbs" data-fancybox-group="thumb" href="3_b.jpg"><img src="3_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox-thumbs" data-fancybox-group="thumb" href="2_b.jpg"><img src="2_s.jpg" alt="" /></a>
|
||||
|
||||
<a class="fancybox-thumbs" data-fancybox-group="thumb" href="1_b.jpg"><img src="1_s.jpg" alt="" /></a>
|
||||
</p>
|
||||
|
||||
<h3>Media helper</h3>
|
||||
<p>
|
||||
Will not run from your local computer, requires a server to run.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a class="fancybox-media" href="http://www.youtube.com/watch?v=opj24KnzrWo">Youtube</a></li>
|
||||
<li><a class="fancybox-media" href="http://vimeo.com/47480346">Vimeo</a></li>
|
||||
<li><a class="fancybox-media" href="http://www.metacafe.com/watch/7635964/">Metacafe</a></li>
|
||||
<li><a class="fancybox-media" href="http://www.dailymotion.com/video/xoeylt_electric-guest-this-head-i-hold_music">Dailymotion</a></li>
|
||||
<li><a class="fancybox-media" href="http://twitvid.com/QY7MD">Twitvid</a></li>
|
||||
<li><a class="fancybox-media" href="http://twitpic.com/7p93st">Twitpic</a></li>
|
||||
<li><a class="fancybox-media" href="http://instagr.am/p/IejkuUGxQn">Instagram</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Open manually</h3>
|
||||
<ul>
|
||||
<li><a id="fancybox-manual-a" href="javascript:;">Open single item</a></li>
|
||||
<li><a id="fancybox-manual-b" href="javascript:;">Open single item, custom options</a></li>
|
||||
<li><a id="fancybox-manual-c" href="javascript:;">Open gallery</a></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Photo Credit: Instagrammer @whitjohns
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,31 +0,0 @@
|
||||
{
|
||||
"name": "fancybox",
|
||||
"title": "fancyBox",
|
||||
"description": "fancyBox offers an elegant way to present images, html content and multimedia for webpages",
|
||||
"keywords": [
|
||||
"lightbox",
|
||||
"effect",
|
||||
"responsive",
|
||||
"modal",
|
||||
"window",
|
||||
"ui"
|
||||
],
|
||||
"version": "2.1.5",
|
||||
"author": {
|
||||
"name": "Janis Skarnelis",
|
||||
"url": "http://fancyapps.com/contact/"
|
||||
},
|
||||
"licenses": [
|
||||
{
|
||||
"type": "fancyBox",
|
||||
"url": "http://fancyapps.com/fancybox/#license"
|
||||
}
|
||||
],
|
||||
"homepage": "http://fancyapps.com/fancybox/",
|
||||
"docs": "http://fancyapps.com/fancybox/#docs",
|
||||
"download": "http://fancyapps.com/fancybox/#license",
|
||||
"bugs": "https://github.com/fancyapps/fancyBox/issues",
|
||||
"dependencies": {
|
||||
"jquery": ">=1.7"
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
/*! Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net)
|
||||
* Licensed under the MIT License (LICENSE.txt).
|
||||
*
|
||||
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
||||
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
||||
* Thanks to: Seamus Leahy for adding deltaX and deltaY
|
||||
*
|
||||
* Version: 3.1.3
|
||||
*
|
||||
* Requires: 1.2.2+
|
||||
*/
|
||||
;(function(c){"function"===typeof define&&define.amd?define(["jquery"],c):"object"===typeof exports?module.exports=c:c(jQuery)})(function(c){function l(b){var a=b||window.event,h=[].slice.call(arguments,1),d=0,e=0,f=0,g=0,g=0;b=c.event.fix(a);b.type="mousewheel";a.wheelDelta&&(d=a.wheelDelta);a.detail&&(d=-1*a.detail);a.deltaY&&(d=f=-1*a.deltaY);a.deltaX&&(e=a.deltaX,d=-1*e);void 0!==a.wheelDeltaY&&(f=a.wheelDeltaY);void 0!==a.wheelDeltaX&&(e=-1*a.wheelDeltaX);g=Math.abs(d);if(!m||g<m)m=g;g=Math.max(Math.abs(f),
|
||||
Math.abs(e));if(!k||g<k)k=g;a=0<d?"floor":"ceil";d=Math[a](d/m);e=Math[a](e/k);f=Math[a](f/k);try{b.originalEvent.hasOwnProperty("wheelDelta")}catch(l){f=d}h.unshift(b,d,e,f);return(c.event.dispatch||c.event.handle).apply(this,h)}var n=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||9<=document.documentMode?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],m,k;if(c.event.fixHooks)for(var p=n.length;p;)c.event.fixHooks[n[--p]]=c.event.mouseHooks;
|
||||
c.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var b=h.length;b;)this.addEventListener(h[--b],l,!1);else this.onmousewheel=l},teardown:function(){if(this.removeEventListener)for(var b=h.length;b;)this.removeEventListener(h[--b],l,!1);else this.onmousewheel=null}};c.fn.extend({mousewheel:function(b){return b?this.bind("mousewheel",b):this.trigger("mousewheel")},unmousewheel:function(b){return this.unbind("mousewheel",b)}})});
|
||||
|
Before Width: | Height: | Size: 43 B |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 1003 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,97 +0,0 @@
|
||||
#fancybox-buttons {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 8050;
|
||||
}
|
||||
|
||||
#fancybox-buttons.top {
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
#fancybox-buttons.bottom {
|
||||
bottom: 10px;
|
||||
}
|
||||
|
||||
#fancybox-buttons ul {
|
||||
display: block;
|
||||
width: 166px;
|
||||
height: 30px;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
border: 1px solid #111;
|
||||
border-radius: 3px;
|
||||
-webkit-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
|
||||
-moz-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
|
||||
box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
|
||||
background: rgb(50,50,50);
|
||||
background: -moz-linear-gradient(top, rgb(68,68,68) 0%, rgb(52,52,52) 50%, rgb(41,41,41) 50%, rgb(51,51,51) 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(68,68,68)), color-stop(50%,rgb(52,52,52)), color-stop(50%,rgb(41,41,41)), color-stop(100%,rgb(51,51,51)));
|
||||
background: -webkit-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
||||
background: -o-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
||||
background: -ms-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
||||
background: linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 );
|
||||
}
|
||||
|
||||
#fancybox-buttons ul li {
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#fancybox-buttons a {
|
||||
display: block;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
text-indent: -9999px;
|
||||
background-color: transparent;
|
||||
background-image: url('fancybox_buttons.png');
|
||||
background-repeat: no-repeat;
|
||||
outline: none;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
#fancybox-buttons a:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#fancybox-buttons a.btnPrev {
|
||||
background-position: 5px 0;
|
||||
}
|
||||
|
||||
#fancybox-buttons a.btnNext {
|
||||
background-position: -33px 0;
|
||||
border-right: 1px solid #3e3e3e;
|
||||
}
|
||||
|
||||
#fancybox-buttons a.btnPlay {
|
||||
background-position: 0 -30px;
|
||||
}
|
||||
|
||||
#fancybox-buttons a.btnPlayOn {
|
||||
background-position: -30px -30px;
|
||||
}
|
||||
|
||||
#fancybox-buttons a.btnToggle {
|
||||
background-position: 3px -60px;
|
||||
border-left: 1px solid #111;
|
||||
border-right: 1px solid #3e3e3e;
|
||||
width: 35px
|
||||
}
|
||||
|
||||
#fancybox-buttons a.btnToggleOn {
|
||||
background-position: -27px -60px;
|
||||
}
|
||||
|
||||
#fancybox-buttons a.btnClose {
|
||||
border-left: 1px solid #111;
|
||||
width: 35px;
|
||||
background-position: -56px 0px;
|
||||
}
|
||||
|
||||
#fancybox-buttons a.btnDisabled {
|
||||
opacity : 0.4;
|
||||
cursor: default;
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
/*!
|
||||
* Buttons helper for fancyBox
|
||||
* version: 1.0.5 (Mon, 15 Oct 2012)
|
||||
* @requires fancyBox v2.0 or later
|
||||
*
|
||||
* Usage:
|
||||
* $(".fancybox").fancybox({
|
||||
* helpers : {
|
||||
* buttons: {
|
||||
* position : 'top'
|
||||
* }
|
||||
* }
|
||||
* });
|
||||
*
|
||||
*/
|
||||
;(function ($) {
|
||||
//Shortcut for fancyBox object
|
||||
var F = $.fancybox;
|
||||
|
||||
//Add helper object
|
||||
F.helpers.buttons = {
|
||||
defaults : {
|
||||
skipSingle : false, // disables if gallery contains single image
|
||||
position : 'top', // 'top' or 'bottom'
|
||||
tpl : '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:;"></a></li></ul></div>'
|
||||
},
|
||||
|
||||
list : null,
|
||||
buttons: null,
|
||||
|
||||
beforeLoad: function (opts, obj) {
|
||||
//Remove self if gallery do not have at least two items
|
||||
|
||||
if (opts.skipSingle && obj.group.length < 2) {
|
||||
obj.helpers.buttons = false;
|
||||
obj.closeBtn = true;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//Increase top margin to give space for buttons
|
||||
obj.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30;
|
||||
},
|
||||
|
||||
onPlayStart: function () {
|
||||
if (this.buttons) {
|
||||
this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn');
|
||||
}
|
||||
},
|
||||
|
||||
onPlayEnd: function () {
|
||||
if (this.buttons) {
|
||||
this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn');
|
||||
}
|
||||
},
|
||||
|
||||
afterShow: function (opts, obj) {
|
||||
var buttons = this.buttons;
|
||||
|
||||
if (!buttons) {
|
||||
this.list = $(opts.tpl).addClass(opts.position).appendTo('body');
|
||||
|
||||
buttons = {
|
||||
prev : this.list.find('.btnPrev').click( F.prev ),
|
||||
next : this.list.find('.btnNext').click( F.next ),
|
||||
play : this.list.find('.btnPlay').click( F.play ),
|
||||
toggle : this.list.find('.btnToggle').click( F.toggle ),
|
||||
close : this.list.find('.btnClose').click( F.close )
|
||||
}
|
||||
}
|
||||
|
||||
//Prev
|
||||
if (obj.index > 0 || obj.loop) {
|
||||
buttons.prev.removeClass('btnDisabled');
|
||||
} else {
|
||||
buttons.prev.addClass('btnDisabled');
|
||||
}
|
||||
|
||||
//Next / Play
|
||||
if (obj.loop || obj.index < obj.group.length - 1) {
|
||||
buttons.next.removeClass('btnDisabled');
|
||||
buttons.play.removeClass('btnDisabled');
|
||||
|
||||
} else {
|
||||
buttons.next.addClass('btnDisabled');
|
||||
buttons.play.addClass('btnDisabled');
|
||||
}
|
||||
|
||||
this.buttons = buttons;
|
||||
|
||||
this.onUpdate(opts, obj);
|
||||
},
|
||||
|
||||
onUpdate: function (opts, obj) {
|
||||
var toggle;
|
||||
|
||||
if (!this.buttons) {
|
||||
return;
|
||||
}
|
||||
|
||||
toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn');
|
||||
|
||||
//Size toggle button
|
||||
if (obj.canShrink) {
|
||||
toggle.addClass('btnToggleOn');
|
||||
|
||||
} else if (!obj.canExpand) {
|
||||
toggle.addClass('btnDisabled');
|
||||
}
|
||||
},
|
||||
|
||||
beforeClose: function () {
|
||||
if (this.list) {
|
||||
this.list.remove();
|
||||
}
|
||||
|
||||
this.list = null;
|
||||
this.buttons = null;
|
||||
}
|
||||
};
|
||||
|
||||
}(jQuery));
|
||||
@@ -1,199 +0,0 @@
|
||||
/*!
|
||||
* Media helper for fancyBox
|
||||
* version: 1.0.6 (Fri, 14 Jun 2013)
|
||||
* @requires fancyBox v2.0 or later
|
||||
*
|
||||
* Usage:
|
||||
* $(".fancybox").fancybox({
|
||||
* helpers : {
|
||||
* media: true
|
||||
* }
|
||||
* });
|
||||
*
|
||||
* Set custom URL parameters:
|
||||
* $(".fancybox").fancybox({
|
||||
* helpers : {
|
||||
* media: {
|
||||
* youtube : {
|
||||
* params : {
|
||||
* autoplay : 0
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* });
|
||||
*
|
||||
* Or:
|
||||
* $(".fancybox").fancybox({,
|
||||
* helpers : {
|
||||
* media: true
|
||||
* },
|
||||
* youtube : {
|
||||
* autoplay: 0
|
||||
* }
|
||||
* });
|
||||
*
|
||||
* Supports:
|
||||
*
|
||||
* Youtube
|
||||
* http://www.youtube.com/watch?v=opj24KnzrWo
|
||||
* http://www.youtube.com/embed/opj24KnzrWo
|
||||
* http://youtu.be/opj24KnzrWo
|
||||
* http://www.youtube-nocookie.com/embed/opj24KnzrWo
|
||||
* Vimeo
|
||||
* http://vimeo.com/40648169
|
||||
* http://vimeo.com/channels/staffpicks/38843628
|
||||
* http://vimeo.com/groups/surrealism/videos/36516384
|
||||
* http://player.vimeo.com/video/45074303
|
||||
* Metacafe
|
||||
* http://www.metacafe.com/watch/7635964/dr_seuss_the_lorax_movie_trailer/
|
||||
* http://www.metacafe.com/watch/7635964/
|
||||
* Dailymotion
|
||||
* http://www.dailymotion.com/video/xoytqh_dr-seuss-the-lorax-premiere_people
|
||||
* Twitvid
|
||||
* http://twitvid.com/QY7MD
|
||||
* Twitpic
|
||||
* http://twitpic.com/7p93st
|
||||
* Instagram
|
||||
* http://instagr.am/p/IejkuUGxQn/
|
||||
* http://instagram.com/p/IejkuUGxQn/
|
||||
* Google maps
|
||||
* http://maps.google.com/maps?q=Eiffel+Tower,+Avenue+Gustave+Eiffel,+Paris,+France&t=h&z=17
|
||||
* http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16
|
||||
* http://maps.google.com/?ll=48.859463,2.292626&spn=0.000965,0.002642&t=m&z=19&layer=c&cbll=48.859524,2.292532&panoid=YJ0lq28OOy3VT2IqIuVY0g&cbp=12,151.58,,0,-15.56
|
||||
*/
|
||||
;(function ($) {
|
||||
"use strict";
|
||||
|
||||
//Shortcut for fancyBox object
|
||||
var F = $.fancybox,
|
||||
format = function( url, rez, params ) {
|
||||
params = params || '';
|
||||
|
||||
if ( $.type( params ) === "object" ) {
|
||||
params = $.param(params, true);
|
||||
}
|
||||
|
||||
$.each(rez, function(key, value) {
|
||||
url = url.replace( '$' + key, value || '' );
|
||||
});
|
||||
|
||||
if (params.length) {
|
||||
url += ( url.indexOf('?') > 0 ? '&' : '?' ) + params;
|
||||
}
|
||||
|
||||
return url;
|
||||
};
|
||||
|
||||
//Add helper object
|
||||
F.helpers.media = {
|
||||
defaults : {
|
||||
youtube : {
|
||||
matcher : /(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i,
|
||||
params : {
|
||||
autoplay : 1,
|
||||
autohide : 1,
|
||||
fs : 1,
|
||||
rel : 0,
|
||||
hd : 1,
|
||||
wmode : 'opaque',
|
||||
enablejsapi : 1
|
||||
},
|
||||
type : 'iframe',
|
||||
url : '//www.youtube.com/embed/$3'
|
||||
},
|
||||
vimeo : {
|
||||
matcher : /(?:vimeo(?:pro)?.com)\/(?:[^\d]+)?(\d+)(?:.*)/,
|
||||
params : {
|
||||
autoplay : 1,
|
||||
hd : 1,
|
||||
show_title : 1,
|
||||
show_byline : 1,
|
||||
show_portrait : 0,
|
||||
fullscreen : 1
|
||||
},
|
||||
type : 'iframe',
|
||||
url : '//player.vimeo.com/video/$1'
|
||||
},
|
||||
metacafe : {
|
||||
matcher : /metacafe.com\/(?:watch|fplayer)\/([\w\-]{1,10})/,
|
||||
params : {
|
||||
autoPlay : 'yes'
|
||||
},
|
||||
type : 'swf',
|
||||
url : function( rez, params, obj ) {
|
||||
obj.swf.flashVars = 'playerVars=' + $.param( params, true );
|
||||
|
||||
return '//www.metacafe.com/fplayer/' + rez[1] + '/.swf';
|
||||
}
|
||||
},
|
||||
dailymotion : {
|
||||
matcher : /dailymotion.com\/video\/(.*)\/?(.*)/,
|
||||
params : {
|
||||
additionalInfos : 0,
|
||||
autoStart : 1
|
||||
},
|
||||
type : 'swf',
|
||||
url : '//www.dailymotion.com/swf/video/$1'
|
||||
},
|
||||
twitvid : {
|
||||
matcher : /twitvid\.com\/([a-zA-Z0-9_\-\?\=]+)/i,
|
||||
params : {
|
||||
autoplay : 0
|
||||
},
|
||||
type : 'iframe',
|
||||
url : '//www.twitvid.com/embed.php?guid=$1'
|
||||
},
|
||||
twitpic : {
|
||||
matcher : /twitpic\.com\/(?!(?:place|photos|events)\/)([a-zA-Z0-9\?\=\-]+)/i,
|
||||
type : 'image',
|
||||
url : '//twitpic.com/show/full/$1/'
|
||||
},
|
||||
instagram : {
|
||||
matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
|
||||
type : 'image',
|
||||
url : '//$1/p/$2/media/?size=l'
|
||||
},
|
||||
google_maps : {
|
||||
matcher : /maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i,
|
||||
type : 'iframe',
|
||||
url : function( rez ) {
|
||||
return '//maps.google.' + rez[1] + '/' + rez[3] + '' + rez[4] + '&output=' + (rez[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
beforeLoad : function(opts, obj) {
|
||||
var url = obj.href || '',
|
||||
type = false,
|
||||
what,
|
||||
item,
|
||||
rez,
|
||||
params;
|
||||
|
||||
for (what in opts) {
|
||||
if (opts.hasOwnProperty(what)) {
|
||||
item = opts[ what ];
|
||||
rez = url.match( item.matcher );
|
||||
|
||||
if (rez) {
|
||||
type = item.type;
|
||||
params = $.extend(true, {}, item.params, obj[ what ] || ($.isPlainObject(opts[ what ]) ? opts[ what ].params : null));
|
||||
|
||||
url = $.type( item.url ) === "function" ? item.url.call( this, rez, params, obj ) : format( item.url, rez, params );
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (type) {
|
||||
obj.href = url;
|
||||
obj.type = type;
|
||||
|
||||
obj.autoHeight = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}(jQuery));
|
||||
@@ -1,55 +0,0 @@
|
||||
#fancybox-thumbs {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
z-index: 8050;
|
||||
}
|
||||
|
||||
#fancybox-thumbs.bottom {
|
||||
bottom: 2px;
|
||||
}
|
||||
|
||||
#fancybox-thumbs.top {
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
#fancybox-thumbs ul {
|
||||
position: relative;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#fancybox-thumbs ul li {
|
||||
float: left;
|
||||
padding: 1px;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#fancybox-thumbs ul li.active {
|
||||
opacity: 0.75;
|
||||
padding: 0;
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
|
||||
#fancybox-thumbs ul li:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#fancybox-thumbs ul li a {
|
||||
display: block;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
border: 1px solid #222;
|
||||
background: #111;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#fancybox-thumbs ul li img {
|
||||
display: block;
|
||||
position: relative;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
max-width: none;
|
||||
}
|
||||
@@ -1,165 +0,0 @@
|
||||
/*!
|
||||
* Thumbnail helper for fancyBox
|
||||
* version: 1.0.7 (Mon, 01 Oct 2012)
|
||||
* @requires fancyBox v2.0 or later
|
||||
*
|
||||
* Usage:
|
||||
* $(".fancybox").fancybox({
|
||||
* helpers : {
|
||||
* thumbs: {
|
||||
* width : 50,
|
||||
* height : 50
|
||||
* }
|
||||
* }
|
||||
* });
|
||||
*
|
||||
*/
|
||||
;(function ($) {
|
||||
//Shortcut for fancyBox object
|
||||
var F = $.fancybox;
|
||||
|
||||
//Add helper object
|
||||
F.helpers.thumbs = {
|
||||
defaults : {
|
||||
width : 50, // thumbnail width
|
||||
height : 50, // thumbnail height
|
||||
position : 'bottom', // 'top' or 'bottom'
|
||||
source : function ( item ) { // function to obtain the URL of the thumbnail image
|
||||
var href;
|
||||
|
||||
if (item.element) {
|
||||
href = $(item.element).find('img').attr('src');
|
||||
}
|
||||
|
||||
if (!href && item.type === 'image' && item.href) {
|
||||
href = item.href;
|
||||
}
|
||||
|
||||
return href;
|
||||
}
|
||||
},
|
||||
|
||||
wrap : null,
|
||||
list : null,
|
||||
width : 0,
|
||||
|
||||
init: function (opts, obj) {
|
||||
var that = this,
|
||||
list,
|
||||
thumbWidth = opts.width,
|
||||
thumbHeight = opts.height,
|
||||
thumbSource = opts.source;
|
||||
|
||||
//Build list structure
|
||||
list = '';
|
||||
|
||||
for (var n = 0; n < obj.group.length; n++) {
|
||||
list += '<li><a style="width:' + thumbWidth + 'px;height:' + thumbHeight + 'px;" href="javascript:jQuery.fancybox.jumpto(' + n + ');"></a></li>';
|
||||
}
|
||||
|
||||
this.wrap = $('<div id="fancybox-thumbs"></div>').addClass(opts.position).appendTo('body');
|
||||
this.list = $('<ul>' + list + '</ul>').appendTo(this.wrap);
|
||||
|
||||
//Load each thumbnail
|
||||
$.each(obj.group, function (i) {
|
||||
var el = obj.group[ i ],
|
||||
href = thumbSource( el );
|
||||
|
||||
if (!href) {
|
||||
return;
|
||||
}
|
||||
|
||||
$("<img />").load(function () {
|
||||
var width = this.width,
|
||||
height = this.height,
|
||||
widthRatio, heightRatio, parent;
|
||||
|
||||
if (!that.list || !width || !height) {
|
||||
return;
|
||||
}
|
||||
|
||||
//Calculate thumbnail width/height and center it
|
||||
widthRatio = width / thumbWidth;
|
||||
heightRatio = height / thumbHeight;
|
||||
|
||||
parent = that.list.children().eq(i).find('a');
|
||||
|
||||
if (widthRatio >= 1 && heightRatio >= 1) {
|
||||
if (widthRatio > heightRatio) {
|
||||
width = Math.floor(width / heightRatio);
|
||||
height = thumbHeight;
|
||||
|
||||
} else {
|
||||
width = thumbWidth;
|
||||
height = Math.floor(height / widthRatio);
|
||||
}
|
||||
}
|
||||
|
||||
$(this).css({
|
||||
width : width,
|
||||
height : height,
|
||||
top : Math.floor(thumbHeight / 2 - height / 2),
|
||||
left : Math.floor(thumbWidth / 2 - width / 2)
|
||||
});
|
||||
|
||||
parent.width(thumbWidth).height(thumbHeight);
|
||||
|
||||
$(this).hide().appendTo(parent).fadeIn(300);
|
||||
|
||||
})
|
||||
.attr('src', href)
|
||||
.attr('title', el.title);
|
||||
});
|
||||
|
||||
//Set initial width
|
||||
this.width = this.list.children().eq(0).outerWidth(true);
|
||||
|
||||
this.list.width(this.width * (obj.group.length + 1)).css('left', Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5)));
|
||||
},
|
||||
|
||||
beforeLoad: function (opts, obj) {
|
||||
//Remove self if gallery do not have at least two items
|
||||
if (obj.group.length < 2) {
|
||||
obj.helpers.thumbs = false;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//Increase bottom margin to give space for thumbs
|
||||
obj.margin[ opts.position === 'top' ? 0 : 2 ] += ((opts.height) + 15);
|
||||
},
|
||||
|
||||
afterShow: function (opts, obj) {
|
||||
//Check if exists and create or update list
|
||||
if (this.list) {
|
||||
this.onUpdate(opts, obj);
|
||||
|
||||
} else {
|
||||
this.init(opts, obj);
|
||||
}
|
||||
|
||||
//Set active element
|
||||
this.list.children().removeClass('active').eq(obj.index).addClass('active');
|
||||
},
|
||||
|
||||
//Center list
|
||||
onUpdate: function (opts, obj) {
|
||||
if (this.list) {
|
||||
this.list.stop(true).animate({
|
||||
'left': Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5))
|
||||
}, 150);
|
||||
}
|
||||
},
|
||||
|
||||
beforeClose: function () {
|
||||
if (this.wrap) {
|
||||
this.wrap.remove();
|
||||
}
|
||||
|
||||
this.wrap = null;
|
||||
this.list = null;
|
||||
this.width = 0;
|
||||
}
|
||||
}
|
||||
|
||||
}(jQuery));
|
||||
@@ -1,273 +0,0 @@
|
||||
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
|
||||
.fancybox-wrap,
|
||||
.fancybox-skin,
|
||||
.fancybox-outer,
|
||||
.fancybox-inner,
|
||||
.fancybox-image,
|
||||
.fancybox-wrap iframe,
|
||||
.fancybox-wrap object,
|
||||
.fancybox-nav,
|
||||
.fancybox-nav span,
|
||||
.fancybox-tmp
|
||||
{
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
outline: none;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.fancybox-wrap {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 8020;
|
||||
}
|
||||
|
||||
.fancybox-skin {
|
||||
position: relative;
|
||||
background: #f9f9f9;
|
||||
color: #444;
|
||||
text-shadow: none;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.fancybox-opened {
|
||||
z-index: 8030;
|
||||
}
|
||||
|
||||
.fancybox-opened .fancybox-skin {
|
||||
-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
||||
-moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
||||
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.fancybox-outer, .fancybox-inner {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.fancybox-inner {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fancybox-type-iframe .fancybox-inner {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.fancybox-error {
|
||||
color: #444;
|
||||
font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
margin: 0;
|
||||
padding: 15px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.fancybox-image, .fancybox-iframe {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.fancybox-image {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
|
||||
background-image: url(fancybox_sprite.png);
|
||||
}
|
||||
|
||||
#fancybox-loading {
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -22px;
|
||||
margin-left: -22px;
|
||||
background-position: 0 -108px;
|
||||
opacity: 0.8;
|
||||
cursor: pointer;
|
||||
z-index: 8060;
|
||||
}
|
||||
|
||||
#fancybox-loading div {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
background: url(fancybox_loading.gif) center center no-repeat;
|
||||
}
|
||||
|
||||
.fancybox-close {
|
||||
position: absolute;
|
||||
top: -18px;
|
||||
right: -18px;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
cursor: pointer;
|
||||
z-index: 8040;
|
||||
}
|
||||
|
||||
.fancybox-nav {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 40%;
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
background: transparent url(blank.gif); /* helps IE */
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
z-index: 8040;
|
||||
}
|
||||
|
||||
.fancybox-prev {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.fancybox-next {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.fancybox-nav span {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 36px;
|
||||
height: 34px;
|
||||
margin-top: -18px;
|
||||
cursor: pointer;
|
||||
z-index: 8040;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.fancybox-prev span {
|
||||
left: 10px;
|
||||
background-position: 0 -36px;
|
||||
}
|
||||
|
||||
.fancybox-next span {
|
||||
right: 10px;
|
||||
background-position: 0 -72px;
|
||||
}
|
||||
|
||||
.fancybox-nav:hover span {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.fancybox-tmp {
|
||||
position: absolute;
|
||||
top: -99999px;
|
||||
left: -99999px;
|
||||
max-width: 99999px;
|
||||
max-height: 99999px;
|
||||
overflow: visible !important;
|
||||
}
|
||||
|
||||
/* Overlay helper */
|
||||
|
||||
.fancybox-lock {
|
||||
overflow: visible !important;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.fancybox-lock body {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.fancybox-lock-test {
|
||||
overflow-y: hidden !important;
|
||||
}
|
||||
|
||||
.fancybox-overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
display: none;
|
||||
z-index: 8010;
|
||||
background: url(fancybox_overlay.png);
|
||||
}
|
||||
|
||||
.fancybox-overlay-fixed {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.fancybox-lock .fancybox-overlay {
|
||||
overflow: auto;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
/* Title helper */
|
||||
|
||||
.fancybox-title {
|
||||
visibility: hidden;
|
||||
font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
position: relative;
|
||||
text-shadow: none;
|
||||
z-index: 8050;
|
||||
}
|
||||
|
||||
.fancybox-opened .fancybox-title {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.fancybox-title-float-wrap {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 50%;
|
||||
margin-bottom: -35px;
|
||||
z-index: 8050;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fancybox-title-float-wrap .child {
|
||||
display: inline-block;
|
||||
margin-right: -100%;
|
||||
padding: 2px 20px;
|
||||
background: transparent; /* Fallback for web browsers that doesn't support RGBa */
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
-webkit-border-radius: 15px;
|
||||
-moz-border-radius: 15px;
|
||||
border-radius: 15px;
|
||||
text-shadow: 0 1px 2px #222;
|
||||
color: #FFF;
|
||||
font-weight: bold;
|
||||
line-height: 24px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.fancybox-title-outside-wrap {
|
||||
position: relative;
|
||||
margin-top: 10px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.fancybox-title-inside-wrap {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.fancybox-title-over-wrap {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
color: #fff;
|
||||
padding: 10px;
|
||||
background: #000;
|
||||
background: rgba(0, 0, 0, .8);
|
||||
}
|
||||
|
||||
/*Retina graphics!*/
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
|
||||
only screen and (min--moz-device-pixel-ratio: 1.5),
|
||||
only screen and (min-device-pixel-ratio: 1.5){
|
||||
|
||||
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
|
||||
background-image: url(fancybox_sprite@2x.png);
|
||||
background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
|
||||
}
|
||||
|
||||
#fancybox-loading div {
|
||||
background-image: url(fancybox_loading@2x.gif);
|
||||
background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
|
||||
(function(s,H,f,w){var K=f("html"),q=f(s),p=f(H),b=f.fancybox=function(){b.open.apply(this,arguments)},J=navigator.userAgent.match(/msie/i),C=null,t=H.createTouch!==w,u=function(a){return a&&a.hasOwnProperty&&a instanceof f},r=function(a){return a&&"string"===f.type(a)},F=function(a){return r(a)&&0<a.indexOf("%")},m=function(a,d){var e=parseInt(a,10)||0;d&&F(a)&&(e*=b.getViewport()[d]/100);return Math.ceil(e)},x=function(a,b){return m(a,b)+"px"};f.extend(b,{version:"2.1.5",defaults:{padding:15,margin:20,
|
||||
width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!t,fitToView:!0,aspectRatio:!1,topRatio:0.5,leftRatio:0.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},
|
||||
keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+
|
||||
(J?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,
|
||||
openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,
|
||||
isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=u(a)?f(a).get():[a]),f.each(a,function(e,c){var l={},g,h,k,n,m;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),u(c)?(l={href:c.data("fancybox-href")||c.attr("href"),title:f("<div/>").text(c.data("fancybox-title")||c.attr("title")).html(),isDom:!0,element:c},
|
||||
f.metadata&&f.extend(!0,l,c.metadata())):l=c);g=d.href||l.href||(r(c)?c:null);h=d.title!==w?d.title:l.title||"";n=(k=d.content||l.content)?"html":d.type||l.type;!n&&l.isDom&&(n=c.data("fancybox-type"),n||(n=(n=c.prop("class").match(/fancybox\.(\w+)/))?n[1]:null));r(g)&&(n||(b.isImage(g)?n="image":b.isSWF(g)?n="swf":"#"===g.charAt(0)?n="inline":r(c)&&(n="html",k=c)),"ajax"===n&&(m=g.split(/\s+/,2),g=m.shift(),m=m.shift()));k||("inline"===n?g?k=f(r(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):l.isDom&&(k=c):
|
||||
"html"===n?k=g:n||g||!l.isDom||(n="inline",k=c));f.extend(l,{href:g,type:n,content:k,title:h,selector:m});a[e]=l}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==w&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1===b.trigger("onCancel")||(b.hideLoading(),a&&(b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),
|
||||
b.coming=null,b.current||b._afterZoomOut(a)))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(b.isOpen&&!0!==a?(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]()):(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&
|
||||
(b.player.timer=setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};!0===a||!b.player.isActive&&!1!==a?b.current&&(b.current.loop||b.current.index<b.group.length-1)&&(b.player.isActive=!0,p.bind({"onCancel.player beforeClose.player":c,"onUpdate.player":e,"beforeLoad.player":d}),e(),b.trigger("onPlayStart")):c()},next:function(a){var d=b.current;d&&(r(a)||(a=d.direction.next),b.jumpto(d.index+1,a,"next"))},prev:function(a){var d=
|
||||
b.current;d&&(r(a)||(a=d.direction.prev),b.jumpto(d.index-1,a,"prev"))},jumpto:function(a,d,e){var c=b.current;c&&(a=m(a),b.direction=d||c.direction[a>=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==w&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,l;c&&(l=b._getPosition(d),a&&"scroll"===a.type?(delete l.position,c.stop(!0,!0).animate(l,200)):(c.css(l),e.pos=f.extend({},e.dim,l)))},
|
||||
update:function(a){var d=a&&a.originalEvent&&a.originalEvent.type,e=!d||"orientationchange"===d;e&&(clearTimeout(C),C=null);b.isOpen&&!C&&(C=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),C=null)},e&&!t?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,t&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),
|
||||
b.trigger("onUpdate")),b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){27===(a.which||a.keyCode)&&(a.preventDefault(),b.cancel())});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}));b.trigger("onLoading")},getViewport:function(){var a=b.current&&
|
||||
b.current.locked||!1,d={x:q.scrollLeft(),y:q.scrollTop()};a&&a.length?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=t&&s.innerWidth?s.innerWidth:q.width(),d.h=t&&s.innerHeight?s.innerHeight:q.height());return d},unbindEvents:function(){b.wrap&&u(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");q.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(q.bind("orientationchange.fb"+(t?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=
|
||||
e.which||e.keyCode,l=e.target||e.srcElement;if(27===c&&b.coming)return!1;e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||l&&(l.type||f(l).is("[contenteditable]"))||f.each(d,function(d,l){if(1<a.group.length&&l[c]!==w)return b[d](l[c]),e.preventDefault(),!1;if(-1<f.inArray(c,l))return b[d](),e.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(d,c,l,g){for(var h=f(d.target||null),k=!1;h.length&&!(k||h.is(".fancybox-skin")||h.is(".fancybox-wrap"));)k=h[0]&&!(h[0].style.overflow&&
|
||||
"hidden"===h[0].style.overflow)&&(h[0].clientWidth&&h[0].scrollWidth>h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();0!==c&&!k&&1<b.group.length&&!a.canShrink&&(0<g||0<l?b.prev(0<g?"down":"left"):(0>g||0>l)&&b.next(0>g?"up":"right"),d.preventDefault())}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&
|
||||
b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0,{},b.helpers[d].defaults,e),c)})}p.trigger(a)},isImage:function(a){return r(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return r(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=m(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,
|
||||
c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===
|
||||
c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio=!0);"iframe"===c&&t&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(t?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,x(d.padding[a]))});b.trigger("onReady");
|
||||
if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href");"image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=
|
||||
this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload=this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,
|
||||
d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",t?"auto":a.iframe.scrolling).attr("src",a.href);f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);t||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||
|
||||
b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload,e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,l,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());
|
||||
b.unbindEvents();e=a.content;c=a.type;l=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("<div>").html(e).find(a.selector):u(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",
|
||||
!1)}));break;case "image":e=a.tpl.image.replace(/\{href\}/g,g);break;case "swf":e='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',h="",f.each(a.swf,function(a,b){e+='<param name="'+a+'" value="'+b+'"></param>';h+=" "+a+'="'+b+'"'}),e+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+h+"></embed></object>"}u(e)&&e.parent().is(a.inner)||a.inner.append(e);b.trigger("beforeShow");
|
||||
a.inner.css("overflow","yes"===l?"scroll":"no"===l?"hidden":l);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(!b.isOpened)f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();else if(d.prevMethod)b.transitions[d.prevMethod]();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,l=b.skin,g=b.inner,h=b.current,c=h.width,k=h.height,n=h.minWidth,v=h.minHeight,p=h.maxWidth,
|
||||
q=h.maxHeight,t=h.scrolling,r=h.scrollOutside?h.scrollbarWidth:0,y=h.margin,z=m(y[1]+y[3]),s=m(y[0]+y[2]),w,A,u,D,B,G,C,E,I;e.add(l).add(g).width("auto").height("auto").removeClass("fancybox-tmp");y=m(l.outerWidth(!0)-l.width());w=m(l.outerHeight(!0)-l.height());A=z+y;u=s+w;D=F(c)?(a.w-A)*m(c)/100:c;B=F(k)?(a.h-u)*m(k)/100:k;if("iframe"===h.type){if(I=h.content,h.autoHeight&&1===I.data("ready"))try{I[0].contentWindow.document.location&&(g.width(D).height(9999),G=I.contents().find("body"),r&&G.css("overflow-x",
|
||||
"hidden"),B=G.outerHeight(!0))}catch(H){}}else if(h.autoWidth||h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(D),h.autoHeight||g.height(B),h.autoWidth&&(D=g.width()),h.autoHeight&&(B=g.height()),g.removeClass("fancybox-tmp");c=m(D);k=m(B);E=D/B;n=m(F(n)?m(n,"w")-A:n);p=m(F(p)?m(p,"w")-A:p);v=m(F(v)?m(v,"h")-u:v);q=m(F(q)?m(q,"h")-u:q);G=p;C=q;h.fitToView&&(p=Math.min(a.w-A,p),q=Math.min(a.h-u,q));A=a.w-z;s=a.h-s;h.aspectRatio?(c>p&&(c=p,k=m(c/E)),k>q&&(k=q,c=m(k*E)),c<n&&(c=n,k=m(c/
|
||||
E)),k<v&&(k=v,c=m(k*E))):(c=Math.max(n,Math.min(c,p)),h.autoHeight&&"iframe"!==h.type&&(g.width(c),k=g.height()),k=Math.max(v,Math.min(k,q)));if(h.fitToView)if(g.width(c).height(k),e.width(c+y),a=e.width(),z=e.height(),h.aspectRatio)for(;(a>A||z>s)&&c>n&&k>v&&!(19<d++);)k=Math.max(v,Math.min(q,k-10)),c=m(k*E),c<n&&(c=n,k=m(c/E)),c>p&&(c=p,k=m(c/E)),g.width(c).height(k),e.width(c+y),a=e.width(),z=e.height();else c=Math.max(n,Math.min(c,c-(a-A))),k=Math.max(v,Math.min(k,k-(z-s)));r&&"auto"===t&&k<B&&
|
||||
c+y+r<A&&(c+=r);g.width(c).height(k);e.width(c+y);a=e.width();z=e.height();e=(a>A||z>s)&&c>n&&k>v;c=h.aspectRatio?c<G&&k<C&&c<D&&k<B:(c<G||k<C)&&(c<D||k<B);f.extend(h,{dim:{width:x(a),height:x(z)},origWidth:D,origHeight:B,canShrink:e,canExpand:c,wPadding:y,hPadding:w,wrapSpace:z-l.outerHeight(!0),skinSpace:l.height()-k});!I&&h.autoHeight&&k>v&&k<q&&!c&&g.height("auto")},_getPosition:function(a){var d=b.current,e=b.getViewport(),c=d.margin,f=b.wrap.width()+c[1]+c[3],g=b.wrap.height()+c[0]+c[2],c={position:"absolute",
|
||||
top:c[0],left:c[3]};d.autoCenter&&d.fixed&&!a&&g<=e.h&&f<=e.w?c.position="fixed":d.locked||(c.top+=e.y,c.left+=e.x);c.top=x(Math.max(c.top,c.top+(e.h-g)*d.topRatio));c.left=x(Math.max(c.left,c.left+(e.w-f)*d.leftRatio));return c},_afterZoomIn:function(){var a=b.current;a&&((b.isOpen=b.isOpened=!0,b.wrap.css("overflow","visible").addClass("fancybox-opened"),b.update(),(a.closeClick||a.nextClick&&1<b.group.length)&&b.inner.css("cursor","pointer").bind("click.fb",function(d){f(d.target).is("a")||f(d.target).parent().is("a")||
|
||||
(d.preventDefault(),b[a.closeClick?"close":"next"]())}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",function(a){a.preventDefault();b.close()}),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),a.loop||a.index!==a.group.length-1)?b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay=!1,b.play(!0)):b.play(!1))},
|
||||
_afterZoomOut:function(a){a=a||b.current;f(".fancybox-wrap").trigger("onReset").remove();f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,d=a.element,e=a.orig,c={},f=50,g=50,h=a.hPadding,k=a.wPadding,n=b.getViewport();!e&&a.isDom&&d.is(":visible")&&(e=d.find("img:first"),e.length||(e=d));u(e)?(c=e.offset(),e.is("img")&&
|
||||
(f=e.outerWidth(),g=e.outerHeight())):(c.top=n.y+(n.h-g)*a.topRatio,c.left=n.x+(n.w-f)*a.leftRatio);if("fixed"===b.wrap.css("position")||a.locked)c.top-=n.y,c.left-=n.x;return c={top:x(c.top-h*a.topRatio),left:x(c.left-k*a.leftRatio),width:x(f+k),height:x(g+h)}},step:function(a,d){var e,c,f=d.prop;c=b.current;var g=c.wrapSpace,h=c.skinSpace;if("width"===f||"height"===f)e=d.end===d.start?1:(a-d.start)/(d.end-d.start),b.isClosing&&(e=1-e),c="width"===f?c.wPadding:c.hPadding,c=a-c,b.skin[f](m("width"===
|
||||
f?c:c-g*e)),b.inner[f](m("width"===f?c:c-g*e-h*e))},zoomIn:function(){var a=b.current,d=a.pos,e=a.openEffect,c="elastic"===e,l=f.extend({opacity:1},d);delete l.position;c?(d=this.getOrigPosition(),a.openOpacity&&(d.opacity=0.1)):"fade"===e&&(d.opacity=0.1);b.wrap.css(d).animate(l,{duration:"none"===e?0:a.openSpeed,easing:a.openEasing,step:c?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,d=a.closeEffect,e="elastic"===d,c={opacity:0.1};e&&(c=this.getOrigPosition(),a.closeOpacity&&
|
||||
(c.opacity=0.1));b.wrap.animate(c,{duration:"none"===d?0:a.closeSpeed,easing:a.closeEasing,step:e?this.step:null,complete:b._afterZoomOut})},changeIn:function(){var a=b.current,d=a.nextEffect,e=a.pos,c={opacity:1},f=b.direction,g;e.opacity=0.1;"elastic"===d&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(e[g]=x(m(e[g])-200),c[g]="+=200px"):(e[g]=x(m(e[g])+200),c[g]="-=200px"));"none"===d?b._afterZoomIn():b.wrap.css(e).animate(c,{duration:a.nextSpeed,easing:a.nextEasing,complete:b._afterZoomIn})},
|
||||
changeOut:function(){var a=b.previous,d=a.prevEffect,e={opacity:0.1},c=b.direction;"elastic"===d&&(e["down"===c||"up"===c?"top":"left"]=("up"===c||"left"===c?"-":"+")+"=200px");a.wrap.animate(e,{duration:"none"===d?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!t,fixed:!0},overlay:null,fixed:!1,el:f("html"),create:function(a){var d;a=f.extend({},this.defaults,a);this.overlay&&
|
||||
this.close();d=b.coming?b.coming.parent:a.parent;this.overlay=f('<div class="fancybox-overlay"></div>').appendTo(d&&d.lenth?d:"body");this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(q.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&&this.overlay.bind("click.overlay",
|
||||
function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive?b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){q.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),this.el.removeClass("fancybox-lock"),q.scrollTop(this.scrollV).scrollLeft(this.scrollH));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");
|
||||
J?(b=Math.max(H.documentElement.offsetWidth,H.body.offsetWidth),p.width()>b&&(a=p.width())):p.width()>q.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&this.fixed&&b.fixed&&(b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){b.locked&&!this.el.hasClass("fancybox-lock")&&(!1!==this.fixPosition&&f("*").filter(function(){return"fixed"===
|
||||
f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin"),this.scrollV=q.scrollTop(),this.scrollH=q.scrollLeft(),this.el.addClass("fancybox-lock"),q.scrollTop(this.scrollV).scrollLeft(this.scrollH));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",
|
||||
position:"bottom"},beforeShow:function(a){var d=b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(r(e)&&""!==f.trim(e)){d=f('<div class="fancybox-title fancybox-title-'+c+'-wrap">'+e+"</div>");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),J&&d.width(d.width()),d.wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(m(d.css("margin-bottom")))}d["top"===a.position?"prependTo":
|
||||
"appendTo"](c)}}};f.fn.fancybox=function(a){var d,e=f(this),c=this.selector||"",l=function(g){var h=f(this).blur(),k=d,l,m;g.ctrlKey||g.altKey||g.shiftKey||g.metaKey||h.is(".fancybox-wrap")||(l=a.groupAttr||"data-fancybox-group",m=h.attr(l),m||(l="rel",m=h.get(0)[l]),m&&""!==m&&"nofollow"!==m&&(h=c.length?f(c):e,h=h.filter("["+l+'="'+m+'"]'),k=h.index(this)),a.index=k,!1!==b.open(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;c&&!1!==a.live?p.undelegate(c,"click.fb-start").delegate(c+":not('.fancybox-item, .fancybox-nav')",
|
||||
"click.fb-start",l):e.unbind("click.fb-start").bind("click.fb-start",l);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===w&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});f.support.fixedPosition===w&&(f.support.fixedPosition=function(){var a=f('<div style="position:fixed;top:20px;"></div>').appendTo("body"),
|
||||
b=20===a[0].offsetTop||15===a[0].offsetTop;a.remove();return b}());f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(s).width();K.addClass("fancybox-lock-test");d=f(s).width();K.removeClass("fancybox-lock-test");f("<style type='text/css'>.fancybox-margin{margin-right:"+(d-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery);
|
||||
1
mayan/apps/appearance/static/appearance/vendors/fancybox-master/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules/*
|
||||
62
mayan/apps/appearance/static/appearance/vendors/fancybox-master/README.md
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
# fancyBox
|
||||
|
||||
jQuery lightbox script for displaying images, videos and more.
|
||||
Touch enabled, responsive and fully customizable.
|
||||
|
||||
See the [project page](http://fancyapps.com/fancybox/3/) for documentation and a demonstration.
|
||||
|
||||
Follow [@thefancyapps](//twitter.com/thefancyapps) for updates.
|
||||
|
||||
|
||||
## Quick start
|
||||
|
||||
1\. Add latest jQuery and fancyBox files
|
||||
|
||||
```html
|
||||
<script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
|
||||
|
||||
<link href="/path/to/jquery.fancybox.min.css" rel="stylesheet">
|
||||
<script src="/path/to/jquery.fancybox.min.js"></script>
|
||||
```
|
||||
|
||||
|
||||
2\. Create links
|
||||
|
||||
```html
|
||||
<a data-fancybox="gallery" href="big_1.jpg">
|
||||
<img src="small_1.jpg">
|
||||
</a>
|
||||
|
||||
<a data-fancybox="gallery" href="big_2.jpg">
|
||||
<img src="small_2.jpg">
|
||||
</a>
|
||||
```
|
||||
|
||||
|
||||
3\. Enjoy!
|
||||
|
||||
|
||||
## License
|
||||
|
||||
fancyBox is licensed under the [GPLv3](http://choosealicense.com/licenses/gpl-3.0) license for all open source applications.
|
||||
A commercial license is required for all commercial applications (including sites, themes and apps you plan to sell).
|
||||
|
||||
[Read more about fancyBox license](http://fancyapps.com/fancybox/#license).
|
||||
|
||||
## Bugs and feature requests
|
||||
|
||||
If you find a bug, please report it [here on Github](https://github.com/fancyapps/fancybox/issues).
|
||||
|
||||
Guidelines for bug reports:
|
||||
|
||||
1. Use the GitHub issue search — check if the issue has already been reported.
|
||||
2. Check if the issue has been fixed — try to reproduce it using the latest master or development branch in the repository.
|
||||
3. Isolate the problem — create a reduced test case and a live example. You can use CodePen to fork any demo found on documentation to use it as a template.
|
||||
|
||||
A good bug report shouldn't leave others needing to chase you up for more information.
|
||||
Please try to be as detailed as possible in your report.
|
||||
|
||||
|
||||
Feature requests are welcome. Please look for existing ones and use GitHub's "reactions" feature to vote.
|
||||
|
||||
Please do not use the issue tracker for personal support requests - use Stack Overflow ([fancybox-3](http://stackoverflow.com/questions/tagged/fancybox-3) tag) instead.
|
||||
23
mayan/apps/appearance/static/appearance/vendors/fancybox-master/bower.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "fancybox",
|
||||
"description": "Touch enabled, responsive and fully customizable jQuery lightbox script",
|
||||
"keywords": [
|
||||
"touch",
|
||||
"responsive",
|
||||
"lightbox",
|
||||
"fancybox",
|
||||
"gallery",
|
||||
"jQuery",
|
||||
"plugin"
|
||||
],
|
||||
"homepage": "http://fancyapps.com/fancybox/",
|
||||
"license": "GPL-3.0",
|
||||
"moduleType": "globals",
|
||||
"main": [
|
||||
"dist/jquery.fancybox.min.css",
|
||||
"dist/jquery.fancybox.min.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">=1.9.0"
|
||||
}
|
||||
}
|
||||
771
mayan/apps/appearance/static/appearance/vendors/fancybox-master/dist/jquery.fancybox.css
vendored
Normal file
5238
mayan/apps/appearance/static/appearance/vendors/fancybox-master/dist/jquery.fancybox.js
vendored
Normal file
1
mayan/apps/appearance/static/appearance/vendors/fancybox-master/dist/jquery.fancybox.min.css
vendored
Normal file
12
mayan/apps/appearance/static/appearance/vendors/fancybox-master/dist/jquery.fancybox.min.js
vendored
Normal file
1909
mayan/apps/appearance/static/appearance/vendors/fancybox-master/docs/index.html
vendored
Normal file
67
mayan/apps/appearance/static/appearance/vendors/fancybox-master/gulpfile.js
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
var gulp = require('gulp'),
|
||||
livereload = require('gulp-livereload'),
|
||||
concat = require('gulp-concat'),
|
||||
uglify = require('gulp-uglify'),
|
||||
rename = require('gulp-rename'),
|
||||
cssnano = require('gulp-cssnano'),
|
||||
sass = require('gulp-sass'),
|
||||
autoprefixer = require('gulp-autoprefixer'),
|
||||
header = require('gulp-header'),
|
||||
replace = require('gulp-replace'),
|
||||
gutil = require('gulp-util');
|
||||
|
||||
var pkg = require('./package.json');
|
||||
var banner = ['// ==================================================',
|
||||
'// fancyBox v${pkg.version}',
|
||||
'//',
|
||||
'// Licensed GPLv3 for open source use',
|
||||
'// or fancyBox Commercial License for commercial use',
|
||||
'//',
|
||||
'// http://fancyapps.com/fancybox/',
|
||||
'// Copyright ${new Date().getFullYear()} fancyApps',
|
||||
'//',
|
||||
'// ==================================================',
|
||||
''].join('\n');
|
||||
|
||||
// Concatenate & Minify JS
|
||||
|
||||
gulp.task('scripts', function() {
|
||||
return gulp.src([
|
||||
'src/js/core.js',
|
||||
'src/js/media.js',
|
||||
'src/js/guestures.js',
|
||||
'src/js/slideshow.js',
|
||||
'src/js/fullscreen.js',
|
||||
'src/js/thumbs.js',
|
||||
'src/js/hash.js',
|
||||
'src/js/wheel.js'
|
||||
])
|
||||
.pipe(concat('jquery.fancybox.js'))
|
||||
.pipe(replace(/({fancybox-version})/g, pkg.version))
|
||||
.pipe(header(banner, { pkg : pkg } ))
|
||||
.pipe(gulp.dest('dist'))
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(uglify())
|
||||
.pipe(header(banner, { pkg : pkg } ))
|
||||
.pipe(gulp.dest('dist'));
|
||||
});
|
||||
|
||||
|
||||
// Compile CSS
|
||||
|
||||
gulp.task('css', function() {
|
||||
return gulp.src('src/css/*.css') // Gets all files src/css
|
||||
.pipe(sass())
|
||||
.pipe(autoprefixer({
|
||||
browsers: ['last 5 versions'],
|
||||
cascade: false
|
||||
}))
|
||||
.pipe(concat('jquery.fancybox.css'))
|
||||
.pipe(gulp.dest('dist'))
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(cssnano({zindex: false}))
|
||||
.pipe(gulp.dest('dist'));
|
||||
});
|
||||
|
||||
// Default Task
|
||||
gulp.task('default', ['scripts', 'css']);
|
||||
51
mayan/apps/appearance/static/appearance/vendors/fancybox-master/package.json
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"name": "@fancyapps/fancybox",
|
||||
"description": "Touch enabled, responsive and fully customizable jQuery lightbox script",
|
||||
"version": "3.2.10",
|
||||
"homepage": "http://fancyapps.com/fancybox/",
|
||||
"main": "./dist/jquery.fancybox.js",
|
||||
"author": "fancyApps",
|
||||
"license": "GPL-3.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/fancyapps/fancybox.git"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"jquery": ">=1.9.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"del": "^2.2.2",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-autoprefixer": "^3.1.1",
|
||||
"gulp-concat": "^2.6.1",
|
||||
"gulp-cssnano": "^2.1.2",
|
||||
"gulp-header": "^1.8.8",
|
||||
"gulp-jshint": "^2.0.4",
|
||||
"gulp-livereload": "^3.8.1",
|
||||
"gulp-notify": "^2.2.0",
|
||||
"gulp-rename": "^1.2.2",
|
||||
"gulp-replace": "^0.5.4",
|
||||
"gulp-sass": "^3.0.0",
|
||||
"gulp-uglify": "^2.0.0",
|
||||
"gulp-util": "^3.0.8",
|
||||
"jshint": "^2.9.4"
|
||||
},
|
||||
"keywords": [
|
||||
"touch",
|
||||
"responsive",
|
||||
"lightbox",
|
||||
"fancybox",
|
||||
"gallery",
|
||||
"jQuery",
|
||||
"plugin"
|
||||
],
|
||||
"bugs": {
|
||||
"url": "https://github.com/fancyapps/fancybox/issues"
|
||||
},
|
||||
"directories": {
|
||||
"doc": "docs"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
}
|
||||
}
|
||||
619
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/css/core.css
vendored
Normal file
11
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/css/fullscreen.css
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
/* Fullscreen */
|
||||
|
||||
.fancybox-button--fullscreen::before {
|
||||
width: 15px;
|
||||
height: 11px;
|
||||
left: calc(50% - 7px);
|
||||
top: calc(50% - 6px);
|
||||
border: 2px solid;
|
||||
background: none;
|
||||
}
|
||||
97
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/css/share.css
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
/* Share */
|
||||
|
||||
.fancybox-share {
|
||||
padding: 30px;
|
||||
border-radius: 3px;
|
||||
background: #f4f4f4;
|
||||
max-width: 90%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fancybox-share h1 {
|
||||
color: #222;
|
||||
margin: 0 0 20px 0;
|
||||
font-size: 35px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.fancybox-share p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
p.fancybox-share__links {
|
||||
margin-right: -10px;
|
||||
}
|
||||
|
||||
.fancybox-share__button {
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
margin: 0 10px 10px 0;
|
||||
padding: 0 15px;
|
||||
min-width: 130px;
|
||||
border: 0;
|
||||
border-radius: 3px;
|
||||
background: #fff;
|
||||
white-space: nowrap;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
line-height: 40px;
|
||||
user-select: none;
|
||||
color: #fff;
|
||||
transition: all .2s;
|
||||
}
|
||||
|
||||
.fancybox-share__button:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.fancybox-share__button--fb {
|
||||
background: #3b5998;
|
||||
}
|
||||
|
||||
.fancybox-share__button--fb:hover {
|
||||
background: #344e86;
|
||||
}
|
||||
|
||||
.fancybox-share__button--pt {
|
||||
background: #bd081d;
|
||||
}
|
||||
|
||||
.fancybox-share__button--pt:hover {
|
||||
background: #aa0719;
|
||||
}
|
||||
|
||||
.fancybox-share__button--tw {
|
||||
background: #1da1f2;
|
||||
}
|
||||
|
||||
.fancybox-share__button--tw:hover {
|
||||
background: #0d95e8;
|
||||
}
|
||||
|
||||
.fancybox-share__button svg {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
margin-right: 7px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.fancybox-share__button svg path {
|
||||
fill: #fff;
|
||||
}
|
||||
|
||||
.fancybox-share__input {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
margin: 10px 0 0 0;
|
||||
padding: 10px 15px;
|
||||
background: transparent;
|
||||
color: #5d5b5b;
|
||||
font-size: 14px;
|
||||
outline: none;
|
||||
border: 0;
|
||||
border-bottom: 2px solid #d7d7d7;
|
||||
}
|
||||
26
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/css/slideshow.css
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
/* Slideshow button */
|
||||
|
||||
.fancybox-button--play {}
|
||||
|
||||
.fancybox-button--play::before,
|
||||
.fancybox-button--pause::before {
|
||||
top: calc(50% - 6px);
|
||||
left: calc(50% - 4px);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.fancybox-button--play::before {
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 6px inset transparent;
|
||||
border-bottom: 6px inset transparent;
|
||||
border-left: 10px solid;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.fancybox-button--pause::before {
|
||||
width: 7px;
|
||||
height: 11px;
|
||||
border-style: solid;
|
||||
border-width: 0 2px 0 2px;
|
||||
}
|
||||
128
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/css/thumbs.css
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
|
||||
/* Thumbs */
|
||||
|
||||
.fancybox-thumbs {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 212px;
|
||||
margin: 0;
|
||||
padding: 2px 2px 4px 2px;
|
||||
background: #fff;
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
-webkit-overflow-scrolling: touch;
|
||||
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||
box-sizing: border-box;
|
||||
z-index: 99995;
|
||||
}
|
||||
|
||||
.fancybox-thumbs-x {
|
||||
overflow-y: hidden;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.fancybox-show-thumbs .fancybox-thumbs {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.fancybox-show-thumbs .fancybox-inner {
|
||||
right: 212px;
|
||||
}
|
||||
|
||||
.fancybox-thumbs > ul {
|
||||
list-style: none;
|
||||
position: absolute;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
font-size: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.fancybox-thumbs-x > ul {
|
||||
overflow : hidden;
|
||||
}
|
||||
|
||||
.fancybox-thumbs-y > ul::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
}
|
||||
|
||||
.fancybox-thumbs-y > ul::-webkit-scrollbar-track {
|
||||
background: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
.fancybox-thumbs-y > ul::-webkit-scrollbar-thumb {
|
||||
background: #2a2a2a;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.fancybox-thumbs > ul > li {
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
margin: 2px;
|
||||
width: 100px;
|
||||
height: 75px;
|
||||
max-width: calc(50% - 4px);
|
||||
max-height: calc(100% - 8px);
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
backface-visibility: hidden;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
li.fancybox-thumbs-loading {
|
||||
background: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.fancybox-thumbs > ul > li > img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
max-width: none;
|
||||
max-height: none;
|
||||
-webkit-touch-callout: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.fancybox-thumbs > ul > li:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
border: 4px solid #4ea7f9;
|
||||
z-index: 99991;
|
||||
opacity: 0;
|
||||
transition: all 0.2s cubic-bezier(.25,.46,.45,.94);
|
||||
}
|
||||
|
||||
.fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Styling for Small-Screen Devices */
|
||||
@media all and (max-width: 800px) {
|
||||
.fancybox-thumbs {
|
||||
width: 110px;
|
||||
}
|
||||
|
||||
.fancybox-show-thumbs .fancybox-inner {
|
||||
right: 110px;
|
||||
}
|
||||
|
||||
.fancybox-thumbs > ul > li {
|
||||
max-width: calc(100% - 10px);
|
||||
}
|
||||
}
|
||||
3097
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/js/core.js
vendored
Normal file
210
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/js/fullscreen.js
vendored
Normal file
@@ -0,0 +1,210 @@
|
||||
// ==========================================================================
|
||||
//
|
||||
// FullScreen
|
||||
// Adds fullscreen functionality
|
||||
//
|
||||
// ==========================================================================
|
||||
;(function (document, $) {
|
||||
'use strict';
|
||||
|
||||
// Collection of methods supported by user browser
|
||||
var fn = (function () {
|
||||
|
||||
var fnMap = [
|
||||
[
|
||||
'requestFullscreen',
|
||||
'exitFullscreen',
|
||||
'fullscreenElement',
|
||||
'fullscreenEnabled',
|
||||
'fullscreenchange',
|
||||
'fullscreenerror'
|
||||
],
|
||||
// new WebKit
|
||||
[
|
||||
'webkitRequestFullscreen',
|
||||
'webkitExitFullscreen',
|
||||
'webkitFullscreenElement',
|
||||
'webkitFullscreenEnabled',
|
||||
'webkitfullscreenchange',
|
||||
'webkitfullscreenerror'
|
||||
|
||||
],
|
||||
// old WebKit (Safari 5.1)
|
||||
[
|
||||
'webkitRequestFullScreen',
|
||||
'webkitCancelFullScreen',
|
||||
'webkitCurrentFullScreenElement',
|
||||
'webkitCancelFullScreen',
|
||||
'webkitfullscreenchange',
|
||||
'webkitfullscreenerror'
|
||||
|
||||
],
|
||||
[
|
||||
'mozRequestFullScreen',
|
||||
'mozCancelFullScreen',
|
||||
'mozFullScreenElement',
|
||||
'mozFullScreenEnabled',
|
||||
'mozfullscreenchange',
|
||||
'mozfullscreenerror'
|
||||
],
|
||||
[
|
||||
'msRequestFullscreen',
|
||||
'msExitFullscreen',
|
||||
'msFullscreenElement',
|
||||
'msFullscreenEnabled',
|
||||
'MSFullscreenChange',
|
||||
'MSFullscreenError'
|
||||
]
|
||||
];
|
||||
|
||||
var val;
|
||||
var ret = {};
|
||||
var i, j;
|
||||
|
||||
for ( i = 0; i < fnMap.length; i++ ) {
|
||||
val = fnMap[ i ];
|
||||
|
||||
if ( val && val[ 1 ] in document ) {
|
||||
for ( j = 0; j < val.length; j++ ) {
|
||||
ret[ fnMap[ 0 ][ j ] ] = val[ j ];
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
})();
|
||||
|
||||
// If browser does not have Full Screen API, then simply unset default button template and stop
|
||||
if ( !fn ) {
|
||||
|
||||
if ( $ && $.fancybox ) {
|
||||
$.fancybox.defaults.btnTpl.fullScreen = false;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var FullScreen = {
|
||||
|
||||
request : function ( elem ) {
|
||||
|
||||
elem = elem || document.documentElement;
|
||||
|
||||
elem[ fn.requestFullscreen ]( elem.ALLOW_KEYBOARD_INPUT );
|
||||
|
||||
},
|
||||
exit : function () {
|
||||
|
||||
document[ fn.exitFullscreen ]();
|
||||
|
||||
},
|
||||
toggle : function ( elem ) {
|
||||
|
||||
elem = elem || document.documentElement;
|
||||
|
||||
if ( this.isFullscreen() ) {
|
||||
this.exit();
|
||||
|
||||
} else {
|
||||
this.request( elem );
|
||||
}
|
||||
|
||||
},
|
||||
isFullscreen : function() {
|
||||
|
||||
return Boolean( document[ fn.fullscreenElement ] );
|
||||
|
||||
},
|
||||
enabled : function() {
|
||||
|
||||
return Boolean( document[ fn.fullscreenEnabled ] );
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
$.extend(true, $.fancybox.defaults, {
|
||||
btnTpl : {
|
||||
fullScreen :
|
||||
'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="{{FULL_SCREEN}}">' +
|
||||
'<svg viewBox="0 0 40 40">' +
|
||||
'<path d="M9,12 h22 v16 h-22 v-16 v16 h22 v-16 Z" />' +
|
||||
'</svg>' +
|
||||
'</button>'
|
||||
},
|
||||
fullScreen : {
|
||||
autoStart : false
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on({
|
||||
'onInit.fb' : function(e, instance) {
|
||||
var $container;
|
||||
|
||||
if ( instance && instance.group[ instance.currIndex ].opts.fullScreen ) {
|
||||
$container = instance.$refs.container;
|
||||
|
||||
$container.on('click.fb-fullscreen', '[data-fancybox-fullscreen]', function(e) {
|
||||
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
|
||||
FullScreen.toggle( $container[ 0 ] );
|
||||
|
||||
});
|
||||
|
||||
if ( instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true ) {
|
||||
FullScreen.request( $container[ 0 ] );
|
||||
}
|
||||
|
||||
// Expose API
|
||||
instance.FullScreen = FullScreen;
|
||||
|
||||
} else if ( instance ) {
|
||||
instance.$refs.toolbar.find('[data-fancybox-fullscreen]').hide();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
'afterKeydown.fb' : function(e, instance, current, keypress, keycode) {
|
||||
|
||||
// "P" or Spacebar
|
||||
if ( instance && instance.FullScreen && keycode === 70 ) {
|
||||
keypress.preventDefault();
|
||||
|
||||
instance.FullScreen.toggle( instance.$refs.container[ 0 ] );
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
'beforeClose.fb' : function( instance ) {
|
||||
if ( instance && instance.FullScreen ) {
|
||||
FullScreen.exit();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on(fn.fullscreenchange, function() {
|
||||
var isFullscreen = FullScreen.isFullscreen(),
|
||||
instance = $.fancybox.getInstance();
|
||||
|
||||
if ( instance ) {
|
||||
|
||||
// If image is zooming, then force to stop and reposition properly
|
||||
if ( instance.current && instance.current.type === 'image' && instance.isAnimating ) {
|
||||
instance.current.$content.css( 'transition', 'none' );
|
||||
|
||||
instance.isAnimating = false;
|
||||
|
||||
instance.update( true, true, 0 );
|
||||
}
|
||||
|
||||
instance.trigger( 'onFullscreenChange', isFullscreen );
|
||||
|
||||
instance.$refs.container.toggleClass( 'fancybox-is-fullscreen', isFullscreen );
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}( document, window.jQuery || jQuery ));
|
||||
919
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/js/guestures.js
vendored
Normal file
218
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/js/hash.js
vendored
Normal file
@@ -0,0 +1,218 @@
|
||||
// ==========================================================================
|
||||
//
|
||||
// Hash
|
||||
// Enables linking to each modal
|
||||
//
|
||||
// ==========================================================================
|
||||
;(function (document, window, $) {
|
||||
'use strict';
|
||||
|
||||
// Simple $.escapeSelector polyfill (for jQuery prior v3)
|
||||
if ( !$.escapeSelector ) {
|
||||
$.escapeSelector = function( sel ) {
|
||||
var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
|
||||
var fcssescape = function( ch, asCodePoint ) {
|
||||
if ( asCodePoint ) {
|
||||
// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
|
||||
if ( ch === "\0" ) {
|
||||
return "\uFFFD";
|
||||
}
|
||||
|
||||
// Control characters and (dependent upon position) numbers get escaped as code points
|
||||
return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
|
||||
}
|
||||
|
||||
// Other potentially-special ASCII characters get backslash-escaped
|
||||
return "\\" + ch;
|
||||
};
|
||||
|
||||
return ( sel + "" ).replace( rcssescape, fcssescape );
|
||||
};
|
||||
}
|
||||
|
||||
// Create new history entry only once
|
||||
var shouldCreateHistory = true;
|
||||
|
||||
// Variable containing last hash value set by fancyBox
|
||||
// It will be used to determine if fancyBox needs to close after hash change is detected
|
||||
var currentHash = null;
|
||||
|
||||
// Throttling the history change
|
||||
var timerID = null;
|
||||
|
||||
// Get info about gallery name and current index from url
|
||||
function parseUrl() {
|
||||
var hash = window.location.hash.substr( 1 );
|
||||
var rez = hash.split( '-' );
|
||||
var index = rez.length > 1 && /^\+?\d+$/.test( rez[ rez.length - 1 ] ) ? parseInt( rez.pop( -1 ), 10 ) || 1 : 1;
|
||||
var gallery = rez.join( '-' );
|
||||
|
||||
// Index is starting from 1
|
||||
if ( index < 1 ) {
|
||||
index = 1;
|
||||
}
|
||||
|
||||
return {
|
||||
hash : hash,
|
||||
index : index,
|
||||
gallery : gallery
|
||||
};
|
||||
}
|
||||
|
||||
// Trigger click evnt on links to open new fancyBox instance
|
||||
function triggerFromUrl( url ) {
|
||||
var $el;
|
||||
|
||||
if ( url.gallery !== '' ) {
|
||||
|
||||
// If we can find element matching 'data-fancybox' atribute, then trigger click event for that ..
|
||||
$el = $( "[data-fancybox='" + $.escapeSelector( url.gallery ) + "']" ).eq( url.index - 1 );
|
||||
|
||||
if ( !$el.length ) {
|
||||
// .. if not, try finding element by ID
|
||||
$el = $( "#" + $.escapeSelector( url.gallery ) + "" );
|
||||
}
|
||||
|
||||
if ( $el.length ) {
|
||||
shouldCreateHistory = false;
|
||||
|
||||
$el.trigger( 'click' );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Get gallery name from current instance
|
||||
function getGalleryID( instance ) {
|
||||
var opts;
|
||||
|
||||
if ( !instance ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
opts = instance.current ? instance.current.opts : instance.opts;
|
||||
|
||||
return opts.hash || ( opts.$orig ? opts.$orig.data( 'fancybox' ) : '' );
|
||||
}
|
||||
|
||||
// Start when DOM becomes ready
|
||||
$(function() {
|
||||
|
||||
// Check if user has disabled this module
|
||||
if ( $.fancybox.defaults.hash === false ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Update hash when opening/closing fancyBox
|
||||
$(document).on({
|
||||
'onInit.fb' : function( e, instance ) {
|
||||
var url, gallery;
|
||||
|
||||
if ( instance.group[ instance.currIndex ].opts.hash === false ) {
|
||||
return;
|
||||
}
|
||||
|
||||
url = parseUrl();
|
||||
gallery = getGalleryID( instance );
|
||||
|
||||
// Make sure gallery start index matches index from hash
|
||||
if ( gallery && url.gallery && gallery == url.gallery ) {
|
||||
instance.currIndex = url.index - 1;
|
||||
}
|
||||
},
|
||||
|
||||
'beforeShow.fb' : function( e, instance, current ) {
|
||||
var gallery;
|
||||
|
||||
if ( !current || current.opts.hash === false ) {
|
||||
return;
|
||||
}
|
||||
|
||||
gallery = getGalleryID( instance );
|
||||
|
||||
// Update window hash
|
||||
if ( gallery && gallery !== '' ) {
|
||||
|
||||
if ( window.location.hash.indexOf( gallery ) < 0 ) {
|
||||
instance.opts.origHash = window.location.hash;
|
||||
}
|
||||
|
||||
currentHash = gallery + ( instance.group.length > 1 ? '-' + ( current.index + 1 ) : '' );
|
||||
|
||||
if ( 'replaceState' in window.history ) {
|
||||
if ( timerID ) {
|
||||
clearTimeout( timerID );
|
||||
}
|
||||
|
||||
timerID = setTimeout(function() {
|
||||
window.history[ shouldCreateHistory ? 'pushState' : 'replaceState' ]( {} , document.title, window.location.pathname + window.location.search + '#' + currentHash );
|
||||
|
||||
timerID = null;
|
||||
|
||||
shouldCreateHistory = false;
|
||||
|
||||
}, 300);
|
||||
|
||||
} else {
|
||||
window.location.hash = currentHash;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
'beforeClose.fb' : function( e, instance, current ) {
|
||||
var gallery, origHash;
|
||||
|
||||
if ( timerID ) {
|
||||
clearTimeout( timerID );
|
||||
}
|
||||
|
||||
if ( current.opts.hash === false ) {
|
||||
return;
|
||||
}
|
||||
|
||||
gallery = getGalleryID( instance );
|
||||
origHash = instance && instance.opts.origHash ? instance.opts.origHash : '';
|
||||
|
||||
// Remove hash from location bar
|
||||
if ( gallery && gallery !== '' ) {
|
||||
|
||||
if ( 'replaceState' in history ) {
|
||||
window.history.replaceState( {} , document.title, window.location.pathname + window.location.search + origHash );
|
||||
|
||||
} else {
|
||||
window.location.hash = origHash;
|
||||
|
||||
// Keep original scroll position
|
||||
$( window ).scrollTop( instance.scrollTop ).scrollLeft( instance.scrollLeft );
|
||||
}
|
||||
}
|
||||
|
||||
currentHash = null;
|
||||
}
|
||||
});
|
||||
|
||||
// Check if need to close after url has changed
|
||||
$(window).on('hashchange.fb', function() {
|
||||
var url = parseUrl();
|
||||
|
||||
if ( $.fancybox.getInstance() ) {
|
||||
if ( currentHash && currentHash !== url.gallery + '-' + url.index && !( url.index === 1 && currentHash == url.gallery ) ) {
|
||||
currentHash = null;
|
||||
|
||||
$.fancybox.close();
|
||||
}
|
||||
|
||||
} else if ( url.gallery !== '' ) {
|
||||
triggerFromUrl( url );
|
||||
}
|
||||
});
|
||||
|
||||
// Check current hash and trigger click event on matching element to start fancyBox, if needed
|
||||
setTimeout(function() {
|
||||
triggerFromUrl( parseUrl() );
|
||||
}, 50);
|
||||
});
|
||||
|
||||
}( document, window, window.jQuery || jQuery ));
|
||||
211
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/js/media.js
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
// ==========================================================================
|
||||
//
|
||||
// Media
|
||||
// Adds additional media type support
|
||||
//
|
||||
// ==========================================================================
|
||||
;(function ($) {
|
||||
|
||||
'use strict';
|
||||
|
||||
// Formats matching url to final form
|
||||
|
||||
var format = function (url, rez, params) {
|
||||
if ( !url ) {
|
||||
return;
|
||||
}
|
||||
|
||||
params = params || '';
|
||||
|
||||
if ( $.type(params) === "object" ) {
|
||||
params = $.param(params, true);
|
||||
}
|
||||
|
||||
$.each(rez, function (key, value) {
|
||||
url = url.replace('$' + key, value || '');
|
||||
});
|
||||
|
||||
if (params.length) {
|
||||
url += (url.indexOf('?') > 0 ? '&' : '?') + params;
|
||||
}
|
||||
|
||||
return url;
|
||||
};
|
||||
|
||||
// Object containing properties for each media type
|
||||
|
||||
var defaults = {
|
||||
youtube : {
|
||||
matcher : /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
|
||||
params : {
|
||||
autoplay : 1,
|
||||
autohide : 1,
|
||||
fs : 1,
|
||||
rel : 0,
|
||||
hd : 1,
|
||||
wmode : 'transparent',
|
||||
enablejsapi : 1,
|
||||
html5 : 1
|
||||
},
|
||||
paramPlace : 8,
|
||||
type : 'iframe',
|
||||
url : '//www.youtube.com/embed/$4',
|
||||
thumb : '//img.youtube.com/vi/$4/hqdefault.jpg'
|
||||
},
|
||||
|
||||
vimeo : {
|
||||
matcher : /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
|
||||
params : {
|
||||
autoplay : 1,
|
||||
hd : 1,
|
||||
show_title : 1,
|
||||
show_byline : 1,
|
||||
show_portrait : 0,
|
||||
fullscreen : 1,
|
||||
api : 1
|
||||
},
|
||||
paramPlace : 3,
|
||||
type : 'iframe',
|
||||
url : '//player.vimeo.com/video/$2'
|
||||
},
|
||||
|
||||
metacafe : {
|
||||
matcher : /metacafe.com\/watch\/(\d+)\/(.*)?/,
|
||||
type : 'iframe',
|
||||
url : '//www.metacafe.com/embed/$1/?ap=1'
|
||||
},
|
||||
|
||||
dailymotion : {
|
||||
matcher : /dailymotion.com\/video\/(.*)\/?(.*)/,
|
||||
params : {
|
||||
additionalInfos : 0,
|
||||
autoStart : 1
|
||||
},
|
||||
type : 'iframe',
|
||||
url : '//www.dailymotion.com/embed/video/$1'
|
||||
},
|
||||
|
||||
vine : {
|
||||
matcher : /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,
|
||||
type : 'iframe',
|
||||
url : '//vine.co/v/$1/embed/simple'
|
||||
},
|
||||
|
||||
instagram : {
|
||||
matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
|
||||
type : 'image',
|
||||
url : '//$1/p/$2/media/?size=l'
|
||||
},
|
||||
|
||||
// Examples:
|
||||
// http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16
|
||||
// https://www.google.com/maps/@37.7852006,-122.4146355,14.65z
|
||||
// https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572
|
||||
gmap_place : {
|
||||
matcher : /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
|
||||
type : 'iframe',
|
||||
url : function (rez) {
|
||||
return '//maps.google.' + rez[2] + '/?ll=' + ( rez[9] ? rez[9] + '&z=' + Math.floor( rez[10] ) + ( rez[12] ? rez[12].replace(/^\//, "&") : '' ) : rez[12] ) + '&output=' + ( rez[12] && rez[12].indexOf('layer=c') > 0 ? 'svembed' : 'embed' );
|
||||
}
|
||||
},
|
||||
|
||||
// Examples:
|
||||
// https://www.google.com/maps/search/Empire+State+Building/
|
||||
// https://www.google.com/maps/search/?api=1&query=centurylink+field
|
||||
// https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393
|
||||
gmap_search : {
|
||||
matcher : /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,
|
||||
type : 'iframe',
|
||||
url : function (rez) {
|
||||
return '//maps.google.' + rez[2] + '/maps?q=' + rez[5].replace('query=', 'q=').replace('api=1', '') + '&output=embed';
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$(document).on('objectNeedsType.fb', function (e, instance, item) {
|
||||
|
||||
var url = item.src || '',
|
||||
type = false,
|
||||
media,
|
||||
thumb,
|
||||
rez,
|
||||
params,
|
||||
urlParams,
|
||||
paramObj,
|
||||
provider;
|
||||
|
||||
media = $.extend( true, {}, defaults, item.opts.media );
|
||||
|
||||
// Look for any matching media type
|
||||
$.each(media, function ( providerName, providerOpts ) {
|
||||
rez = url.match( providerOpts.matcher );
|
||||
|
||||
if ( !rez ) {
|
||||
return;
|
||||
}
|
||||
|
||||
type = providerOpts.type;
|
||||
paramObj = {};
|
||||
|
||||
if ( providerOpts.paramPlace && rez[ providerOpts.paramPlace ] ) {
|
||||
urlParams = rez[ providerOpts.paramPlace ];
|
||||
|
||||
if ( urlParams[ 0 ] == '?' ) {
|
||||
urlParams = urlParams.substring(1);
|
||||
}
|
||||
|
||||
urlParams = urlParams.split('&');
|
||||
|
||||
for ( var m = 0; m < urlParams.length; ++m ) {
|
||||
var p = urlParams[ m ].split('=', 2);
|
||||
|
||||
if ( p.length == 2 ) {
|
||||
paramObj[ p[0] ] = decodeURIComponent( p[1].replace(/\+/g, " ") );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
params = $.extend( true, {}, providerOpts.params, item.opts[ providerName ], paramObj );
|
||||
|
||||
url = $.type( providerOpts.url ) === "function" ? providerOpts.url.call( this, rez, params, item ) : format( providerOpts.url, rez, params );
|
||||
thumb = $.type( providerOpts.thumb ) === "function" ? providerOpts.thumb.call( this, rez, params, item ) : format( providerOpts.thumb, rez );
|
||||
|
||||
if ( providerName === 'vimeo' ) {
|
||||
url = url.replace('&%23', '#');
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
// If it is found, then change content type and update the url
|
||||
|
||||
if ( type ) {
|
||||
item.src = url;
|
||||
item.type = type;
|
||||
|
||||
if ( !item.opts.thumb && !( item.opts.$thumb && item.opts.$thumb.length ) ) {
|
||||
item.opts.thumb = thumb;
|
||||
}
|
||||
|
||||
if ( type === 'iframe' ) {
|
||||
$.extend(true, item.opts, {
|
||||
iframe : {
|
||||
preload : false,
|
||||
attr : {
|
||||
scrolling : "no"
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
item.contentProvider = provider;
|
||||
|
||||
item.opts.slideClass += ' fancybox-slide--' + ( provider == 'gmap_place' || provider == 'gmap_search' ? 'map' : 'video' );
|
||||
}
|
||||
|
||||
} else if ( url ) {
|
||||
item.type = item.opts.defaultType;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}( window.jQuery || jQuery ));
|
||||
91
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/js/share.js
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
//// ==========================================================================
|
||||
//
|
||||
// Share
|
||||
// Displays simple form for sharing current url
|
||||
//
|
||||
// ==========================================================================
|
||||
;(function (document, $) {
|
||||
'use strict';
|
||||
|
||||
$.extend(true, $.fancybox.defaults, {
|
||||
btnTpl : {
|
||||
share :
|
||||
'<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}">' +
|
||||
'<svg viewBox="0 0 40 40">' +
|
||||
'<path d="M6,30 C8,18 19,16 23,16 L23,16 L23,10 L33,20 L23,29 L23,24 C19,24 8,27 6,30 Z">' +
|
||||
'</svg>' +
|
||||
'</button>'
|
||||
},
|
||||
share : {
|
||||
tpl :
|
||||
'<div class="fancybox-share">' +
|
||||
'<h1>{{SHARE}}</h1>' +
|
||||
'<p class="fancybox-share__links">' +
|
||||
'<a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}">' +
|
||||
'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg>' +
|
||||
'<span>Facebook</span>' +
|
||||
'</a>' +
|
||||
'<a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}">' +
|
||||
'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg>' +
|
||||
'<span>Pinterest</span>' +
|
||||
'</a>' +
|
||||
'<a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}">' +
|
||||
'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg>' +
|
||||
'<span>Twitter</span>' +
|
||||
'</a>' +
|
||||
'</p>' +
|
||||
'<p><input class="fancybox-share__input" type="text" value="{{url_raw}}" /></p>' +
|
||||
'</div>'
|
||||
}
|
||||
});
|
||||
|
||||
function escapeHtml(string) {
|
||||
var entityMap = {
|
||||
'&': '&',
|
||||
'<': '<',
|
||||
'>': '>',
|
||||
'"': '"',
|
||||
"'": ''',
|
||||
'/': '/',
|
||||
'`': '`',
|
||||
'=': '='
|
||||
};
|
||||
|
||||
return String(string).replace(/[&<>"'`=\/]/g, function (s) {
|
||||
return entityMap[s];
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('click', '[data-fancybox-share]', function() {
|
||||
var f = $.fancybox.getInstance(),
|
||||
url,
|
||||
tpl;
|
||||
|
||||
if ( f ) {
|
||||
url = f.current.opts.hash === false ? f.current.src : window.location;
|
||||
tpl = f.current.opts.share.tpl
|
||||
.replace( /\{\{media\}\}/g, f.current.type === 'image' ? encodeURIComponent( f.current.src ) : '' )
|
||||
.replace( /\{\{url\}\}/g, encodeURIComponent( url ) )
|
||||
.replace( /\{\{url_raw\}\}/g, escapeHtml( url ) )
|
||||
.replace( /\{\{descr\}\}/g, f.$caption ? encodeURIComponent( f.$caption.text() ) : '' );
|
||||
|
||||
$.fancybox.open({
|
||||
src : f.translate( f, tpl ),
|
||||
type : 'html',
|
||||
opts : {
|
||||
animationEffect : "fade",
|
||||
animationDuration : 250,
|
||||
afterLoad : function(instance, current) {
|
||||
// Opening links in a popup window
|
||||
current.$content.find('.fancybox-share__links a').click(function() {
|
||||
window.open(this.href, "Share", "width=550, height=450");
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}( document, window.jQuery || jQuery ));
|
||||
185
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/js/slideshow.js
vendored
Normal file
@@ -0,0 +1,185 @@
|
||||
// ==========================================================================
|
||||
//
|
||||
// SlideShow
|
||||
// Enables slideshow functionality
|
||||
//
|
||||
// Example of usage:
|
||||
// $.fancybox.getInstance().SlideShow.start()
|
||||
//
|
||||
// ==========================================================================
|
||||
;(function (document, $) {
|
||||
'use strict';
|
||||
|
||||
$.extend(true, $.fancybox.defaults, {
|
||||
btnTpl : {
|
||||
slideShow :
|
||||
'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}">' +
|
||||
'<svg viewBox="0 0 40 40">' +
|
||||
'<path d="M13,12 L27,20 L13,27 Z" />' +
|
||||
'<path d="M15,10 v19 M23,10 v19" />' +
|
||||
'</svg>' +
|
||||
'</button>'
|
||||
},
|
||||
slideShow : {
|
||||
autoStart : false,
|
||||
speed : 3000
|
||||
}
|
||||
});
|
||||
|
||||
var SlideShow = function( instance ) {
|
||||
this.instance = instance;
|
||||
this.init();
|
||||
};
|
||||
|
||||
$.extend( SlideShow.prototype, {
|
||||
timer : null,
|
||||
isActive : false,
|
||||
$button : null,
|
||||
|
||||
init : function() {
|
||||
var self = this;
|
||||
|
||||
self.$button = self.instance.$refs.toolbar.find('[data-fancybox-play]').on('click', function() {
|
||||
self.toggle();
|
||||
});
|
||||
|
||||
if ( self.instance.group.length < 2 || !self.instance.group[ self.instance.currIndex ].opts.slideShow ) {
|
||||
self.$button.hide();
|
||||
}
|
||||
},
|
||||
|
||||
set : function( force ) {
|
||||
var self = this;
|
||||
|
||||
// Check if reached last element
|
||||
if ( self.instance && self.instance.current && (force === true || self.instance.current.opts.loop || self.instance.currIndex < self.instance.group.length - 1 )) {
|
||||
self.timer = setTimeout(function() {
|
||||
if ( self.isActive ) {
|
||||
self.instance.jumpTo( (self.instance.currIndex + 1) % self.instance.group.length );
|
||||
}
|
||||
|
||||
}, self.instance.current.opts.slideShow.speed);
|
||||
|
||||
} else {
|
||||
self.stop();
|
||||
self.instance.idleSecondsCounter = 0;
|
||||
self.instance.showControls();
|
||||
}
|
||||
},
|
||||
|
||||
clear : function() {
|
||||
var self = this;
|
||||
|
||||
clearTimeout( self.timer );
|
||||
|
||||
self.timer = null;
|
||||
},
|
||||
|
||||
start : function() {
|
||||
var self = this;
|
||||
var current = self.instance.current;
|
||||
|
||||
if ( current ) {
|
||||
self.isActive = true;
|
||||
|
||||
self.$button
|
||||
.attr( 'title', current.opts.i18n[ current.opts.lang ].PLAY_STOP )
|
||||
.removeClass( 'fancybox-button--play' )
|
||||
.addClass( 'fancybox-button--pause' );
|
||||
|
||||
self.set( true );
|
||||
}
|
||||
},
|
||||
|
||||
stop : function() {
|
||||
var self = this;
|
||||
var current = self.instance.current;
|
||||
|
||||
self.clear();
|
||||
|
||||
self.$button
|
||||
.attr( 'title', current.opts.i18n[ current.opts.lang ].PLAY_START )
|
||||
.removeClass( 'fancybox-button--pause' )
|
||||
.addClass( 'fancybox-button--play' );
|
||||
|
||||
self.isActive = false;
|
||||
},
|
||||
|
||||
toggle : function() {
|
||||
var self = this;
|
||||
|
||||
if ( self.isActive ) {
|
||||
self.stop();
|
||||
|
||||
} else {
|
||||
self.start();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$(document).on({
|
||||
'onInit.fb' : function(e, instance) {
|
||||
if ( instance && !instance.SlideShow ) {
|
||||
instance.SlideShow = new SlideShow( instance );
|
||||
}
|
||||
},
|
||||
|
||||
'beforeShow.fb' : function(e, instance, current, firstRun) {
|
||||
var SlideShow = instance && instance.SlideShow;
|
||||
|
||||
if ( firstRun ) {
|
||||
|
||||
if ( SlideShow && current.opts.slideShow.autoStart ) {
|
||||
SlideShow.start();
|
||||
}
|
||||
|
||||
} else if ( SlideShow && SlideShow.isActive ) {
|
||||
SlideShow.clear();
|
||||
}
|
||||
},
|
||||
|
||||
'afterShow.fb' : function(e, instance, current) {
|
||||
var SlideShow = instance && instance.SlideShow;
|
||||
|
||||
if ( SlideShow && SlideShow.isActive ) {
|
||||
SlideShow.set();
|
||||
}
|
||||
},
|
||||
|
||||
'afterKeydown.fb' : function(e, instance, current, keypress, keycode) {
|
||||
var SlideShow = instance && instance.SlideShow;
|
||||
|
||||
// "P" or Spacebar
|
||||
if ( SlideShow && current.opts.slideShow && ( keycode === 80 || keycode === 32 ) && !$(document.activeElement).is( 'button,a,input' ) ) {
|
||||
keypress.preventDefault();
|
||||
|
||||
SlideShow.toggle();
|
||||
}
|
||||
},
|
||||
|
||||
'beforeClose.fb onDeactivate.fb' : function(e, instance) {
|
||||
var SlideShow = instance && instance.SlideShow;
|
||||
|
||||
if ( SlideShow ) {
|
||||
SlideShow.stop();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Page Visibility API to pause slideshow when window is not active
|
||||
$(document).on("visibilitychange", function() {
|
||||
var instance = $.fancybox.getInstance();
|
||||
var SlideShow = instance && instance.SlideShow;
|
||||
|
||||
if ( SlideShow && SlideShow.isActive ) {
|
||||
if ( document.hidden ) {
|
||||
SlideShow.clear();
|
||||
|
||||
} else {
|
||||
SlideShow.set();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}( document, window.jQuery || jQuery ));
|
||||
252
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/js/thumbs.js
vendored
Normal file
@@ -0,0 +1,252 @@
|
||||
// ==========================================================================
|
||||
//
|
||||
// Thumbs
|
||||
// Displays thumbnails in a grid
|
||||
//
|
||||
// ==========================================================================
|
||||
;(function (document, $) {
|
||||
'use strict';
|
||||
|
||||
// Make sure there are default values
|
||||
$.fancybox.defaults = $.extend(true, {
|
||||
btnTpl : {
|
||||
thumbs :
|
||||
'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}">' +
|
||||
'<svg viewBox="0 0 120 120">' +
|
||||
'<path d="M30,30 h14 v14 h-14 Z M50,30 h14 v14 h-14 Z M70,30 h14 v14 h-14 Z M30,50 h14 v14 h-14 Z M50,50 h14 v14 h-14 Z M70,50 h14 v14 h-14 Z M30,70 h14 v14 h-14 Z M50,70 h14 v14 h-14 Z M70,70 h14 v14 h-14 Z" />' +
|
||||
'</svg>' +
|
||||
'</button>'
|
||||
},
|
||||
thumbs : {
|
||||
autoStart : false, // Display thumbnails on opening
|
||||
hideOnClose : true, // Hide thumbnail grid when closing animation starts
|
||||
parentEl : '.fancybox-container', // Container is injected into this element
|
||||
axis : 'y' // Vertical (y) or horizontal (x) scrolling
|
||||
}
|
||||
}, $.fancybox.defaults);
|
||||
|
||||
var FancyThumbs = function( instance ) {
|
||||
this.init( instance );
|
||||
};
|
||||
|
||||
$.extend( FancyThumbs.prototype, {
|
||||
|
||||
$button : null,
|
||||
$grid : null,
|
||||
$list : null,
|
||||
isVisible : false,
|
||||
isActive : false,
|
||||
|
||||
init : function( instance ) {
|
||||
var self = this;
|
||||
|
||||
self.instance = instance;
|
||||
|
||||
instance.Thumbs = self;
|
||||
|
||||
// Enable thumbs if at least two group items have thumbnails
|
||||
var first = instance.group[0],
|
||||
second = instance.group[1];
|
||||
|
||||
self.opts = instance.group[ instance.currIndex ].opts.thumbs;
|
||||
|
||||
self.$button = instance.$refs.toolbar.find( '[data-fancybox-thumbs]' );
|
||||
|
||||
if ( self.opts && first && second && (
|
||||
( first.type == 'image' || first.opts.thumb || first.opts.$thumb ) &&
|
||||
( second.type == 'image' || second.opts.thumb || second.opts.$thumb )
|
||||
)) {
|
||||
|
||||
self.$button.show().on('click', function() {
|
||||
self.toggle();
|
||||
});
|
||||
|
||||
self.isActive = true;
|
||||
|
||||
} else {
|
||||
self.$button.hide();
|
||||
}
|
||||
},
|
||||
|
||||
create : function() {
|
||||
var self = this,
|
||||
instance = self.instance,
|
||||
parentEl = self.opts.parentEl,
|
||||
list,
|
||||
src;
|
||||
|
||||
self.$grid = $('<div class="fancybox-thumbs fancybox-thumbs-' + self.opts.axis + '"></div>').appendTo( instance.$refs.container.find( parentEl ).addBack().filter( parentEl ) );
|
||||
|
||||
// Build list HTML
|
||||
list = '<ul>';
|
||||
|
||||
$.each(instance.group, function( i, item ) {
|
||||
src = item.opts.thumb || ( item.opts.$thumb ? item.opts.$thumb.attr( 'src' ) : null );
|
||||
|
||||
if ( !src && item.type === 'image' ) {
|
||||
src = item.src;
|
||||
}
|
||||
|
||||
if ( src && src.length ) {
|
||||
list += '<li data-index="' + i + '" tabindex="0" class="fancybox-thumbs-loading"><img data-src="' + src + '" /></li>';
|
||||
}
|
||||
});
|
||||
|
||||
list += '</ul>';
|
||||
|
||||
self.$list = $( list ).appendTo( self.$grid ).on('click', 'li', function() {
|
||||
instance.jumpTo( $(this).data('index') );
|
||||
});
|
||||
|
||||
self.$list.find( 'img' ).hide().one('load', function() {
|
||||
var $parent = $(this).parent().removeClass( 'fancybox-thumbs-loading' ),
|
||||
thumbWidth = $parent.outerWidth(),
|
||||
thumbHeight = $parent.outerHeight(),
|
||||
width,
|
||||
height,
|
||||
widthRatio,
|
||||
heightRatio;
|
||||
|
||||
width = this.naturalWidth || this.width;
|
||||
height = this.naturalHeight || this.height;
|
||||
|
||||
// Calculate thumbnail dimensions; center vertically and horizontally
|
||||
widthRatio = width / thumbWidth;
|
||||
heightRatio = height / thumbHeight;
|
||||
|
||||
if (widthRatio >= 1 && heightRatio >= 1) {
|
||||
if (widthRatio > heightRatio) {
|
||||
width = width / heightRatio;
|
||||
height = thumbHeight;
|
||||
|
||||
} else {
|
||||
width = thumbWidth;
|
||||
height = height / widthRatio;
|
||||
}
|
||||
}
|
||||
|
||||
$(this).css({
|
||||
width : Math.floor(width),
|
||||
height : Math.floor(height),
|
||||
'margin-top' : height > thumbHeight ? ( Math.floor(thumbHeight * 0.3 - height * 0.3 ) ) : Math.floor(thumbHeight * 0.5 - height * 0.5 ),
|
||||
'margin-left' : Math.floor(thumbWidth * 0.5 - width * 0.5 )
|
||||
}).show();
|
||||
|
||||
})
|
||||
.each(function() {
|
||||
this.src = $( this ).data( 'src' );
|
||||
});
|
||||
|
||||
if ( self.opts.axis === 'x' ) {
|
||||
self.$list.width( parseInt( self.$grid.css("padding-right") ) + ( instance.group.length * self.$list.children().eq(0).outerWidth(true) ) + 'px' );
|
||||
}
|
||||
},
|
||||
|
||||
focus : function( duration ) {
|
||||
var self = this,
|
||||
$list = self.$list,
|
||||
thumb,
|
||||
thumbPos;
|
||||
|
||||
if ( self.instance.current ) {
|
||||
thumb = $list.children()
|
||||
.removeClass( 'fancybox-thumbs-active' )
|
||||
.filter('[data-index="' + self.instance.current.index + '"]')
|
||||
.addClass('fancybox-thumbs-active');
|
||||
|
||||
thumbPos = thumb.position();
|
||||
|
||||
// Check if need to scroll to make current thumb visible
|
||||
if ( self.opts.axis === 'y' && ( thumbPos.top < 0 || thumbPos.top > ( $list.height() - thumb.outerHeight() ) ) ) {
|
||||
$list.stop().animate({ 'scrollTop' : $list.scrollTop() + thumbPos.top }, duration);
|
||||
|
||||
} else if ( self.opts.axis === 'x' && (
|
||||
thumbPos.left < $list.parent().scrollLeft() ||
|
||||
thumbPos.left > ( $list.parent().scrollLeft() + ( $list.parent().width() - thumb.outerWidth() ) )
|
||||
)
|
||||
) {
|
||||
$list.parent().stop().animate({ 'scrollLeft' : thumbPos.left }, duration);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
update : function() {
|
||||
this.instance.$refs.container.toggleClass( 'fancybox-show-thumbs', this.isVisible );
|
||||
|
||||
if ( this.isVisible ) {
|
||||
if ( !this.$grid ) {
|
||||
this.create();
|
||||
}
|
||||
|
||||
this.instance.trigger( 'onThumbsShow' );
|
||||
|
||||
this.focus( 0 );
|
||||
|
||||
} else if ( this.$grid ) {
|
||||
this.instance.trigger( 'onThumbsHide' );
|
||||
}
|
||||
|
||||
// Update content position
|
||||
this.instance.update();
|
||||
},
|
||||
|
||||
hide : function() {
|
||||
this.isVisible = false;
|
||||
this.update();
|
||||
},
|
||||
|
||||
show : function() {
|
||||
this.isVisible = true;
|
||||
this.update();
|
||||
},
|
||||
|
||||
toggle : function() {
|
||||
this.isVisible = !this.isVisible;
|
||||
this.update();
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on({
|
||||
|
||||
'onInit.fb' : function(e, instance) {
|
||||
var Thumbs;
|
||||
|
||||
if ( instance && !instance.Thumbs ) {
|
||||
Thumbs = new FancyThumbs( instance );
|
||||
|
||||
if ( Thumbs.isActive && Thumbs.opts.autoStart === true ) {
|
||||
Thumbs.show();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
'beforeShow.fb' : function(e, instance, item, firstRun) {
|
||||
var Thumbs = instance && instance.Thumbs;
|
||||
|
||||
if ( Thumbs && Thumbs.isVisible ) {
|
||||
Thumbs.focus( firstRun ? 0 : 250 );
|
||||
}
|
||||
},
|
||||
|
||||
'afterKeydown.fb' : function(e, instance, current, keypress, keycode) {
|
||||
var Thumbs = instance && instance.Thumbs;
|
||||
|
||||
// "G"
|
||||
if ( Thumbs && Thumbs.isActive && keycode === 71 ) {
|
||||
keypress.preventDefault();
|
||||
|
||||
Thumbs.toggle();
|
||||
}
|
||||
},
|
||||
|
||||
'beforeClose.fb' : function( e, instance ) {
|
||||
var Thumbs = instance && instance.Thumbs;
|
||||
|
||||
if ( Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false ) {
|
||||
Thumbs.$grid.hide();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}(document, window.jQuery));
|
||||
37
mayan/apps/appearance/static/appearance/vendors/fancybox-master/src/js/wheel.js
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
;(function (document, $) {
|
||||
'use strict';
|
||||
|
||||
var prevTime = new Date().getTime();
|
||||
|
||||
$(document).on({
|
||||
'onInit.fb' : function( e, instance, current ) {
|
||||
instance.$refs.stage.on('mousewheel DOMMouseScroll wheel MozMousePixelScroll', function(e) {
|
||||
var current = instance.current,
|
||||
currTime = new Date().getTime();
|
||||
|
||||
if ( instance.group.length < 1 || current.opts.wheel === false || ( current.opts.wheel === 'auto' && current.type !== 'image' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
if ( current.$slide.hasClass( 'fancybox-animated' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
e = e.originalEvent || e;
|
||||
|
||||
if ( currTime - prevTime < 250 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
prevTime = currTime;
|
||||
|
||||
instance[ ( -e.deltaY || -e.deltaX || e.wheelDelta || -e.detail ) < 0 ? 'next' : 'previous' ]();
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}( document, window.jQuery || jQuery ));
|
||||
2
mayan/apps/appearance/static/appearance/vendors/jquery-3.3.1.min.js
vendored
Normal file
@@ -26,7 +26,7 @@
|
||||
{# Disable base Bootstrap CSS, Flatly seems to include it already #}
|
||||
{#<link href="{% static 'appearance/packages/bootstrap-3.3.4-dist/css/bootstrap.min.css' %}" media="screen" rel="stylesheet" type="text/css" />#}
|
||||
<link href="{% static 'appearance/packages/bootswatch.com/flatly/bootstrap.css' %}" media="screen" rel="stylesheet" type="text/css" />
|
||||
<link href="{% static 'appearance/packages/fancyBox-master/source/jquery.fancybox.css' %}" media="screen" rel="stylesheet" type="text/css" />
|
||||
<link href="{% static 'appearance/vendors/fancybox-master/dist/jquery.fancybox.min.css' %}" media="screen" rel="stylesheet" type="text/css" />
|
||||
<link href="{% static 'appearance/packages/select2-4.0.3/dist/css/select2.min.css' %}" media="screen" rel="stylesheet" type="text/css" />
|
||||
<link href="{% static 'appearance/packages/toastr-master-998959b0/build/toastr.min.css' %}" media="screen" rel="stylesheet" type="text/css" />
|
||||
<link href="{% static 'appearance/vendors/pace-0.7.8/themes/pace-theme-flash.css' %}" media="screen" rel="stylesheet" type="text/css" />
|
||||
@@ -144,12 +144,11 @@
|
||||
<![endif]-->
|
||||
|
||||
{% compress js %}
|
||||
<script src="{% static 'appearance/packages/jquery-2.1.4.min.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/vendors/jquery-3.3.1.min.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/packages/bootstrap-3.3.4-dist/js/bootstrap.min.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/packages/jquery.scrollview.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/packages/jquery_lazyload-master/jquery.lazyload.min.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/packages/fancyBox-master/source/jquery.fancybox.pack.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/packages/fancyBox-master/lib/jquery.mousewheel.pack.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/vendors/fancybox-master/dist/jquery.fancybox.min.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/packages/select2-4.0.3/dist/js/select2.min.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/packages/toastr-master-998959b0/build/toastr.min.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'appearance/packages/jquery.matchHeight-min.js' %}" type="text/javascript"></script>
|
||||
|
||||
@@ -261,6 +261,8 @@ class Document(models.Model):
|
||||
latest_version = self.latest_version
|
||||
if latest_version:
|
||||
return latest_version.get_api_image_url()
|
||||
else:
|
||||
return '#'
|
||||
|
||||
def invalidate_cache(self):
|
||||
for document_version in self.versions.all():
|
||||
@@ -430,6 +432,8 @@ class DocumentVersion(models.Model):
|
||||
first_page = self.pages.first()
|
||||
if first_page:
|
||||
return first_page.get_api_image_url()
|
||||
else:
|
||||
return '#'
|
||||
|
||||
def get_rendered_string(self, preserve_extension=False):
|
||||
if preserve_extension:
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
data-caption="<a class='a-caption' href='{{ instance.get_absolute_url }}'>{{ instance }} <i class='fa fa-external-link-alt'></i></a>"
|
||||
{% endif %}
|
||||
href="{{ instance.get_api_image_url }}?width={{ size_preview_width }}&height={{ size_preview_height }}"
|
||||
{% if gallery_name %}rel="{{ gallery_name }}"{% endif %}
|
||||
data-type="image"
|
||||
{% if gallery_name %}data-fancybox="{{ gallery_name }}"{% endif %}
|
||||
>
|
||||
{% with 'lazy-load' as image_classes %}
|
||||
{% with 'true' as display_full_width %}
|
||||
|
||||