{"version":3,"sources":["llms-admin-settings.js"],"names":["$","window","llms","admin_settings","this","file_frame","init","bind","bind_conditionals","self","length","on","e","preventDefault","image_upload_click","update_image","sortable","axis","cursor","items","handle","helper","event","ui","children","each","width","update","find","i","val","$controls","attr","closest","is","show","hide","trigger","$btn","frame","title","LLMS","l10n","translate","button_text","wp","media","frames","button","text","multiple","attachment","state","get","first","toJSON","id","url","open","src","$input","$preview","prevAll","$remove","hasClass","next","removeClass","addClass","jQuery"],"mappings":"CAKG,SAAYA,GAEdC,OAAOC,KAAsBD,OAAOC,MAAQ,GAC5CD,OAAOC,KAAKC,eAAiB,WAE5BC,KAAKC,WAAa,KASlBD,KAAKE,KAAO,WACXF,KAAKG,OACLH,KAAKI,qBAUNJ,KAAKG,KAAO,WAEX,IAAIE,EAAOL,KAENJ,EAAG,4BAA6BU,SACpCV,EAAG,4BAA6BW,GAAI,QAAS,SAAUC,GACtDA,EAAEC,iBACFJ,EAAKK,mBAAoBd,EAAGI,MAAQQ,KAGrCZ,EAAG,4BAA6BW,GAAI,QAAS,SAAUC,GACtDA,EAAEC,iBACFJ,EAAKM,aAAcf,EAAGI,MAAQ,GAAI,OAI/BJ,EAAG,uBAAwBU,QAC/BV,EAAG,6BAA8BgB,SAAU,CAC1CC,KAAM,IACNC,OAAQ,OACRC,MAAO,KAEPC,OAAQ,UACRC,OAAQ,SAAUC,EAAOC,GAKxB,OAJAA,EAAGC,WAAWC,KAAM,WACnBzB,EAAGI,MAAOsB,MAAO1B,EAAGI,MAAOsB,WAGrBH,GAERI,OAAQ,SAAUL,EAAOC,GACxBvB,EAAGI,MAAOwB,KAAM,iBAAkBH,KAAM,SAAUI,GACjD7B,EAAGI,MAAO0B,IAAKD,SAepBzB,KAAKI,kBAAoB,WAExBR,EAAG,gCAAiCyB,KAAM,WAEzC,IAAIM,EAAY/B,EAAGA,EAAGI,MAAO4B,KAAM,kBAAoBC,QAAS,MAEhEjC,EAAGI,MAAOO,GAAI,SAAU,WAEvB,IAAImB,EAEC,aAAe9B,EAAGI,MAAO4B,KAAM,UACnCF,EAAM9B,EAAGI,MAAO8B,GAAI,aAGhBJ,EACJC,EAAUI,OAEVJ,EAAUK,SAGRC,QAAS,aAefjC,KAAKU,mBAAqB,SAAUwB,EAAM1B,GAEzC,IAAIH,EAAQL,KACXmC,EAAQ,KAET,IAAOA,EAAQ,CACd,IAAIC,EAAcF,EAAKN,KAAM,qBAAwBS,KAAKC,KAAKC,UAAW,mBACzEC,EAAcN,EAAKN,KAAM,sBAAyBS,KAAKC,KAAKC,UAAW,gBACxEJ,EAAkBM,GAAGC,MAAMC,OAAO1C,WAAawC,GAAGC,MAAM,CACvDN,MAAOA,EACPQ,OAAQ,CACPC,KAAML,GAEPM,UAAU,IAIZX,EAAM5B,GAAI,SAAU,WAGnB,IAAIwC,EAAaZ,EAAMa,QAAQC,IAAK,aAAcC,QAAQC,SAE1D9C,EAAKM,aAAcuB,EAAMa,EAAWK,GAAIL,EAAWM,OAIpDlB,EAAMmB,QAcPtD,KAAKW,aAAe,SAAUuB,EAAMkB,EAAIG,GAEvC,IAAIC,EAAW5D,EAAG,IAAMsC,EAAKN,KAAM,YAClC6B,EAAWvB,EAAKwB,QAAS,gCACzBC,QAAWzB,EAAK0B,SAAU,2BAA8B1B,EAAOA,EAAK2B,KAAM,iCAE3EL,EAAO9B,IAAK0B,GACZK,EAAS7B,KAAM,MAAO2B,GAEjB,KAAOH,EACXO,QAAQG,YAAa,UAErBH,QAAQI,SAAU,WAMpB/D,KAAKE,QAIE,IAAIL,OAAOC,KAAKC,eA1KtB,CA4KEiE","file":"../../js/llms-admin-settings.min.js","sourcesContent":[";/**\n * LifterLMS Settings Pages UI / UX\n *\n * @since    3.7.3\n * @version  3.18.0\n */( function( $, undefined ) {\n\n\twindow.llms                = window.llms || {};\n\twindow.llms.admin_settings = function() {\n\n\t\tthis.file_frame = null;\n\n\t\t/**\n\t\t * Initialize\n\t\t *\n\t\t * @return   void\n\t\t * @since    3.7.3\n\t\t * @version  3.18.0\n\t\t */\n\t\tthis.init = function() {\n\t\t\tthis.bind();\n\t\t\tthis.bind_conditionals();\n\t\t};\n\n\t\t/**\n\t\t * Bind DOM events\n\t\t *\n\t\t * @return   void\n\t\t * @since    3.7.3\n\t\t * @version  3.17.5\n\t\t */\n\t\tthis.bind = function() {\n\n\t\t\tvar self = this;\n\n\t\t\tif ( $( '.llms-image-field-upload' ).length ) {\n\t\t\t\t$( '.llms-image-field-upload' ).on( 'click', function( e ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tself.image_upload_click( $( this ), e );\n\t\t\t\t} );\n\n\t\t\t\t$( '.llms-image-field-remove' ).on( 'click', function( e ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tself.update_image( $( this ), '', '' );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( $( '.llms-gateway-table' ).length ) {\n\t\t\t\t$( '.llms-gateway-table tbody' ).sortable( {\n\t\t\t\t\taxis: 'y',\n\t\t\t\t\tcursor: 'move',\n\t\t\t\t\titems: 'tr',\n\t\t\t\t\t// containment: 'parent',\n\t\t\t\t\thandle: 'td.sort',\n\t\t\t\t\thelper: function( event, ui ) {\n\t\t\t\t\t\tui.children().each( function() {\n\t\t\t\t\t\t\t$( this ).width( $( this ).width() );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t// ui.css( 'left', '0' );\n\t\t\t\t\t\treturn ui;\n\t\t\t\t\t},\n\t\t\t\t\tupdate: function( event, ui ) {\n\t\t\t\t\t\t$( this ).find( 'td.sort input' ).each( function( i ) {\n\t\t\t\t\t\t\t$( this ).val( i );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t};\n\n\t\t/**\n\t\t * Allow checkboxes to conditionally display other settings\n\t\t *\n\t\t * @return   void\n\t\t * @since    3.18.0\n\t\t * @version  3.18.0\n\t\t */\n\t\tthis.bind_conditionals = function() {\n\n\t\t\t$( '.llms-conditional-controller' ).each( function() {\n\n\t\t\t\tvar $controls = $( $( this ).attr( 'data-controls' ) ).closest( 'tr' );\n\n\t\t\t\t$( this ).on( 'change', function() {\n\n\t\t\t\t\tvar val;\n\n\t\t\t\t\tif ( 'checkbox' === $( this ).attr( 'type' ) ) {\n\t\t\t\t\t\tval = $( this ).is( ':checked' );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\t$controls.show();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$controls.hide();\n\t\t\t\t\t}\n\n\t\t\t\t} ).trigger( 'change' );\n\n\t\t\t} );\n\n\t\t};\n\n\t\t/**\n\t\t * Click event for image upload fields\n\t\t *\n\t\t * @param    obj   $btn  jQuery object for clicked button\n\t\t * @param    obj   e     JS event object\n\t\t * @return   void\n\t\t * @since    3.7.3\n\t\t * @version  3.7.3\n\t\t */\n\t\tthis.image_upload_click = function( $btn, e ) {\n\n\t\t\tvar self  = this,\n\t\t\t\tframe = null;\n\n\t\t\tif ( ! frame ) {\n\t\t\t\tvar title       = $btn.attr( 'data-frame-title' ) || LLMS.l10n.translate( 'Select an Image' ),\n\t\t\t\t\tbutton_text = $btn.attr( 'data-frame-button' ) || LLMS.l10n.translate( 'Select Image' );\n\t\t\t\tframe           = wp.media.frames.file_frame = wp.media({\n\t\t\t\t\ttitle: title,\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\ttext: button_text,\n\t\t\t\t\t},\n\t\t\t\t\tmultiple: false\t// Set to true to allow multiple files to be selected\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tframe.on( 'select', function() {\n\n\t\t\t\t// We set multiple to false so only get one image from the uploader\n\t\t\t\tvar attachment = frame.state().get( 'selection' ).first().toJSON();\n\n\t\t\t\tself.update_image( $btn, attachment.id, attachment.url );\n\n\t\t\t});\n\n\t\t\tframe.open();\n\n\t\t};\n\n\t\t/**\n\t\t * Update the DOM with a selected image\n\t\t *\n\t\t * @param    obj      $btn  jQuery object of the clicked button\n\t\t * @param    int      id    WP Attachment ID of the image\n\t\t * @param    string   src   <img> src of the selected image\n\t\t * @return   void\n\t\t * @since    3.7.3\n\t\t * @version  3.7.3\n\t\t */\n\t\tthis.update_image = function( $btn, id, src ) {\n\n\t\t\tvar $input   = $( '#' + $btn.attr( 'data-id' ) ),\n\t\t\t\t$preview = $btn.prevAll( 'img.llms-image-field-preview' )\n\t\t\t\t$remove  = $btn.hasClass( 'llms-image-field-remove' ) ? $btn : $btn.next( 'input.llms-image-field-remove' );\n\n\t\t\t$input.val( id );\n\t\t\t$preview.attr( 'src', src );\n\n\t\t\tif ( '' !== id ) {\n\t\t\t\t$remove.removeClass( 'hidden' );\n\t\t\t} else {\n\t\t\t\t$remove.addClass( 'hidden' );\n\t\t\t}\n\n\t\t}\n\n\t\t// go\n\t\tthis.init();\n\n\t};\n\n\tvar a = new window.llms.admin_settings();\n\n} )( jQuery );\n"],"sourceRoot":"../../js"}