mirror of
https://github.com/CoderSherlock/CoderSherlock.github.io.git
synced 2026-06-13 08:08:10 -07:00
Updated to new theme of TeXt
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
{%- include scripts/utils/imagesLoad.js -%}
|
||||
(function () {
|
||||
var SOURCES = window.TEXT_VARIABLES.sources;
|
||||
window.Lazyload.js(SOURCES.jquery, function() {
|
||||
var $pageGalleryModal = $('.js-page-gallery-modal');
|
||||
var $images = $('.page__content').find('img:not(.lightbox-ignore)');
|
||||
window.imagesLoad($images).then(function() {
|
||||
/* global Gallery */
|
||||
var pageGalleryModal = $pageGalleryModal.modal({ onChange: handleModalChange });
|
||||
var gallery = null;
|
||||
var modalVisible = false;
|
||||
var i, items = [], image, item;
|
||||
if($images && $images.length > 0) {
|
||||
for (i = 0; i < $images.length; i++) {
|
||||
image = $images.eq(i);
|
||||
if (image.get(0).naturalWidth > 800) {
|
||||
items.push({ src: image.attr('src'), w: image.get(0).naturalWidth, h: image.get(0).naturalHeight, $el: image});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(items.length > 0) {
|
||||
gallery = new Gallery('.gallery', items);
|
||||
gallery.setOptions({ disabled: !modalVisible });
|
||||
gallery.init();
|
||||
for (i = 0; i < items.length; i++) {
|
||||
item = items[i];
|
||||
item.$el && (item.$el.addClass('popup-image'), item.$el.on('click', (function() {
|
||||
var index = i;
|
||||
return function() {
|
||||
pageGalleryModal.show();
|
||||
gallery.setOptions({ initialSlide: index });
|
||||
gallery.refresh(true, { animation: false });
|
||||
};
|
||||
})()));
|
||||
}
|
||||
}
|
||||
|
||||
function handleModalChange(visible) {
|
||||
modalVisible = visible;
|
||||
gallery && gallery.setOptions({ disabled: !modalVisible });
|
||||
}
|
||||
|
||||
$pageGalleryModal.on('click', function() {
|
||||
pageGalleryModal.hide();
|
||||
});
|
||||
});
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,86 @@
|
||||
|
||||
(function () {
|
||||
var SOURCES = window.TEXT_VARIABLES.sources;
|
||||
window.Lazyload.js(SOURCES.jquery, function() {
|
||||
// search panel
|
||||
var search = (window.search || (window.search = {}));
|
||||
var useDefaultSearchBox = window.useDefaultSearchBox === undefined ?
|
||||
true : window.useDefaultSearchBox ;
|
||||
|
||||
var $searchModal = $('.js-page-search-modal');
|
||||
var $searchToggle = $('.js-search-toggle');
|
||||
var searchModal = $searchModal.modal({ onChange: handleModalChange, hideWhenWindowScroll: true });
|
||||
var modalVisible = false;
|
||||
search.searchModal = searchModal;
|
||||
|
||||
var $searchBox = null;
|
||||
var $searchInput = null;
|
||||
var $searchClear = null;
|
||||
|
||||
function getModalVisible() {
|
||||
return modalVisible;
|
||||
}
|
||||
search.getModalVisible = getModalVisible;
|
||||
|
||||
function handleModalChange(visible) {
|
||||
modalVisible = visible;
|
||||
if (visible) {
|
||||
search.onShow && search.onShow();
|
||||
useDefaultSearchBox && $searchInput[0] && $searchInput[0].focus();
|
||||
} else {
|
||||
search.onShow && search.onHide();
|
||||
useDefaultSearchBox && $searchInput[0] && $searchInput[0].blur();
|
||||
setTimeout(function() {
|
||||
useDefaultSearchBox && ($searchInput.val(''), $searchBox.removeClass('not-empty'));
|
||||
search.clear && search.clear();
|
||||
window.pageAsideAffix && window.pageAsideAffix.refresh();
|
||||
}, 400);
|
||||
}
|
||||
}
|
||||
|
||||
$searchToggle.on('click', function() {
|
||||
modalVisible ? searchModal.hide() : searchModal.show();
|
||||
});
|
||||
// Char Code: 83 S, 191 /
|
||||
$(window).on('keyup', function(e) {
|
||||
if (!modalVisible && !window.isFormElement(e.target || e.srcElement) && (e.which === 83 || e.which === 191)) {
|
||||
modalVisible || searchModal.show();
|
||||
}
|
||||
});
|
||||
|
||||
if (useDefaultSearchBox) {
|
||||
$searchBox = $('.js-search-box');
|
||||
$searchInput = $searchBox.children('input');
|
||||
$searchClear = $searchBox.children('.js-icon-clear');
|
||||
search.getSearchInput = function() {
|
||||
return $searchInput.get(0);
|
||||
};
|
||||
search.getVal = function() {
|
||||
return $searchInput.val();
|
||||
};
|
||||
search.setVal = function(val) {
|
||||
$searchInput.val(val);
|
||||
};
|
||||
|
||||
$searchInput.on('focus', function() {
|
||||
$(this).addClass('focus');
|
||||
});
|
||||
$searchInput.on('blur', function() {
|
||||
$(this).removeClass('focus');
|
||||
});
|
||||
$searchInput.on('input', window.throttle(function() {
|
||||
var val = $(this).val();
|
||||
if (val === '' || typeof val !== 'string') {
|
||||
search.clear && search.clear();
|
||||
} else {
|
||||
$searchBox.addClass('not-empty');
|
||||
search.onInputNotEmpty && search.onInputNotEmpty(val);
|
||||
}
|
||||
}, 400));
|
||||
$searchClear.on('click', function() {
|
||||
$searchInput.val(''); $searchBox.removeClass('not-empty');
|
||||
search.clear && search.clear();
|
||||
});
|
||||
}
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,30 @@
|
||||
(function() {
|
||||
var SOURCES = window.TEXT_VARIABLES.sources;
|
||||
|
||||
window.Lazyload.js(SOURCES.jquery, function() {
|
||||
var $pageMask = $('.js-page-mask');
|
||||
var $pageRoot = $('.js-page-root');
|
||||
var $sidebarShow = $('.js-sidebar-show');
|
||||
var $sidebarHide = $('.js-sidebar-hide');
|
||||
|
||||
function freeze(e) {
|
||||
if (e.target === $pageMask[0]) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
function stopBodyScrolling(bool) {
|
||||
if (bool === true) {
|
||||
window.addEventListener('touchmove', freeze, { passive: false });
|
||||
} else {
|
||||
window.removeEventListener('touchmove', freeze, { passive: false });
|
||||
}
|
||||
}
|
||||
|
||||
$sidebarShow.on('click', function() {
|
||||
stopBodyScrolling(true); $pageRoot.addClass('show-sidebar');
|
||||
});
|
||||
$sidebarHide.on('click', function() {
|
||||
stopBodyScrolling(false); $pageRoot.removeClass('show-sidebar');
|
||||
});
|
||||
});
|
||||
})();
|
||||
Reference in New Issue
Block a user