{"version":3,"sources":["favorites.js"],"names":["window","wp","document","$","jQuery","$document","astoundifyFavorites","toggleListField","el","val","siblings","show","hide","openPopUp","content","magnificPopup","open","items","src","config","popupHtml","replace","type","closePopUp","close","favoriteCreate","ajax","post","data","done","$oldLink","$newLink","link","attributes","newAtts","each","i","attr","name","value","setTimeout","html","fail","notices","favoriteEditForm","form","replaceWith","remove","favoriteEdit","formData","FormData","append","send","dataType","contentType","processData","template","favorite_id","favoriteRemove","target_id","length","listCreateForm","listEditForm","listCreate","find","insertBefore","listEdit","list_id","listRemove","ready","on","e","this","preventDefault","confirm","i18n","confirmRemove"],"mappings":"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","file":"favorites.min.js","sourcesContent":["/**\n * Favorite Form\n *\n * @since 1.0.0\n */\n( function( window, undefined ) {\n\n\twindow.wp = window.wp || {};\n\n\tvar document = window.document;\n\tvar $ = window.jQuery;\n\tvar wp = window.wp;\n\n\t/**\n\t * @since 1.0.0\n\t */\n\tvar $document = $(document);\n\n\t/**\n\t * Toggle List Field\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.toggleListField = function( el ) {\n\t\tif ( 'new' === el.val() ) {\n\t\t\tel.siblings( '.astoundify_favorites_list_new' ).show();\n\t\t}\n\t\telse {\n\t\t\tel.siblings( '.astoundify_favorites_list_new' ).hide();\n\t\t}\n\t};\n\n\t/**\n\t * Open Pop Up\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.openPopUp = function( content ) {\n\n\t\tif ( ! content ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$.magnificPopup.open( {\n\t\t\titems: {\n\t\t\t\tsrc: astoundifyFavorites.config.popupHtml.replace( '%%CONTENT%%', content ),\n\t\t\t\ttype: 'inline'\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * Close Pop Up\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.closePopUp = function() {\n\t\t$.magnificPopup.close();\n\t};\n\n\t/**\n\t * Create Favorite\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.favoriteCreate = function( el ) {\n\t\twp.ajax.post( 'astoundify_favorites_favorite_create', el.data() )\n\t\t\t.done( function( data ) {\n\t\t\t\tif ( data.link ) {\n\t\t\t\t\tvar $oldLink = $( '.astoundify-favorites-link[data-af_data=\"' + el.data( 'af_data' ) + '\"][data-af_type=\"' + el.data( 'af_type' ) + '\"]' );\n\t\t\t\t\tvar $newLink = $(data.link);\n\t\t\t\t\t\n\t\t\t\t\t// Update individual link attributes to allow animations to take place.\n\t\t\t\t\tvar oldAtts = $oldLink[0].attributes;\n\t\t\t\t\tvar newAtts = $newLink[0].attributes;\n\n\t\t\t\t\t$.each(newAtts, function(i, attr) {\n\t\t\t\t\t\t$oldLink.attr(attr.name, attr.value);\n\t\t\t\t\t});\n\n\t\t\t\t\t// Replace inner HTML on a delay to allow for animations.\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t$oldLink.html($newLink.html());\n\t\t\t\t\t}, 300);\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.fail( function( data ) {\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} );\n\t};\n\n\t/**\n\t * Open Edit Form Favorite\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.favoriteEditForm = function( el ) {\n\t\tvar data = {};\n\n\t\t$.each(el[0].attributes, function(i, attr) {\n\t\t\tdata[attr.name.replace('data-', '')] = attr.value;\n\t\t});\n\n\t\twp.ajax.post( 'astoundify_favorites_favorite_edit_form', data )\n\t\t\t.done( function( data ) {\n\t\t\t\tastoundifyFavorites.openPopUp( data.form );\n\t\t\t} )\n\t\t\t.fail( function( data ) {\n\t\t\t\tif ( data.link ) {\n\t\t\t\t\t$( '.astoundify-favorites-link[data-af_data=\"' + el.data( 'af_data' ) + '\"][data-af_type=\"' + el.data( 'af_type' ) + '\"]' ).replaceWith( $( data.link ) );\n\t\t\t\t}\n\t\t\t\t$( '#astoundify-favorite-' + el.data( 'af_favorite_id' ) ).remove();\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} );\n\t};\n\n\t/**\n\t * Update Favorite\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.favoriteEdit = function( el ) {\n\n\t\t// Create formData\n\t\tvar formData = new FormData( el[0] );\n\t\tformData.append( 'action', 'astoundify_favorites_favorite_edit' );\n\n\t\t// AJAX\n\t\twp.ajax.send( {\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata : formData,\n\t\t\t\tcontentType: false, // required\n\t\t\t\tprocessData: false // required\n\t\t\t} )\n\t\t\t.done( function( data ) {\n\t\t\t\tif ( data.template ) {\n\t\t\t\t\t$( '#astoundify-favorite-' + data.favorite_id ).replaceWith( data.template );\n\t\t\t\t}\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} )\n\t\t\t.fail( function( data ) {\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} );\n\t};\n\n\t/**\n\t * Remove Favorite\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.favoriteRemove = function( el ) {\n\t\twp.ajax.post( 'astoundify_favorites_favorite_remove', el.data() )\n\t\t\t.done( function( data ) {\n\t\t\t\tif ( data.link ) {\n\t\t\t\t\t$( '.astoundify-favorites-link[data-af_data=\"' + data.target_id + '\"][data-af_type=\"' + el.data( 'af_type' ) + '\"]' ).replaceWith( $( data.link ) );\n\t\t\t\t}\n\t\t\t\t$( '#astoundify-favorite-' + data.favorite_id ).remove();\n\t\t\t\tastoundifyFavorites.closePopUp();\n\t\t\t} )\n\t\t\t.fail( function( data ) {\n\t\t\t\t$( '#astoundify-favorite-' + el.data( 'af_favorite_id' ) ).remove();\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} );\n\t\tif ( ! $( '.astoundify-favorite' ).length ) {\n\t\t\t$( '#astoundify-favorite-0' ).show();\n\t\t}\n\t};\n\n\t/**\n\t * Open Create Form List\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.listCreateForm = function( el ) {\n\t\twp.ajax.post( 'astoundify_favorites_list_create_form', el.data() )\n\t\t\t.done( function( data ) {\n\t\t\t\tastoundifyFavorites.openPopUp( data.form );\n\t\t\t} )\n\t\t\t.fail( function( data ) {\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} );\n\t};\n\n\t/**\n\t * Open Edit Form List\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.listEditForm = function( el ) {\n\t\twp.ajax.post( 'astoundify_favorites_list_edit_form', el.data() )\n\t\t\t.done( function( data ) {\n\t\t\t\tastoundifyFavorites.openPopUp( data.form );\n\t\t\t} )\n\t\t\t.fail( function( data ) {\n\t\t\t\t$( '#astoundify-favorite-list-' + el.data( 'af_list_id' ) ).remove();\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} );\n\t};\n\n\t/**\n\t * Create List\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.listCreate = function( el ) {\n\n\t\t// Create formData\n\t\tvar formData = new FormData( el[0] );\n\t\tformData.append( 'action', 'astoundify_favorites_list_create' );\n\t\tformData.append( 'list_name', el.find( 'input[name=\"list_name\"]' ).val() );\n\n\t\t// AJAX\n\t\twp.ajax.send( {\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata : formData,\n\t\t\t\tcontentType: false, // required\n\t\t\t\tprocessData: false // required\n\t\t\t} )\n\t\t\t.done( function( data ) {\n\t\t\t\tif ( data.template ) {\n\t\t\t\t\t$( data.template ).insertBefore( '#astoundify-favorite-list-new' );\n\t\t\t\t}\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} )\n\t\t\t.fail( function( data ) {\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} );\n\t};\n\n\t/**\n\t * Edit List\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.listEdit = function( el ) {\n\n\t\t// Create formData\n\t\tvar formData = new FormData( el[0] );\n\t\tformData.append( 'action', 'astoundify_favorites_list_edit' );\n\t\tformData.append( 'list_name', el.find( 'input[name=\"list_name\"]' ).val() );\n\n\t\t// AJAX\n\t\twp.ajax.send( {\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata : formData,\n\t\t\t\tcontentType: false, // required\n\t\t\t\tprocessData: false // required\n\t\t\t} )\n\t\t\t.done( function( data ) {\n\t\t\t\tif ( data.template ) {\n\t\t\t\t\t$( '#astoundify-favorite-list-' + data.list_id ).replaceWith( data.template );\n\t\t\t\t}\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} )\n\t\t\t.fail( function( data ) {\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} );\n\t};\n\n\n\t/**\n\t * Remove List\n\t * \n\t * @since 1.0.0\n\t */\n\tastoundifyFavorites.listRemove = function( el ) {\n\t\twp.ajax.post( 'astoundify_favorites_list_remove', el.data() )\n\t\t\t.done( function( data ) {\n\t\t\t\t$( '#astoundify-favorite-list-' + data.list_id ).remove();\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} )\n\t\t\t.fail( function( data ) {\n\t\t\t\tastoundifyFavorites.openPopUp( data.notices );\n\t\t\t} );\n\t};\n\n\n\t/***********************************\n\t * Wait for DOM ready.\n\t *\n\t * @since 1.0.0\n\t ***********************************/\n\t$document.ready( function() {\n\n\t\t// FAVORITE ACTION\n\n\t\t// Add favorite\n\t\t$document.on( 'click', '.astoundify-favorites-link.astoundify-favorites-link--inactive', function(e) {\n\t\t\tif ( 0 !== $( this ).data( 'user_id' ) ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tastoundifyFavorites.favoriteCreate( $( this ) );\n\t\t\t\treturn;\n\t\t\t}\n\t\t} );\n\n\t\t// Open edit favorite form\n\t\t$document.on( 'click', '.astoundify-favorites-link.astoundify-favorites-link--active, .astoundify-favorites-edit-favorite', function(e) {\n\t\t\te.preventDefault();\n\t\t\tastoundifyFavorites.favoriteEditForm( $( this ) );\n\t\t} );\n\n\t\t// Edit favorite\n\t\t$document.on( 'submit', '.astoundify-favorites-form-favorite-edit', function(e) {\n\t\t\te.preventDefault();\n\t\t\tastoundifyFavorites.favoriteEdit( $( this ) );\n\t\t} );\n\n\t\t// Remove favorite\n\t\t$document.on( 'click', '.astoundify-favorites-remove-favorite', function(e) {\n\t\t\te.preventDefault();\n\t\t\tvar confirmDelete = window.confirm( astoundifyFavorites.i18n.confirmRemove );\n\t\t\tif ( true === confirmDelete ) {\n\t\t\t\tastoundifyFavorites.favoriteRemove( $( this ) );\n\t\t\t}\n\t\t} );\n\n\t\t// LIST ACTIONS\n\n\t\t// Open create list form\n\t\t$document.on( 'click', '.astoundify-favorites-create-list', function(e) {\n\t\t\te.preventDefault();\n\t\t\tastoundifyFavorites.listCreateForm( $( this ) );\n\t\t} );\n\n\t\t// Open edit list form\n\t\t$document.on( 'click', '.astoundify-favorites-edit-list', function(e) {\n\t\t\te.preventDefault();\n\t\t\tastoundifyFavorites.listEditForm( $( this ) );\n\t\t} );\n\n\t\t// Edit/Create List\n\t\t$document.on( 'submit', '.astoundify-favorites-form-list-edit', function(e) {\n\t\t\te.preventDefault();\n\t\t\tvar list_id = $( this ).find( 'input[name=\"_list\"]' ).val();\n\t\t\tif ( '0' === list_id ) { // Create List\n\t\t\t\tastoundifyFavorites.listCreate( $( this ) );\n\t\t\t} else { // Edit List\n\t\t\t\tastoundifyFavorites.listEdit( $( this ) );\n\t\t\t}\n\t\t} );\n\n\t\t// Remove List\n\t\t$document.on( 'click', '.astoundify-favorites-remove-list', function(e) {\n\t\t\te.preventDefault();\n\t\t\tvar confirmDelete = window.confirm( astoundifyFavorites.i18n.confirmRemove );\n\t\t\tif ( true === confirmDelete ) {\n\t\t\t\tastoundifyFavorites.listRemove( $( this ) );\n\t\t\t}\n\t\t} );\n\n\t\t// SELECT LIST\n\n\t\t// Select list field\n\t\t$document.on( 'change', '.astoundify_favorites_list', function() {\n\t\t\tastoundifyFavorites.toggleListField( $( this ) );\n\t\t} );\n\n\t} );\n\n}( window ) );\n"]}