protected void applyImages(String folderId, String selectedImageId, JSONObject json) { JSONObject jsonObj = JSONHelper.getObject(json, "data"); totalImagesCount = JSONHelper.getInteger(jsonObj, "totalImagesCount"); prevImageId = JSONHelper.getString(jsonObj, "prevImageId"); nextImageId = JSONHelper.getString(jsonObj, "nextImageId"); startIndex = JSONHelper.getPrimitiveInt(jsonObj, "startIndex"); // parse images List<ClientImage> images = JSONHelper.getArray( jsonObj, "images", new ValueParser<ClientImage>() { @Override public ClientImage parse(JSONValue jsonValue) { JSONObject json = jsonValue.isObject(); String id = JSONHelper.getString(json, "id"); return new ClientImage(id); } }); if (GWTUtils.isEmpty(images)) { Window.alert("Failed to load images list"); return; } loadedImages.clear(); loadedImages.addAll(images); // parse folder JSONObject folderJson = JSONHelper.getObject(jsonObj, "folder"); if (folderJson == null) { Window.alert("Failed to get images list!"); return; } String folderCaption = JSONHelper.getString(folderJson, "caption"); long folderSize = JSONHelper.getPrimitiveLong(json, "folderSize"); int imagesCount = JSONHelper.getPrimitiveInt(json, "imagesCount"); selectedFolder = new ClientFolder(folderId, folderCaption, null, folderSize, imagesCount); if (GWTUtils.isEmpty(selectedImageId)) { selectedImageId = loadedImages.get(0).getId(); History.newItem(folderId + "/" + selectedImageId, false); } // paint folder, big photo, small images showImages(selectedFolder, selectedImageId, images, true); }
private void initUI() { History.addValueChangeHandler(this); addDomHandler(this, ClickEvent.getType()); GWTUtils.setUidToElement(UID_CAPTION_CLICK, elCaption); GWTUtils.setUidToElement(UID_LOGIN, elLogin); GWTUtils.setUidToElement(UID_LOGOUT, elLogout); JSONObject json = JSONHelper.getJsonFromElement(Actions.JSON_DATA_EL_ID); String loggedInUser = null; if (json != null) { loggedInUser = JSONHelper.getString(json, "user"); } setCurrentUser(loggedInUser); }
private void processClickEvent(String uid, JSONObject json) { if (UID_FOLDER_CLICK.equals(uid)) { String folderId = JSONHelper.getString(json, "folderId"); History.newItem(folderId); } else if (UID_CAPTION_CLICK.equals(uid)) { History.newItem(""); } else if (UID_SMALL_IMAGE_CLICK.equals(uid)) { String folderId = JSONHelper.getString(json, "folderId"); String imageId = JSONHelper.getString(json, "imageId"); History.newItem(folderId + "/" + imageId); FullScreenHelper.startFullscreen(elBigPhotoW); } else if (UID_SMALL_LEFT.equals(uid)) { if (selectedFolder == null || GWTUtils.isEmpty(prevImageId)) { Window.alert("No more images"); } else { loadSmallImages(selectedFolder.getId(), prevImageId, false); History.newItem(selectedFolder.getId() + "/" + prevImageId, false); } } else if (UID_SMALL_RIGHT.equals(uid)) { if (selectedFolder == null || GWTUtils.isEmpty(nextImageId)) { Window.alert("No more images"); } else { loadSmallImages(selectedFolder.getId(), nextImageId, true); History.newItem(selectedFolder.getId() + "/" + nextImageId, false); } } else if (UID_LOGIN.equals(uid)) { login(); } else if (UID_LOGOUT.equals(uid)) { logout(); } else if (UID_ROTATE_LEFT.equals(uid)) { rotate(true); } else if (UID_ROTATE_RIGHT.equals(uid)) { rotate(false); } }