PageAside.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. (function (global, factory) {
  2. if (typeof define === "function" && define.amd) {
  3. define("/Section/PageAside", ["exports", "jquery", "Component"], factory);
  4. } else if (typeof exports !== "undefined") {
  5. factory(exports, require("jquery"), require("Component"));
  6. } else {
  7. var mod = {
  8. exports: {}
  9. };
  10. factory(mod.exports, global.jQuery, global.Component);
  11. global.SectionPageAside = mod.exports;
  12. }
  13. })(this, function (_exports, _jquery, _Component2) {
  14. "use strict";
  15. Object.defineProperty(_exports, "__esModule", {
  16. value: true
  17. });
  18. _exports.default = void 0;
  19. _jquery = babelHelpers.interopRequireDefault(_jquery);
  20. _Component2 = babelHelpers.interopRequireDefault(_Component2);
  21. var $BODY = (0, _jquery.default)('body');
  22. var PageAside =
  23. /*#__PURE__*/
  24. function (_Component) {
  25. babelHelpers.inherits(PageAside, _Component);
  26. function PageAside() {
  27. var _babelHelpers$getProt;
  28. var _this;
  29. babelHelpers.classCallCheck(this, PageAside);
  30. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  31. args[_key] = arguments[_key];
  32. }
  33. _this = babelHelpers.possibleConstructorReturn(this, (_babelHelpers$getProt = babelHelpers.getPrototypeOf(PageAside)).call.apply(_babelHelpers$getProt, [this].concat(args)));
  34. _this.$scroll = _this.$el.find('.page-aside-scroll');
  35. _this.scrollable = _this.$scroll.asScrollable({
  36. namespace: 'scrollable',
  37. contentSelector: '> [data-role=\'content\']',
  38. containerSelector: '> [data-role=\'container\']'
  39. }).data('asScrollable');
  40. return _this;
  41. }
  42. babelHelpers.createClass(PageAside, [{
  43. key: "process",
  44. value: function process() {
  45. var _this2 = this;
  46. if ($BODY.is('.page-aside-fixed') || $BODY.is('.page-aside-scroll')) {
  47. this.$el.on('transitionend', function () {
  48. _this2.scrollable.update();
  49. });
  50. }
  51. Breakpoints.on('change', function () {
  52. var current = Breakpoints.current().name;
  53. if (!$BODY.is('.page-aside-fixed') && !$BODY.is('.page-aside-scroll')) {
  54. if (current === 'xs') {
  55. _this2.scrollable.enable();
  56. _this2.$el.on('transitionend', function () {
  57. _this2.scrollable.update();
  58. });
  59. } else {
  60. _this2.$el.off('transitionend');
  61. _this2.scrollable.update();
  62. }
  63. }
  64. });
  65. (0, _jquery.default)(document).on('click.pageAsideScroll', '.page-aside-switch', function () {
  66. var isOpen = _this2.$el.hasClass('open');
  67. if (isOpen) {
  68. _this2.$el.removeClass('open');
  69. } else {
  70. _this2.scrollable.update();
  71. _this2.$el.addClass('open');
  72. }
  73. });
  74. (0, _jquery.default)(document).on('click.pageAsideScroll', '[data-toggle="collapse"]', function (e) {
  75. var $trigger = (0, _jquery.default)(e.target);
  76. if (!$trigger.is('[data-toggle="collapse"]')) {
  77. $trigger = $trigger.parents('[data-toggle="collapse"]');
  78. }
  79. var href;
  80. var target = $trigger.attr('data-target') || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '');
  81. var $target = (0, _jquery.default)(target);
  82. if ($target.attr('id') === 'site-navbar-collapse') {
  83. _this2.scrollable.update();
  84. }
  85. });
  86. }
  87. }]);
  88. return PageAside;
  89. }(_Component2.default);
  90. var _default = PageAside;
  91. _exports.default = _default;
  92. });