cms/app-client/app/components/notice-location-component.js
author ymh <ymh.work@gmail.com>
Tue, 20 Mar 2018 15:02:40 +0100
changeset 573 25f3d28f51b2
parent 569 2815e71c65fb
permissions -rw-r--r--
Added tag 0.0.25 for changeset 190ae1dee68d

import Ember from 'ember';
import * as commonUtils from 'corpus-common-addon/utils/utils';
import * as commonConstants from 'corpus-common-addon/utils/constants';

export default Ember.Component.extend({
  classNames: ['notice-location-component'],
  filter: Ember.inject.service(),

  zoom: 6,
  tilesUrl: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",

  location: Ember.computed('geoInfo', function() {
    return [this.get('geoInfo.latitude'), this.get('geoInfo.longitude')];
  }),

  hasCoordinates: Ember.computed('geoInfo', function() {
    return Boolean(this.get('geoInfo.longitude')) && Boolean(this.get('geoInfo.latitude'));
  }),

  geonamesLink: Ember.computed('geoInfo.ref-locs', function() {
    let link = null;
    this.get('geoInfo.ref-locs').forEach(l => {
      if(commonUtils.isGeonamesLink(l)) {
        return link=l;
      }
    });
    return link;
  }),

  otherRefLinks: Ember.computed.filter('geoInfo.ref-locs', l => { return !commonUtils.isGeonamesLink(l); }),

  actions: {
    addLocationFilter: function(id) {
      this.get('filter').setFilter('location', commonConstants.GEONAMES_BASE_URL + id);
    }
  }

});