Files
dbois/public/js/vendor/Section/PageAside.js
T
2017-12-14 10:17:13 +01:00

106 lines
3.4 KiB
JavaScript
Executable File

(function (global, factory) {
if (typeof define === "function" && define.amd) {
define('/Section/PageAside', ['exports', 'jquery', 'Component'], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require('jquery'), require('Component'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.jQuery, global.Component);
global.SectionPageAside = mod.exports;
}
})(this, function (exports, _jquery, _Component2) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _jquery2 = babelHelpers.interopRequireDefault(_jquery);
var _Component3 = babelHelpers.interopRequireDefault(_Component2);
var $BODY = (0, _jquery2.default)('body');
var PageAside = function (_Component) {
babelHelpers.inherits(PageAside, _Component);
function PageAside() {
var _ref;
babelHelpers.classCallCheck(this, PageAside);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var _this = babelHelpers.possibleConstructorReturn(this, (_ref = PageAside.__proto__ || Object.getPrototypeOf(PageAside)).call.apply(_ref, [this].concat(args)));
_this.$scroll = _this.$el.find('.page-aside-scroll');
_this.scrollable = _this.$scroll.asScrollable({
namespace: 'scrollable',
contentSelector: '> [data-role=\'content\']',
containerSelector: '> [data-role=\'container\']'
}).data('asScrollable');
return _this;
}
babelHelpers.createClass(PageAside, [{
key: 'process',
value: function process() {
var _this2 = this;
if ($BODY.is('.page-aside-fixed') || $BODY.is('.page-aside-scroll')) {
this.$el.on('transitionend', function () {
_this2.scrollable.update();
});
}
Breakpoints.on('change', function () {
var current = Breakpoints.current().name;
if (!$BODY.is('.page-aside-fixed') && !$BODY.is('.page-aside-scroll')) {
if (current === 'xs') {
_this2.scrollable.enable();
_this2.$el.on('transitionend', function () {
_this2.scrollable.update();
});
} else {
_this2.$el.off('transitionend');
_this2.scrollable.update();
}
}
});
(0, _jquery2.default)(document).on('click.pageAsideScroll', '.page-aside-switch', function () {
var isOpen = _this2.$el.hasClass('open');
if (isOpen) {
_this2.$el.removeClass('open');
} else {
_this2.scrollable.update();
_this2.$el.addClass('open');
}
});
(0, _jquery2.default)(document).on('click.pageAsideScroll', '[data-toggle="collapse"]', function (e) {
var $trigger = (0, _jquery2.default)(e.target);
if (!$trigger.is('[data-toggle="collapse"]')) {
$trigger = $trigger.parents('[data-toggle="collapse"]');
}
var href = void 0;
var target = $trigger.attr('data-target') || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '');
var $target = (0, _jquery2.default)(target);
if ($target.attr('id') === 'site-navbar-collapse') {
_this2.scrollable.update();
}
});
}
}]);
return PageAside;
}(_Component3.default);
exports.default = PageAside;
});