Sidebar.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. (function (global, factory) {
  2. if (typeof define === "function" && define.amd) {
  3. define("/Section/Sidebar", ["exports", "jquery", "Base", "Plugin"], factory);
  4. } else if (typeof exports !== "undefined") {
  5. factory(exports, require("jquery"), require("Base"), require("Plugin"));
  6. } else {
  7. var mod = {
  8. exports: {}
  9. };
  10. factory(mod.exports, global.jQuery, global.Base, global.Plugin);
  11. global.SectionSidebar = mod.exports;
  12. }
  13. })(this, function (_exports, _jquery, _Base2, _Plugin) {
  14. "use strict";
  15. Object.defineProperty(_exports, "__esModule", {
  16. value: true
  17. });
  18. _exports.default = void 0;
  19. _jquery = babelHelpers.interopRequireDefault(_jquery);
  20. _Base2 = babelHelpers.interopRequireDefault(_Base2);
  21. var Sidebar =
  22. /*#__PURE__*/
  23. function (_Base) {
  24. babelHelpers.inherits(Sidebar, _Base);
  25. function Sidebar() {
  26. babelHelpers.classCallCheck(this, Sidebar);
  27. return babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(Sidebar).apply(this, arguments));
  28. }
  29. babelHelpers.createClass(Sidebar, [{
  30. key: "process",
  31. value: function process() {
  32. if (typeof _jquery.default.slidePanel === 'undefined') {
  33. return;
  34. }
  35. var sidebar = this;
  36. (0, _jquery.default)(document).on('click', '[data-toggle="site-sidebar"]', function () {
  37. var $this = (0, _jquery.default)(this);
  38. var direction = 'right';
  39. if ((0, _jquery.default)('body').hasClass('site-menubar-flipped')) {
  40. direction = 'left';
  41. }
  42. var options = _jquery.default.extend({}, (0, _Plugin.getDefaults)('slidePanel'), {
  43. direction: direction,
  44. skin: 'site-sidebar',
  45. dragTolerance: 80,
  46. template: function template(options) {
  47. return "<div class=\"".concat(options.classes.base, " ").concat(options.classes.base, "-").concat(options.direction, "\">\n <div class=\"").concat(options.classes.content, " site-sidebar-content\"></div>\n <div class=\"slidePanel-handler\"></div>\n </div>");
  48. },
  49. afterLoad: function afterLoad() {
  50. var self = this;
  51. this.$panel.find('.tab-pane').asScrollable({
  52. namespace: 'scrollable',
  53. contentSelector: '> div',
  54. containerSelector: '> div'
  55. });
  56. sidebar.initializePlugins(self.$panel);
  57. this.$panel.on('shown.bs.tab', function () {
  58. self.$panel.find('.tab-pane.active').asScrollable('update');
  59. });
  60. },
  61. beforeShow: function beforeShow() {
  62. if (!$this.hasClass('active')) {
  63. $this.addClass('active');
  64. }
  65. },
  66. afterHide: function afterHide() {
  67. if ($this.hasClass('active')) {
  68. $this.removeClass('active');
  69. }
  70. }
  71. });
  72. if ($this.hasClass('active')) {
  73. _jquery.default.slidePanel.hide();
  74. } else {
  75. var url = $this.data('url');
  76. if (!url) {
  77. url = $this.attr('href');
  78. url = url && url.replace(/.*(?=#[^\s]*$)/, '');
  79. }
  80. _jquery.default.slidePanel.show({
  81. url: url
  82. }, options);
  83. }
  84. });
  85. (0, _jquery.default)(document).on('click', '[data-toggle="show-chat"]', function () {
  86. (0, _jquery.default)('#conversation').addClass('active');
  87. });
  88. (0, _jquery.default)(document).on('click', '[data-toggle="close-chat"]', function () {
  89. (0, _jquery.default)('#conversation').removeClass('active');
  90. });
  91. }
  92. }]);
  93. return Sidebar;
  94. }(_Base2.default);
  95. var _default = Sidebar;
  96. _exports.default = _default;
  97. });