X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=app%2FResources%2Fstatic%2Fthemes%2Fmaterial%2Findex.js;h=e808d75c27aa25cb8c4bb4574a54f96cac60a84c;hb=dc23bf9f29b2cff5c27ee8d2d251f435d00e6652;hp=36505d7147f1804d99b5c8bd7adebe79fe875a14;hpb=d3d0defabc8224172b59c85db66c2d4e6bc3f06b;p=github%2Fwallabag%2Fwallabag.git diff --git a/app/Resources/static/themes/material/index.js b/app/Resources/static/themes/material/index.js index 36505d71..e808d75c 100755 --- a/app/Resources/static/themes/material/index.js +++ b/app/Resources/static/themes/material/index.js @@ -8,7 +8,7 @@ import 'materialize-css/dist/js/materialize'; import '../_global/index'; /* Tools */ -import { initExport, initFilters } from './js/tools'; +import { initExport, initFilters, initRandom } from './js/tools'; /* Import shortcuts */ import './js/shortcuts/main'; @@ -17,6 +17,36 @@ import './js/shortcuts/entry'; /* Theme style */ import './css/index.scss'; +const stickyNav = () => { + const nav = $('.js-entry-nav-top'); + $('[data-toggle="actions"]').click(() => { + nav.toggleClass('entry-nav-top--sticky'); + }); +}; + +const articleScroll = () => { + const articleEl = $('#article'); + if (articleEl.length > 0) { + $(window).scroll(() => { + const s = $(window).scrollTop(); + const d = $(document).height(); + const c = $(window).height(); + const articleElBottom = articleEl.offset().top + articleEl.height(); + const scrollPercent = (s / (d - c)) * 100; + $('.progress .determinate').css('width', `${scrollPercent}%`); + const fixedActionBtn = $('.js-fixed-action-btn'); + const toggleScrollDataName = 'toggle-auto'; + if ((s + c) > articleElBottom) { + fixedActionBtn.data(toggleScrollDataName, true); + fixedActionBtn.openFAB(); + } else if (fixedActionBtn.data(toggleScrollDataName) === true) { + fixedActionBtn.data(toggleScrollDataName, false); + fixedActionBtn.closeFAB(); + } + }); + } +}; + $(document).ready(() => { // sideNav $('.button-collapse').sideNav(); @@ -32,8 +62,19 @@ $(document).ready(() => { format: 'dd/mm/yyyy', container: 'body', }); + initFilters(); initExport(); + initRandom(); + stickyNav(); + articleScroll(); + + const toggleNav = (toShow, toFocus) => { + $('.nav-panel-actions').hide(100); + $(toShow).show(100); + $('.nav-panels').css('background', 'white'); + $(toFocus).focus(); + }; $('#nav-btn-add-tag').on('click', () => { $('.nav-panel-add-tag').toggle(100); @@ -41,43 +82,27 @@ $(document).ready(() => { $('#tag_label').focus(); return false; }); + $('#nav-btn-add').on('click', () => { - $('.nav-panel-buttom').hide(100); - $('.nav-panel-add').show(100); - $('.nav-panels .action').hide(100); - $('.nav-panel-menu').addClass('hidden'); - $('.nav-panels').css('background', 'white'); - $('#entry_url').focus(); + toggleNav('.nav-panel-add', '#entry_url'); return false; }); - const materialAddForm = $('.nav-panel-add form[name=entry]'); + + const materialAddForm = $('.nav-panel-add'); materialAddForm.on('submit', () => { materialAddForm.addClass('disabled'); $('input#entry_url', materialAddForm).prop('readonly', true).trigger('blur'); }); + $('#nav-btn-search').on('click', () => { - $('.nav-panel-buttom').hide(100); - $('.nav-panel-search').show(100); - $('.nav-panels .action').hide(100); - $('.nav-panel-menu').addClass('hidden'); - $('.nav-panels').css('background', 'white'); - $('#search_entry_term').focus(); + toggleNav('.nav-panel-search', '#search_entry_term'); return false; }); - $('.close').on('click', () => { - $('.nav-panel-add').hide(100); - $('.nav-panel-search').hide(100); - $('.nav-panel-buttom').show(100); - $('.nav-panels .action').show(100); - $('.nav-panel-menu').removeClass('hidden'); + + $('.close').on('click', (e) => { + $(e.target).parent('.nav-panel-item').hide(100); + $('.nav-panel-actions').show(100); $('.nav-panels').css('background', 'transparent'); return false; }); - $(window).scroll(() => { - const s = $(window).scrollTop(); - const d = $(document).height(); - const c = $(window).height(); - const scrollPercent = (s / (d - c)) * 100; - $('.progress .determinate').css('width', `${scrollPercent}%`); - }); });