---
regenerate: true
---
{% capture cache %}
{% comment %}
# -----------------------------------------------------------------------------
# ~/assets/themes/j1/adapter/js/back2top.js
# Liquid template to adapt Back2Top Core functions
#
# Product/Info:
# https://jekyll.one
#
# Copyright (C) 2020 Juergen Adams
#
# J1 Template is licensed under the MIT License.
# For details, see https://jekyll.one
# -----------------------------------------------------------------------------
# Test data:
# {{ liquid_var | debug }}
# -----------------------------------------------------------------------------
{% endcomment %}
{% comment %} Liquid procedures
-------------------------------------------------------------------------------- {% endcomment %}
{% capture select_color %}themes/{{site.template.name}}/procedures/global/select_color.proc{% endcapture %}
{% comment %} Set global settings
-------------------------------------------------------------------------------- {% endcomment %}
{% assign environment = site.environment %}
{% assign template_version = site.version %}
{% comment %} Process YML config data
================================================================================ {% endcomment %}
{% comment %} Set config files
-------------------------------------------------------------------------------- {% endcomment %}
{% assign template_config = site.data.template_settings %}
{% assign blocks = site.data.blocks %}
{% assign modules = site.data.modules %}
{% comment %} Set config data
-------------------------------------------------------------------------------- {% endcomment %}
{% assign back2top_defaults = modules.defaults.back2top.defaults %}
{% assign back2top_settings = modules.back2top.settings %}
{% comment %} Set config options
-------------------------------------------------------------------------------- {% endcomment %}
{% assign back2top_options = back2top_defaults | merge: back2top_settings %}
{% assign active_color = back2top_options.active_color %}
{% assign background_color = back2top_options.background_color %}
{% assign back2top_icon = back2top_options.icon %}
{% assign color = back2top_options.color %}
{% if back2top_options.icon_family == 'MDI' %}
{% assign back2top_icon_family = 'Material Design Icons' %}
{% elsif moduleOptions.icon_family == 'FA' %}
{% assign back2top_icon_family = 'FontAweSome' %}
{% else %}
{% assign back2top_icon_family = 'Material Design Icons' %}
{% endif %}
{% assign production = false %}
{% if environment == 'prod' or environment == 'production' %}
{% assign production = true %}
{% endif %}
/*
# -----------------------------------------------------------------------------
# ~/assets/themes/j1/adapter/js/back2top.js
# JS Adapter for J1 Back2Top
#
# Product/Info:
# https://jekyll.one
# http://dynamicdrive.com/dynamicindex3/scrolltop.htm
#
# Copyright (C) 2020 Juergen Adams
# Copyright (C) 2009 dynamicdrive.com
#
# J1 Template is licensed under the MIT License.
# For details, see https://jekyll.one
#
# -----------------------------------------------------------------------------
# Adapter generated: {{site.time}}
# -----------------------------------------------------------------------------
*/
'use strict';
{% comment %} Main
-------------------------------------------------------------------------------- {% endcomment %}
j1.adapter['back2top'] = (function (j1, window) {
{% comment %} Set global variables
------------------------------------------------------------------------------ {% endcomment %}
var environment = '{{environment}}';
var moduleOptions = {};
var _this;
var logger;
var logText;
// ---------------------------------------------------------------------------
// Helper functions
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
// Main object
// ---------------------------------------------------------------------------
return {
// -------------------------------------------------------------------------
// Initializer
// -------------------------------------------------------------------------
init: function (options) {
// initialize state flag
j1.adapter.back2top.state = 'pending';
// -----------------------------------------------------------------------
// Default module settings
// -----------------------------------------------------------------------
var settings = $.extend({
module_name: 'j1.adapter.back2top',
generated: '{{site.time}}'
}, options );
{% comment %} Set global variables
-------------------------------------------------------------------------- {% endcomment %}
_this = j1.adapter.back2top;
logger = log4javascript.getLogger('j1.adapter.back2top');
{% comment %} Load module config from yml data
-------------------------------------------------------------------------- {% endcomment %}
// Load module DEFAULTS|CONFIG
moduleOptions = $.extend({}, {{back2top_options | replace: '=>', ':' | replace: 'nil', '""'}});
if ( typeof settings !== 'undefined') {
moduleOptions = j1.mergeData(moduleOptions, settings);
}
if (moduleOptions.enabled) {
_this.setState('started');
logger.info('state: ' + _this.getState());
logger.info('module is being initialized');
// save config settings into the mmenu object for global access
//
_this['moduleOptions'] = moduleOptions;
var dependencies_met_page_finished = setInterval(function() {
if (j1.getState() == 'finished') {
logger.info('met dependencies for: j1');
j1.core.back2top.init(moduleOptions);
_this.setCss();
_this.setState('finished');
logger.info('state: ' + _this.getState());
clearInterval(dependencies_met_page_finished);
}
}, 25); // END 'dependencies_met_page_finished'
} else {
_this.setState('finished');
logger.info('state: ' + _this.getState());
logger.warn('module disabled');
}
}, // END init
// -------------------------------------------------------------------------
// Set dynamic styles for Back2Top
// -------------------------------------------------------------------------
setCss: function () {
var bg_primary = j1.getStyleValue('bg-primary', 'background-color');
$('head').append('');
$('head').append('');
$('head').append('');
}, // END setCss
// -------------------------------------------------------------------------
// messageHandler: MessageHandler for J1 CookieConsent module
// Manage messages send from other J1 modules
// -------------------------------------------------------------------------
messageHandler: function ( sender, message ) {
// var json_message = JSON.stringify(message, undefined, 2); // multiline
var json_message = JSON.stringify(message);
logText = 'Received message from ' + sender + ': ' + json_message;
logger.debug(logText);
// -----------------------------------------------------------------------
// Process commands|actions
// -----------------------------------------------------------------------
if ( message.type === 'command' && message.action === 'module_initialized' ) {
//
// Place handling of command|action here
//
logger.info(message.text);
}
//
// Place handling of other command|action here
//
return true;
}, // END messageHandler
// -------------------------------------------------------------------------
// setState
// Set the current (processing) state of the module
// -------------------------------------------------------------------------
setState: function (stat) {
j1.adapter.back2top.state = stat;
}, // END setState
// -------------------------------------------------------------------------
// getState
// Returns the current (processing) state of the module
// -------------------------------------------------------------------------
getState: function () {
return j1.adapter.back2top.state;
} // END state
}; // END return
})(j1, window);
{% endcapture %}
{% if production %}
{{cache| minifyJS }}
{% else %}
{{cache| strip_empty_lines }}
{% endif %}
{% assign cache = nil %}