您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

76 行
2.2 KiB

  1. // import $ from 'jquery';
  2. import {EtrackerUtils} from "../utils/EtrackerUtils";
  3. const $ = require('jquery');
  4. class Bookmarks{
  5. constructor(list) {
  6. this.wrap = list.closest('.print-share');
  7. this.bookmarks = $('#socialbookmarks').addClass('bookmarks').removeAttr('id');
  8. if ($('.has-sidebar').length) {
  9. this.initMobileClone();
  10. }
  11. else if ($('.document-number').length) {
  12. this.initMobileDocNumber();
  13. }
  14. $(document).find('.print-share-list .share-mail').on('click', function (e) {
  15. e.preventDefault();
  16. $('.bookmarks').addClass('show-bookmarks');
  17. });
  18. this.initEtrackerClickEvents();
  19. }
  20. initMobileClone() {
  21. const docNumber = $('.document-number');
  22. const documentNrClone = docNumber.clone().attr("id", "gfi-document-id-mobil").removeClass("desktopOnly");
  23. this.mobileClone = $('<div class="mobile-footer" />');
  24. this.mobileClone.append( this.wrap.clone() );
  25. this.mobileClone.append( this.bookmarks.clone() )
  26. this.mobileClone.prepend( documentNrClone );
  27. this.mobileClone.insertAfter($('aside'));
  28. }
  29. initMobileDocNumber() {
  30. const docNumber = $('.document-number').removeClass('desktopOnly');
  31. const wrapper = $('<div class="bookmarks-wrapper" />');
  32. this.wrap.wrap(wrapper);
  33. docNumber.clone().insertBefore(this.wrap);
  34. }
  35. initEtrackerClickEvents(){
  36. $(document).find(".social-share").on('click', function (e) {
  37. const category = 'Socialbookmark';
  38. const object = $(this).attr("href");
  39. const action = 'Link';
  40. EtrackerUtils.fireETrackerEvent(category,object,action,'');
  41. });
  42. }
  43. }
  44. const docNumber = $('.document-number');
  45. const printShareList = $('.print-share-list');
  46. if (printShareList.length === 0 && docNumber.length > 0) {
  47. const documentNrClone = docNumber.clone().attr("id", "gfi-document-id-mobil").removeClass("desktopOnly");
  48. const mobileWrapperElem = $('<div class="mobile-footer" />').append(documentNrClone);
  49. const pageContent = $('.page-content');
  50. if(pageContent.length){
  51. pageContent.append(mobileWrapperElem);
  52. } else {
  53. $('.page-wrapper').append(mobileWrapperElem);
  54. }
  55. }
  56. printShareList.each(function(i) {
  57. new Bookmarks($(this));
  58. });