Java tutorial
/* * Copyright 2015 Dotweblabs Web Technologies * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.dotweblabs.friendscube.app.client.local.widgets; import com.dotweblabs.friendscube.app.client.local.UserFeedsPage; import com.dotweblabs.friendscube.app.client.shared.entity.search.SearchItem; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; import org.jboss.errai.ui.client.widget.HasModel; import org.jboss.errai.ui.nav.client.local.TransitionTo; import org.jboss.errai.ui.shared.ServerTemplateProvider; import org.jboss.errai.ui.shared.api.annotations.DataField; import org.jboss.errai.ui.shared.api.annotations.EventHandler; import org.jboss.errai.ui.shared.api.annotations.Templated; import javax.enterprise.context.Dependent; import javax.inject.Inject; /** * @author <a href="mailto:kerbymart@gmail.com">Kerby Martino</a> * @version 1.0 * @since 1.0 */ @Dependent @Templated(value = "/SearchPage.html#searchResultItem", provider = ServerTemplateProvider.class) public class SearchItemWidget extends Composite implements HasModel<SearchItem> { @Inject @DataField Image itemPic; @Inject @DataField Anchor itemHeader; @Inject @DataField Label itemType; @Inject TransitionTo<UserFeedsPage> userFeedsPage; SearchItem item; public SearchItem getItem() { return item; } public void setItem(SearchItem item) { this.item = item; } @Override public SearchItem getModel() { return item; } @Override public void setModel(SearchItem searchItem) { this.item = searchItem; itemHeader.setText(item.getHeader()); itemPic.getElement().setAttribute("src", item.getPicUrl()); itemType.setText(item.getType()); } @EventHandler("itemHeader") public void clickSearchItem(ClickEvent event) { event.preventDefault(); //temporary just to be able to see other user's profile Multimap<String, String> state = ArrayListMultimap.create(); state.put("friend", item.generateUrl()); userFeedsPage.go(state); } }