Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Conflicts:
	public_html/src/js/app/plugin/myplaces.js
  • Loading branch information
barriosnahuel committed Apr 28, 2014
2 parents 403e164 + 434880c commit c2fe2b2
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 38 deletions.
35 changes: 30 additions & 5 deletions public_html/example/public_pages/index.html
Expand Up @@ -40,18 +40,16 @@ <h1>Jquery.MyPlaces Example</h1>

<script type="text/javascript" src="../../dist/jquery.myplaces.min-1.0.js"></script>

<!-- Plugin source-->
<!--
<!-- Plugin source
<script type="text/javascript" src="../../src/js/app/somospnt.js"></script>
<script type="text/javascript" src="../../src/js/app/util/util.js"></script>
<script type="text/javascript" src="../../src/js/app/util/ui/ui.js"></script>
<script type="text/javascript" src="../../src/js/app/util/ui/map/map.js"></script>
<script type="text/javascript" src="../../src/js/app/util/ui/places/places.js"></script>
<script type="text/javascript" src="../../src/js/app/util/ui/searcher/searcher.js"></script>
<script type="text/javascript" src="../../src/js/app/util/ui/filter/filter.js"></script>
<script type="text/javascript" src="../../src/js/app/plugin/myplaces.js"></script>
<script type="text/javascript" src="../../src/js/app/plugin/loca.js"></script>
-->

<!--Js of page-->
<script>

Expand Down Expand Up @@ -131,5 +129,32 @@ <h3>Address:</h3>
{{:address}}
</div>
</script>
</body>
<script id="filtersTemplate" type="text/x-jsrender">
<li class="myplaces-category" >
<div class="myplaces-check myplaces-filter-container" id="{{:#data}}">
<span>{{:#data}}</span>
</div>
</li>
</script>
<script id="mainTemplate" type="text/x-jsrender">
<div class="myplaces-searcher">
<input class="myplaces-searcher-input" type="text" />
<ul>
<li class="myplaces-buscar">Search</li>
</ul>
</div>
<ul class="myplaces-categories">
</ul>
<div class="myplaces-places">
<div class="myplaces-placesList">
<ul></ul>
</div>
<div class="myplaces-placeInfo">
<div class="myplaces-infoContenido">
</div>
</div>
</div>
<div class="myplaces-map"></div>
</script>
</body>
</html>
22 changes: 14 additions & 8 deletions public_html/src/js/app/plugin/myplaces.js
Expand Up @@ -14,7 +14,7 @@
$.fn.extend({
myplaces: function(insertedOptions) {

var these = this;
var $this = $(this);

var options = {
places: [],
Expand All @@ -32,24 +32,30 @@
onPlacesChange: function() {
},
onClickPlace: function() {
}
},
searcherInputClass:"myplaces-searcher-input",
filterMainContainerClass:"myplaces-categories",
filterContainerClass:"myplaces-filter-container",
filterClass:"myplaces-check",
filterActiveClass:"myplaces-check-on",
filterTemplateId: "filtersTemplate",
mainTemplateId: "mainTemplate"
};

$.extend(options, insertedOptions);

$(these).append("<div class='myplaces-spinner'></div>");
$this.append("<div class='myplaces-spinner'></div>");

var locaHtml = '<div class="myplaces-searcher"><input class="myplaces-searcher-input" type="text" /><ul><li class="myplaces-buscar">Search</li></ul></div><ul class="myplaces-categories"></ul><div class="myplaces-places"><div class="myplaces-placesList"><ul></ul></div><div class="myplaces-placeInfo"><div class="myplaces-infoContenido"></div></div></div><div class="myplaces-map"></div>';
$(these).append(locaHtml);
$this.append($.templates('#' + options.mainTemplateId).render());

somospnt.util.ui.places.init(options.placeListTemplate, options.placeInfoTemplate, options.onPlacesChange, options.onClickPlace);
somospnt.util.ui.map.init(options.places, options.popUpMapTemplate, options.mapOptions);
somospnt.util.ui.searcher.init(options.country);
somospnt.util.ui.filter.init(options.places);
somospnt.util.ui.searcher.init(options.country, options.searcherInputClass);
somospnt.util.ui.filter.init(options);

options.onLoad();

$(these).find(".myplaces-spinner").remove();
$this.find(".myplaces-spinner").remove();
}
});
}(jQuery));
37 changes: 20 additions & 17 deletions public_html/src/js/app/util/ui/filter/filter.js
Expand Up @@ -12,19 +12,20 @@

