private String genSmallImageHtml( String folderId, ClientImage image, boolean last, boolean navigateLeft, boolean navigateRight) { String dq = new DataQueryJsonBuilder() .add("imageId", image.getId()) .add("folderId", folderId) .toDataQuery(); String uidAndDq = GWTUtils.genUid(UID_SMALL_IMAGE_CLICK) + " " + dq; String navigateCustomCss = navigateLeft ? "arrow-left" : "arrow-right"; String navigateUid = navigateLeft ? UID_SMALL_LEFT : UID_SMALL_RIGHT; String navigateId = navigateLeft ? ID_PREV_SMALL : ID_NEXT_SMALL; String id = genSmallImageWrapperId(image.getId()); String itemCustomCss = last ? "sf-item-last" : ""; String html = ""; html += "<li class='sf-item " + itemCustomCss + "' " + uidAndDq + ">"; html += "<div id='" + id + "' class='sf-img-w'>"; if (navigateLeft || navigateRight) { html += "<div id='" + navigateId + "' class='arrow " + navigateCustomCss + "' " + GWTUtils.genUid(navigateUid) + ">"; html += "<div class='arrow-point arrow-point-1'></div>"; html += "<div class='arrow-point arrow-point-2'></div>"; html += "<div class='arrow-point arrow-point-3'></div>"; html += "<div class='arrow-point arrow-point-4'></div>"; html += "<div class='arrow-point arrow-point-5'></div>"; html += "<div class='arrow-point arrow-point-6'></div>"; html += "<div class='arrow-point arrow-point-7'></div>"; html += "<div class='arrow-point arrow-point-8'></div>"; html += "<div class='arrow-point arrow-point-9'></div>"; html += "</div>"; } html += "<img id='" + "small-" + image.getId() + "' src='" + GalleryClientUtils.genSmallImageSrc(folderId, image.getId()) + "'></img>"; html += "</div>"; html += "</li>"; return html; }
private String genFolderImage(String imageId, String folderId, int position, int zindex) { String className = "fld-i fld-i__" + position; String src = GalleryClientUtils.genSmallImageSrc(folderId, imageId); return "<div class='" + className + "' style='z-index:" + zindex + ";'><img src='" + src + "'></img></div>"; }
protected void showImages( ClientFolder folder, final String selectedImageId, List<ClientImage> images, boolean repaintImagesList) { if (GWTUtils.isEmpty(selectedImageId)) { Window.alert("Navigation error"); return; } String folderId = folder.getId(); // set folder name if (repaintImagesList) { elFolder.setInnerHTML(GWTUtils.safeString(folder.getCaption())); elCount.setInnerHTML(Integer.toString(totalImagesCount)); String s = startIndex + " - " + (startIndex + loadedImages.size() - 1); elCountDetails.setInnerHTML(s); } // set big photo clearBigPhotoWrapper(); StringBuilder sb = new StringBuilder(); sb.append("<div class='bf-iw'>"); sb.append("<div uid='" + UID_ROTATE_LEFT + "' class='bf-act bf-act-rl'></div>"); sb.append("<div uid='" + UID_ROTATE_RIGHT + "' class='bf-act bf-act-rr'></div>"); sb.append( "<img id='big-" + selectedImageId + "' src='" + GalleryClientUtils.genMediumImageSrc(folderId, selectedImageId) + "'></img>"); sb.append("</div>"); sb.append("<div class='bf-down-w'>"); sb.append( "<a class='bf-down' href='" + GalleryClientUtils.genLargeImageSrc(folderId, selectedImageId) + "'>скачать в полном размере</a>"); sb.append("</div>"); final String bigPhotoHtml = sb.toString(); new Timer() { @Override public void run() { showBigPhotoWrapper(bigPhotoHtml); GalleryPanel.this.selectedImageId = selectedImageId; } }.schedule(100); // show small images list if (repaintImagesList) { String smallImagesHtml = ""; for (int i = 0; i < images.size(); i++) { ClientImage image = images.get(i); boolean navigateLeft = i == 0; boolean navigateRight = i == images.size() - 1; boolean last = navigateRight; smallImagesHtml += genSmallImageHtml(folderId, image, last, navigateLeft, navigateRight); } setSmallPhotosHtml("", true); elBigPhotoW.removeClassName(CSS_SMALL_PHOTOS_ANIME); final String resHtml = smallImagesHtml; new Timer() { @Override public void run() { setSmallPhotosHtml(resHtml, true); elSmallPhotosW.addClassName(CSS_SMALL_PHOTOS_ANIME); updateSelectedImageAndNavigation(selectedImageId); } }.schedule(100); } else { updateSelectedImageAndNavigation(selectedImageId); } }