JAVASCRIPT   41

appp segment push

Guest on 21st May 2022 02:20:47 AM

  1. window.appp_segments_push = (function(window, document, $, undefined){
  2.        
  3.         'use strict';
  4.  
  5.         var seg = {
  6.                 'admin':{},
  7.                 'user':{}
  8.         };
  9.  
  10.         seg.admin.init = function() {
  11.                 $('[data-allow-segments="checkbox"]').on('click',function(){
  12.                         appp_segments_push.admin.toggle_taxonomies();
  13.                 });
  14.  
  15.                 appp_segments_push.admin.toggle_taxonomies();
  16.         };
  17.  
  18.         seg.admin.toggle_taxonomies = function() {
  19.                 if ( $('[data-allow-segments="checkbox"]').is(':checked') ) {
  20.                         $('.toggle-notification-segments').show();
  21.                 } else {
  22.                         $.each($('.toggle-notification-segments input'),function(a,b){
  23.                                 $(b).attr('checked',false);
  24.                         });
  25.                         $('.toggle-notification-segments').hide();
  26.                 }
  27.         };
  28.  
  29.         seg.user.init = function() {
  30.                 $('.notification-signup input:checkbox').on('click',function(event){
  31.                         appp_segments_push.user.update_meta(this);
  32.                 });
  33.         };
  34.  
  35.         seg.user.update_meta = function(checkbox) {
  36.  
  37.                 $('.item-toggle-'+$(checkbox).data('count')+' .appp-error-msg').hide();
  38.  
  39.                 var postData = {
  40.                         action: 'segment_user_meta_update',
  41.                         taxonomy: $(checkbox).data('taxonomy'),
  42.                         term_id: $(checkbox).data('termId'),
  43.                         post_type: $(checkbox).data('postType'),
  44.                         status: ($(checkbox).is(':checked'))?'on':'off',
  45.                 };
  46.  
  47.                 $.ajax({
  48.                         type: 'POST',
  49.                         data: postData,
  50.                         dataType:'json',
  51.                         url: apppCore.ajaxurl,
  52.                         //This fires when the ajax 'comes back' and it is valid json
  53.                         success: function (response) {
  54.                                 if(response && response.status && ( response.status == 'on' || response.status == 'off') ) {
  55.                                         console.log('user preference updated!');
  56.                                 } else {
  57.                                         console.log(response);
  58.                                         $('.item-toggle-'+$(checkbox).data('count')+' .appp-error-msg').show();
  59.                                 }
  60.                         }
  61.                         //This fires when the ajax 'comes back' and it isn't valid json
  62.                 }).fail(function (data) {
  63.                         $('.item-toggle-'+$(checkbox).data('count')+' .appp-error-msg').show();
  64.                 });
  65.         };
  66.  
  67.         return seg;
  68.  
  69. })(window, document, jQuery);
  70.  
  71. jQuery(document).on('ready load_ajax_content_done', function(){
  72.         if(jQuery('.wp-admin').length) {
  73.                 appp_segments_push.admin.init();
  74.         } else {
  75.                 // front-end
  76.                 appp_segments_push.user.init();
  77.         }
  78. });

Raw Paste


Login or Register to edit or fork this paste. It's free.