package com.psddev.cms.tool; import java.io.IOException; import com.psddev.cms.tool.page.SearchResultActions; import com.psddev.dari.db.Query; import com.psddev.dari.db.State; import com.psddev.dari.util.ObjectUtils; import com.psddev.dari.util.StringUtils; public class SearchResultItem { public void writeCheckboxHtml(ToolPageContext page, Search search, Object item) throws IOException { String url = page.toolUrl(CmsTool.class, "/searchResultActions", "search", ObjectUtils.toJson(search.getState().getSimpleValues()), SearchResultActions.ITEM_ID_PARAMETER, State.getInstance(item).getId()); SearchResultSelection currentSelection = page.getUser().getCurrentSearchResultSelection(); boolean selected = currentSelection != null && item != null && Query.from(SearchResultSelectionItem.class).where("selectionId = ?", currentSelection).and("itemId = ?", item).first() != null; page.writeElement("input", "type", "checkbox", "name", "id", "checked", (selected ? "checked" : null), "value", State.getInstance(item).getId(), "data-frame-target", search.createFrameName("SearchResultActions"), "data-frame-check", StringUtils.addQueryParameters(url, SearchResultActions.ACTION_PARAMETER, SearchResultActions.ACTION_ADD), "data-frame-uncheck", StringUtils.addQueryParameters(url, SearchResultActions.ACTION_PARAMETER, SearchResultActions.ACTION_REMOVE)); } public void writeBeforeHtml(ToolPageContext page, Search search, Object item) throws IOException { boolean searchCarouselDisplayEnabled = page.getCmsTool().getSearchCarouselDisplay() != SearchCarouselDisplay.DISABLED; page.writeStart("a", "href", page.objectUrl("/content/edit.jsp", item, "search", searchCarouselDisplayEnabled ? ObjectUtils.toJson(search.getState().getSimpleValues()) : null), "data-objectId", State.getInstance(item).getId(), "target", "_top"); } public void writeAfterHtml(ToolPageContext page, Search search, Object item) throws IOException { page.writeEnd(); } }