Package org.jboss.errai.demo.grocery.client.shared

Examples of org.jboss.errai.demo.grocery.client.shared.Store


    @PageShown
    private void setup() {

        // if a store was requested, retrieve it here (otherwise, we're editing a new, blank store instance)
        if (requestedStoreId != null) {
            Store found = em.find(Store.class, requestedStoreId);
            if (found == null) {
                Window.alert("No such store: " + requestedStoreId);
                backToStoresPage.go();
            }
            storeBinder.setModel(found, InitialState.FROM_MODEL);
        }

        departmentList.setItems(storeBinder.getModel().getDepartments());
        MultiWordSuggestOracle dso = (MultiWordSuggestOracle) addDepartment.getSuggestOracle();
        for (Department d : em.createNamedQuery("allDepartments", Department.class).getResultList()) {
            dso.add(d.getName());
        }
        addDepartment.getTextBox().addKeyPressHandler(new KeyPressHandler() {
            @Override
            public void onKeyPress(KeyPressEvent event) {
                if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
                    if (addDepartment.getText().trim().length() == 0)
                        return;
                    Department department = Department.resolve(em, addDepartment.getText());
                    if (!storeBinder.getModel().getDepartments().contains(department)) {
                        storeBinder.getModel().getDepartments().add(department);
                        departmentList.setItems(storeBinder.getModel().getDepartments());
                    }
                    addDepartment.setText("");
                }
            }
        });

        GoogleMapBootstrapper.whenReady(new Runnable() {
            @Override
            public void run() {
                MapOptions defaultMapOptions = new MapOptions();
                defaultMapOptions.setNumZoomLevels(16);
                final MapWidget mapWidget = new MapWidget("100%", "100%", defaultMapOptions);
                mapContainer.add(mapWidget);
                final Map map = mapWidget.getMap();

                OSM osm = OSM.Mapnik("Mapnik");
                osm.setIsBaseLayer(true);
                map.addLayer(osm);
                vectorLayer = new Vector("Fence");
                map.addLayer(vectorLayer);
                markers = new Markers("Markers");
                map.addLayer(markers);
                map.addControl(new OverviewMap());
                map.addControl(new ScaleLine());

                ModifyFeatureOptions featureOptions = new ModifyFeatureOptions();
                featureOptions.setMode(ModifyFeature.RESIZE);
                featureOptions.onModificationEnd(new ModifyFeature.OnModificationEndListener() {
                    @Override
                    public void onModificationEnd(VectorFeature vectorFeature) {
                        float diameter = vectorFeature.getGeometry().getBounds().getWidth();
                        storeBinder.getModel().setRadius(diameter / 2);
                    }
                });

                storeBinder.addPropertyChangeHandler("radius", new PropertyChangeHandler<Double>() {
                    @Override
                    public void onPropertyChange(PropertyChangeEvent<Double> event) {
                        reDrawGeoFence(map);
                    }
                });

                modifyControl = new ModifyFeature(vectorLayer, featureOptions);
                map.addControl(modifyControl);

                placeMarkerAtStoreLocation(map);

                map.addMapMoveEndListener(new MapMoveEndListener() {

                    @Override
                    public void onMapMoveEnd(MapMoveEndEvent eventObject) {
                        Bounds extent = map.getExtent();
                        extent.transform(DEFAULT_PROJECTION, new Projection("EPSG:900913"));

                        // set up autocomplete search box for this place
                        AutocompleteType[] types = new AutocompleteType[2];
                        types[0] = AutocompleteType.ESTABLISHMENT;
                        types[1] = AutocompleteType.GEOCODE;

                        AutocompleteOptions options = AutocompleteOptions.newInstance();
                        options.setTypes(types);
                        LatLng sw = LatLng.newInstance(extent.getLowerLeftX(), extent.getLowerLeftY());
                        LatLng ne = LatLng.newInstance(extent.getUpperRightX(), extent.getUpperRightY());
                        options.setBounds(LatLngBounds.newInstance(sw, ne));

                        final Autocomplete autoComplete = Autocomplete.newInstance(locationSearchBox.getElement(), options);

                        autoComplete.addPlaceChangeHandler(new PlaceChangeMapHandler() {
                            @Override
                            public void onEvent(PlaceChangeMapEvent event) {
                                PlaceResult result = autoComplete.getPlace();
                                PlaceGeometry geometry = result.getGeometry();
                                LatLng center = geometry.getLocation();

                                Store store = storeBinder.getModel();
                                store.setName(result.getName());
                                store.setAddress(result.getFormatted_Address());
                                store.setLatitude(center.getLatitude());
                                store.setLongitude(center.getLongitude());
                                store.setRadius(DEFAULT_RADIUS);

                                placeMarkerAtStoreLocation(map);
                            }
                        });
                    }
View Full Code Here


        }
    }

    @EventHandler("saveButton")
    private void save(ClickEvent e) {
        Store store = storeBinder.getModel();
        em.merge(store);
        em.flush();

        Region region = new Region((int) store.getId(), store.getLatitude(), store.getLongitude(), (int) store.getRadius());
        geoFencingProvider.addRegion(region);

        backToStoresPage.go();
    }
View Full Code Here

    /**
     * Returns the store's geolocation if it's been set, or null if the store location has not been set.
     */
    private LatLng getStoreLocation() {
        Store store = storeBinder.getModel();
        if (store.getLatitude() != 0.0 || store.getLongitude() != 0.0) {
            return LatLng.newInstance(store.getLatitude(), store.getLongitude());
        }
        else {
            return null;
        }
    }
View Full Code Here

        storeList.setItems(event.getStores());
    }

    @EventHandler("addStoreButton")
    public void onStoreAddButtonClick(ClickEvent event) {
        Store newStore = new Store();
        em.persist(newStore);       
        toStorePage.go(ImmutableMultimap.of("id", String.valueOf(newStore.getId())));
    }
View Full Code Here

    }

    @SuppressWarnings("UnusedDeclaration")
    public void closeToStore(@Observes GeoFencingEvent event) {
        itemsTab.go();
        Store store = entityManager.find(Store.class, event.getRegionId());
        if (store != null) {
            filterOn(store);
        }
    }
View Full Code Here

            int itemOneIndex = 0;
            int itemTwoIndex = 0;

            List<Store> stores = storeListProducer.getStoresSortedOnDistance();
            for (int i = 0, storesSize = stores.size(); i < storesSize; i++) {
                Store store = stores.get(i);
                for (Department department : store.getDepartments()) {
                    if (department.getName().equals(one.getDepartment().getName())) {
                        itemOneIndex = i;
                    }
                    if (department.getName().equals(two.getDepartment().getName())) {
                        itemTwoIndex = i;
View Full Code Here

  @PageShown
  private void setup() {

    // if a store was requested, retrieve it here (otherwise, we're editing a new, blank store instance)
    if (requestedStoreId != null) {
      Store found = em.find(Store.class, requestedStoreId);
      if (found == null) {
        Window.alert("No such store: " + requestedStoreId);
        backToStoresPage.go();
      }
      storeBinder.setModel(found, InitialState.FROM_MODEL);
    }

    departmentList.setItems(storeBinder.getModel().getDepartments());
    MultiWordSuggestOracle dso = (MultiWordSuggestOracle) addDepartment.getSuggestOracle();
    for (Department d : em.createNamedQuery("allDepartments", Department.class).getResultList()) {
      dso.add(d.getName());
    }
    addDepartment.getValueBox().addKeyPressHandler(new KeyPressHandler() {
      @Override
      public void onKeyPress(KeyPressEvent event) {
        if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
          if (addDepartment.getText().trim().length() == 0) return;
          Department department = Department.resolve(em, addDepartment.getText());
          if (!storeBinder.getModel().getDepartments().contains(department)) {
            storeBinder.getModel().getDepartments().add(department);
            departmentList.setItems(storeBinder.getModel().getDepartments());
          }
          addDepartment.setText("");
        }
      }
    });

    GoogleMapBootstrapper.whenReady(new Runnable() {
      @Override
      public void run() {
        MapOptions defaultMapOptions = new MapOptions();
        defaultMapOptions.setNumZoomLevels(16);
        final MapWidget mapWidget = new MapWidget("100%", "100%", defaultMapOptions);
        mapContainer.add(mapWidget);
        final Map map = mapWidget.getMap();

        OSM osm = OSM.Mapnik("Mapnik");
        osm.setIsBaseLayer(true);
        map.addLayer(osm);
        vectorLayer = new Vector("Fence");
        map.addLayer(vectorLayer);
        markers = new Markers("Markers");
        map.addLayer(markers);
        map.addControl(new OverviewMap());
        map.addControl(new ScaleLine());

        ModifyFeatureOptions featureOptions = new ModifyFeatureOptions();
        featureOptions.setMode(ModifyFeature.RESIZE);
        featureOptions.onModificationEnd(new ModifyFeature.OnModificationEndListener() {
          @Override
          public void onModificationEnd(VectorFeature vectorFeature) {
            float diameter = vectorFeature.getGeometry().getBounds().getWidth();
            storeBinder.getModel().setRadius(diameter / 2);
          }
        });

        storeBinder.addPropertyChangeHandler("radius", new PropertyChangeHandler<Double>() {
          @Override
          public void onPropertyChange(PropertyChangeEvent<Double> event) {
            reDrawGeoFence(map);
          }
        });

        modifyControl = new ModifyFeature(vectorLayer, featureOptions);
        map.addControl(modifyControl);

        placeMarkerAtStoreLocation(map);

        map.addMapMoveEndListener(new MapMoveEndListener() {

          @Override
          public void onMapMoveEnd(MapMoveEndEvent eventObject) {
            Bounds extent = map.getExtent();
            extent.transform(DEFAULT_PROJECTION, new Projection("EPSG:900913"));

            // set up autocomplete search box for this place
            AutocompleteType[] types = new AutocompleteType[2];
            types[0] = AutocompleteType.ESTABLISHMENT;
            types[1] = AutocompleteType.GEOCODE;

            AutocompleteOptions options = AutocompleteOptions.newInstance();
            options.setTypes(types);
            LatLng sw = LatLng.newInstance(extent.getLowerLeftX(), extent.getLowerLeftY());
            LatLng ne = LatLng.newInstance(extent.getUpperRightX(), extent.getUpperRightY());
            options.setBounds(LatLngBounds.newInstance(sw, ne));

            final Autocomplete autoComplete = Autocomplete.newInstance(locationSearchBox.getElement(), options);

            autoComplete.addPlaceChangeHandler(new PlaceChangeMapHandler() {
              @Override
              public void onEvent(PlaceChangeMapEvent event) {
                PlaceResult result = autoComplete.getPlace();
                PlaceGeometry geometry = result.getGeometry();
                LatLng center = geometry.getLocation();

                Store store = storeBinder.getModel();
                store.setName(result.getName());
                store.setAddress(result.getFormatted_Address());
                store.setLatitude(center.getLatitude());
                store.setLongitude(center.getLongitude());
                store.setRadius(DEFAULT_RADIUS);

                placeMarkerAtStoreLocation(map);
              }
            });
          }
View Full Code Here

    }
  }

  @EventHandler("saveButton")
  private void save(ClickEvent e) {
    Store store = storeBinder.getModel();
    em.merge(store);
    em.flush();

    Region region = new Region((int) store.getId(), store.getLatitude(), store.getLongitude(), (int) store.getRadius());
    geoFencingProvider.addRegion(region);

    backToStoresPage.go();
  }
View Full Code Here

  /**
   * Returns the store's geolocation if it's been set, or null if the store
   * location has not been set.
   */
  private LatLng getStoreLocation() {
    Store store = storeBinder.getModel();
    if (store.getLatitude() != 0.0 || store.getLongitude() != 0.0) {
      return LatLng.newInstance(store.getLatitude(), store.getLongitude());
    }
    else {
      return null;
    }
  }
View Full Code Here

    storeList.setItems(event.getStores());
  }

  @EventHandler("addStoreButton")
  public void onStoreAddButtonClick(ClickEvent event) {
    Store newStore = new Store();
    em.persist(newStore);
    em.flush();
    toStorePage.go(ImmutableMultimap.of("id", String.valueOf(newStore.getId())));
  }
View Full Code Here

TOP

Related Classes of org.jboss.errai.demo.grocery.client.shared.Store

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.