Mojolicious-Plugin-StaticShare
view release on metacpan or search on metacpan
lib/Mojolicious/Plugin/StaticShare/static/static-share/css/main.css view on Meta::CPAN
.modal .modal-footer {
border-radius: 0 0 2px 2px;
background-color: #fafafa;
padding: 4px 6px;
height: 56px;
width: 100%; }
.modal .modal-footer .btn, .modal .modal-footer .btn-large, .modal .modal-footer .btn-flat {
float: right;
margin: 6px 0; }
.modal-overlay {
position: fixed;
z-index: 999;
top: -100px;
left: 0;
bottom: 0;
right: 0;
height: 125%;
width: 100%;
background: #000;
display: none;
lib/Mojolicious/Plugin/StaticShare/static/static-share/js/modal.js view on Meta::CPAN
(function($) {
var _stack = 0,
_lastID = 0,
_generateID = function() {
_lastID++;
return 'materialize-modal-overlay-' + _lastID;
};
var methods = {
init : function(options) {
var defaults = {
opacity: 0.5,
in_duration: 350,
out_duration: 250,
ready: undefined,
complete: undefined,
lib/Mojolicious/Plugin/StaticShare/static/static-share/js/modal.js view on Meta::CPAN
// Override defaults
options = $.extend(defaults, options);
//~ console.log(options);
return this.each(function() {
var $modal = $(this);
var modal_id = $(this).attr("id") || '#' + $(this).data('target');
var closeModal = function() {
var overlayID = $modal.data('overlay-id');
var $overlay = $('#' + overlayID);
$modal.removeClass('open');
_stack--;
// Enable scrolling
$('body').css({
overflow: '',
width: ''
});
$modal.find('.modal-close').off('click.close');
//~ $(document).off('keyup.modal' + overlayID);
$overlay.velocity( { opacity: 0}, {duration: options.out_duration, queue: false, ease: "easeOutQuart"});
// Define Bottom Sheet animation
var exitVelocityOptions = {
duration: options.out_duration,
queue: false,
ease: "easeOutCubic",
// Handle modal ready callback
complete: function() {
$(this).css({display:"none"});
// Call complete callback
if (typeof(options.complete) === "function") {
options.complete.call(this, $modal);
}
$overlay.remove();
//~ _stack--;
}
};
if ($modal.hasClass('bottom-sheet')) {
$modal.velocity({bottom: "-100%", opacity: 0}, exitVelocityOptions);
}
else {
$modal.velocity(
{ top: options.startingTop, opacity: 0, scaleX: 0.7},
lib/Mojolicious/Plugin/StaticShare/static/static-share/js/modal.js view on Meta::CPAN
var openModal = function($trigger) {
var $body = $('body');
var oldWidth = $body.innerWidth();
$body.css('overflow', 'hidden');
$body.width(oldWidth);
if ($modal.hasClass('open')) {
return;
}
var overlayID = _generateID();
var $overlay = $('<div class="modal-overlay"></div>');
var zIndex = 1000 + Math.abs(++_stack)*2;
// Store a reference of the overlay
$overlay.attr('id', overlayID).css('z-index', zIndex-1);//+ lStack * 2
$modal.data('overlay-id', overlayID);//
$modal.css('z-index', zIndex);
$modal.addClass('open');
//~ if($modal.closest('.modal').length) $("body").append($modal);
if (!$modal.parent().is('body') && $modal.parents().filter(function(){ return $( this ).css('position') == 'fixed'; }).length) $("body").append($modal);
$("body").append($overlay);
//~ var $close = $('<a class="modal-close btn-flat white-text"></a>').css({'position':'absolute', 'top':0, 'right':'0', 'z-index': zIndex,}).html('ÐакÑÑÑÑ').insertBefore($modal);
//~ $("body").append($close);
if (options.dismissible) {
$overlay.click(function() {
closeModal();
});
// Return on ESC
$(document).one('keyup.modal' + overlayID, function(e) {
if (e.keyCode === 27) { // ESC key
closeModal();
}
});
}
$modal.find(".modal-close").on('click.close', function(e) {
closeModal();
});
$overlay.css({ display : "block", opacity : 0 });
$modal.css({
display : "block",
opacity: 0
});
$overlay.velocity({opacity: options.opacity}, {duration: options.in_duration, queue: false, ease: "easeOutCubic"});
$modal.data('associated-overlay', $overlay[0]);
// Define Bottom Sheet animation
var enterVelocityOptions = {
duration: options.in_duration,
queue: false,
ease: "easeOutCubic",
// Handle modal ready callback
complete: function() {
if (typeof(options.ready) === "function") {
options.ready.call(this, $modal, $trigger);
( run in 0.439 second using v1.01-cache-2.11-cpan-26ccb49234f )