(function($){ var soundmap = window.Soundmap || {} _.extend(soundmap, { map: undefined, layers:[], marker: undefined, file_frame: wp.media.frames.file_frame = wp.media({ multiple: false, library: { type: 'audio' } }), attachTemplate: "
" + "
<%= name %>
" + "<%= length %>
" + "Borrar
", initMap: function(){ this.map = L.map('map_canvas',{center: [this.origin.lat, this.origin.lng], zoom: this.origin.zoom}); L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', { id: 'mapbox.streets', maxZoom : 18, accessToken: 'pk.eyJ1IjoibHJ1bGxvIiwiYSI6ImNpaDUydjdoNTAwd3BzdGx5bGlhOTh6bXYifQ.tE8QgNbVSgwP8V5LnJWA3w' }).addTo(this.map); this.map.addEventListener('click', this.mapClick, this); if( $('#soundmap-marker-lat').val() ){ var _latlng = [parseFloat($('#soundmap-marker-lat').val()), parseFloat($('#soundmap-marker-lng').val())]; this.marker = L.marker(_latlng,{draggable: true}).addTo(this.map); this.map.panTo(_latlng); this.marker.addEventListener('dragend', this.markerDrag, this); } //_.bindAll(this); this.initEvents(); ; }, initEvents: function(){ console.log('init events'); //$('#add_files').bind('click', function() {alert('open media file'); }); $('#add_files').bind('click', this.openMediaManager); this.file_frame.on('select',this.mediaSelected, this); $('.delete-att-item').live('click', this.removeMedia); }, removeMedia: function(event){ $(event.currentTarget).parents('.soundmap-attach-item').remove(); }, openMediaManager: function(event){ event.preventDefault(); if ( this.file_frame ){ this.file_frame.open(); return; } else { this.file_frame = wp.media.frames.file_frame = wp.media({ multiple: false, library: { type: 'audio' } }); this.file_frame.on('select',this.mediaSelected, this); this.file_frame.open(); return; //console.log('not init file_frame'); } }, mediaSelected: function(event){ console.log('media selected'); var attachment = this.file_frame.state().get('selection').first().toJSON(); var _cT = _.template(this.attachTemplate); var _o = _cT({ icon: attachment.icon, url: attachment.url, name: attachment.title, length: attachment.fileLength, id: attachment.id }); $('#soundmap-attachments-list').append(_o); }, mapClick: function(event){ var _latlng = event.latlng; if(_.isUndefined(this.marker)){ this.marker = L.marker(_latlng,{draggable: true}).addTo(this.map); this.marker.addEventListener('dragend', this.markerDrag, this); }else{ this.marker.setLatLng(_latlng); } $('#soundmap-marker-lat').val(_latlng.lat); $('#soundmap-marker-lng').val(_latlng.lng); }, markerDrag: function(event){ var _latlng = this.marker.getLatLng(); $('#soundmap-marker-lat').val(_latlng.lat); $('#soundmap-marker-lng').val(_latlng.lng); } }); $(document).ready(function(){ soundmap.initMap(); }); }(jQuery));