somospnt.util.ui.filter = (function() {

var filterTemplate;

function init(places) {

filterTemplate = $.templates('<li class="myplaces-category"><label class="myplaces-check" for="{{:#data}}">{{:#data}}<input type="checkbox" id="{{:#data}}" /></label></li>');
addFilters(places);
$('.myplaces-category').on('click', changeFilter);
var settings = {};

function init(options) {
settings = options;

filterTemplate = $.templates('#' + settings.filterTemplateId);
addFilters(settings.places);
$('.' + settings.filterContainerClass).on('click', changeFilter);
}

function addFilters(places) {

var filters = getFilters(places);
$('.myplaces-categories').append(filterTemplate.render(filters));
$('.' + settings.filterMainContainerClass).append(filterTemplate.render(filters));

}

Expand All @@ -46,19 +47,21 @@ somospnt.util.ui.filter = (function() {
return filters;
}

function changeFilter() {
function changeFilter(evt) {

var filters = [];

$('.myplaces-check').removeClass('myplaces-check-on');
$('.myplaces-check input[type=checkbox]:checked').each(
function(index, element) {
filters.push($(element).attr('id'));
$(element).parent('label').addClass('myplaces-check-on');
});
$(this).toggleClass(settings.filterActiveClass);
$('.' + settings.filterActiveClass).each(
function(index, element) {
filters.push($(element).attr('id'));
});

somospnt.util.ui.map.filterLocations(filters);


evt.stopPropagation();
evt.preventDefault();
}

return {
Expand Down
16 changes: 8 additions & 8 deletions public_html/src/js/app/util/ui/searcher/searcher.js
Expand Up @@ -12,22 +12,22 @@

somospnt.util.ui.searcher = (function() {

var autocomplete, inputAutocomplete, geocoder;
var autocomplete, $inputAutocomplete, geocoder;

function init(country) {
function init(country, searcherInputClass) {

var options = {
componentRestrictions: {country: country}
};

geocoder = new google.maps.Geocoder(options);

inputAutocomplete = $('.myplaces-searcher-input').get(0);
autocomplete = new google.maps.places.Autocomplete(inputAutocomplete, options);
$inputAutocomplete = $('.' + searcherInputClass);
autocomplete = new google.maps.places.Autocomplete($inputAutocomplete.get(0), options);

$('.myplaces-buscar').on('click', searchBySearcher);

$('.myplaces-searcher input').on('keypress', function(e) {
$inputAutocomplete.on('keypress', function(e) {
var key = e.charCode ? e.charCode : e.keyCode;
if (key === 13) {
searchBySearcher();
Expand All @@ -41,12 +41,12 @@ somospnt.util.ui.searcher = (function() {


function searchByAutocomplete() {
inputAutocomplete.className = '';
$inputAutocomplete.removeClass("notfound");

var place = autocomplete.getPlace();

if (!place.geometry) {
inputAutocomplete.className = 'notfound';
$inputAutocomplete.addClass("notfound");
return;
}

Expand All @@ -55,7 +55,7 @@ somospnt.util.ui.searcher = (function() {
}

function searchBySearcher() {
var placeToFind = $(".myplaces-searcher input").val();
var placeToFind = $inputAutocomplete.val();

geocoder.geocode({'address': placeToFind}, function(places, status) {
if (status === google.maps.GeocoderStatus.OK) {
Expand Down

0 comments on commit c2fe2b2

Please sign in to comment.