{"version":3,"file":"../../js/llms-admin-settings.min.js","sources":["llms-admin-settings.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"],"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","title","button_text","frame","LLMS","l10n","translate","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,GAGHA,EADI,aAAe9B,EAAGI,MAAO4B,KAAM,QAC7BhC,EAAGI,MAAO8B,GAAI,YAGhBJ,GACJC,EAAUI,OAEVJ,EAAUK,SAGRC,QAAS,aAefjC,KAAKU,mBAAqB,SAAUwB,EAAM1B,GAEzC,IAIK2B,EACHC,EALE/B,EAAQL,KACXqC,EAAQ,KAEFA,IACFF,EAAcD,EAAKN,KAAM,qBAAwBU,KAAKC,KAAKC,UAAW,mBACzEJ,EAAcF,EAAKN,KAAM,sBAAyBU,KAAKC,KAAKC,UAAW,gBACxEH,EAAkBI,GAAGC,MAAMC,OAAO1C,WAAawC,GAAGC,MAAM,CACvDP,MAAOA,EACPS,OAAQ,CACPC,KAAMT,GAEPU,UAAU,KAIZT,EAAM9B,GAAI,SAAU,WAGnB,IAAIwC,EAAaV,EAAMW,QAAQC,IAAK,aAAcC,QAAQC,SAE1D9C,EAAKM,aAAcuB,EAAMa,EAAWK,GAAIL,EAAWM,OAIpDhB,EAAMiB,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","sourceRoot":"../../js"}