Merge branch 'master' of git://github.com/Glooper/gallery3-contrib
Conflicts: modules/gwtorganise/controllers/json_album.php
This commit is contained in:
commit
214b362f29
@ -1,4 +1,4 @@
|
|||||||
#Tue Jan 26 16:51:26 NZDT 2010
|
#Thu Feb 11 15:27:06 NZDT 2010
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
entryPointModules=
|
entryPointModules=
|
||||||
filesCopiedToWebInfLib=gwt-servlet.jar
|
filesCopiedToWebInfLib=gwt-servlet.jar
|
||||||
|
@ -33,6 +33,13 @@ class Admin_Upload_Configure_Controller extends Controller
|
|||||||
|
|
||||||
upload_configuration::extractForm($form);
|
upload_configuration::extractForm($form);
|
||||||
message::success(t("GWTOrganise Module Configured!"));
|
message::success(t("GWTOrganise Module Configured!"));
|
||||||
|
print json_encode(array("result" => "success"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print json_encode(array("result" => "error", "form" => (string) $form));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -147,6 +147,7 @@ class Json_Album_Controller extends Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function add_photo($id) {
|
public function add_photo($id) {
|
||||||
|
|
||||||
access::verify_csrf();
|
access::verify_csrf();
|
||||||
$album = ORM::factory("item", $id);
|
$album = ORM::factory("item", $id);
|
||||||
access::required("view", $album);
|
access::required("view", $album);
|
||||||
@ -180,40 +181,32 @@ class Json_Album_Controller extends Controller {
|
|||||||
|
|
||||||
fclose($file);
|
fclose($file);
|
||||||
|
|
||||||
|
$item = ORM::factory("item");
|
||||||
|
$item->name = basename($temp_filename); // Skip unique identifier Kohana adds
|
||||||
|
$item->title = item::convert_filename_to_title($item->name);
|
||||||
|
$item->parent_id = $album->id;
|
||||||
|
$item->set_data_file($temp_filename);
|
||||||
|
|
||||||
|
|
||||||
$title = item::convert_filename_to_title($name);
|
|
||||||
$path_info = @pathinfo($temp_filename);
|
$path_info = @pathinfo($temp_filename);
|
||||||
if (array_key_exists("extension", $path_info) &&
|
if (array_key_exists("extension", $path_info) &&
|
||||||
in_array(strtolower($path_info["extension"]), array("flv", "mp4"))) {
|
in_array(strtolower($path_info["extension"]), array("flv", "mp4"))) {
|
||||||
$item = ORM::factory("item");
|
|
||||||
$item->type = "movie";
|
$item->type = "movie";
|
||||||
$item->parent_id = $album->id;
|
|
||||||
$item->set_data_file($temp_filename);
|
|
||||||
$item->name = $name;
|
|
||||||
$item->title = $title;
|
|
||||||
$item->save();
|
$item->save();
|
||||||
log::success("content", t("Added a movie"),
|
log::success("content", t("Added a movie"),
|
||||||
html::anchor("movies/$item->id", t("view movie")));
|
html::anchor("movies/$item->id", t("view movie")));
|
||||||
} else {
|
} else {
|
||||||
$item = ORM::factory("item");
|
|
||||||
$item->type = "photo";
|
$item->type = "photo";
|
||||||
$item->parent_id = $album->id;
|
|
||||||
$item->set_data_file($temp_filename);
|
|
||||||
$item->name = $name;
|
|
||||||
$item->title = $title;
|
|
||||||
$item->save();
|
$item->save();
|
||||||
log::success("content", t("Added a photo"),
|
log::success("content", t("Added a photo"),
|
||||||
html::anchor("photos/$item->id", t("view photo")));
|
html::anchor("photos/$item->id", t("view photo")));
|
||||||
}
|
}
|
||||||
} catch (Exception $e) {
|
|
||||||
|
} catch (Exception $e) {
|
||||||
Kohana::log("alert", $e->__toString());
|
Kohana::log("alert", $e->__toString());
|
||||||
if (file_exists($temp_filename)) {
|
if (file_exists($temp_filename)) {
|
||||||
unlink($temp_filename);
|
unlink($temp_filename);
|
||||||
}
|
}
|
||||||
header("HTTP/1.1 500 Internal Server Error");
|
throw new Kohana_Exception('Problem creating file.'. $e->__toString());
|
||||||
print "ERROR: " . $e->getMessage();
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
unlink($temp_filename);
|
unlink($temp_filename);
|
||||||
|
|
||||||
|
@ -19,16 +19,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
class gwtorganise_event_Core{
|
class gwtorganise_event_Core{
|
||||||
/**
|
|
||||||
* adds the shopping basket administration controls to the admin menu
|
|
||||||
*/
|
|
||||||
static function admin_menu($menu, $theme){
|
|
||||||
|
|
||||||
|
static function admin_menu($menu, $theme) {
|
||||||
$menu->add_after("users_groups",
|
$menu->add_after("dashboard",
|
||||||
Menu::factory("link")
|
Menu::factory("link")
|
||||||
->id("gwtorganise")
|
->id("gwtorganise")
|
||||||
->label(t("GWT Organise"))
|
->label(t("GWT Organise"))
|
||||||
->url(url::site("admin/gwtorganise")));
|
->url(url::site("admin/gwtorganise")));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -54,14 +54,15 @@ public class Album extends TreeItem {
|
|||||||
|
|
||||||
private final Map<Integer, Album> m_IDtoAlbum = new HashMap<Integer, Album>();
|
private final Map<Integer, Album> m_IDtoAlbum = new HashMap<Integer, Album>();
|
||||||
|
|
||||||
private final LinkedList<UploadFile> m_UploadQueue = new LinkedList<UploadFile>();
|
private final Set<UploadFile> m_AllUploads = new HashSet<UploadFile>();
|
||||||
|
|
||||||
private boolean m_Running = false;
|
|
||||||
|
|
||||||
private final AlbumTreeDropController m_DropController;
|
private final AlbumTreeDropController m_DropController;
|
||||||
|
|
||||||
|
private final UploadControl m_UploadControl;
|
||||||
|
|
||||||
public Album(JSONObject jsonObject, G3Viewer a_Container)
|
public Album(JSONObject jsonObject, G3Viewer a_Container)
|
||||||
{
|
{
|
||||||
|
m_UploadControl = a_Container.getUploadControl();
|
||||||
m_ID = Utils.extractId(jsonObject.get("id"));
|
m_ID = Utils.extractId(jsonObject.get("id"));
|
||||||
m_Title = ((JSONString)jsonObject.get("title")).stringValue();
|
m_Title = ((JSONString)jsonObject.get("title")).stringValue();
|
||||||
m_Sort = ((JSONString)jsonObject.get("sort")).stringValue();
|
m_Sort = ((JSONString)jsonObject.get("sort")).stringValue();
|
||||||
@ -75,6 +76,7 @@ public class Album extends TreeItem {
|
|||||||
|
|
||||||
public Album(G3Viewer a_Container)
|
public Album(G3Viewer a_Container)
|
||||||
{
|
{
|
||||||
|
m_UploadControl = a_Container.getUploadControl();
|
||||||
m_ID = 1;
|
m_ID = 1;
|
||||||
m_Title = "Root";
|
m_Title = "Root";
|
||||||
m_Container = a_Container;
|
m_Container = a_Container;
|
||||||
@ -109,7 +111,7 @@ public class Album extends TreeItem {
|
|||||||
public void success(JSONValue aValue) {
|
public void success(JSONValue aValue) {
|
||||||
updateValues(aValue);
|
updateValues(aValue);
|
||||||
}
|
}
|
||||||
},false);
|
},false,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -281,7 +283,7 @@ public class Album extends TreeItem {
|
|||||||
m_View.getCurrentAlbum().expand();
|
m_View.getCurrentAlbum().expand();
|
||||||
m_View.getCurrentAlbum().select();
|
m_View.getCurrentAlbum().select();
|
||||||
}
|
}
|
||||||
},true);
|
},true,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -300,7 +302,7 @@ public class Album extends TreeItem {
|
|||||||
public void success(JSONValue aValue) {
|
public void success(JSONValue aValue) {
|
||||||
m_View.getCurrentAlbum().select();
|
m_View.getCurrentAlbum().select();
|
||||||
}
|
}
|
||||||
},true);
|
},true,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -331,7 +333,7 @@ public class Album extends TreeItem {
|
|||||||
public void success(JSONValue aValue) {
|
public void success(JSONValue aValue) {
|
||||||
addAlbums(aValue);
|
addAlbums(aValue);
|
||||||
}
|
}
|
||||||
},false);
|
},false,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -344,7 +346,7 @@ public class Album extends TreeItem {
|
|||||||
public void success(JSONValue aValue) {
|
public void success(JSONValue aValue) {
|
||||||
viewAlbum(aValue);
|
viewAlbum(aValue);
|
||||||
}
|
}
|
||||||
},false);
|
},false,true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -433,36 +435,26 @@ public class Album extends TreeItem {
|
|||||||
ResizeOptions ro = new ResizeOptions(jso);
|
ResizeOptions ro = new ResizeOptions(jso);
|
||||||
UploadFile uf;
|
UploadFile uf;
|
||||||
for (File file : files){
|
for (File file : files){
|
||||||
uf = new UploadFile(Album.this, file, ro);
|
uf = m_UploadControl.createUploadFile(Album.this, file, ro);
|
||||||
|
m_AllUploads.add(uf);
|
||||||
m_View.addToView(uf);
|
m_View.addToView(uf);
|
||||||
m_UploadQueue.addLast(uf);
|
|
||||||
m_Container.addUpload(uf);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!m_Running){
|
|
||||||
m_Running = true;
|
|
||||||
next();
|
|
||||||
}
|
}
|
||||||
|
m_Container.updateInformation();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},false);
|
},false,true);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addPendingDownloads()
|
public void removeUpload(UploadFile a_Uf)
|
||||||
{
|
{
|
||||||
for (UploadFile uf: m_UploadQueue)
|
m_AllUploads.remove(a_Uf);
|
||||||
{
|
|
||||||
m_View.addToView(uf);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void finishedUpload(UploadFile uf, JSONValue a_Return)
|
public void replaceUpload(UploadFile a_Uf, JSONValue a_Return)
|
||||||
{
|
{
|
||||||
m_UploadQueue.remove(uf);
|
m_AllUploads.remove(a_Uf);
|
||||||
m_Container.removeUpload(uf);
|
|
||||||
next();
|
|
||||||
|
|
||||||
JSONObject jo = a_Return.isObject();
|
JSONObject jo = a_Return.isObject();
|
||||||
|
|
||||||
@ -472,29 +464,24 @@ public class Album extends TreeItem {
|
|||||||
m_Items.add(item);
|
m_Items.add(item);
|
||||||
|
|
||||||
if (m_View.getCurrentAlbum() == this){
|
if (m_View.getCurrentAlbum() == this){
|
||||||
m_View.replaceInView(uf, item);
|
m_View.replaceInView(a_Uf, item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (m_View.getCurrentAlbum() == this){
|
if (m_View.getCurrentAlbum() == this){
|
||||||
m_View.removeFromView(uf);
|
m_View.removeFromView(a_Uf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void next()
|
public void addPendingDownloads()
|
||||||
{
|
{
|
||||||
if (m_UploadQueue.size() > 0)
|
for (UploadFile uf: m_AllUploads)
|
||||||
{
|
{
|
||||||
UploadFile uf = m_UploadQueue.getFirst();
|
m_View.addToView(uf);
|
||||||
uf.startUpload();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_Running = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,29 +30,28 @@ public class AsyncResizer implements RunAsyncCallback{
|
|||||||
Canvas upThumb = com.gloopics.g3viewer.client.canvas.Factory.getInstance().createCanvas();
|
Canvas upThumb = com.gloopics.g3viewer.client.canvas.Factory.getInstance().createCanvas();
|
||||||
upThumb.decode(m_Blob);
|
upThumb.decode(m_Blob);
|
||||||
|
|
||||||
|
float imageWidth = (float)upThumb.getWidth();
|
||||||
|
float imageHeight = (float)upThumb.getHeight();
|
||||||
|
|
||||||
int imageWidth = upThumb.getWidth();
|
float widthRatio = imageWidth/((float)m_ResizeOptions.getMaxWidth());
|
||||||
int imageHeight = upThumb.getHeight();
|
float heightRatio = imageHeight/((float)m_ResizeOptions.getMaxHeight());
|
||||||
|
|
||||||
int widthRatio = imageWidth/m_ResizeOptions.getMaxWidth();
|
|
||||||
int heightRatio = imageHeight/m_ResizeOptions.getMaxHeight();
|
|
||||||
|
|
||||||
if (widthRatio > heightRatio){
|
if (widthRatio > heightRatio){
|
||||||
if (widthRatio > 1) {
|
if (widthRatio > 1) {
|
||||||
upThumb.resize(m_ResizeOptions.getMaxWidth(), imageHeight / widthRatio );
|
upThumb.resize(m_ResizeOptions.getMaxWidth(), (int)(imageHeight / widthRatio) );
|
||||||
m_UploadFile.uploadBlob(upThumb.encode());
|
m_UploadFile.uploadBlob(upThumb.encode());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
m_UploadFile.uploadBlob(m_Blob);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (heightRatio > 1){
|
if (heightRatio > 1){
|
||||||
upThumb.resize(imageWidth / heightRatio, m_ResizeOptions.getMaxHeight());
|
upThumb.resize((int)(imageWidth / heightRatio), m_ResizeOptions.getMaxHeight());
|
||||||
m_UploadFile.uploadBlob(upThumb.encode());
|
m_UploadFile.uploadBlob(upThumb.encode());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
m_UploadFile.uploadBlob(m_Blob);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.gloopics.g3viewer.client;
|
||||||
|
|
||||||
|
import com.google.gwt.core.client.RunAsyncCallback;
|
||||||
|
|
||||||
|
public class AsyncRunner implements RunAsyncCallback{
|
||||||
|
|
||||||
|
private final Runnable m_Runnable;
|
||||||
|
|
||||||
|
public AsyncRunner(Runnable a_Runnable){
|
||||||
|
m_Runnable = a_Runnable;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Throwable reason) {
|
||||||
|
G3Viewer.displayError("Error Running Async", reason.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess() {
|
||||||
|
m_Runnable.run();
|
||||||
|
}
|
||||||
|
}
|
@ -61,7 +61,9 @@ public class G3Viewer {
|
|||||||
|
|
||||||
DockPanel dp = new DockPanel();
|
DockPanel dp = new DockPanel();
|
||||||
dp.addStyleName("error");
|
dp.addStyleName("error");
|
||||||
dp.add(new HTML(error), DockPanel.CENTER);
|
|
||||||
|
error = error.replaceAll("<", "<").replaceAll(">", ">");
|
||||||
|
dp.add(new HTML("<pre>" + error + "</pre>"), DockPanel.CENTER);
|
||||||
|
|
||||||
|
|
||||||
// DialogBox is a SimplePanel, so you have to set its widget property to
|
// DialogBox is a SimplePanel, so you have to set its widget property to
|
||||||
@ -154,7 +156,7 @@ public class G3Viewer {
|
|||||||
/**
|
/**
|
||||||
* the only dialog box
|
* the only dialog box
|
||||||
*/
|
*/
|
||||||
private final HttpDialogBox m_HttpDialogBox= new HttpDialogBox();
|
private final HttpDialogBox m_HttpDialogBox= new HttpDialogBox(this);
|
||||||
|
|
||||||
private class SimplePanelEx extends SimplePanel
|
private class SimplePanelEx extends SimplePanel
|
||||||
{
|
{
|
||||||
@ -223,6 +225,11 @@ public class G3Viewer {
|
|||||||
*/
|
*/
|
||||||
private final PickupDragController m_DragController;
|
private final PickupDragController m_DragController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* the upload control
|
||||||
|
*/
|
||||||
|
private final UploadControl m_UploadControl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
*/
|
*/
|
||||||
@ -232,14 +239,19 @@ public class G3Viewer {
|
|||||||
m_DragController.setBehaviorMultipleSelection(true);
|
m_DragController.setBehaviorMultipleSelection(true);
|
||||||
m_DragController.setBehaviorDragStartSensitivity(5);
|
m_DragController.setBehaviorDragStartSensitivity(5);
|
||||||
m_DragController.setBehaviorDragProxy(true);
|
m_DragController.setBehaviorDragProxy(true);
|
||||||
|
m_UploadControl = new UploadControl(this);
|
||||||
m_InfoBar = new InformationBar(this);
|
m_InfoBar = new InformationBar(this, m_UploadControl);
|
||||||
m_Tree = new AlbumTree(this);
|
m_Tree = new AlbumTree(this);
|
||||||
|
|
||||||
|
|
||||||
checkAdmin();
|
checkAdmin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UploadControl getUploadControl()
|
||||||
|
{
|
||||||
|
return m_UploadControl;
|
||||||
|
}
|
||||||
|
|
||||||
public static String getCSRF()
|
public static String getCSRF()
|
||||||
{
|
{
|
||||||
return m_CSRF;
|
return m_CSRF;
|
||||||
@ -275,7 +287,7 @@ public class G3Viewer {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},false);
|
},false,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -307,15 +319,10 @@ public class G3Viewer {
|
|||||||
return m_View;
|
return m_View;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addUpload(UploadFile a_UF){
|
public void updateInformation(){
|
||||||
m_InfoBar.addUpload(a_UF);
|
m_InfoBar.updateInformation();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeUpload(UploadFile a_UF){
|
|
||||||
m_InfoBar.removeUpload(a_UF);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void doDialog(String a_Url, HttpDialogHandler a_Handler)
|
public void doDialog(String a_Url, HttpDialogHandler a_Handler)
|
||||||
{
|
{
|
||||||
m_HttpDialogBox.doDialog(BASE_URL + a_Url, a_Handler);
|
m_HttpDialogBox.doDialog(BASE_URL + a_Url, a_Handler);
|
||||||
@ -326,10 +333,16 @@ public class G3Viewer {
|
|||||||
m_ImageDialogBox.doDialog( a_Url);
|
m_ImageDialogBox.doDialog( a_Url);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doJSONRequest(final String a_URL, final HttpSuccessHandler a_Handler, final boolean a_hasParams){
|
public void doJSONRequest(final String a_URL, final HttpSuccessHandler a_Handler, final boolean a_hasParams, final boolean a_IncludeCSRF){
|
||||||
|
doJSONRequest(a_URL, a_Handler, a_hasParams, a_IncludeCSRF, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void doJSONRequest(final String a_URL, final HttpSuccessHandler a_Handler, final boolean a_hasParams, final boolean a_IncludeCSRF,
|
||||||
|
String a_Data ){
|
||||||
try {
|
try {
|
||||||
String url;
|
String url;
|
||||||
if (m_CSRF != null)
|
if (m_CSRF != null && a_IncludeCSRF)
|
||||||
{
|
{
|
||||||
url = a_URL + (a_hasParams?"&csrf=":"?csrf=") + m_CSRF;
|
url = a_URL + (a_hasParams?"&csrf=":"?csrf=") + m_CSRF;
|
||||||
}
|
}
|
||||||
@ -338,7 +351,9 @@ public class G3Viewer {
|
|||||||
url = a_URL;
|
url = a_URL;
|
||||||
}
|
}
|
||||||
RequestBuilder requestBuilder = new RequestBuilder(
|
RequestBuilder requestBuilder = new RequestBuilder(
|
||||||
RequestBuilder.GET, url);
|
RequestBuilder.POST, url);
|
||||||
|
requestBuilder.setHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
requestBuilder.setHeader("X-Requested-With", "XMLHttpRequest");
|
||||||
requestBuilder.setCallback(new JSONResponseTextHandler(
|
requestBuilder.setCallback(new JSONResponseTextHandler(
|
||||||
new JSONResponseCallback() {
|
new JSONResponseCallback() {
|
||||||
|
|
||||||
@ -370,6 +385,7 @@ public class G3Viewer {
|
|||||||
}}
|
}}
|
||||||
));
|
));
|
||||||
|
|
||||||
|
requestBuilder.setRequestData(a_Data);
|
||||||
requestBuilder.send();
|
requestBuilder.send();
|
||||||
} catch (RequestException ex) {
|
} catch (RequestException ex) {
|
||||||
displayError("Request Exception", ex.toString() + " - " + a_URL);
|
displayError("Request Exception", ex.toString() + " - " + a_URL);
|
||||||
|
@ -8,8 +8,11 @@ import com.google.gwt.http.client.Request;
|
|||||||
import com.google.gwt.http.client.RequestBuilder;
|
import com.google.gwt.http.client.RequestBuilder;
|
||||||
import com.google.gwt.http.client.RequestCallback;
|
import com.google.gwt.http.client.RequestCallback;
|
||||||
import com.google.gwt.http.client.RequestException;
|
import com.google.gwt.http.client.RequestException;
|
||||||
import com.google.gwt.http.client.RequestTimeoutException;
|
|
||||||
import com.google.gwt.http.client.Response;
|
import com.google.gwt.http.client.Response;
|
||||||
|
import com.google.gwt.json.client.JSONObject;
|
||||||
|
import com.google.gwt.json.client.JSONValue;
|
||||||
|
import com.google.gwt.user.client.DOM;
|
||||||
|
import com.google.gwt.user.client.Timer;
|
||||||
import com.google.gwt.user.client.Window;
|
import com.google.gwt.user.client.Window;
|
||||||
import com.google.gwt.user.client.ui.Button;
|
import com.google.gwt.user.client.ui.Button;
|
||||||
import com.google.gwt.user.client.ui.DialogBox;
|
import com.google.gwt.user.client.ui.DialogBox;
|
||||||
@ -17,8 +20,6 @@ import com.google.gwt.user.client.ui.DockPanel;
|
|||||||
import com.google.gwt.user.client.ui.FlowPanel;
|
import com.google.gwt.user.client.ui.FlowPanel;
|
||||||
import com.google.gwt.user.client.ui.FormPanel;
|
import com.google.gwt.user.client.ui.FormPanel;
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
import com.google.gwt.user.client.ui.HTML;
|
||||||
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent;
|
|
||||||
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler;
|
|
||||||
|
|
||||||
public class HttpDialogBox extends DialogBox{
|
public class HttpDialogBox extends DialogBox{
|
||||||
|
|
||||||
@ -27,8 +28,10 @@ public class HttpDialogBox extends DialogBox{
|
|||||||
private HttpDialogHandler m_Callback;
|
private HttpDialogHandler m_Callback;
|
||||||
|
|
||||||
private final HTML m_Dialog;
|
private final HTML m_Dialog;
|
||||||
|
private final G3Viewer m_Parent;
|
||||||
|
|
||||||
public HttpDialogBox(){
|
public HttpDialogBox(G3Viewer a_Parent){
|
||||||
|
m_Parent = a_Parent;
|
||||||
m_Dialog = new HTML("Empty");
|
m_Dialog = new HTML("Empty");
|
||||||
initComponents();
|
initComponents();
|
||||||
}
|
}
|
||||||
@ -54,12 +57,9 @@ public class HttpDialogBox extends DialogBox{
|
|||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
if (m_FormPanel!=null)
|
if (m_FormPanel!=null)
|
||||||
{
|
{
|
||||||
m_FormPanel.submit();
|
submitForm();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
HttpDialogBox.this.hide();
|
HttpDialogBox.this.hide();
|
||||||
Loading.getInstance().loading("Please Wait..");
|
Loading.getInstance().loading("Please Wait..");
|
||||||
}
|
}
|
||||||
@ -88,11 +88,6 @@ public class HttpDialogBox extends DialogBox{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onError(Request request, Throwable exception) {
|
public void onError(Request request, Throwable exception) {
|
||||||
if (exception instanceof RequestTimeoutException) {
|
|
||||||
// handle a request timeout
|
|
||||||
} else {
|
|
||||||
// handle other request errors
|
|
||||||
}
|
|
||||||
showDialog("Could not get " + m_URL + " Exception thrown " + exception.toString());
|
showDialog("Could not get " + m_URL + " Exception thrown " + exception.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,11 +96,113 @@ public class HttpDialogBox extends DialogBox{
|
|||||||
showDialog(response.getText());
|
showDialog(response.getText());
|
||||||
} else {
|
} else {
|
||||||
showDialog(m_URL + response.getText());
|
showDialog(m_URL + response.getText());
|
||||||
// handle non-OK response from the server
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public native static String createData(Element form) /*-{
|
||||||
|
|
||||||
|
var fieldValue = function(el, successful) {
|
||||||
|
var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
|
||||||
|
if (typeof successful == 'undefined') successful = true;
|
||||||
|
|
||||||
|
if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
|
||||||
|
(t == 'checkbox' || t == 'radio') && !el.checked ||
|
||||||
|
(t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
|
||||||
|
tag == 'select' && el.selectedIndex == -1))
|
||||||
|
return null;
|
||||||
|
|
||||||
|
if (tag == 'select') {
|
||||||
|
var index = el.selectedIndex;
|
||||||
|
if (index < 0) return null;
|
||||||
|
var a = [], ops = el.options;
|
||||||
|
var one = (t == 'select-one');
|
||||||
|
var max = (one ? index+1 : ops.length);
|
||||||
|
for(var i=(one ? index : 0); i < max; i++) {
|
||||||
|
var op = ops[i];
|
||||||
|
if (op.selected) {
|
||||||
|
var v = op.value;
|
||||||
|
if (!v) // extra pain for IE...
|
||||||
|
v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
|
||||||
|
if (one) return v;
|
||||||
|
a.push(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
return el.value;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var a = "";
|
||||||
|
var added = false;
|
||||||
|
var appendA = function(str)
|
||||||
|
{
|
||||||
|
if(added)
|
||||||
|
{
|
||||||
|
a = a+"&"+str;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
a = a+str;
|
||||||
|
added = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var els = form.getElementsByTagName('*'); //: form.elements;
|
||||||
|
if (!els) return a;
|
||||||
|
for(var i=0, max=els.length; i < max; i++) {
|
||||||
|
var el = els[i];
|
||||||
|
var n = el.name;
|
||||||
|
if (!n) continue;
|
||||||
|
|
||||||
|
var v = fieldValue(el, true);
|
||||||
|
if (v && v.constructor == Array) {
|
||||||
|
for(var j=0, jmax=v.length; j < jmax; j++)
|
||||||
|
appendA(n+"="+escape(v[j]));
|
||||||
|
}
|
||||||
|
else if (v !== null && typeof v != 'undefined')
|
||||||
|
appendA(n+"="+escape(v));
|
||||||
|
}
|
||||||
|
|
||||||
|
return a;
|
||||||
|
|
||||||
|
}-*/;
|
||||||
|
|
||||||
|
private void submitForm(){
|
||||||
|
String url = m_FormPanel.getAction();
|
||||||
|
|
||||||
|
String data = createData(m_FormPanel.getElement());
|
||||||
|
|
||||||
|
m_Parent.doJSONRequest(url, new HttpSuccessHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void success(JSONValue aValue) {
|
||||||
|
JSONObject object = aValue.isObject();
|
||||||
|
if (object != null){
|
||||||
|
JSONValue result = object.get("result");
|
||||||
|
if (result != null)
|
||||||
|
{
|
||||||
|
if (result.isString().stringValue().equals("success")){
|
||||||
|
m_Callback.success(aValue.toString());
|
||||||
|
Loading.getInstance().endLoading();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
JSONValue resul = object.get("form");
|
||||||
|
showDialog(resul.isString().stringValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G3Viewer.displayError("result was null ", aValue.toString() );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
G3Viewer.displayError("Only JSON Value Returned ", aValue.toString() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, false ,false, data);
|
||||||
|
}
|
||||||
|
|
||||||
private void showDialog(String a_Text){
|
private void showDialog(String a_Text){
|
||||||
|
|
||||||
m_Dialog.setHTML(a_Text);
|
m_Dialog.setHTML(a_Text);
|
||||||
@ -132,27 +229,49 @@ public class HttpDialogBox extends DialogBox{
|
|||||||
Element element = this.getElement().getElementsByTagName("form").getItem(0);
|
Element element = this.getElement().getElementsByTagName("form").getItem(0);
|
||||||
setText(element.getElementsByTagName("legend").getItem(0).getInnerText());
|
setText(element.getElementsByTagName("legend").getItem(0).getInnerText());
|
||||||
|
|
||||||
|
|
||||||
m_FormPanel = FormPanel.wrap(element, true);
|
m_FormPanel = FormPanel.wrap(element, true);
|
||||||
m_FormPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSubmitComplete(SubmitCompleteEvent event) {
|
|
||||||
m_Callback.success(event.getResults());
|
|
||||||
Loading.getInstance().endLoading();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setText(this.getElement().getElementsByTagName("legend").getItem(0).getInnerText());
|
setText(this.getElement().getElementsByTagName("legend").getItem(0).getInnerText());
|
||||||
|
m_FormPanel = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
setPopupPosition(Window.getClientWidth() / 2 - this.getOffsetWidth() / 2,
|
setPopupPosition(Window.getClientWidth() / 2 - this.getOffsetWidth() / 2,
|
||||||
Window.getClientHeight() / 2 - this.getOffsetHeight() / 2);
|
Window.getClientHeight() / 2 - this.getOffsetHeight() / 2);
|
||||||
|
|
||||||
|
Timer t = new Timer(){
|
||||||
|
public void run(){
|
||||||
|
|
||||||
|
// find any scripts if they exist
|
||||||
|
NodeList<Element> scripts = HttpDialogBox.this.getElement().getElementsByTagName("script");
|
||||||
|
for (int i = 0; i < scripts.getLength(); i++ )
|
||||||
|
{
|
||||||
|
Element script = scripts.getItem(i);
|
||||||
|
script.removeFromParent();
|
||||||
|
Element nscript = DOM.createElement("script");
|
||||||
|
nscript.setAttribute("type", script.getAttribute("type"));
|
||||||
|
nscript.setAttribute("src", script.getAttribute("src"));
|
||||||
|
|
||||||
|
getElementByTagName("head").appendChild(nscript);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
t.schedule(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets an element by its tag name; handy for single elements like HTML,
|
||||||
|
* HEAD, BODY.
|
||||||
|
* @param tagName The name of the tag.
|
||||||
|
* @return The element with that tag name.
|
||||||
|
*/
|
||||||
|
public native static Element getElementByTagName(String tagName) /*-{
|
||||||
|
var elem = $doc.getElementsByTagName(tagName);
|
||||||
|
return elem ? elem[0] : null;
|
||||||
|
}-*/;
|
||||||
|
|
||||||
public void doDialog(String url, HttpDialogHandler a_Callback){
|
public void doDialog(String url, HttpDialogHandler a_Callback){
|
||||||
m_Callback = a_Callback;
|
m_Callback = a_Callback;
|
||||||
Loading.getInstance().loading("Please Wait");
|
Loading.getInstance().loading("Please Wait");
|
||||||
|
@ -16,9 +16,11 @@ public class InformationBar extends FlowPanel{
|
|||||||
|
|
||||||
private final Label m_Label = new Label();
|
private final Label m_Label = new Label();
|
||||||
|
|
||||||
private final Set<UploadFile> m_Uploads = new HashSet<UploadFile>();
|
private final UploadControl m_UploadControl;
|
||||||
|
|
||||||
public InformationBar(G3Viewer a_Container){
|
|
||||||
|
public InformationBar(G3Viewer a_Container, UploadControl a_UploadControl){
|
||||||
|
m_UploadControl = a_UploadControl;
|
||||||
m_Container = a_Container;
|
m_Container = a_Container;
|
||||||
setStylePrimaryName("infobar");
|
setStylePrimaryName("infobar");
|
||||||
}
|
}
|
||||||
@ -45,9 +47,9 @@ public class InformationBar extends FlowPanel{
|
|||||||
add(m_Label);
|
add(m_Label);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateInformation()
|
public void updateInformation()
|
||||||
{
|
{
|
||||||
int size = m_Uploads.size();
|
int size = m_UploadControl.size();
|
||||||
if (size == 0){
|
if (size == 0){
|
||||||
m_Label.setText("");
|
m_Label.setText("");
|
||||||
}
|
}
|
||||||
@ -62,16 +64,4 @@ public class InformationBar extends FlowPanel{
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addUpload(UploadFile a_Upload)
|
|
||||||
{
|
|
||||||
m_Uploads.add(a_Upload);
|
|
||||||
updateInformation();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void removeUpload(UploadFile a_Upload)
|
|
||||||
{
|
|
||||||
m_Uploads.remove(a_Upload);
|
|
||||||
updateInformation();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -181,7 +181,7 @@ public class Item extends Composite implements HasAllMouseHandlers, DesktopDropp
|
|||||||
public void success(JSONValue aValue) {
|
public void success(JSONValue aValue) {
|
||||||
updateValues(aValue);
|
updateValues(aValue);
|
||||||
}
|
}
|
||||||
},false);
|
},false,true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,7 +255,7 @@ public class Item extends Composite implements HasAllMouseHandlers, DesktopDropp
|
|||||||
public void success(JSONValue aValue) {
|
public void success(JSONValue aValue) {
|
||||||
// nothing to do
|
// nothing to do
|
||||||
}
|
}
|
||||||
},false);
|
},false,true);
|
||||||
popupPanel.hide();
|
popupPanel.hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -273,7 +273,7 @@ public class Item extends Composite implements HasAllMouseHandlers, DesktopDropp
|
|||||||
public void success(JSONValue aValue) {
|
public void success(JSONValue aValue) {
|
||||||
updateImages(aValue);
|
updateImages(aValue);
|
||||||
}
|
}
|
||||||
},false);
|
},false,true);
|
||||||
popupPanel.hide();
|
popupPanel.hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -289,7 +289,7 @@ public class Item extends Composite implements HasAllMouseHandlers, DesktopDropp
|
|||||||
public void success(JSONValue aValue) {
|
public void success(JSONValue aValue) {
|
||||||
updateImages(aValue);
|
updateImages(aValue);
|
||||||
}
|
}
|
||||||
},false);
|
},false,true);
|
||||||
popupPanel.hide();
|
popupPanel.hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -0,0 +1,107 @@
|
|||||||
|
package com.gloopics.g3viewer.client;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import com.google.gwt.gears.client.desktop.File;
|
||||||
|
import com.google.gwt.json.client.JSONObject;
|
||||||
|
import com.google.gwt.json.client.JSONValue;
|
||||||
|
|
||||||
|
public class UploadControl {
|
||||||
|
|
||||||
|
private final LinkedList<UploadFile> m_PrepareUploadQueue = new LinkedList<UploadFile>();
|
||||||
|
private final LinkedList<UploadFile> m_UploadQueue = new LinkedList<UploadFile>();
|
||||||
|
private final Set<UploadFile> m_Uploads = new HashSet<UploadFile>();
|
||||||
|
|
||||||
|
private boolean m_Running = false;
|
||||||
|
private boolean m_PrepareRunning = false;
|
||||||
|
|
||||||
|
private final G3Viewer m_Container;
|
||||||
|
|
||||||
|
public UploadControl(G3Viewer a_Container){
|
||||||
|
m_Container = a_Container;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UploadFile createUploadFile(Album a_Album, File a_File, ResizeOptions a_ResizeOptions)
|
||||||
|
{
|
||||||
|
|
||||||
|
UploadFile uf = new UploadFile(this, a_Album, a_File, a_ResizeOptions);
|
||||||
|
|
||||||
|
m_Uploads.add(uf);
|
||||||
|
m_PrepareUploadQueue.addLast(uf);
|
||||||
|
prepareNext();
|
||||||
|
|
||||||
|
return uf;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cleanupUpload(UploadFile uf)
|
||||||
|
{
|
||||||
|
m_Uploads.remove(uf);
|
||||||
|
prepareNext();
|
||||||
|
next();
|
||||||
|
m_Container.updateInformation();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public int size()
|
||||||
|
{
|
||||||
|
return m_Uploads.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishedUploadWithError(UploadFile uf)
|
||||||
|
{
|
||||||
|
cleanupUpload(uf);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishedUpload(UploadFile uf)
|
||||||
|
{
|
||||||
|
cleanupUpload(uf);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void next()
|
||||||
|
{
|
||||||
|
if (m_UploadQueue.size() > 0)
|
||||||
|
{
|
||||||
|
UploadFile uf = m_UploadQueue.removeFirst();
|
||||||
|
uf.startUpload();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_Running = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void prepareNext()
|
||||||
|
{
|
||||||
|
if (!m_PrepareRunning)
|
||||||
|
{
|
||||||
|
if ((m_PrepareUploadQueue.size() > 0) && (m_UploadQueue.size() < 10))
|
||||||
|
{
|
||||||
|
UploadFile uf = m_PrepareUploadQueue.removeFirst();
|
||||||
|
m_PrepareRunning = true;
|
||||||
|
uf.prepareUpload();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_PrepareRunning = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishedPrepare(UploadFile a_UploadFile)
|
||||||
|
{
|
||||||
|
m_UploadQueue.addLast(a_UploadFile);
|
||||||
|
|
||||||
|
if (!m_Running)
|
||||||
|
{
|
||||||
|
m_Running = true;
|
||||||
|
next();
|
||||||
|
}
|
||||||
|
|
||||||
|
m_PrepareRunning = false;
|
||||||
|
prepareNext();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -44,13 +44,19 @@ public class UploadFile extends Composite{
|
|||||||
|
|
||||||
private final Album m_Parent;
|
private final Album m_Parent;
|
||||||
|
|
||||||
private final Blob m_Blob;
|
private Blob m_Blob;
|
||||||
|
|
||||||
//private final Canvas m_UpThumb;
|
//private final Canvas m_UpThumb;
|
||||||
|
|
||||||
private final Label m_Label = new Label("Pending..");
|
private final Label m_Label = new Label("Pending..");
|
||||||
private final ProgressBar m_ProgressBar = new ProgressBar();
|
private final ProgressBar m_ProgressBar = new ProgressBar();
|
||||||
|
|
||||||
|
//private final Image m_Image;
|
||||||
|
private final File m_File;
|
||||||
|
|
||||||
|
private final SimplePanel m_ImageContainer;
|
||||||
|
|
||||||
|
private final UploadControl m_UploadControl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads an image into this Canvas, replacing the Canvas' current dimensions
|
* Loads an image into this Canvas, replacing the Canvas' current dimensions
|
||||||
@ -72,17 +78,19 @@ public class UploadFile extends Composite{
|
|||||||
rs.remove(a_Url);
|
rs.remove(a_Url);
|
||||||
}-*/;
|
}-*/;
|
||||||
|
|
||||||
public UploadFile(Album a_Parent, File a_File, ResizeOptions a_ResizeOptions){
|
public UploadFile(UploadControl a_UploadControl, Album a_Parent, File a_File, ResizeOptions a_ResizeOptions){
|
||||||
|
m_UploadControl = a_UploadControl;
|
||||||
|
m_File = a_File;
|
||||||
m_ResizeOptions = a_ResizeOptions;
|
m_ResizeOptions = a_ResizeOptions;
|
||||||
m_Parent = a_Parent;
|
m_Parent = a_Parent;
|
||||||
m_Name = a_File.getName();
|
m_Name = a_File.getName();
|
||||||
m_Blob = a_File.getBlob();
|
|
||||||
captureBlob(RS, m_Blob , m_Name);
|
|
||||||
|
|
||||||
Image img = new Image(m_Name);
|
|
||||||
FlowPanel dp = new FlowPanel();
|
FlowPanel dp = new FlowPanel();
|
||||||
|
|
||||||
dp.add(img);
|
|
||||||
|
m_ImageContainer = new SimplePanel();
|
||||||
|
m_ImageContainer.setWidget(new Label(m_Name));
|
||||||
|
dp.add(m_ImageContainer);
|
||||||
|
|
||||||
dp.add(m_ProgressBar);
|
dp.add(m_ProgressBar);
|
||||||
dp.add(m_Label);
|
dp.add(m_Label);
|
||||||
@ -116,18 +124,25 @@ public class UploadFile extends Composite{
|
|||||||
|
|
||||||
if (request.getStatus() != 200)
|
if (request.getStatus() != 200)
|
||||||
{
|
{
|
||||||
G3Viewer.displayError("Upload Error", request.getResponseText() + request.getStatus() + request.getStatusText());
|
m_Label.setText("Upload Error");
|
||||||
|
addStyleName("upload-error");
|
||||||
}
|
}
|
||||||
removeCapture(RS, m_Name);
|
removeCapture(RS, m_Name);
|
||||||
|
|
||||||
try{
|
if (request.getStatus() == 200)
|
||||||
JSONValue jv = JSONParser.parse(request.getResponseText());
|
{
|
||||||
m_Parent.finishedUpload(UploadFile.this, jv);
|
try{
|
||||||
|
JSONValue jv = JSONParser.parse(request.getResponseText());
|
||||||
|
m_UploadControl.finishedUpload(UploadFile.this);
|
||||||
|
m_Parent.replaceUpload(UploadFile.this, jv);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
catch (Exception e){
|
||||||
|
G3Viewer.displayError("Exception on Upload", e.toString() + " " + request.getResponseText());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e){
|
m_Parent.removeUpload(UploadFile.this);
|
||||||
G3Viewer.displayError("Exception on Upload", e.toString() + " " + request.getResponseText());
|
m_UploadControl.finishedUploadWithError(UploadFile.this);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -140,6 +155,22 @@ public class UploadFile extends Composite{
|
|||||||
return m_ResizeOptions;
|
return m_ResizeOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void prepareUpload(){
|
||||||
|
GWT.runAsync(new AsyncRunner(new Runnable() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
m_Blob = m_File.getBlob();
|
||||||
|
captureBlob(RS, m_Blob , m_Name);
|
||||||
|
Image img = new Image(m_Name);
|
||||||
|
|
||||||
|
m_ImageContainer.setWidget(img);
|
||||||
|
m_UploadControl.finishedPrepare(UploadFile.this);
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void startUpload(){
|
public void startUpload(){
|
||||||
|
|
||||||
if (m_ResizeOptions.isResize())
|
if (m_ResizeOptions.isResize())
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
.error {width:300px; height:200px;}
|
.error {width:300px; height:200px;}
|
||||||
|
|
||||||
|
.upload-error {background-color: #FFAAAA;}
|
||||||
.item {width:100px; height: 130px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;}
|
.item {width:100px; height: 130px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;}
|
||||||
.item img{max-width:96px; max-height:76px; *width:96px; *height:76px; border:2px solid #AAA;}
|
.item img{max-width:96px; max-height:76px; *width:96px; *height:76px; border:2px solid #AAA;}
|
||||||
.item h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;}
|
.item h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;}
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
.error {width:300px; height:200px;}
|
.error {width:300px; height:200px;}
|
||||||
|
|
||||||
|
.upload-error {background-color: #FFAAAA;}
|
||||||
.item {width:100px; height: 130px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;}
|
.item {width:100px; height: 130px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;}
|
||||||
.item img{max-width:96px; max-height:76px; *width:96px; *height:76px; border:2px solid #AAA;}
|
.item img{max-width:96px; max-height:76px; *width:96px; *height:76px; border:2px solid #AAA;}
|
||||||
.item h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;}
|
.item h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;}
|
||||||
|
Binary file not shown.
BIN
modules/gwtorganise/war/WEB-INF/lib/appengine-api-labs-1.2.5.jar
Normal file
BIN
modules/gwtorganise/war/WEB-INF/lib/appengine-api-labs-1.2.5.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
modules/gwtorganise/war/WEB-INF/lib/datanucleus-core-1.1.5.jar
Normal file
BIN
modules/gwtorganise/war/WEB-INF/lib/datanucleus-core-1.1.5.jar
Normal file
Binary file not shown.
BIN
modules/gwtorganise/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar
Normal file
BIN
modules/gwtorganise/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
modules/gwtorganise/war/WEB-INF/lib/gwt-servlet.jar
Normal file
BIN
modules/gwtorganise/war/WEB-INF/lib/gwt-servlet.jar
Normal file
Binary file not shown.
BIN
modules/gwtorganise/war/WEB-INF/lib/jdo2-api-2.3-eb.jar
Normal file
BIN
modules/gwtorganise/war/WEB-INF/lib/jdo2-api-2.3-eb.jar
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
.error {width:300px; height:200px;}
|
.error {width:300px; height:200px;}
|
||||||
|
|
||||||
|
.upload-error {background-color: #FFAAAA;}
|
||||||
.item {width:100px; height: 130px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;}
|
.item {width:100px; height: 130px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;}
|
||||||
.item img{max-width:96px; max-height:76px; *width:96px; *height:76px; border:2px solid #AAA;}
|
.item img{max-width:96px; max-height:76px; *width:96px; *height:76px; border:2px solid #AAA;}
|
||||||
.item h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;}
|
.item h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;}
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
function sS(){}
|
|
||||||
function ES(){return dP}
|
|
||||||
function IS(){var a;while(xS){a=xS;xS=xS.c;!xS&&(yS=null);qo(a.b)}}
|
|
||||||
function FS(){AS=true;zS=(CS(),new sS);jy((gy(),fy),1);!!$stats&&$stats(Py(irb,kib,null,null));zS.ac();!!$stats&&$stats(Py(irb,jrb,null,null))}
|
|
||||||
function qo(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(hrb);e.decode(a.b);d=e.width;c=e.height;f=~~(d/a.c.c);b=~~(c/a.c.b);if(f>b){if(f>1){e.resize(a.c.c,~~(c/f));fv(a.d,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.c.b);fv(a.d,e.encode())}}}
|
|
||||||
var krb='AsyncLoader1',hrb='beta.canvas',irb='runCallbacks1';_=sS.prototype=new tS;_.gC=ES;_.ac=IS;_.tI=0;var dP=P3(Xob,krb);FS();
|
|
@ -1,4 +0,0 @@
|
|||||||
function ry(){my(fy)}
|
|
||||||
function my(a){jy(a,a.e)}
|
|
||||||
function jy(a,b){var c;c=b==a.e?iib:jib+b;oy(c,jrb,O4(b),null);if(ly(a,b)){Ay(a.f);Y6(a.b,O4(b));qy(a)}}
|
|
||||||
var jrb='end';ry();
|
|
@ -0,0 +1,7 @@
|
|||||||
|
function _g(){}
|
||||||
|
function Zg(){}
|
||||||
|
function eh(){}
|
||||||
|
function Yg(){}
|
||||||
|
function bh(){bh=wp;ah=new Zg}
|
||||||
|
function dh(){ah=(bh(),new Yg);dc((ac(),_b),1);!!$stats&&$stats(Fc(Qr,Rr,null,null));ah.m();!!$stats&&$stats(Fc(Qr,Sr,null,null))}
|
||||||
|
var Qr='runCallbacks1';_=Zg.prototype=new O;_.m=_g;_.tI=0;_=Yg.prototype=new Zg;_.m=eh;_.tI=0;var ah;dh();
|
@ -0,0 +1,7 @@
|
|||||||
|
function ih(){}
|
||||||
|
function gh(){}
|
||||||
|
function nh(){}
|
||||||
|
function fh(){}
|
||||||
|
function kh(){kh=wp;jh=new gh}
|
||||||
|
function mh(){jh=(kh(),new fh);dc((ac(),_b),2);!!$stats&&$stats(Fc(Tr,Rr,null,null));jh.m();!!$stats&&$stats(Fc(Tr,Sr,null,null))}
|
||||||
|
var Tr='runCallbacks2';_=gh.prototype=new O;_.m=ih;_.tI=0;_=fh.prototype=new gh;_.m=nh;_.tI=0;var jh;mh();
|
@ -0,0 +1,75 @@
|
|||||||
|
function $b(){}
|
||||||
|
function lc(){}
|
||||||
|
function uc(){}
|
||||||
|
function xc(){}
|
||||||
|
function Nc(){}
|
||||||
|
function Qk(){}
|
||||||
|
function Pk(){}
|
||||||
|
function Cn(){}
|
||||||
|
function Jn(){}
|
||||||
|
function On(){}
|
||||||
|
function Eo(){}
|
||||||
|
function Po(){}
|
||||||
|
function Yo(){}
|
||||||
|
function kc(){fc(_b)}
|
||||||
|
function fc(a){dc(a,a.c)}
|
||||||
|
function Bc(a){Ac(this,a)}
|
||||||
|
function qc(a){a.b=0;a.c=0}
|
||||||
|
function tc(a){return a.c-a.b}
|
||||||
|
function Vk(){return this.a}
|
||||||
|
function Wk(){return this.a}
|
||||||
|
function Oo(){return this.b}
|
||||||
|
function Xo(){return Vo(this)}
|
||||||
|
function rc(a){return a.a[a.b]}
|
||||||
|
function pc(a,b){a.a[a.c++]=b}
|
||||||
|
function wc(a,b){Hd();return a}
|
||||||
|
function zc(a,b){a.a=b;return a}
|
||||||
|
function Tk(a,b){a.a=b;return a}
|
||||||
|
function Ln(a,b){a.a=b;return a}
|
||||||
|
function Sn(){return Jo(this,0)}
|
||||||
|
function In(){return this.b.a.d}
|
||||||
|
function sc(a){return a.a[a.b++]}
|
||||||
|
function Mn(){return jn(this.a.a)}
|
||||||
|
function Gn(a){return Yl(this.a,a)}
|
||||||
|
function Wo(){return this.b!=this.d.a}
|
||||||
|
function $o(a){a.a=a.b=a;return a}
|
||||||
|
function Pc(a,b,c){a.b=b;a.a=c;return a}
|
||||||
|
function En(a,b,c){a.a=b;a.b=c;return a}
|
||||||
|
function No(a){return _o(new Yo,a,this.a),++this.b,true}
|
||||||
|
function Mo(a){if(a.b==0){throw pp(new np)}}
|
||||||
|
function Go(a){a.a=$o(new Yo);a.b=0;return a}
|
||||||
|
function Io(a,b,c){_o(new Yo,b,c);++a.b}
|
||||||
|
function So(a,b,c,d){a.d=d;a.b=c;a.a=b;return a}
|
||||||
|
function _o(a,b,c){a.c=b;a.a=c;a.b=c.b;c.b.a=a;c.b=a;return a}
|
||||||
|
function oc(a,b){a.a=_f(Cg,0,-1,b,1);return a}
|
||||||
|
function $k(){$k=wp;Zk=_f(Eg,0,12,256,0)}
|
||||||
|
function ac(){ac=wp;_b=cc(new $b,3,ag(Cg,0,-1,[]))}
|
||||||
|
function Ol(a){var b;b=rm(new lm,a);return En(new Cn,a,b)}
|
||||||
|
function Nn(){var a;a=pg(kn(this.a.a),20).D();return a}
|
||||||
|
function Hn(){var a;a=Am(new ym,this.b.a);return Ln(new Jn,a)}
|
||||||
|
function Qn(a,b){var c;c=Jo(this,a);Io(c.d,b,c.b);++c.a;c.c=null}
|
||||||
|
function Ko(a){var b;Mo(a);--a.b;b=a.a.a;b.a.b=b.b;b.b.a=b.a;b.a=b.b=b;return b.c}
|
||||||
|
function Uk(a){return a!=null&&ng(a.tI,12)&&pg(a,12).a==this.a}
|
||||||
|
function nk(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)}
|
||||||
|
function tk(c,a){var b=c;c.onreadystatechange=$entry(function(){a.i(b)})}
|
||||||
|
function Xl(e,a){var b=e.e;for(var c in b){if(c.charCodeAt(0)==58){var d=b[c];if(e.B(a,d)){return true}}}return false}
|
||||||
|
function Lc(b,c){function d(a){c.h(a)}
|
||||||
|
return __gwtStartLoadingFragment(b,d)}
|
||||||
|
function Yl(a,b){if(a.c&&qo(a.b,b)){return true}else if(Xl(a,b)){return true}else if(Vl(a,b)){return true}return false}
|
||||||
|
function Vo(a){if(a.b==a.d.a){throw pp(new np)}a.c=a.b;a.b=a.b.a;++a.a;return a.c.c}
|
||||||
|
function cc(a,b,c){ac();a.a=po(new no);a.f=Go(new Eo);a.c=b;a.b=c;a.e=oc(new lc,b+1);return a}
|
||||||
|
function Mc(a,b){var c,d;c=Lc(a,b);if(c==null){return}d=uk();d.open(Xr,c,true);tk(d,Pc(new Nc,d,b));d.send(null)}
|
||||||
|
function dc(a,b){var c;c=b==a.c?Ur:Vr+b;hc(c,Sr,Xk(b),null);if(ec(a,b)){sc(a.d);gm(a.a,Xk(b));jc(a)}}
|
||||||
|
function Jo(a,b){var c,d;(b<0||b>a.b)&&cn(b,a.b);if(b>=a.b>>1){d=a.a;for(c=a.b;c>b;--c){d=d.b}}else{d=a.a.a;for(c=0;c<b;++c){d=d.a}}return So(new Po,b,d,a)}
|
||||||
|
function Rn(b){var a,d;d=Jo(this,b);try{return Vo(d)}catch(a){a=Og(a);if(sg(a,23)){throw Ok(new Lk,$r+b)}else throw a}}
|
||||||
|
function hc(a,b,c,d){!!$stats&&$stats(Fc(a,b,c,d))}
|
||||||
|
function Xk(a){var b,c;if(a>-129&&a<128){b=a+128;c=($k(),Zk)[b];!c&&(c=Zk[b]=Tk(new Pk,a));return c}return Tk(new Pk,a)}
|
||||||
|
function Vl(i,a){var b=i.a;for(var c in b){if(c==parseInt(c)){var d=b[c];for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.D();if(i.B(a,h)){return true}}}}return false}
|
||||||
|
function ec(a,b){var c,d,e,f;if(b==a.c){return true}for(d=a.b,e=0,f=d.length;e<f;++e){c=d[e];if(c==b){return true}}return false}
|
||||||
|
function uk(){if($wnd.XMLHttpRequest){return new XMLHttpRequest}else{try{return new ActiveXObject(Yr)}catch(a){return new ActiveXObject(Zr)}}}
|
||||||
|
function Ac(b,c){var a,e,f,g,h,i;h=Wn(new Tn);while(tc(b.a.e)>0){Xn(h,pg(Ko(b.a.f),2));sc(b.a.e)}qc(b.a.e);Zn(h,Ol(b.a.a));Ul(b.a.a);i=null;for(g=hn(new en,h);g.a<g.b.z();){f=pg(kn(g),2);try{Ac(f,c)}catch(a){a=Og(a);if(sg(a,3)){e=a;i=e}else throw a}}if(i){throw i}}
|
||||||
|
function Zn(a,b){if(b.b.a.d==0){return false}Array.prototype.splice.apply(a.a,[a.b,0].concat(Gl(b,_f(Fg,0,0,b.b.a.d,0))));a.b+=b.b.a.d;return true}
|
||||||
|
function Qc(b){var a,d;if(this.b.readyState==4){nk(this.b);if((this.b.status==200||this.b.status==0)&&this.b.responseText!=null&&this.b.responseText.length!=0){try{__gwtInstallCode(this.b.responseText)}catch(a){a=Og(a);if(sg(a,3)){d=a;Ac(this.a,d)}else throw a}}else{Ac(this.a,wc(new uc,this.b.status))}}}
|
||||||
|
function Fc(a,b,c,d){var e={moduleName:$moduleName,sessionId:$sessionId,subSystem:Wr,evtGroup:a,millis:(new Date).getTime(),type:b};c!=null&&(e.fragment=c.w());d!=null&&(e.size=d.w());return e}
|
||||||
|
function jc(a){var b,c,d,e,f,g;if(!a.d){a.d=oc(new lc,a.b.length+1);for(e=a.b,f=0,g=e.length;f<g;++f){d=e[f];pc(a.d,d)}pc(a.d,a.c)}if(a.a.d==0&&a.f.b==0&&tc(a.d)>1){return}if(tc(a.d)>0){c=rc(a.d);hc(c==a.c?Ur:Vr+c,Rr,Xk(c),null);Mc(c,zc(new xc,a));return}while(tc(a.e)>0){c=sc(a.e);b=pg(Ko(a.f),2);hc(c==a.c?Ur:Vr+c,Rr,Xk(c),null);Mc(c,b)}}
|
||||||
|
var $r="Can't get element ",Xr='GET',Yr='MSXML2.XMLHTTP.3.0',Zr='Microsoft.XMLHTTP',Rr='begin',Vr='download',Sr='end',Ur='leftoversDownload',Wr='runAsync';_=$b.prototype=new O;_.tI=0;_.b=null;_.c=0;_.d=null;_.e=null;var _b;_=lc.prototype=new O;_.tI=0;_.a=null;_.b=0;_.c=0;_=uc.prototype=new mb;_.tI=7;_=xc.prototype=new O;_.h=Bc;_.tI=8;_.a=null;_=Nc.prototype=new O;_.i=Qc;_.tI=0;_.a=null;_.b=null;_=Qk.prototype=new O;_.tI=27;_=Pk.prototype=new Qk;_.eQ=Uk;_.hC=Vk;_.w=Wk;_.tI=30;_.a=0;var Zk;_=Cn.prototype=new Dl;_.y=Gn;_.s=Hn;_.z=In;_.tI=0;_.a=null;_.b=null;_=Jn.prototype=new O;_.u=Mn;_.v=Nn;_.tI=0;_.a=null;_=On.prototype=new Wm;_.F=Qn;_.G=Rn;_.s=Sn;_.tI=41;_=Eo.prototype=new On;_.x=No;_.z=Oo;_.tI=45;_.a=null;_.b=0;_=Po.prototype=new O;_.u=Wo;_.v=Xo;_.tI=0;_.a=0;_.b=null;_.c=null;_.d=null;_=Yo.prototype=new O;_.tI=0;_.a=null;_.b=null;_.c=null;var Cg=new Ak,Eg=new Ak;kc();
|
@ -1,7 +0,0 @@
|
|||||||
function _g(){}
|
|
||||||
function Zg(){}
|
|
||||||
function eh(){}
|
|
||||||
function Yg(){}
|
|
||||||
function bh(){bh=op;ah=new Zg}
|
|
||||||
function dh(){ah=(bh(),new Yg);dc((ac(),_b),1);!!$stats&&$stats(Fc(Ir,Jr,null,null));ah.m();!!$stats&&$stats(Fc(Ir,Kr,null,null))}
|
|
||||||
var Ir='runCallbacks1';_=Zg.prototype=new O;_.m=_g;_.tI=0;_=Yg.prototype=new Zg;_.m=eh;_.tI=0;var ah;dh();
|
|
@ -1,75 +0,0 @@
|
|||||||
function $b(){}
|
|
||||||
function lc(){}
|
|
||||||
function uc(){}
|
|
||||||
function xc(){}
|
|
||||||
function Nc(){}
|
|
||||||
function Hk(){}
|
|
||||||
function Gk(){}
|
|
||||||
function tn(){}
|
|
||||||
function An(){}
|
|
||||||
function Fn(){}
|
|
||||||
function wo(){}
|
|
||||||
function Ho(){}
|
|
||||||
function Qo(){}
|
|
||||||
function kc(){fc(_b)}
|
|
||||||
function fc(a){dc(a,a.c)}
|
|
||||||
function Bc(a){Ac(this,a)}
|
|
||||||
function qc(a){a.b=0;a.c=0}
|
|
||||||
function tc(a){return a.c-a.b}
|
|
||||||
function Mk(){return this.a}
|
|
||||||
function Nk(){return this.a}
|
|
||||||
function Go(){return this.b}
|
|
||||||
function Po(){return No(this)}
|
|
||||||
function rc(a){return a.a[a.b]}
|
|
||||||
function pc(a,b){a.a[a.c++]=b}
|
|
||||||
function wc(a,b){Hd();return a}
|
|
||||||
function zc(a,b){a.a=b;return a}
|
|
||||||
function Kk(a,b){a.a=b;return a}
|
|
||||||
function Cn(a,b){a.a=b;return a}
|
|
||||||
function sc(a){return a.a[a.b++]}
|
|
||||||
function zn(){return this.b.a.d}
|
|
||||||
function Dn(){return _m(this.a.a)}
|
|
||||||
function xn(a){return Pl(this.a,a)}
|
|
||||||
function Oo(){return this.b!=this.d.a}
|
|
||||||
function Kn(){return Bo(pg(this,24),0)}
|
|
||||||
function So(a){a.a=a.b=a;return a}
|
|
||||||
function Pc(a,b,c){a.b=b;a.a=c;return a}
|
|
||||||
function vn(a,b,c){a.a=b;a.b=c;return a}
|
|
||||||
function Fo(a){return To(new Qo,a,this.a),++this.b,true}
|
|
||||||
function Eo(a){if(a.b==0){throw hp(new fp)}}
|
|
||||||
function yo(a){a.a=So(new Qo);a.b=0;return a}
|
|
||||||
function Ao(a,b,c){To(new Qo,b,c);++a.b}
|
|
||||||
function Ko(a,b,c,d){a.d=d;a.b=c;a.a=b;return a}
|
|
||||||
function To(a,b,c){a.c=b;a.a=c;a.b=c.b;c.b.a=a;c.b=a;return a}
|
|
||||||
function oc(a,b){a.a=_f(Cg,0,-1,b,1);return a}
|
|
||||||
function Rk(){Rk=op;Qk=_f(Eg,0,12,256,0)}
|
|
||||||
function ac(){ac=op;_b=cc(new $b,2,ag(Cg,0,-1,[]))}
|
|
||||||
function Fl(a){var b;b=im(new cm,a);return vn(new tn,a,b)}
|
|
||||||
function En(){var a;a=pg(an(this.a.a),20).D();return a}
|
|
||||||
function yn(){var a;a=rm(new pm,this.b.a);return Cn(new An,a)}
|
|
||||||
function In(a,b){var c;c=Bo(this,a);Ao(c.d,b,c.b);++c.a;c.c=null}
|
|
||||||
function Co(a){var b;Eo(a);--a.b;b=a.a.a;b.a.b=b.b;b.b.a=b.a;b.a=b.b=b;return b.c}
|
|
||||||
function Lk(a){return a!=null&&ng(a.tI,12)&&pg(a,12).a==this.a}
|
|
||||||
function Lc(b,c){function d(a){c.h(a)}
|
|
||||||
return __gwtStartLoadingFragment(b,d)}
|
|
||||||
function Pl(a,b){if(a.c&&io(a.b,b)){return true}else if(Ol(a,b)){return true}else if(Ml(a,b)){return true}return false}
|
|
||||||
function kk(c,a){var b=c;c.onreadystatechange=$entry(function(){a.i(b)})}
|
|
||||||
function ek(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)}
|
|
||||||
function lk(){if($wnd.XMLHttpRequest){return new XMLHttpRequest}else{try{return new ActiveXObject(Pr)}catch(a){return new ActiveXObject(Qr)}}}
|
|
||||||
function No(a){if(a.b==a.d.a){throw hp(new fp)}a.c=a.b;a.b=a.b.a;++a.a;return a.c.c}
|
|
||||||
function cc(a,b,c){ac();a.a=ho(new fo);a.f=yo(new wo);a.c=b;a.b=c;a.e=oc(new lc,b+1);return a}
|
|
||||||
function Mc(a,b){var c,d;c=Lc(a,b);if(c==null){return}d=lk();d.open(Or,c,true);kk(d,Pc(new Nc,d,b));d.send(null)}
|
|
||||||
function dc(a,b){var c;c=b==a.c?Lr:Mr+b;hc(c,Kr,Ok(b),null);if(ec(a,b)){sc(a.d);Zl(a.a,Ok(b));jc(a)}}
|
|
||||||
function Bo(a,b){var c,d;(b<0||b>a.b)&&Vm(b,a.b);if(b>=a.b>>1){d=a.a;for(c=a.b;c>b;--c){d=d.b}}else{d=a.a.a;for(c=0;c<b;++c){d=d.a}}return Ko(new Ho,b,d,a)}
|
|
||||||
function Ol(e,a){var b=e.e;for(var c in b){if(c.charCodeAt(0)==58){var d=b[c];if(e.B(a,d)){return true}}}return false}
|
|
||||||
function Ml(i,a){var b=i.a;for(var c in b){if(c==parseInt(c)){var d=b[c];for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.D();if(i.B(a,h)){return true}}}}return false}
|
|
||||||
function ec(a,b){var c,d,e,f;if(b==a.c){return true}for(d=a.b,e=0,f=d.length;e<f;++e){c=d[e];if(c==b){return true}}return false}
|
|
||||||
function hc(a,b,c,d){!!$stats&&$stats(Fc(a,b,c,d))}
|
|
||||||
function Ok(a){var b,c;if(a>-129&&a<128){b=a+128;c=(Rk(),Qk)[b];!c&&(c=Qk[b]=Kk(new Gk,a));return c}return Kk(new Gk,a)}
|
|
||||||
function Jn(b){var a,d;d=Bo(this,b);try{return No(d)}catch(a){a=Og(a);if(sg(a,23)){throw Fk(new Ck,Rr+b)}else throw a}}
|
|
||||||
function Rn(a,b){if(b.b.a.d==0){return false}Array.prototype.splice.apply(a.a,[a.b,0].concat(xl(b,_f(Fg,0,0,b.b.a.d,0))));a.b+=b.b.a.d;return true}
|
|
||||||
function Ac(b,c){var a,e,f,g,h,i;h=On(new Ln);while(tc(b.a.e)>0){Pn(h,pg(Co(b.a.f),2));sc(b.a.e)}qc(b.a.e);Rn(h,Fl(b.a.a));Ll(b.a.a);i=null;for(g=$m(new Xm,h);g.a<g.b.z();){f=pg(an(g),2);try{Ac(f,c)}catch(a){a=Og(a);if(sg(a,3)){e=a;i=e}else throw a}}if(i){throw i}}
|
|
||||||
function Qc(b){var a,d;if(this.b.readyState==4){ek(this.b);if((this.b.status==200||this.b.status==0)&&this.b.responseText!=null&&this.b.responseText.length!=0){try{__gwtInstallCode(this.b.responseText)}catch(a){a=Og(a);if(sg(a,3)){d=a;Ac(this.a,d)}else throw a}}else{Ac(this.a,wc(new uc,this.b.status))}}}
|
|
||||||
function Fc(a,b,c,d){var e={moduleName:$moduleName,sessionId:$sessionId,subSystem:Nr,evtGroup:a,millis:(new Date).getTime(),type:b};c!=null&&(e.fragment=c.w());d!=null&&(e.size=d.w());return e}
|
|
||||||
function jc(a){var b,c,d,e,f,g;if(!a.d){a.d=oc(new lc,a.b.length+1);for(e=a.b,f=0,g=e.length;f<g;++f){d=e[f];pc(a.d,d)}pc(a.d,a.c)}if(a.a.d==0&&a.f.b==0&&tc(a.d)>1){return}if(tc(a.d)>0){c=rc(a.d);hc(c==a.c?Lr:Mr+c,Jr,Ok(c),null);Mc(c,zc(new xc,a));return}while(tc(a.e)>0){c=sc(a.e);b=pg(Co(a.f),2);hc(c==a.c?Lr:Mr+c,Jr,Ok(c),null);Mc(c,b)}}
|
|
||||||
var Rr="Can't get element ",Or='GET',Pr='MSXML2.XMLHTTP.3.0',Qr='Microsoft.XMLHTTP',Jr='begin',Mr='download',Kr='end',Lr='leftoversDownload',Nr='runAsync';_=$b.prototype=new O;_.tI=0;_.b=null;_.c=0;_.d=null;_.e=null;var _b;_=lc.prototype=new O;_.tI=0;_.a=null;_.b=0;_.c=0;_=uc.prototype=new mb;_.tI=7;_=xc.prototype=new O;_.h=Bc;_.tI=8;_.a=null;_=Nc.prototype=new O;_.i=Qc;_.tI=0;_.a=null;_.b=null;_=Hk.prototype=new O;_.tI=27;_=Gk.prototype=new Hk;_.eQ=Lk;_.hC=Mk;_.w=Nk;_.tI=30;_.a=0;var Qk;_=tn.prototype=new ul;_.y=xn;_.s=yn;_.z=zn;_.tI=0;_.a=null;_.b=null;_=An.prototype=new O;_.u=Dn;_.v=En;_.tI=0;_.a=null;_=Fn.prototype=new Nm;_.F=In;_.G=Jn;_.s=Kn;_.tI=41;_=wo.prototype=new Fn;_.x=Fo;_.z=Go;_.tI=45;_.a=null;_.b=0;_=Ho.prototype=new O;_.u=Oo;_.v=Po;_.tI=0;_.a=0;_.b=null;_.c=null;_.d=null;_=Qo.prototype=new O;_.tI=0;_.a=null;_.b=null;_.c=null;var Cg=new rk,Eg=new rk;kc();
|
|
@ -0,0 +1,7 @@
|
|||||||
|
function Xg(){}
|
||||||
|
function Vg(){}
|
||||||
|
function ah(){}
|
||||||
|
function Ug(){}
|
||||||
|
function Zg(){Zg=np;Yg=new Vg}
|
||||||
|
function _g(){Yg=(Zg(),new Ug);ac((Zb(),Yb),1);!!$stats&&$stats(Cc(yr,zr,null,null));Yg.m();!!$stats&&$stats(Cc(yr,Ar,null,null))}
|
||||||
|
var yr='runCallbacks1';_=Vg.prototype=new O;_.m=Xg;_.tI=0;_=Ug.prototype=new Vg;_.m=ah;_.tI=0;var Yg;_g();
|
@ -0,0 +1,7 @@
|
|||||||
|
function eh(){}
|
||||||
|
function ch(){}
|
||||||
|
function jh(){}
|
||||||
|
function bh(){}
|
||||||
|
function gh(){gh=np;fh=new ch}
|
||||||
|
function ih(){fh=(gh(),new bh);ac((Zb(),Yb),2);!!$stats&&$stats(Cc(Br,zr,null,null));fh.m();!!$stats&&$stats(Cc(Br,Ar,null,null))}
|
||||||
|
var Br='runCallbacks2';_=ch.prototype=new O;_.m=eh;_.tI=0;_=bh.prototype=new ch;_.m=jh;_.tI=0;var fh;ih();
|
@ -0,0 +1,75 @@
|
|||||||
|
function Xb(){}
|
||||||
|
function ic(){}
|
||||||
|
function rc(){}
|
||||||
|
function uc(){}
|
||||||
|
function Kc(){}
|
||||||
|
function Hk(){}
|
||||||
|
function Gk(){}
|
||||||
|
function tn(){}
|
||||||
|
function An(){}
|
||||||
|
function Fn(){}
|
||||||
|
function vo(){}
|
||||||
|
function Go(){}
|
||||||
|
function Po(){}
|
||||||
|
function hc(){cc(Yb)}
|
||||||
|
function cc(a){ac(a,a.d)}
|
||||||
|
function yc(a){xc(this,a)}
|
||||||
|
function nc(a){a.c=0;a.d=0}
|
||||||
|
function qc(a){return a.d-a.c}
|
||||||
|
function Mk(){return this.b}
|
||||||
|
function Nk(){return this.b}
|
||||||
|
function Fo(){return this.c}
|
||||||
|
function Oo(){return Mo(this)}
|
||||||
|
function oc(a){return a.b[a.c]}
|
||||||
|
function mc(a,b){a.b[a.d++]=b}
|
||||||
|
function tc(a,b){Ed();return a}
|
||||||
|
function wc(a,b){a.b=b;return a}
|
||||||
|
function Kk(a,b){a.b=b;return a}
|
||||||
|
function Cn(a,b){a.b=b;return a}
|
||||||
|
function Jn(){return Ao(this,0)}
|
||||||
|
function zn(){return this.c.b.e}
|
||||||
|
function pc(a){return a.b[a.c++]}
|
||||||
|
function Dn(){return _m(this.b.b)}
|
||||||
|
function xn(a){return Pl(this.b,a)}
|
||||||
|
function No(){return this.c!=this.e.b}
|
||||||
|
function Ro(a){a.b=a.c=a;return a}
|
||||||
|
function Mc(a,b,c){a.c=b;a.b=c;return a}
|
||||||
|
function vn(a,b,c){a.b=b;a.c=c;return a}
|
||||||
|
function Eo(a){return So(new Po,a,this.b),++this.c,true}
|
||||||
|
function Do(a){if(a.c==0){throw gp(new ep)}}
|
||||||
|
function xo(a){a.b=Ro(new Po);a.c=0;return a}
|
||||||
|
function zo(a,b,c){So(new Po,b,c);++a.c}
|
||||||
|
function Jo(a,b,c,d){a.e=d;a.c=c;a.b=b;return a}
|
||||||
|
function So(a,b,c){a.d=b;a.b=c;a.c=c.c;c.c.b=a;c.c=a;return a}
|
||||||
|
function lc(a,b){a.b=Xf(yg,0,-1,b,1);return a}
|
||||||
|
function Rk(){Rk=np;Qk=Xf(Ag,0,12,256,0)}
|
||||||
|
function Zb(){Zb=np;Yb=_b(new Xb,3,Yf(yg,0,-1,[]))}
|
||||||
|
function Fl(a){var b;b=im(new cm,a);return vn(new tn,a,b)}
|
||||||
|
function En(){var a;a=lg(an(this.b.b),20).D();return a}
|
||||||
|
function yn(){var a;a=rm(new pm,this.c.b);return Cn(new An,a)}
|
||||||
|
function Hn(a,b){var c;c=Ao(this,a);zo(c.e,b,c.c);++c.b;c.d=null}
|
||||||
|
function Bo(a){var b;Do(a);--a.c;b=a.b.b;b.b.c=b.c;b.c.b=b.b;b.b=b.c=b;return b.d}
|
||||||
|
function Lk(a){return a!=null&&jg(a.tI,12)&&lg(a,12).b==this.b}
|
||||||
|
function ec(a,b,c,d){!!$stats&&$stats(Cc(a,b,c,d))}
|
||||||
|
function Ic(b,c){function d(a){c.i(a)}
|
||||||
|
return __gwtStartLoadingFragment(b,d)}
|
||||||
|
function Pl(a,b){if(a.d&&ho(a.c,b)){return true}else if(Ol(a,b)){return true}else if(Ml(a,b)){return true}return false}
|
||||||
|
function Mo(a){if(a.c==a.e.b){throw gp(new ep)}a.d=a.c;a.c=a.c.b;++a.b;return a.d.d}
|
||||||
|
function _b(a,b,c){Zb();a.b=go(new eo);a.g=xo(new vo);a.d=b;a.c=c;a.f=lc(new ic,b+1);return a}
|
||||||
|
function ek(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)}
|
||||||
|
function kk(c,a){var b=c;c.onreadystatechange=$entry(function(){a.j(b)})}
|
||||||
|
function Ol(e,a){var b=e.f;for(var c in b){if(c.charCodeAt(0)==58){var d=b[c];if(e.B(a,d)){return true}}}return false}
|
||||||
|
function Ml(i,a){var b=i.b;for(var c in b){if(c==parseInt(c)){var d=b[c];for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.D();if(i.B(a,h)){return true}}}}return false}
|
||||||
|
function ac(a,b){var c;c=b==a.d?Cr:Dr+b;ec(c,Ar,Ok(b),null);if(bc(a,b)){pc(a.e);Zl(a.b,Ok(b));gc(a)}}
|
||||||
|
function Ao(a,b){var c,d;(b<0||b>a.c)&&Vm(b,a.c);if(b>=a.c>>1){d=a.b;for(c=a.c;c>b;--c){d=d.c}}else{d=a.b.b;for(c=0;c<b;++c){d=d.b}}return Jo(new Go,b,d,a)}
|
||||||
|
function Jc(a,b){var c,d;c=Ic(a,b);if(c==null){return}d=lk();d.open(Fr,c,true);kk(d,Mc(new Kc,d,b));d.send(null)}
|
||||||
|
function bc(a,b){var c,d,e,f;if(b==a.d){return true}for(d=a.c,e=0,f=d.length;e<f;++e){c=d[e];if(c==b){return true}}return false}
|
||||||
|
function In(b){var a,d;d=Ao(this,b);try{return Mo(d)}catch(a){a=Kg(a);if(og(a,23)){throw Fk(new Ck,Ir+b)}else throw a}}
|
||||||
|
function Ok(a){var b,c;if(a>-129&&a<128){b=a+128;c=(Rk(),Qk)[b];!c&&(c=Qk[b]=Kk(new Gk,a));return c}return Kk(new Gk,a)}
|
||||||
|
function lk(){if($wnd.XMLHttpRequest){return new XMLHttpRequest}else{try{return new ActiveXObject(Gr)}catch(a){return new ActiveXObject(Hr)}}}
|
||||||
|
function xc(b,c){var a,e,f,g,h,i;h=Nn(new Kn);while(qc(b.b.f)>0){On(h,lg(Bo(b.b.g),2));pc(b.b.f)}nc(b.b.f);Qn(h,Fl(b.b.b));Ll(b.b.b);i=null;for(g=$m(new Xm,h);g.b<g.c.z();){f=lg(an(g),2);try{xc(f,c)}catch(a){a=Kg(a);if(og(a,3)){e=a;i=e}else throw a}}if(i){throw i}}
|
||||||
|
function Qn(a,b){if(b.c.b.e==0){return false}Array.prototype.splice.apply(a.b,[a.c,0].concat(xl(b,Xf(Bg,0,0,b.c.b.e,0))));a.c+=b.c.b.e;return true}
|
||||||
|
function Nc(b){var a,d;if(this.c.readyState==4){ek(this.c);if((this.c.status==200||this.c.status==0)&&this.c.responseText!=null&&this.c.responseText.length!=0){try{__gwtInstallCode(this.c.responseText)}catch(a){a=Kg(a);if(og(a,3)){d=a;xc(this.b,d)}else throw a}}else{xc(this.b,tc(new rc,this.c.status))}}}
|
||||||
|
function Cc(a,b,c,d){var e={moduleName:$moduleName,sessionId:$sessionId,subSystem:Er,evtGroup:a,millis:(new Date).getTime(),type:b};c!=null&&(e.fragment=c.w());d!=null&&(e.size=d.w());return e}
|
||||||
|
function gc(a){var b,c,d,e,f,g;if(!a.e){a.e=lc(new ic,a.c.length+1);for(e=a.c,f=0,g=e.length;f<g;++f){d=e[f];mc(a.e,d)}mc(a.e,a.d)}if(a.b.e==0&&a.g.c==0&&qc(a.e)>1){return}if(qc(a.e)>0){c=oc(a.e);ec(c==a.d?Cr:Dr+c,zr,Ok(c),null);Jc(c,wc(new uc,a));return}while(qc(a.f)>0){c=pc(a.f);b=lg(Bo(a.g),2);ec(c==a.d?Cr:Dr+c,zr,Ok(c),null);Jc(c,b)}}
|
||||||
|
var Ir="Can't get element ",Fr='GET',Gr='MSXML2.XMLHTTP.3.0',Hr='Microsoft.XMLHTTP',zr='begin',Dr='download',Ar='end',Cr='leftoversDownload',Er='runAsync';_=Xb.prototype=new O;_.tI=0;_.c=null;_.d=0;_.e=null;_.f=null;var Yb;_=ic.prototype=new O;_.tI=0;_.b=null;_.c=0;_.d=0;_=rc.prototype=new mb;_.tI=7;_=uc.prototype=new O;_.i=yc;_.tI=8;_.b=null;_=Kc.prototype=new O;_.j=Nc;_.tI=0;_.b=null;_.c=null;_=Hk.prototype=new O;_.tI=27;_=Gk.prototype=new Hk;_.eQ=Lk;_.hC=Mk;_.w=Nk;_.tI=30;_.b=0;var Qk;_=tn.prototype=new ul;_.y=xn;_.s=yn;_.z=zn;_.tI=0;_.b=null;_.c=null;_=An.prototype=new O;_.u=Dn;_.v=En;_.tI=0;_.b=null;_=Fn.prototype=new Nm;_.F=Hn;_.G=In;_.s=Jn;_.tI=41;_=vo.prototype=new Fn;_.x=Eo;_.z=Fo;_.tI=45;_.b=null;_.c=0;_=Go.prototype=new O;_.u=No;_.v=Oo;_.tI=0;_.b=0;_.c=null;_.d=null;_.e=null;_=Po.prototype=new O;_.tI=0;_.b=null;_.c=null;_.d=null;var yg=new rk,Ag=new rk;hc();
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user