From bb81dd694d5ff51d9d4cac22dc2d9248c229341d Mon Sep 17 00:00:00 2001 From: Ben Smith Date: Tue, 26 Jan 2010 17:00:01 +1300 Subject: [PATCH] Updated to latest G3 experimental. Added drag and drop from desktop. Added ability to resize before upload / including resize options Added Thumbnails when uploading. Moved to latest GWT so some speed improvements --- modules/gwtorganise/.classpath | 5 +- .../com.google.appengine.eclipse.core.prefs | 4 +- .../com.google.gdt.eclipse.core.prefs | 3 + .../com.google.gwt.eclipse.core.prefs | 3 +- .../controllers/admin_upload_configure.php | 45 + .../gwtorganise/controllers/json_album.php | 46 +- .../helpers/gwtorganise_installer.php | 3 + .../helpers/upload_configuration.php | 70 + .../com/gloopics/g3viewer/G3viewer.gwt.xml | 23 +- .../com/gloopics/g3viewer/client/Album.java | 57 +- .../g3viewer/client/AsyncResizer.java | 58 + .../gloopics/g3viewer/client/G3Viewer.java | 47 +- .../g3viewer/client/HttpDialogBox.java | 4 +- .../g3viewer/client/ImageDialogBox.java | 2 +- .../g3viewer/client/InformationBar.java | 77 + .../com/gloopics/g3viewer/client/Item.java | 46 +- .../com/gloopics/g3viewer/client/Loading.java | 108 +- .../g3viewer/client/ResizeOptions.java | 50 + .../gloopics/g3viewer/client/UploadFile.java | 98 +- .../com/gloopics/g3viewer/client/Utils.java | 18 + .../com/gloopics/g3viewer/client/View.java | 78 +- .../g3viewer/client/canvas/Canvas.java | 178 ++ .../g3viewer/client/canvas/Factory.java | 69 + .../g3viewer/client/canvas/ResizeFilter.java | 36 + .../client/dnddesktop/DesktopDropBase.java | 61 + .../client/dnddesktop/DesktopDropFile.java | 69 + .../client/dnddesktop/DesktopDropFileIE.java | 44 + .../dnddesktop/DesktopDroppableWidget.java | 11 + .../client/dnddesktop/DndDesktopFactory.java | 9 + .../dnddesktop/DndDesktopFactoryIE.java | 9 + .../gloopics/g3viewer/public}/G3viewer.css | 14 +- .../com/gloopics/g3viewer/public}/loading.gif | Bin .../gwtorganise/war/WEB-INF/appengine-web.xml | 11 - .../WEB-INF/classes/META-INF/jdoconfig.xml | 15 + .../com/gloopics/g3viewer/G3viewer.gwt.xml | 33 + .../gloopics/g3viewer/client/Album$1.class | Bin 0 -> 796 bytes .../gloopics/g3viewer/client/Album$10.class | Bin 0 -> 873 bytes .../gloopics/g3viewer/client/Album$11.class | Bin 0 -> 1076 bytes .../gloopics/g3viewer/client/Album$12.class | Bin 0 -> 2621 bytes .../gloopics/g3viewer/client/Album$2$1.class | Bin 0 -> 911 bytes .../gloopics/g3viewer/client/Album$2.class | Bin 0 -> 1659 bytes .../gloopics/g3viewer/client/Album$3.class | Bin 0 -> 924 bytes .../gloopics/g3viewer/client/Album$4$1.class | Bin 0 -> 1154 bytes .../gloopics/g3viewer/client/Album$4.class | Bin 0 -> 1738 bytes .../gloopics/g3viewer/client/Album$5$1.class | Bin 0 -> 737 bytes .../gloopics/g3viewer/client/Album$5.class | Bin 0 -> 1531 bytes .../gloopics/g3viewer/client/Album$6.class | Bin 0 -> 1424 bytes .../gloopics/g3viewer/client/Album$7.class | Bin 0 -> 1090 bytes .../gloopics/g3viewer/client/Album$8.class | Bin 0 -> 1084 bytes .../gloopics/g3viewer/client/Album$9.class | Bin 0 -> 871 bytes .../com/gloopics/g3viewer/client/Album.class | Bin 0 -> 14578 bytes .../client/AlbumItemDropContainer.class | Bin 0 -> 2454 bytes .../g3viewer/client/AlbumTree$1.class | Bin 0 -> 1419 bytes .../gloopics/g3viewer/client/AlbumTree.class | Bin 0 -> 2180 bytes .../client/AlbumTreeDropController.class | Bin 0 -> 2360 bytes .../g3viewer/client/AsyncResizer.class | Bin 0 -> 2261 bytes .../g3viewer/client/DropZoneController.class | Bin 0 -> 2744 bytes .../g3viewer/client/G3Viewer$1$1.class | Bin 0 -> 1018 bytes .../gloopics/g3viewer/client/G3Viewer$1.class | Bin 0 -> 2095 bytes .../gloopics/g3viewer/client/G3Viewer$2.class | Bin 0 -> 2365 bytes .../client/G3Viewer$ErrorDialog$1.class | Bin 0 -> 952 bytes .../client/G3Viewer$ErrorDialog.class | Bin 0 -> 1580 bytes .../client/G3Viewer$SimplePanelEx.class | Bin 0 -> 1361 bytes .../gloopics/g3viewer/client/G3Viewer.class | Bin 0 -> 7689 bytes .../g3viewer/client/HttpDialogBox$1.class | Bin 0 -> 992 bytes .../g3viewer/client/HttpDialogBox$2.class | Bin 0 -> 1262 bytes .../g3viewer/client/HttpDialogBox$3.class | Bin 0 -> 1472 bytes .../HttpDialogBox$RequestCallbackImpl.class | Bin 0 -> 1904 bytes .../g3viewer/client/HttpDialogBox.class | Bin 0 -> 6160 bytes .../g3viewer/client/HttpDialogHandler.class | Bin 0 -> 186 bytes .../g3viewer/client/HttpSuccessHandler.class | Bin 0 -> 208 bytes .../g3viewer/client/ImageDialogBox$1.class | Bin 0 -> 998 bytes .../g3viewer/client/ImageDialogBox$2.class | Bin 0 -> 1650 bytes .../g3viewer/client/ImageDialogBox$3.class | Bin 0 -> 1427 bytes .../g3viewer/client/ImageDialogBox.class | Bin 0 -> 2828 bytes .../g3viewer/client/InformationBar$1$1.class | Bin 0 -> 841 bytes .../g3viewer/client/InformationBar$1.class | Bin 0 -> 1260 bytes .../g3viewer/client/InformationBar.class | Bin 0 -> 2524 bytes .../com/gloopics/g3viewer/client/Item$1.class | Bin 0 -> 1058 bytes .../com/gloopics/g3viewer/client/Item$2.class | Bin 0 -> 1541 bytes .../com/gloopics/g3viewer/client/Item$3.class | Bin 0 -> 790 bytes .../gloopics/g3viewer/client/Item$4$1.class | Bin 0 -> 1313 bytes .../com/gloopics/g3viewer/client/Item$4.class | Bin 0 -> 1675 bytes .../gloopics/g3viewer/client/Item$5$1.class | Bin 0 -> 902 bytes .../com/gloopics/g3viewer/client/Item$5.class | Bin 0 -> 1835 bytes .../gloopics/g3viewer/client/Item$6$1.class | Bin 0 -> 771 bytes .../com/gloopics/g3viewer/client/Item$6.class | Bin 0 -> 1659 bytes .../gloopics/g3viewer/client/Item$7$1.class | Bin 0 -> 1023 bytes .../com/gloopics/g3viewer/client/Item$7.class | Bin 0 -> 2093 bytes .../gloopics/g3viewer/client/Item$8$1.class | Bin 0 -> 1023 bytes .../com/gloopics/g3viewer/client/Item$8.class | Bin 0 -> 2094 bytes .../com/gloopics/g3viewer/client/Item$9.class | Bin 0 -> 1291 bytes .../com/gloopics/g3viewer/client/Item.class | Bin 0 -> 12207 bytes .../client/JSONResponseCallback.class | Bin 0 -> 260 bytes .../client/JSONResponseTextHandler.class | Bin 0 -> 2246 bytes .../gloopics/g3viewer/client/Loading.class | Bin 0 -> 2440 bytes .../gloopics/g3viewer/client/NoGears.class | Bin 0 -> 984 bytes .../g3viewer/client/ResizeOptions.class | Bin 0 -> 1531 bytes .../g3viewer/client/UploadFile$1.class | Bin 0 -> 1333 bytes .../g3viewer/client/UploadFile$2.class | Bin 0 -> 2446 bytes .../client/UploadFile$ProgressBar.class | Bin 0 -> 1238 bytes .../gloopics/g3viewer/client/UploadFile.class | Bin 0 -> 5426 bytes .../com/gloopics/g3viewer/client/Utils.class | Bin 0 -> 1032 bytes .../com/gloopics/g3viewer/client/View$1.class | Bin 0 -> 899 bytes .../com/gloopics/g3viewer/client/View.class | Bin 0 -> 6632 bytes .../g3viewer/client/canvas/Canvas.class | Bin 0 -> 1253 bytes .../g3viewer/client/canvas/Factory.class | Bin 0 -> 920 bytes .../client/canvas/ResizeFilter$1.class | Bin 0 -> 636 bytes .../client/canvas/ResizeFilter$2.class | Bin 0 -> 637 bytes .../g3viewer/client/canvas/ResizeFilter.class | Bin 0 -> 1473 bytes .../client/dnddesktop/DesktopDropBase.class | Bin 0 -> 2043 bytes .../client/dnddesktop/DesktopDropFile.class | Bin 0 -> 1077 bytes .../client/dnddesktop/DesktopDropFileIE.class | Bin 0 -> 810 bytes .../dnddesktop/DesktopDroppableWidget.class | Bin 0 -> 303 bytes .../client/dnddesktop/DndDesktopFactory.class | Bin 0 -> 790 bytes .../dnddesktop/DndDesktopFactoryIE.class | Bin 0 -> 839 bytes .../com/gloopics/g3viewer/public/G3viewer.css | 44 + .../com/gloopics/g3viewer/public/loading.gif | Bin 0 -> 2167 bytes .../war/WEB-INF/classes/log4j.properties | 24 + .../war/WEB-INF/logging.properties | 28 - modules/gwtorganise/war/WEB-INF/web.xml | 24 - ...031994593072F3F8665BB367C2904F3.cache.html | 1839 +++++++++++++++++ ...63AB00068E7F94442F89D1B4262AD00.cache.html | 313 +++ ...0A9476898799A150D840F0B1C3672921.cache.png | Bin 0 -> 291 bytes ...625E6CD0659684104018A069A188996.cache.html | 1811 ++++++++++++++++ ...6CF5446615AAE9D0FDDA0B123643155.cache.html | 308 +++ ...73CE923F09A0C2270E1B0F2D934E253.cache.html | 326 +++ ...396F806CD63ABD414BFBB9D57429F05B.cache.png | Bin 0 -> 90 bytes ...FEE434A493BF0E4969DA18CF936A5FD.cache.html | 1807 ++++++++++++++++ ...DDD50A96AC2DC41C6BF0EB870994C49.cache.html | 1793 ++++++++++++++++ ...B11280F72B8881FCDF44A0B47F1E96A.cache.html | 314 +++ ...8603379B5088782D2C0620FAE856E112.cache.png | Bin 0 -> 231 bytes ...E9AF58E0E2BDFC35328028FC368ECD2.cache.html | 1834 ++++++++++++++++ ...DF7764EEC1903CD03C9545B354D8D8E4.cache.png | Bin 0 -> 92 bytes ...E44767377485D18D6B6864F65BA8EF73.cache.png | Bin 0 -> 295 bytes ...EDC7827FEEA59EE44AD790B1C6430C45.cache.png | Bin 0 -> 273 bytes ...0ACC41901D1A45069B29563B600C0E1.cache.html | 1835 ++++++++++++++++ ...FDD2B79ACD26336C36A836612DAEC0A.cache.html | 311 +++ modules/gwtorganise/war/g3viewer/G3viewer.css | 44 + .../gwtorganise/war/g3viewer/clear.cache.gif | Bin 0 -> 43 bytes .../1.cache.js | 6 + .../2.cache.js | 4 + .../1.cache.js | 7 + .../2.cache.js | 75 + .../1.cache.js | 6 + .../2.cache.js | 4 + .../1.cache.js | 7 + .../2.cache.js | 75 + .../1.cache.js | 7 + .../2.cache.js | 75 + .../1.cache.js | 6 + .../2.cache.js | 4 + .../1.cache.js | 6 + .../2.cache.js | 4 + .../1.cache.js | 7 + .../2.cache.js | 75 + .../1.cache.js | 6 + .../2.cache.js | 4 + .../1.cache.js | 6 + .../2.cache.js | 4 + .../1.cache.js | 7 + .../2.cache.js | 75 + .../war/g3viewer/g3viewer.nocache.js | 11 + .../gwtorganise/war/g3viewer/gears_init.js | 87 + .../g3viewer/gwt/standard/images/corner.png | Bin 0 -> 1140 bytes .../gwt/standard/images/corner_ie6.png | Bin 0 -> 412 bytes .../g3viewer/gwt/standard/images/hborder.png | Bin 0 -> 1384 bytes .../gwt/standard/images/hborder_ie6.png | Bin 0 -> 966 bytes .../images/ie6/corner_dialog_topleft.png | Bin 0 -> 195 bytes .../images/ie6/corner_dialog_topright.png | Bin 0 -> 232 bytes .../images/ie6/hborder_blue_shadow.png | Bin 0 -> 150 bytes .../images/ie6/hborder_gray_shadow.png | Bin 0 -> 153 bytes .../images/ie6/vborder_blue_shadow.png | Bin 0 -> 144 bytes .../images/ie6/vborder_gray_shadow.png | Bin 0 -> 148 bytes .../g3viewer/gwt/standard/images/vborder.png | Bin 0 -> 190 bytes .../gwt/standard/images/vborder_ie6.png | Bin 0 -> 150 bytes .../war/g3viewer/gwt/standard/standard.css | 1082 ++++++++++ .../g3viewer/gwt/standard/standard_rtl.css | 1083 ++++++++++ modules/gwtorganise/war/g3viewer/hosted.html | 333 +++ modules/gwtorganise/war/g3viewer/loading.gif | Bin 0 -> 2167 bytes modules/gwtorganise/war/index.php | 2 +- 181 files changed, 16948 insertions(+), 179 deletions(-) create mode 100644 modules/gwtorganise/.settings/com.google.gdt.eclipse.core.prefs create mode 100644 modules/gwtorganise/controllers/admin_upload_configure.php create mode 100644 modules/gwtorganise/helpers/upload_configuration.php create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/AsyncResizer.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/InformationBar.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/ResizeOptions.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/Utils.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Canvas.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Factory.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/ResizeFilter.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.java create mode 100644 modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.java rename modules/gwtorganise/{war => src/com/gloopics/g3viewer/public}/G3viewer.css (76%) rename modules/gwtorganise/{war/images => src/com/gloopics/g3viewer/public}/loading.gif (100%) delete mode 100644 modules/gwtorganise/war/WEB-INF/appengine-web.xml create mode 100644 modules/gwtorganise/war/WEB-INF/classes/META-INF/jdoconfig.xml create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/G3viewer.gwt.xml create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$10.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$11.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$12.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$3.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$6.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$7.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$8.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$9.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumItemDropContainer.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTreeDropController.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AsyncResizer.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/DropZoneController.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$2.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$SimplePanelEx.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$2.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$3.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$RequestCallbackImpl.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogHandler.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpSuccessHandler.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$2.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$3.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$2.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$3.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$9.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseCallback.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseTextHandler.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Loading.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/NoGears.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ResizeOptions.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$2.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$ProgressBar.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Utils.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/View$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/View.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Canvas.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Factory.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$1.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$2.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.class create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/G3viewer.css create mode 100644 modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/loading.gif create mode 100644 modules/gwtorganise/war/WEB-INF/classes/log4j.properties delete mode 100644 modules/gwtorganise/war/WEB-INF/logging.properties delete mode 100644 modules/gwtorganise/war/WEB-INF/web.xml create mode 100644 modules/gwtorganise/war/g3viewer/0031994593072F3F8665BB367C2904F3.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/063AB00068E7F94442F89D1B4262AD00.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/0A9476898799A150D840F0B1C3672921.cache.png create mode 100644 modules/gwtorganise/war/g3viewer/2625E6CD0659684104018A069A188996.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/36CF5446615AAE9D0FDDA0B123643155.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/373CE923F09A0C2270E1B0F2D934E253.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/396F806CD63ABD414BFBB9D57429F05B.cache.png create mode 100644 modules/gwtorganise/war/g3viewer/4FEE434A493BF0E4969DA18CF936A5FD.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/5DDD50A96AC2DC41C6BF0EB870994C49.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/6B11280F72B8881FCDF44A0B47F1E96A.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/8603379B5088782D2C0620FAE856E112.cache.png create mode 100644 modules/gwtorganise/war/g3viewer/8E9AF58E0E2BDFC35328028FC368ECD2.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/DF7764EEC1903CD03C9545B354D8D8E4.cache.png create mode 100644 modules/gwtorganise/war/g3viewer/E44767377485D18D6B6864F65BA8EF73.cache.png create mode 100644 modules/gwtorganise/war/g3viewer/EDC7827FEEA59EE44AD790B1C6430C45.cache.png create mode 100644 modules/gwtorganise/war/g3viewer/F0ACC41901D1A45069B29563B600C0E1.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/FFDD2B79ACD26336C36A836612DAEC0A.cache.html create mode 100644 modules/gwtorganise/war/g3viewer/G3viewer.css create mode 100644 modules/gwtorganise/war/g3viewer/clear.cache.gif create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/4FEE434A493BF0E4969DA18CF936A5FD/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/4FEE434A493BF0E4969DA18CF936A5FD/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/1.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/2.cache.js create mode 100644 modules/gwtorganise/war/g3viewer/g3viewer.nocache.js create mode 100644 modules/gwtorganise/war/g3viewer/gears_init.js create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/corner.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/corner_ie6.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/hborder.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/hborder_ie6.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/ie6/corner_dialog_topleft.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/ie6/corner_dialog_topright.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/ie6/hborder_blue_shadow.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/ie6/hborder_gray_shadow.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/ie6/vborder_blue_shadow.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/ie6/vborder_gray_shadow.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/vborder.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/images/vborder_ie6.png create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/standard.css create mode 100644 modules/gwtorganise/war/g3viewer/gwt/standard/standard_rtl.css create mode 100644 modules/gwtorganise/war/g3viewer/hosted.html create mode 100644 modules/gwtorganise/war/g3viewer/loading.gif diff --git a/modules/gwtorganise/.classpath b/modules/gwtorganise/.classpath index a240a4e4..f3207544 100644 --- a/modules/gwtorganise/.classpath +++ b/modules/gwtorganise/.classpath @@ -4,8 +4,9 @@ - - + + + diff --git a/modules/gwtorganise/.settings/com.google.appengine.eclipse.core.prefs b/modules/gwtorganise/.settings/com.google.appengine.eclipse.core.prefs index 1a43c478..2d415391 100644 --- a/modules/gwtorganise/.settings/com.google.appengine.eclipse.core.prefs +++ b/modules/gwtorganise/.settings/com.google.appengine.eclipse.core.prefs @@ -1,3 +1,3 @@ -#Sun Aug 30 20:30:24 NZST 2009 +#Tue Dec 22 13:14:57 NZDT 2009 eclipse.preferences.version=1 -filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.2.2.jar|datanucleus-appengine-1.0.2.final.jar|datanucleus-core-1.1.4-gae.jar|datanucleus-jpa-1.1.4.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-ea.jar +filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.2.5.jar|appengine-api-labs-1.2.5.jar|datanucleus-appengine-1.0.3.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar diff --git a/modules/gwtorganise/.settings/com.google.gdt.eclipse.core.prefs b/modules/gwtorganise/.settings/com.google.gdt.eclipse.core.prefs new file mode 100644 index 00000000..62909a5c --- /dev/null +++ b/modules/gwtorganise/.settings/com.google.gdt.eclipse.core.prefs @@ -0,0 +1,3 @@ +#Thu Dec 31 12:58:02 NZDT 2009 +eclipse.preferences.version=1 +jarsExcludedFromWebInfLib= diff --git a/modules/gwtorganise/.settings/com.google.gwt.eclipse.core.prefs b/modules/gwtorganise/.settings/com.google.gwt.eclipse.core.prefs index 3e2783ad..661aaef1 100644 --- a/modules/gwtorganise/.settings/com.google.gwt.eclipse.core.prefs +++ b/modules/gwtorganise/.settings/com.google.gwt.eclipse.core.prefs @@ -1,4 +1,5 @@ -#Thu Sep 24 11:47:04 NZST 2009 +#Tue Jan 26 16:51:26 NZDT 2010 eclipse.preferences.version=1 +entryPointModules= filesCopiedToWebInfLib=gwt-servlet.jar gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBW11dPjwvZXh0cmEtYXJncz48dm0tYXJncz48IVtDREFUQVstWG14NTEybV1dPjwvdm0tYXJncz48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\= diff --git a/modules/gwtorganise/controllers/admin_upload_configure.php b/modules/gwtorganise/controllers/admin_upload_configure.php new file mode 100644 index 00000000..27266194 --- /dev/null +++ b/modules/gwtorganise/controllers/admin_upload_configure.php @@ -0,0 +1,45 @@ +validate()) { + + upload_configuration::extractForm($form); + message::success(t("GWTOrganise Module Configured!")); + } + } + else + { + upload_configuration::populateForm($form); + } + + print $form; + } +} diff --git a/modules/gwtorganise/controllers/json_album.php b/modules/gwtorganise/controllers/json_album.php index 70743e3d..bd378b10 100644 --- a/modules/gwtorganise/controllers/json_album.php +++ b/modules/gwtorganise/controllers/json_album.php @@ -34,7 +34,7 @@ class Json_Album_Controller extends Controller { $item = ORM::factory("item", $item_id); access::required("view", $item); - $children = $item->children(null, 0, $where); + $children = $item->children(null, null, $where); $encoded = array(); foreach ($children as $id => $child){ $encoded[$id] = self::child_json_encode($child); @@ -44,7 +44,7 @@ class Json_Album_Controller extends Controller { } function is_admin() { - if (user::active()->admin) { + if (identity::active_user()->admin) { print json_encode(array("result" => "success", "csrf" => access::csrf_token())); return; } @@ -53,8 +53,7 @@ class Json_Album_Controller extends Controller { } function albums($item_id) { - - print $this->child_elements($item_id,array("type" => "album")); + print $this->child_elements($item_id, array(array("type", "=", "album"))); } function children($item_id){ @@ -102,7 +101,11 @@ class Json_Album_Controller extends Controller { $i = 0; foreach ($album->children() as $child) { // Do this directly in the database to avoid sending notifications - Database::Instance()->update("items", array("weight" => ++$i), array("id" => $child->id)); + b::build() + ->update("items") + ->set("weight", ++$i) + ->where("id", "=", $child->id) + ->execute(); } $album->sort_column = "weight"; $album->sort_order = "ASC"; @@ -118,15 +121,19 @@ class Json_Album_Controller extends Controller { // Make a hole $count = count($source_ids); - Database::Instance()->query( - "UPDATE {items} " . - "SET `weight` = `weight` + $count " . - "WHERE `weight` >= $target_weight AND `parent_id` = {$album->id}"); - + db::build() + ->update("items") + ->set("weight", new Database_Expression("`weight` + $count")) + ->where("weight", ">=", $target_weight) + ->where("parent_id", "=", $album->id) + ->execute(); // Insert source items into the hole foreach ($source_ids as $source_id) { - Database::Instance()->update( - "items", array("weight" => $target_weight++), array("id" => $source_id)); + db::build() + ->update("items") + ->set("weight", $target_weight++) + ->where("id", "=", $source_id) + ->execute(); } module::event("album_rearrange", $album); @@ -232,7 +239,7 @@ class Json_Album_Controller extends Controller { } if ($degrees) { - graphics::rotate($item->file_path(), $item->file_path(), array("degrees" => $degrees)); + gallery_graphics::rotate($item->file_path(), $item->file_path(), array("degrees" => $degrees)); list($item->width, $item->height) = getimagesize($item->file_path()); $item->resize_dirty= 1; @@ -253,5 +260,18 @@ class Json_Album_Controller extends Controller { print json_encode(self::child_json_encode($item)); } + public function resize_config(){ + if (upload_configuration::isResize()) + { + print json_encode(array( + "resize" => true, + "max_width" => upload_configuration::getMaxWidth(), + "max_height" => upload_configuration::getMaxHeight())); + } + else + { + print json_encode(array("resize" => false)); + } + } } \ No newline at end of file diff --git a/modules/gwtorganise/helpers/gwtorganise_installer.php b/modules/gwtorganise/helpers/gwtorganise_installer.php index f06e911d..ca3f6842 100644 --- a/modules/gwtorganise/helpers/gwtorganise_installer.php +++ b/modules/gwtorganise/helpers/gwtorganise_installer.php @@ -22,6 +22,9 @@ class gwtorganise_installer { static function install(){ module::set_version("gwtorganise", 1); + upload_configuration::setResize(false); + upload_configuration::setMaxWidth(500); + upload_configuration::setMaxHeight(400); } static function activate() { } diff --git a/modules/gwtorganise/helpers/upload_configuration.php b/modules/gwtorganise/helpers/upload_configuration.php new file mode 100644 index 00000000..41c20770 --- /dev/null +++ b/modules/gwtorganise/helpers/upload_configuration.php @@ -0,0 +1,70 @@ + "gConfigureForm")); + $group = $form->group("configure")->label(t("Configure Upload Options")); + $group->checkbox("resize")->label(t("Resize before upload"))->id("gResize"); + $group->input("max_width")->label(t("Max Width"))->id("gMaxWidth"); + $group->input("max_height")->label(t("Max Height"))->id("gMax Height"); + $group->submit("")->value(t("Save")); + return $form; + } + + static function populateForm($form){ + $form->configure->resize->checked(upload_configuration::isResize()); + $form->configure->max_width->value(upload_configuration::getMaxWidth()); + $form->configure->max_height->value(upload_configuration::getMaxHeight()); + } + + static function extractForm($form){ + $resize = $form->configure->resize->value; + $max_width = $form->configure->max_width->value; + $max_height= $form->configure->max_height->value; + upload_configuration::setResize($resize); + upload_configuration::setMaxWidth($max_width); + upload_configuration::setMaxHeight($max_height); + } + + static function isResize(){ + return module::get_var("gwtorganise","resize"); + } + + static function getMaxWidth(){ + return intval(module::get_var("gwtorganise","max_width")); + } + + static function getMaxHeight(){ + return intval(module::get_var("gwtorganise","max_height")); + } + + static function setResize($isResize){ + module::set_var("gwtorganise","resize",$isResize); + } + + static function setMaxWidth($max_width){ + module::set_var("gwtorganise","max_width",$max_width); + } + + static function setMaxHeight($max_height){ + module::set_var("gwtorganise","max_height",$max_height); + } +} \ No newline at end of file diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/G3viewer.gwt.xml b/modules/gwtorganise/src/com/gloopics/g3viewer/G3viewer.gwt.xml index 02bcf924..389a35ef 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/G3viewer.gwt.xml +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/G3viewer.gwt.xml @@ -2,8 +2,10 @@ - + + + + @@ -11,4 +13,21 @@ + + + + + + + + + + + + + + + + + diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Album.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Album.java index 7667005a..cb0be367 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Album.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Album.java @@ -62,7 +62,7 @@ public class Album extends TreeItem { public Album(JSONObject jsonObject, G3Viewer a_Container) { - m_ID = (int)((JSONNumber)jsonObject.get("id")).doubleValue(); + m_ID = Utils.extractId(jsonObject.get("id")); m_Title = ((JSONString)jsonObject.get("title")).stringValue(); m_Sort = ((JSONString)jsonObject.get("sort")).stringValue(); @@ -233,7 +233,9 @@ public class Album extends TreeItem { for (int i = 0; i < jsonArray.size(); ++i) { JSONObject jso = (JSONObject)jsonArray.get(i); - int id = (int)((JSONNumber)jso.get("id")).doubleValue(); + + + int id = Utils.extractId(jso.get("id")); if (m_IDtoAlbum.containsKey(id)) { @@ -268,7 +270,7 @@ public class Album extends TreeItem { * moves the given array of ids to this album */ public void moveTo(JSONArray a_Ids){ - Loading.getInstance().loading(); + Loading.getInstance().loading("Moving Items.."); m_Container.doJSONRequest(G3Viewer.MOVE_TO_ALBUM_URL + getId() + "?sourceids=" + a_Ids.toString(), new HttpSuccessHandler() { @@ -287,7 +289,7 @@ public class Album extends TreeItem { */ public void rearrangeTo(JSONArray a_Ids, Item m_CompareTo, boolean m_Before){ - Loading.getInstance().loading(); + Loading.getInstance().loading("Re-arranging.."); String bora = m_Before?"before":"after"; m_Container.doJSONRequest(G3Viewer.REARRANGE_URL + m_CompareTo.getID() + "/" + bora @@ -334,7 +336,7 @@ public class Album extends TreeItem { public void select() { - Loading.getInstance().loading(); + Loading.getInstance().loading("Loading Contents.."); m_Container.doJSONRequest(G3Viewer.VIEW_CHILDREN_URL + getId(), new HttpSuccessHandler() { @@ -362,7 +364,7 @@ public class Album extends TreeItem { for (int i = 0; i < jsonArray.size(); ++i) { jso = (JSONObject)jsonArray.get(i); - id = (int)((JSONNumber)jso.get("id")).doubleValue(); + id = Utils.extractId(jso.get("id")); if (m_IDtoItem.containsKey(id)){ item = m_IDtoItem.get(id); @@ -414,24 +416,40 @@ public class Album extends TreeItem { desktop.openFiles(new OpenFilesHandler() { public void onOpenFiles(OpenFilesEvent event) { - File[] files = event.getFiles(); - UploadFile uf; - for (File file : files){ - uf = new UploadFile(Album.this, file); - m_View.addToView(uf); - m_UploadQueue.addLast(uf); - } - - if (!m_Running){ - m_Running = true; - next(); - } - + uploadFiles(event.getFiles()); } }, false); } + public void uploadFiles(final File[] files){ + + m_Container.doJSONRequest(G3Viewer.RESIZE_DETAILS_URL, new HttpSuccessHandler() { + + public void success(JSONValue a_Value) { + JSONObject jso = a_Value.isObject(); + if (jso != null) { + + ResizeOptions ro = new ResizeOptions(jso); + UploadFile uf; + for (File file : files){ + uf = new UploadFile(Album.this, file, ro); + m_View.addToView(uf); + m_UploadQueue.addLast(uf); + m_Container.addUpload(uf); + } + + if (!m_Running){ + m_Running = true; + next(); + } + } + } + },false); + + + } + public void addPendingDownloads() { for (UploadFile uf: m_UploadQueue) @@ -443,6 +461,7 @@ public class Album extends TreeItem { public void finishedUpload(UploadFile uf, JSONValue a_Return) { m_UploadQueue.remove(uf); + m_Container.removeUpload(uf); next(); JSONObject jo = a_Return.isObject(); diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/AsyncResizer.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/AsyncResizer.java new file mode 100644 index 00000000..03a7aaaf --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/AsyncResizer.java @@ -0,0 +1,58 @@ +package com.gloopics.g3viewer.client; + +import com.gloopics.g3viewer.client.canvas.Canvas; + +import com.google.gwt.core.client.RunAsyncCallback; +import com.google.gwt.gears.client.blob.Blob; + +public class AsyncResizer implements RunAsyncCallback{ + + private final Blob m_Blob; + + private final UploadFile m_UploadFile; + + private final ResizeOptions m_ResizeOptions; + + public AsyncResizer(Blob a_Blob, UploadFile a_UploadFile){ + m_Blob = a_Blob; + m_UploadFile = a_UploadFile; + m_ResizeOptions = a_UploadFile.getResizeOptions(); + } + + @Override + public void onFailure(Throwable reason) { + G3Viewer.displayError("Error Resizing image", reason.toString()); + } + + @Override + public void onSuccess() { + // resize file + Canvas upThumb = com.gloopics.g3viewer.client.canvas.Factory.getInstance().createCanvas(); + upThumb.decode(m_Blob); + + + int imageWidth = upThumb.getWidth(); + int imageHeight = upThumb.getHeight(); + + int widthRatio = imageWidth/m_ResizeOptions.getMaxWidth(); + int heightRatio = imageHeight/m_ResizeOptions.getMaxHeight(); + + if (widthRatio > heightRatio){ + if (widthRatio > 1) { + upThumb.resize(m_ResizeOptions.getMaxWidth(), imageHeight / widthRatio ); + m_UploadFile.uploadBlob(upThumb.encode()); + } + } + else + { + if (heightRatio > 1){ + upThumb.resize(imageWidth / heightRatio, m_ResizeOptions.getMaxHeight()); + m_UploadFile.uploadBlob(upThumb.encode()); + } + } + + + } + + +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/G3Viewer.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/G3Viewer.java index a05f1f8c..d520319b 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/G3Viewer.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/G3Viewer.java @@ -19,6 +19,7 @@ package com.gloopics.g3viewer.client; import com.allen_sauer.gwt.dnd.client.PickupDragController; import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.InputElement; +import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.http.client.RequestBuilder; @@ -30,6 +31,7 @@ import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Event; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.DialogBox; +import com.google.gwt.user.client.ui.DockLayoutPanel; import com.google.gwt.user.client.ui.DockPanel; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HorizontalSplitPanel; @@ -128,12 +130,22 @@ public class G3Viewer { * rotate url */ public static final String ROTATE_URL = BASE_URL + "index.php/json_album/rotate/"; - + + /** + * Resize details URL + */ + public static final String RESIZE_DETAILS_URL = BASE_URL + "index.php/json_album/resize_config"; + /* * tree */ private final AlbumTree m_Tree; + /** + * the info panel + */ + private final InformationBar m_InfoBar; + /** * the only image dialog box */ @@ -221,7 +233,9 @@ public class G3Viewer { m_DragController.setBehaviorDragStartSensitivity(5); m_DragController.setBehaviorDragProxy(true); + m_InfoBar = new InformationBar(this); m_Tree = new AlbumTree(this); + checkAdmin(); } @@ -293,6 +307,13 @@ public class G3Viewer { return m_View; } + public void addUpload(UploadFile a_UF){ + m_InfoBar.addUpload(a_UF); + } + + public void removeUpload(UploadFile a_UF){ + m_InfoBar.removeUpload(a_UF); + } public void doDialog(String a_Url, HttpDialogHandler a_Handler) @@ -328,8 +349,24 @@ public class G3Viewer { @Override public void onError(Throwable aThrowable) { - displayError("Unexpected Error", + + if (aThrowable.getCause() != null) + { + StringBuffer stack = new StringBuffer(); + StackTraceElement[] stes = aThrowable.getCause().getStackTrace(); + for (StackTraceElement ste: stes){ + stack.append(ste.toString()); + stack.append(" \n "); + } + displayError("a Unexpected Error ", + aThrowable.toString() + " - " + a_URL + "\n " + stack.toString()); + + } + else + { + displayError("a Unexpected Error ", aThrowable.toString() + " - " + a_URL); + } }} )); @@ -356,8 +393,10 @@ public class G3Viewer { SimplePanel sp = new SimplePanelEx(); sp.add(m_SplitPanel); - - RootPanel.get("main").add(sp); + + m_InfoBar.initializeForm(); + RootPanel.get("main").add(sp); + RootPanel.get("main").add(m_InfoBar); } } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/HttpDialogBox.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/HttpDialogBox.java index 8c61e9cd..b40cfc34 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/HttpDialogBox.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/HttpDialogBox.java @@ -61,7 +61,7 @@ public class HttpDialogBox extends DialogBox{ } HttpDialogBox.this.hide(); - Loading.getInstance().loading(); + Loading.getInstance().loading("Please Wait.."); } }); @@ -155,7 +155,7 @@ public class HttpDialogBox extends DialogBox{ public void doDialog(String url, HttpDialogHandler a_Callback){ m_Callback = a_Callback; - Loading.getInstance().loading(); + Loading.getInstance().loading("Please Wait"); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); try { diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/ImageDialogBox.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/ImageDialogBox.java index 49dda06a..5b95d116 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/ImageDialogBox.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/ImageDialogBox.java @@ -42,7 +42,7 @@ public class ImageDialogBox extends PopupPanel{ public void doDialog(String a_Image){ - Loading.getInstance().loading(); + Loading.getInstance().loading("Loading Image.."); if (m_Image != null){ m_Image.removeFromParent(); diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/InformationBar.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/InformationBar.java new file mode 100644 index 00000000..1e26df5d --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/InformationBar.java @@ -0,0 +1,77 @@ +package com.gloopics.g3viewer.client; + +import java.util.HashSet; +import java.util.Set; + +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.user.client.ui.Anchor; +import com.google.gwt.user.client.ui.Button; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.Label; + +public class InformationBar extends FlowPanel{ + + private final G3Viewer m_Container; + + private final Label m_Label = new Label(); + + private final Set m_Uploads = new HashSet(); + + public InformationBar(G3Viewer a_Container){ + m_Container = a_Container; + setStylePrimaryName("infobar"); + } + + public void initializeForm(){ + Anchor button = new Anchor("Upload Options"); + button.addClickHandler(new ClickHandler() { + + @Override + public void onClick(ClickEvent event) { + m_Container.doDialog("index.php/admin/upload_configure", new HttpDialogHandler() { + @Override + public void success(String aResult) { + } + }); + + + } + }); + + add(button); + + updateInformation(); + add(m_Label); + } + + private void updateInformation() + { + int size = m_Uploads.size(); + if (size == 0){ + m_Label.setText(""); + } + else + { + if (size == 1){ + m_Label.setText("Uploading file."); + } + else{ + m_Label.setText("Uploading " + size + " files."); + } + + } + } + + public void addUpload(UploadFile a_Upload) + { + m_Uploads.add(a_Upload); + updateInformation(); + } + + public void removeUpload(UploadFile a_Upload) + { + m_Uploads.remove(a_Upload); + updateInformation(); + } +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Item.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Item.java index c2c5744c..46119aa9 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Item.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Item.java @@ -1,5 +1,11 @@ package com.gloopics.g3viewer.client; +import java.util.Iterator; + +import com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile; +import com.gloopics.g3viewer.client.dnddesktop.DesktopDroppableWidget; +import com.gloopics.g3viewer.client.dnddesktop.DndDesktopFactory; +import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ContextMenuEvent; import com.google.gwt.event.dom.client.ContextMenuHandler; import com.google.gwt.event.dom.client.DoubleClickEvent; @@ -20,6 +26,7 @@ import com.google.gwt.event.dom.client.MouseWheelHandler; import com.google.gwt.event.logical.shared.CloseEvent; import com.google.gwt.event.logical.shared.CloseHandler; import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.gears.client.desktop.File; import com.google.gwt.json.client.JSONNumber; import com.google.gwt.json.client.JSONObject; import com.google.gwt.json.client.JSONString; @@ -34,9 +41,10 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.MenuBar; import com.google.gwt.user.client.ui.MenuItem; import com.google.gwt.user.client.ui.PopupPanel; +import com.google.gwt.user.client.ui.Widget; -public class Item extends Composite implements HasAllMouseHandlers{ +public class Item extends Composite implements HasAllMouseHandlers, DesktopDroppableWidget{ private final int m_ID; @@ -69,7 +77,7 @@ public class Item extends Composite implements HasAllMouseHandlers{ m_Container = a_Container; m_View = a_Container.getView(); m_Parent = a_Parent; - m_ID = (int)((JSONNumber)a_Value.get("id")).doubleValue(); + m_ID = Utils.extractId(a_Value.get("id")); m_Title = ((JSONString)a_Value.get("title")).stringValue(); m_Thumb = ((JSONString)a_Value.get("thumb")).stringValue(); m_Type = ((JSONString)a_Value.get("type")).stringValue(); @@ -78,6 +86,7 @@ public class Item extends Composite implements HasAllMouseHandlers{ m_IsPhoto = m_Type.equals("photo"); FlowPanel dp = new FlowPanel(); + m_ThumbImage = new Image(m_Thumb); dp.add(m_ThumbImage); @@ -114,6 +123,11 @@ public class Item extends Composite implements HasAllMouseHandlers{ },DoubleClickEvent.getType()); a_Container.getDragController().makeDraggable(this); + + if (m_IsAlbum) + { + ((DndDesktopFactory)GWT.create(DndDesktopFactory.class)).getInstance(this); + } } @@ -176,6 +190,20 @@ public class Item extends Composite implements HasAllMouseHandlers{ } public void showPopupMenu(ContextMenuEvent event){ + Iterator iter = m_Container.getDragController().getSelectedWidgets().iterator(); + + // show views popup menu if items are selected + if (iter.hasNext()) + { + iter.next(); + if (iter.hasNext()) + { + m_View.showPopupMenu(event); + return; + } + + } + this.addStyleName("popped"); final PopupPanel popupPanel = new PopupPanel(true); popupPanel.setAnimationEnabled(true); @@ -332,6 +360,20 @@ public class Item extends Composite implements HasAllMouseHandlers{ public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) { return addDomHandler(handler, MouseWheelEvent.getType()); } + + @Override + public void dropFiles(File[] aFile) { + if (m_IsAlbum) + { + m_LinkedAlbum.uploadFiles(aFile); + } + + } + + @Override + public Widget getActualWidget() { + return this; + } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Loading.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Loading.java index 9d7fead4..5b453e2f 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Loading.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Loading.java @@ -1,54 +1,78 @@ package com.gloopics.g3viewer.client; + +import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.AbsolutePanel; import com.google.gwt.user.client.ui.HTML; +import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.RootPanel; -public class Loading extends AbsolutePanel{ - +public class Loading{ + + public static final String URL = GWT.getModuleBaseURL() + "loading.gif"; + private static final Loading INSTANCE = new Loading(); - public static final String URL = "images/loading.gif"; - - /** - * the image widget - */ - private Image m_Image = new Image("images/loading.gif"); + /** + * the image widget + */ + private final Image m_Image = new Image(URL); + + private final Label m_Label = new Label(); + + private final HTML m_Back = new HTML(); - private Loading(){ - HTML back = new HTML(); - back.addStyleName("loading"); - add(back, 0, 0); - Image.prefetch(URL); - } - - /** - * get instance - */ - public static Loading getInstance(){ - return INSTANCE; - } - - public void loading(){ - int width = RootPanel.get().getOffsetWidth(); - int height = RootPanel.get().getOffsetHeight(); - height = height / 2 - 25; - width = width / 2 - 25; - add(m_Image); - this.setWidgetPosition(m_Image, width, height); - RootPanel.get().add(this); - } - - public void endLoading(){ - if (m_Image.isAttached()){ - remove(m_Image); + private Loading(){ + m_Back.addStyleName("loading"); + m_Label.setStyleName("loading-label"); + m_Image.setStyleName("loading-image"); } - RootPanel.get().remove(this); - } - - public void hideAnimation(){ - remove(m_Image); - } - + + /** + * get instance + */ + public static Loading getInstance(){ + return INSTANCE; + } + + public void loading(String message){ + RootPanel.get().add(m_Back); + + int width = RootPanel.get().getOffsetWidth(); + int height = RootPanel.get().getOffsetHeight(); + height = height / 2 - 20; + width = width / 2 - 40; + RootPanel.get().add(m_Image, width, height); + + if (message != null) + { + m_Label.setText(message); + RootPanel.get().add(m_Label, 0, height + 45); + } + + //RootPanel.get().add(this); + } + + public void endLoading(){ + if (m_Image.isAttached()){ + RootPanel.get().remove(m_Image); + } + if (m_Label.isAttached()){ + RootPanel.get().remove(m_Label); + } + if (m_Back.isAttached()){ + RootPanel.get().remove(m_Back); + } + } + + public void hideAnimation(){ + if (m_Image.isAttached()){ + RootPanel.get().remove(m_Image); + } + if (m_Label.isAttached()){ + RootPanel.get().remove(m_Label); + } + } + } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/ResizeOptions.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/ResizeOptions.java new file mode 100644 index 00000000..e83c21bd --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/ResizeOptions.java @@ -0,0 +1,50 @@ +package com.gloopics.g3viewer.client; + +import com.google.gwt.json.client.JSONBoolean; +import com.google.gwt.json.client.JSONNumber; +import com.google.gwt.json.client.JSONObject; +import com.google.gwt.json.client.JSONString; + +public class ResizeOptions { + + private final boolean m_Resize; + + private final int m_MaxWidth; + + private final int m_MaxHeight; + + + public ResizeOptions(JSONObject a_Value){ + JSONBoolean jbool = a_Value.get("resize").isBoolean(); + if (jbool == null) + { + throw new RuntimeException("JBool was null."); + } + m_Resize = jbool.booleanValue(); + if (m_Resize) + { + m_MaxWidth = Integer.parseInt(a_Value.get("max_width").toString()); + m_MaxHeight = Integer.parseInt(a_Value.get("max_height").toString()); + } + else + { + m_MaxWidth = 0; + m_MaxHeight = 0; + } + } + + public boolean isResize() + { + return m_Resize; + } + + public int getMaxHeight() + { + return m_MaxHeight; + } + + public int getMaxWidth() + { + return m_MaxWidth; + } +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/UploadFile.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/UploadFile.java index 1d858d44..ef234ab4 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/UploadFile.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/UploadFile.java @@ -1,19 +1,28 @@ package com.gloopics.g3viewer.client; -import com.google.gwt.user.client.ui.AbsolutePanel; +import com.gloopics.g3viewer.client.canvas.Canvas; +import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.SimplePanel; +import com.google.gwt.core.client.GWT; import com.google.gwt.gears.client.Factory; +import com.google.gwt.gears.client.blob.Blob; import com.google.gwt.gears.client.desktop.File; import com.google.gwt.gears.client.httprequest.HttpRequest; import com.google.gwt.gears.client.httprequest.ProgressEvent; import com.google.gwt.gears.client.httprequest.ProgressHandler; import com.google.gwt.gears.client.httprequest.RequestCallback; +import com.google.gwt.gears.client.localserver.ResourceStore; import com.google.gwt.json.client.JSONParser; import com.google.gwt.json.client.JSONValue; -public class UploadFile extends AbsolutePanel{ +public class UploadFile extends Composite{ + private final static ResourceStore RS = Factory.getInstance().createLocalServer().createStore("temp"); + + private class ProgressBar extends SimplePanel{ private final SimplePanel m_ProgressInner; public ProgressBar(){ @@ -29,35 +38,66 @@ public class UploadFile extends AbsolutePanel{ } } - private final File m_LocalFile; + private final ResizeOptions m_ResizeOptions; private final String m_Name; private final Album m_Parent; - //private final Label m_PendingLabel = new Label("Upload Pending"); + private final Blob m_Blob; + + //private final Canvas m_UpThumb; + + private final Label m_Label = new Label("Pending.."); private final ProgressBar m_ProgressBar = new ProgressBar(); - public UploadFile(Album a_Parent, File a_File){ + + /** + * Loads an image into this Canvas, replacing the Canvas' current dimensions + * and contents. + * + * @param blob The Blob to decode. The image should be in PNG or JPEG format. + */ + public final native void captureBlob(ResourceStore rs, Blob blob, String a_Url) /*-{ + rs.captureBlob(blob, a_Url, "image/JPEG"); + }-*/; + + /** + * Loads an image into this Canvas, replacing the Canvas' current dimensions + * and contents. + * + * @param blob The Blob to decode. The image should be in PNG or JPEG format. + */ + public final native void removeCapture(ResourceStore rs, String a_Url) /*-{ + rs.remove(a_Url); + }-*/; + + public UploadFile(Album a_Parent, File a_File, ResizeOptions a_ResizeOptions){ + m_ResizeOptions = a_ResizeOptions; m_Parent = a_Parent; - m_LocalFile = a_File; m_Name = a_File.getName(); - Label name = new Label(m_Name); - name.addStyleName("label"); - add(name,5,20); + m_Blob = a_File.getBlob(); + captureBlob(RS, m_Blob , m_Name); + + Image img = new Image(m_Name); + FlowPanel dp = new FlowPanel(); - add(m_ProgressBar,0,80); + dp.add(img); + + dp.add(m_ProgressBar); + dp.add(m_Label); + + initWidget(dp); setStylePrimaryName("item"); addStyleName("iUpload"); } - public void startUpload(){ + protected void uploadBlob(Blob a_Blob){ + m_Label.setText("Uploading.."); HttpRequest request = Factory.getInstance().createHttpRequest(); request.open("POST", G3Viewer.UPLOAD_URL + m_Parent.getId() + "?filename=" + m_Name + "&csrf=" + G3Viewer.getCSRF()); - //request.setRequestHeader("Content-Type", "image/jpg"); - //request.setRequestHeader("Content-Type", "image/jpg"); request.getUpload().setProgressHandler(new ProgressHandler() { @@ -78,17 +118,39 @@ public class UploadFile extends AbsolutePanel{ { G3Viewer.displayError("Upload Error", request.getResponseText() + request.getStatus() + request.getStatusText()); } + removeCapture(RS, m_Name); + try{ - JSONValue jv = JSONParser.parse(request.getResponseText()); - m_Parent.finishedUpload(UploadFile.this, jv); - } catch (Exception e) - { + JSONValue jv = JSONParser.parse(request.getResponseText()); + m_Parent.finishedUpload(UploadFile.this, jv); + } + catch (Exception e){ G3Viewer.displayError("Exception on Upload", e.toString() + " " + request.getResponseText()); } + + } }); - request.send(m_LocalFile.getBlob()); + request.send(a_Blob); + + } + + public ResizeOptions getResizeOptions(){ + return m_ResizeOptions; + } + + public void startUpload(){ + + if (m_ResizeOptions.isResize()) + { + m_Label.setText("Resizing.."); + GWT.runAsync(new AsyncResizer(m_Blob, this)); + } + else + { + uploadBlob(m_Blob); + } } } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Utils.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Utils.java new file mode 100644 index 00000000..f1432276 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Utils.java @@ -0,0 +1,18 @@ +package com.gloopics.g3viewer.client; + +import com.google.gwt.json.client.JSONNumber; +import com.google.gwt.json.client.JSONValue; + +public class Utils { + public static int extractId(JSONValue a_Value){ + JSONNumber jn = a_Value.isNumber(); + if (jn != null){ + return (int) jn.doubleValue(); + } + else{ + String val = a_Value.isString().stringValue(); + return Integer.parseInt(val); + } + } + +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/View.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/View.java index 602db116..7035683c 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/View.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/View.java @@ -3,17 +3,35 @@ package com.gloopics.g3viewer.client; import java.util.ArrayList; import java.util.List; +import com.allen_sauer.gwt.dnd.client.DragController; +import com.allen_sauer.gwt.dnd.client.PickupDragController; +import com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile; +import com.gloopics.g3viewer.client.dnddesktop.DesktopDroppableWidget; +import com.gloopics.g3viewer.client.dnddesktop.DndDesktopFactory; +import com.google.gwt.core.client.GWT; +import com.google.gwt.event.dom.client.ContextMenuEvent; +import com.google.gwt.event.logical.shared.CloseEvent; +import com.google.gwt.event.logical.shared.CloseHandler; +import com.google.gwt.gears.client.desktop.File; +import com.google.gwt.json.client.JSONValue; +import com.google.gwt.user.client.Command; +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Event; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HTML; +import com.google.gwt.user.client.ui.MenuBar; +import com.google.gwt.user.client.ui.MenuItem; +import com.google.gwt.user.client.ui.PopupPanel; import com.google.gwt.user.client.ui.Widget; -public class View extends FlowPanel{ +public class View extends FlowPanel implements DesktopDroppableWidget{ /** * the current album being viewed */ private Album m_Album; + /** * the list of drop zones */ @@ -24,12 +42,15 @@ public class View extends FlowPanel{ public View(G3Viewer a_Container){ m_Container = a_Container; + ((DndDesktopFactory)GWT.create(DndDesktopFactory.class)).getInstance(this); } + private void clearView(){ + PickupDragController pdc = m_Container.getDragController(); if (m_DropZones.size() > 0){ for (DropZoneController dropController : m_DropZones){ - m_Container.getDragController().unregisterDropController(dropController); + pdc.unregisterDropController(dropController); } m_DropZones.clear(); } @@ -39,6 +60,7 @@ public class View extends FlowPanel{ ((Item)widget).hidding(); } } + pdc.clearSelection(); clear(); } @@ -93,6 +115,58 @@ public class View extends FlowPanel{ public Album getCurrentAlbum(){ return m_Album; } + + + @Override + public void dropFiles(File[] aFile) { + if (m_Album != null){ + m_Album.uploadFiles(aFile); + } + } + + + @Override + public Widget getActualWidget() { + return this; + } + + public void showPopupMenu(ContextMenuEvent event){ + final PopupPanel popupPanel = new PopupPanel(true); + popupPanel.setAnimationEnabled(true); + popupPanel.setStyleName("popup"); + MenuBar popupMenuBar = new MenuBar(true); + + MenuItem deleteItem = new MenuItem("Delete Selected Items", true, new Command() { + + @Override + public void execute() { + /* + m_Container.doDialog("index.php/quick/form_delete/" + m_ID, new HttpDialogHandler() { + public void success(String aResult) { + m_View.removeFromView(Item.this); + if (m_LinkedAlbum != null){ + m_LinkedAlbum.remove(); + } + } + }); + */ + popupPanel.hide(); + + } + }); + deleteItem.addStyleName("popup-item"); + popupMenuBar.addItem(deleteItem); + + popupMenuBar.setVisible(true); + popupPanel.add(popupMenuBar); + + int x = DOM.eventGetClientX((Event)event.getNativeEvent()); + int y = DOM.eventGetClientY((Event)event.getNativeEvent()); + popupPanel.setPopupPosition(x, y); + + popupPanel.show(); + + } } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Canvas.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Canvas.java new file mode 100644 index 00000000..3e47a126 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Canvas.java @@ -0,0 +1,178 @@ +/* + * Copyright 2009 Google Inc. + * + * 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.gloopics.g3viewer.client.canvas; + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.gears.client.blob.Blob; + +/** + * The Canvas module is a graphics API that is inspired by the HTML5 canvas, with additional methods to decode from and encode to + * binary formats (such as PNG and JPEG), represented by Blobs. A Gears Canvas + * is not yet a complete implementation of the HTML5 canvas specification, and + * there are two significant differences: + *
    + *
  • A Gears Canvas is off-screen, in that creating a Canvas object doesn't + * directly paint any pixels on the screen. Furthermore, for technical reasons, + * a Gears Canvas is not a DOM Element. On the other hand, you can create a + * Gears Canvas in a Worker. + *
  • A Gears Canvas does not implement getContext, and in + * particular does not provide a 2D context. + *
+ *

+ * Permission + *

+ * This API requires user permission. If you would like to customize the default + * dialog, you can explicitly call + * {@link com.google.gwt.gears.client.Factory#getPermission()}. + */ +public class Canvas extends JavaScriptObject { + + public static final String MIMETYPE_JPEG = "image/jpeg"; + public static final String MIMETYPE_PNG = "image/png"; + + protected Canvas() { + // required for overlay types + } + + /** + * Crops the Canvas. The crop happens "in-place", as opposed to returning a + * new Canvas. + * + * @param x The left co-ordinate of the crop rectangle. + * @param y The top co-ordinate of the crop rectangle. + * @param w The width of the crop rectangle. + * @param h The height of the crop rectangle. + */ + public final native void crop(int x, int y, int w, int h) /*-{ + this.crop(x, y, w, h); + }-*/; + + /** + * Loads an image into this Canvas, replacing the Canvas' current dimensions + * and contents. + * + * @param blob The Blob to decode. The image should be in PNG or JPEG format. + */ + public final native void decode(Blob blob) /*-{ + this.decode(blob); + }-*/; + + /** + * Saves the Canvas' contents to PNG format. + * + * @return A new Blob encoding the Canvas' image data. + */ + public final native Blob encode() /*-{ + return this.encode(); + }-*/; + + /** + * Saves the Canvas' contents to a binary format, such as PNG or JPEG. + * + * @param mimeType The image format to encode to. Valid values include + * "image/png" and "image/jpeg". + * @return A new Blob encoding the Canvas' image data. + */ + public final native Blob encode(String mimeType) /*-{ + return this.encode(mimeType); + }-*/; + + /** + * Saves the Canvas' contents to JPEG format. + * + * @param quality the JPEG quality as a number between 0.0 and 1.0 inclusive. + * @return A new Blob encoding the Canvas' image data. + */ + public final native Blob encodeJpeg(float quality) /*-{ + return this.encode("image/jpeg", { quality: quality }); + }-*/; + + /** + * Returns the height of the Canvas. The default value is 150. + * + * @return the canvas height. + */ + public final native int getHeight()/*-{ + return this.height; + }-*/; + + /** + * Returns the width of the Canvas. The default value is 300. + * + * @return the canvas width. + */ + public final native int getWidth() /*-{ + return this.width; + }-*/; + + /** + * Resizes the Canvas. The resize happens "in-place", as opposed to returning + * a new Canvas. + *

+ * Uses bi-linear filtering. + * + * @param w The new width. + * @param h The new height. + */ + public final native void resize(int w, int h) /*-{ + this.resize(w, h); + }-*/; + + /** + * Resizes the Canvas. The resize happens "in-place", as opposed to returning + * a new Canvas. + * + * @param w The new width. + * @param h The new height. + * @param filter The image filter. + */ + public final void resize(int w, int h, ResizeFilter filter) { + resize(w, h, filter.getFilter()); + } + + /** + * Resizes the Canvas. The resize happens "in-place", as opposed to returning + * a new Canvas. + * + * @param w The new width. + * @param h The new height. + * @param filter A string specifying the image filter. There are two options: + * "nearest" for nearest-neighbor filtering, and "bilinear" for + * bi-linear filtering. + */ + public final native void resize(int w, int h, String filter) /*-{ + this.resize(w, h, filter); + }-*/; + + /** + * Sets the height of the Canvas. The default value is 150. + * + * @param height the canvas height. + */ + public final native void setHeight(int height) /*-{ + this.height = height; + }-*/; + + /** + * Sets the width of the Canvas. The default value is 300. + * + * @param width the canvas width. + */ + public final native void setWidth(int width) /*-{ + this.width = width; + }-*/; +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Factory.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Factory.java new file mode 100644 index 00000000..8ac5ba59 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Factory.java @@ -0,0 +1,69 @@ +/* + * Copyright 2008 Google Inc. + * + * 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.gloopics.g3viewer.client.canvas; + +import com.google.gwt.core.client.JavaScriptObject; + +/** + * Factory class used to create all other Gears objects. + */ +public final class Factory extends JavaScriptObject { + /** + * String used to request a BlobBuilder instance from Gears. + */ + public static final String BLOBBUILDER = "beta.blobbuilder"; + + /** + * String used to request a Canvas instance from Gears. + */ + public static final String CANVAS = "beta.canvas"; + + + /** + * Returns the singleton instance of the Factory class or null + * if Gears is not installed or accessible. + * + * @return singleton instance of the Factory class or null if + * Gears is not installed or accessible + */ + public static native Factory getInstance() /*-{ + return $wnd.google && $wnd.google.gears && $wnd.google.gears.factory; + }-*/; + + protected Factory() { + // Required for overlay types + } + + /** + * Creates a new {@link Canvas} instance. + * + * @return a new {@link Canvas} instance + */ + public Canvas createCanvas() { + return create(CANVAS); + } + + /** + * Creates an instance of the specified Gears object. + * + * @param Gears object type to return + * @param className name of the object to create + * @return an instance of the specified Gears object + */ + private native T create(String className) /*-{ + return this.create(className); + }-*/; +} \ No newline at end of file diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/ResizeFilter.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/ResizeFilter.java new file mode 100644 index 00000000..198ad8ea --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/ResizeFilter.java @@ -0,0 +1,36 @@ +/* + * Copyright 2009 Google Inc. + * + * 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.gloopics.g3viewer.client.canvas; + +/** + * Filters used when resizing a Canvas. + */ +public enum ResizeFilter { + NEAREST { + @Override + public String getFilter() { + return "nearest"; + } + }, + BILINEAR { + @Override + public String getFilter() { + return "bilinear"; + } + }; + + public abstract String getFilter(); +} \ No newline at end of file diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.java new file mode 100644 index 00000000..17373305 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.java @@ -0,0 +1,61 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.gears.client.Factory; +import com.google.gwt.gears.client.desktop.Desktop; +import com.google.gwt.gears.client.desktop.File; +import com.google.gwt.user.client.ui.Widget; + +public abstract class DesktopDropBase { + private final DesktopDroppableWidget m_DropFile; + protected final Widget m_Widget; + private final Desktop m_Desktop; + + public DesktopDropBase (DesktopDroppableWidget a_Widget){ + m_DropFile = a_Widget; + m_Widget = a_Widget.getActualWidget(); + + m_Desktop = Factory.getInstance().createDesktop(); + } + + public void onDragEnter(JavaScriptObject e) + { + m_Widget.addStyleName("drop-target"); + setDropEffect(m_Desktop, e); + finishDrag(e); + } + + public final native void finishDrag(JavaScriptObject e) /*-{ + if (e.stopPropagation) e.stopPropagation(); + else e.cancelBubble = true; + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + }-*/; + + public void onDragLeave(JavaScriptObject e) + { + m_Widget.removeStyleName("drop-target"); + finishDrag(e); + + } + + public void onDrop(JavaScriptObject e) + { + File[] files = getDragData(m_Desktop, e); + if (files != null) + { + m_DropFile.dropFiles(files); + } + + onDragLeave(e); + } + + public final native File[] getDragData(Desktop d, JavaScriptObject e) /*-{ + var data = d.getDragData(e, 'application/x-gears-files'); + return data && data.files; + }-*/; + + public final native File[] setDropEffect(Desktop d, JavaScriptObject e) /*-{ + var data = d.setDropEffect(e, 'copy'); + }-*/; +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.java new file mode 100644 index 00000000..c44f7eea --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.java @@ -0,0 +1,69 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.dom.client.Element; +import com.google.gwt.gears.client.Factory; +import com.google.gwt.gears.client.desktop.Desktop; +import com.google.gwt.gears.client.desktop.File; +import com.google.gwt.user.client.Window.Navigator; +import com.google.gwt.user.client.ui.Widget; + +public class DesktopDropFile extends DesktopDropBase{ + + public DesktopDropFile(DesktopDroppableWidget a_Widget){ + super(a_Widget); + String nav = Navigator.getUserAgent().toLowerCase(); + + addDropEvents(m_Widget.getElement()); + } + + + public native void addDropEvents(Element e) /*-{ + var t = this; + + e.addEventListener('dragenter', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragEnter(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + + e.addEventListener('dragleave', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragLeave(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + e.addEventListener('dragexit', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragLeave(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + e.addEventListener('dragover', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::finishDrag(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + e.addEventListener('dragdrop', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDrop(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + e.addEventListener('drop', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDrop(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + }-*/; + +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.java new file mode 100644 index 00000000..ae0773d0 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.java @@ -0,0 +1,44 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.dom.client.Element; + +public class DesktopDropFileIE extends DesktopDropBase{ + + public DesktopDropFileIE(DesktopDroppableWidget a_Widget){ + super(a_Widget); + addDropEvents(m_Widget.getElement()); + } + + + public native void addDropEvents(Element e) /*-{ + var t = this; + e.attachEvent('ondragenter', + function(e){ + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragEnter(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + return false; + + }); + + e.attachEvent('ondragover', + function(e){ + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::finishDrag(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + return false; + }); + + e.attachEvent('ondragleave', + function(e){ + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragLeave(Lcom/google/gwt/core/client/JavaScriptObject;)(e) + return false; + }); + + e.attachEvent('ondrop', + function(e){ + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDrop(Lcom/google/gwt/core/client/JavaScriptObject;)(e) + return false; + }); + + }-*/; + + +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.java new file mode 100644 index 00000000..a3efaaf0 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.java @@ -0,0 +1,11 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +import com.google.gwt.gears.client.desktop.File; +import com.google.gwt.user.client.ui.Widget; + +public interface DesktopDroppableWidget { + + Widget getActualWidget(); + + void dropFiles(File[] a_File); +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.java new file mode 100644 index 00000000..14939d25 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.java @@ -0,0 +1,9 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +public class DndDesktopFactory { + + public DesktopDropBase getInstance(DesktopDroppableWidget a_Widget) + { + return new DesktopDropFile(a_Widget); + } +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.java new file mode 100644 index 00000000..d0ab032f --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.java @@ -0,0 +1,9 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +public class DndDesktopFactoryIE extends DndDesktopFactory{ + + public DesktopDropBase getInstance(DesktopDroppableWidget a_Widget) + { + return new DesktopDropFileIE(a_Widget); + } +} diff --git a/modules/gwtorganise/war/G3viewer.css b/modules/gwtorganise/src/com/gloopics/g3viewer/public/G3viewer.css similarity index 76% rename from modules/gwtorganise/war/G3viewer.css rename to modules/gwtorganise/src/com/gloopics/g3viewer/public/G3viewer.css index 622f3c48..e9b7d304 100644 --- a/modules/gwtorganise/war/G3viewer.css +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/public/G3viewer.css @@ -4,16 +4,20 @@ .error {width:300px; height:200px;} -.item {width:100px; height: 100px; 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 h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;} .ialbum {background-color: #e3effb; border: 2px solid #91c0ef; } .popped {background-color: #e3effb;} -.view {padding:3px;} +.view {height: 100%;} .DropZone {height: 100px; width:6px; margin: 0 -3px 0 -3px; padding: 0; float:left; text-align:center; position:relative;} - -.loading{position:absolute; top:0px; left:0px; width:100%; height: 100%; background-color:#888; opacity: 0.3; filter: alpha(opacity = 30);} - +.infobar {background-color: #fff; position: absolute; bottom:0px; border-width: 4px 4px 0 4px; border-style: solid; + border-color: #d2e1f6; height: 15px; width: 240px; right: 50px; font-size:10px; padding: 2px 5px 1px 5px;} +.infobar div {float:right; } +.infobar a {float:left;} +.loading{position:absolute; top:0px; left:0px; width:100%; height: 100%; background-color:#FFF; opacity: 0.7; filter: alpha(opacity = 70);} +.loading-label{z-index:10; position:absolute; width:100%; left:0px; text-align:center;} +.loading-image{z-index:10;} .gwt-TreeItem-selected .Tree-Album {background-color: #333; color: #FFF;} .Tree-Album {padding: 1px;} .Tree-Album:hover{text-decoration:underline;} diff --git a/modules/gwtorganise/war/images/loading.gif b/modules/gwtorganise/src/com/gloopics/g3viewer/public/loading.gif similarity index 100% rename from modules/gwtorganise/war/images/loading.gif rename to modules/gwtorganise/src/com/gloopics/g3viewer/public/loading.gif diff --git a/modules/gwtorganise/war/WEB-INF/appengine-web.xml b/modules/gwtorganise/war/WEB-INF/appengine-web.xml deleted file mode 100644 index 99223a5a..00000000 --- a/modules/gwtorganise/war/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - 1 - - - - - - - \ No newline at end of file diff --git a/modules/gwtorganise/war/WEB-INF/classes/META-INF/jdoconfig.xml b/modules/gwtorganise/war/WEB-INF/classes/META-INF/jdoconfig.xml new file mode 100644 index 00000000..5f56aa19 --- /dev/null +++ b/modules/gwtorganise/war/WEB-INF/classes/META-INF/jdoconfig.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/G3viewer.gwt.xml b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/G3viewer.gwt.xml new file mode 100644 index 00000000..389a35ef --- /dev/null +++ b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/G3viewer.gwt.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$1.class new file mode 100644 index 0000000000000000000000000000000000000000..03e8d37114f3b06f2f1f13d3c1289fd8e3c5c6f5 GIT binary patch literal 796 zcma)4O>fgc5Ph437#l;=0^yrN8$pvwn8F3A2&t+-1%>tyl>5dRoQ*cSk=Jg27ZM*5 z2YvuQ3NdR82M%p5tvoY3^WNLH`}5cL9{`@A7oZ`~OYI`bw6#l>x+HsktmuUDB-M&c zk?iS7x#;Z#XbE)Y@>nKXnk+e*%qcAbv;~q==MRcvIV#hXoI8+aswo#}7c=F0Pnmjn z>TJcm%l$8vQN=5P$6Mza=#K?j`*unp1TM!2a4|v?D=|WJ1e#mEVP&Wc9hQp;TVATbqjT`~c35iQ{+v~yUu(5C)0AWLoZL|nbZ(F@Lf zB^qphK|J_|E1#;KRbQ)i{PY}aoX0%lt5fgc5Pg$`I5vic0_FRo#f2u7Z~-A96(Lm>sGzhx1R|B&##y-=ZM>D&ZhsdN z2*iOOz>h-Ay5_>6&0#e=vomkrzM0>De*OaR9IGB0gw@2%;#3=Rq!JsaFOHQwk$IeG zC9@*l(&KU#J=^fmB6O$XSj1XnX}mw4%B1knCd6j~>=eb(uuKwZ?T*MMTIPgyaj0yx zL5K!t)>h3oIsdiFRPl!JWNn^;-iXlJHWTTCa4Cd`PJkvBLip$snrkj$VW2X(SI)*V z|0u><5*7z05qczY<@`F>a#XqT9DP|O=IYtg&k}kySz}TyC z%FW&=z)jrtaEq{Vz8)d&;4YyfDovx8gx$GRIsL);WLR!d5hFaFuZ9o|O_?Y1opL$` z)!3f8U16EuW{EadW$CUg4$UOQBR7M#m74d55WdecnQv=ht+aT^18efR0P1$#+;~qL ze0&5Py~wv$?7K+NU;l=%{~edVR5@2%ta{;U`h-RHL#}brtGLFNa2-oE%2tiy_rD@s u|A8C-fzSau^tl3AszCi3#8J72`wY{>0|sp{fgc5Pg%Rb>o;e1SsXZEh){1s3~wj3PM65s7NV2fO6@{aaOL&W;e2(^zR_S zA3%a4ao`8=qY$&k4`o*GCI5tfsaFs?o#RJ-#Tv^f5GsKVq0VYjwOLcK>QwDmv~LAd0= z!itSN)*KX3Cgf`-V67V}@pe4yi|D=Amx55~YTuJRFA9yFISYm=7ha$)kBYgLw3;?d zILHWJa75K9L}$XQXw`c*HgMCz4MO{WW};cWVd3fm6n81EHa8H&^R3a5FF z>*u&LgF~NCqR%PLdW!30I0pAVs*IG!4&&zV0K5Dy@H%U#^R2=@Q`tNl+)D$+KV~u= AhX4Qo literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$12.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$12.class new file mode 100644 index 0000000000000000000000000000000000000000..8e6d52342bd0241aa4d7171355a7503f7e1cfa4f GIT binary patch literal 2621 zcmb7G-%}e^6#fngSrWD-#-gHC3#K#)fwfR+`B5w)Ez|%OXe!iNm*f%_mfe`$(6OU4 zI^$pAn@>JCqtmfKr#SfLgMXBG?rtEODM^}{-97imx#xW6p7Wjj{m=750D~|Uv=A=l z>}{=J+IG>%Ia*<8#}JQ1Nz0jruv~4@Tq|$KFApjR5~7>>j;@)yRnQjJHbu@=5F%)G z514V?;!-)66OJ>ZTX|EI2qAaFaN_S1;+eX-p7Ak4ctxL;DLf?H~$F>Wm&Swe8i&WkVz9V!&GN$C|8VMHPb z;8hjvI7bL1uaVU#4>hHH?w-lkmJf^P)3GusR?KKQW&7(_^~A< zD+sHB*>r5{I4-xB7Ur|MSr%i-Yy{`=j)J#2{$BVSXsCD>7YJ>J<6pWom8`vlT3i0s zF$Fz@RNYHn6pry&EEHYCwwwsM5to6x$Z8D%Rg5IF3NCTb>YBM*G;KXE(;|XiB&CfM z;oGLtq89Aw8CU<_{s+~&h%^Qi^b>mO`tH?%3JqK`ZMs)W@j=3DQ_fee>a+sSa=DL1 zm<_Hd7$S7nbwqAf@d1XpCiQ%N*_IP8O1-jErI50r-81q9;Z_h|Q!#?kDiS_yyh$V; z|CC+B)VQ3sL_T9UE;~Pt2?f^)=U%j~;zQivLScV1y5kZ$6Pa2bt9bU2iYa_t^^C(k z*Q954!***(#z~ae)ti`6aH|pP9xJGr#ce;BG*9eKG)K?|Zq_M2xE|>t1^LC_Z^Q@%k4?WT%^w!p3E#dg&#&pXI zCj@#rvsI{r&{E><>6fWn)+w)Z(%0Ad&pmLXkj;x3tro=TL_#>TN}X!odaZgaLk9(Grcy)(AvnvN7`ijuw8}q4Me(mag+Sz~7Ek-!9Ik(z}SJ z_7QvHZS3TC#8Y4l^b20&u~g*kcpY!>m(Ybb{iEmxn+x;Y_kDYKYcBm49v`54CB2XL z=2K4*T^VgV999Cup`S6?)z%pr9Bn;7?+P!S?P~4cM`AQ6uFJG1Nm@iLC zdHRPCb%r{XpN7^p;v1}BmBSK)h5PuNZH*v~2lxU( zByj}~@g?ulS-T&BBlIAwfE1ipu%>W-1@R!yp+Dlr9ynR@oEH3U!8!{34RZBvV2h;) Jo0U=L-@otF=rjNT literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2$1.class new file mode 100644 index 0000000000000000000000000000000000000000..ab033485e1495dce3f77038c20e120eea735c799 GIT binary patch literal 911 zcma)4U279T6g`u~ZnIr&j9Tk=t!vFj=$iT>LvSp$MX-GSkL>^EOgO)NQnC?Q}zKv)T;-H#tf}dK9y}SoDAS$*+&zr0ov#=G<&XKHBp(|E9Vng zyyO!t8M;X>xE}LDxp$vFQ0z+6w zfB=_pnPHh%q~RTgq~0*YsD@fYA6K#A;Tpr{|ECFX-3jOw@>Lp%>_iukf(Eox{AF7(uE?0eV=(p%n91zB3&)_Us+7s3m zEF-dxWu^ZS!B?FBj4OZByd&WIie~M1>4Jtp*u)JYXd)zv25w@DY>U=?3lVu;%B_=i I#|=Q|7X!H5j{pDw literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2.class new file mode 100644 index 0000000000000000000000000000000000000000..fbc374863eb6b68394833e1ecc4b3d76335f135b GIT binary patch literal 1659 zcma)6YflqF6g>l_g=K+SK~zu?3$z7UXnpfg-c*ZXFeH53ZpU`Xc4xB>An}9Wj6X*c z0V9b&z#nD2vn^tTly0&+vv=msIcM(U*Y6)c0c7zih8BjTA*x#062dVJPb=s4Ouo-u z&9F>v``Ut4464a&3=xL-uD+*hmTs4|H^p6U_%TEohC_cL$`;qk`@R-dRt$ruF=!Y=6}NGRp0#(iop&Me4=8?@XLd51oK}#-BPsPUL%JFE6mu#6DG25n!$?Dz(|D+u#T*eY ziDgr_M44gbf@^IY+jZY}YToNq#1?l$9?!85!wZH~$fJpZRIw;aB2qC+Q~`x%B{$|4 z_9dzXWlIFE!BbOd_PkL#iR272p96$wtRO=Z5J`#Wx)U}z^X ze2ir6f9we3N6=1?+aZL9M|eW^_z~vMu)0GkACbZ*X!!gO-c$`Q-cD^|sg5^7qr_{I n=YOF|jc_zH*2qfgtym7%R}VbFF^VepUnghz_&BzoOD7IEgF%CJ`8jY*V;Avo4nuvyRWLH6e00FIPz>R3-25`Rj1K6wB98TOK@G3aoIx+D-7k9O>K0g7O(PQPmJI4o)Qeru8Fxi;$vy!+0Tj{ z4#VaGy#{T1o+I9gIM0NOTe#!k_8$$-)zHIT+gL3hDZ~3Oq!Ou%`&e_Z%FsGT!+(bB zVcoJ+2C`4Dao?DH91BZEL9r^2?2gdO_jIgGDs{3ivVrM)Xkm+CIUSg3A=SRnIm5>$0DT8nW<@iY}Fbxi}Na{(paw;BL`(<(q)U7}NiN4Lx5J)^ixwh?Zh zpdLOvfggTF^K+4Sg}!b9pyu%&S1GnYO2;)^C(CdHD>JHHvc+Ba1@%+hB;%jr-WgTB hsPuvQ`G`6`&7mtJAkq>xut~N;>ODY6o;#x^_ZN6x69Z+2)=Y%GBpE&Tg$lhr5e$@! z7|O|^A6spz?aWM_6z@>R6F=~irwomHzLZ9fq0|irvI2$+90ul06tTcjL6xCc*8vNT zAIR6~urH%`qOT-F%?VwhdLr`mec~)>x(xX$TWz9i#Hs7bn3As4ooUYwlE@FdPNQdH z3CjkqF<5yTz_Ehs409p_wYC_Xd}KO}9Np@exQSH*w;0yXX2Y?j8(5YnBO0epz0G0a z&XnFZ!+sumXOZiX5Q*DeGz`=k)@E|k!5mF&(o{W}bkisz`DOwlnbmXm;XX$zd%svJ z(l?D#yp?gP$g2H6Ne1&EOe0sm^tF1-tX@kGoM^lVTouMN@K-W93Gy%cJ7J(Mgrq}}gS9a(uk-~TJkgOW{mgv+=lcMz(kvS#h literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4.class new file mode 100644 index 0000000000000000000000000000000000000000..66118607a60869e6e06bba648024509b8894d668 GIT binary patch literal 1738 zcma)6>r&G|6#f<}sUbkE;1zFJq^(FqilXJBTm-ZT4h}Q?49VKYNwb+;0H4Dj{&ai; zosr_mj1S;LIi5|6ID)mANp`cl=X~Ee`s%8ob5)7#~#N3H2yAvYr#w zs^MA;9bv@|GIt5B^nbV_L-)4fWIW+T-kRZZhaq3LI~gXj^|jw;$+~0GcI|MQ;bpcJ zxYk|gHW(6f!s4gF(4#>?QqIn3I1N=rJI-q8L@z^oRvzss*)D$(RkyhR%Gh!^L%JkP z!`U!=TmCl|6EZmrw_4zuDNuL{-{oc$aut_xMM3}J9W=c|4OelEA!(Q<58|s>X(>6m z=ByUSHe$UL72IGrf25H0(6`<4Y-BqY_mjBEaLINpzB}SoJpHxstGZ!Xx*_Ei=qj#b zP^Rt{LtnP^x0hmWL&lobkVF0`hEay0)?!$e0K*#YV1(3RcpjIc?9VRej$t(z7n2~h zcFu%vJw6q)lrHW`7h?=}PU84aSJHA^!+ks;?xCn>hM_lm9G%kmkd*NM8p#wgqbep) zlv$f($hDFPQjg5!G#)FMVHj)*b9l2Fo?w=UTVmce98qRiI3fDxDp?9cuWr3W?ZDxF z%wrx;6)Z4hV;(J(wuVJnT#1TpQ7x5P4Y@hDxWiFZsp}&0P5#uDb*jdzBT|S|#tW|L zh=An0!o!NNG_2qSLsw7{J8|Dx;ci6fZ16cbkcDk(rxZ4Ww(PpxpL2{L-~ma4x&^(b z(3VQch61G0vYk+iZl|{s8trz`Yzl4hN>Bdw9=h|xdr0N?k^W3uZRn$~N+am7ig!3i zGieC);5;tG>le}6a8)Kaxi_Bwg6^-lbb#xd>4AM@>i9{+$-f=T@!m5$ Vr!hfwU&1QQ(sW*$%V(lK`~nu8(M5H+O=x^tRFDQwnB$h3PMGYs#I7lw9@-*_ApJ!CS{VT{v*LV zFGT1?e?Wg!@npKti$d8zCOK!$bKWyAb9#1s0^l`XBxnh|RBl?7#<@eSd{MqR()5F> zLK#gq6d%mEp62WMFhNJ4e;|)!VWcgK?ePJrkf1BDc4ddH5Dq_TXGX?8I>e=2OmxJZ|D^rN}dMZ!o&>Y&TTemK#wzkvrsT6Qbm$ z0)ceb)s>>pIu4aKKCHzup81ni#(D1ZmBPN8Bv=;6=dm%vv-s%={UlWf?wftFma0u7 zy(f?7Y*d@~HHdyc`o;f9i+2wxXK(QBEyppFuD<$*{b_1$$6WI!(!a3CamGx{ z-oafy*#|7mx~y{?yNC<8+Z6w9z@=HEb1p#kusaXI3 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5.class new file mode 100644 index 0000000000000000000000000000000000000000..6db9d264eee9ce73a4ac6b8e1a43a52fe1ced8c9 GIT binary patch literal 1531 zcma)6>rN9v7(G)eg|a}cAYMQb3$z7Upw=4~m2x$p7)%p>Znu+m$aZJ57vOo$?Xe%z+K(6 z1h;+twN(mgseBAkhQyw+Z|Ig`SM+zKJ#P9jv@?u^_EJ_Xu2&9xJ@C$~3$j)->@q{U zUlm?zn$R|{hMQyP**C0|Bb~t6Hf(M&WE*xD!vsR#{(F|J+vkNX{6&WM=~m!czdBQ7 zh!$j-cY>i;Lkt~ibX`Ly;&HU$hK4TmF|?)C(cVpA^S42*#N7`@$>I#jO=%id(Qt*D zHy5KSI1FPga82dOy%;~_X5jNU?qVp0!P6XEnnMluaG#;WFiq}-sn}{MIGM{?t>ubg zz0Ae%fMMXQLUw#t*p;O~SY_^Z;3311u*>{#%BecK!`+(jJRxmQFS+u-<9Zy!7*)|5 zW9UzB{(sS2rl{OaYsesb=Ee-ecx!HKD1b=~k1$0AVmJ<0bvc;c$ehD!lAco*(;8+l zOMt#?c*M|`K5s(qKc);`UE8UAY9@{xo+wwJGGtm|Pgz&)KL^3QU>Lm=<}@Q3=CMG; z%W_#5maH(WToBgFv%Bv5PQ!YgWNdLaQR5x4PugbE9HLNpqdsTT53Ve&(0r}sI*~Q2!`}A%RPX=wn zwz*rd4A0{p<&tDc?HVG9gizkdJyFNv8CFk7{zo!JBU4wV^-=5iDbc`Y5Sn6&o~4(wf3nU#`*p E0qqH#e*gdg literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$6.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$6.class new file mode 100644 index 0000000000000000000000000000000000000000..a4ac7459f97c79b3e02a3c77d6f9382f64c6acf5 GIT binary patch literal 1424 zcmb7ET~8B16g|@xm#&LcRQy(i0;MR6HX$Y@B!*x#79^>`7ZWqxPPR*?Gn@S=;b)on z6(4-_1^<)r&bFqAF|@nc?9APJ&pmVRxqI^K+jjs@P_vL@D0{l=`cmsK@M71m^#XAu zBG;3FP>K6Yw$g5S!$N_fbjW+$m0bDm>(-(05(^g?*0Xr6eJNc3C~-y4#7XT39+z(1 z;gM*&+fv8k1y^k;B8Ce|Cy2}Il)G_$@;do%1}aFl7?vxe1gsn|6t;C+6u~g%z`~@B zJf)*I^p&b0uVbi?Z3cg*z5*Gt8gg z1_yU>k71H~o`~aejp5a3%{YfsgSUvzB<85ip$lX)N3<|0_A5Fp2!4Bx;;zm|HAFJhhg?_g&c=}RPt_2tg#x! zU^jIddE$9sWNK$4xn|DB5S}_?eA4GQjG5G F`VHN+j*b8T literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$7.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$7.class new file mode 100644 index 0000000000000000000000000000000000000000..25eddc4f6883d545cfa8e9846c2dc430ce10f26a GIT binary patch literal 1090 zcma)5+iuf95IviOxG{!?5K1pxnqb;Eg&M*`k%Ew_2-Kp`KBUU~##ye3%fOI`qDU2YAS^!ZVib7Q^v!JS}djPkYcdQNtqx zb%xr)+O)F;8;^-uUnHG0ifDVX0TO!+XK||8pmj6578+T9v5>T2)F{tr`a6QF=wvW^ zDvdnxHqb*gGw6N2xK!Dj(32_-LjS!;&ehO@3);fsSWU&5T4rR2QN%ye$QZ2SFceWo z@;DYTwrSJybgqGw%X;DHedXwsV3PGZ-CmNeEoO7?3#{f>-29aJ+|st}4@I*oDx_N! zqpi15CCP9HYjczVNsUr(euj04yIOq1y-RHWr|kSgub@C6>oC{`s%#TAwv}aBn<34! f5GEWn2|tfL%8We literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$8.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$8.class new file mode 100644 index 0000000000000000000000000000000000000000..35d138d21e9d90c41ec0c79377e695efa31feadf GIT binary patch literal 1084 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 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumItemDropContainer.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumItemDropContainer.class new file mode 100644 index 0000000000000000000000000000000000000000..d6a3aa43f660a5affe32dc031fb58667b4c55893 GIT binary patch literal 2454 zcma)7*-{%v6g@2o28LlV*u;1VW{o6d4>3z@sj_@=@7&^B24mWM?6wT$0 zEs^&%G&0prJ|5E*fZt z&d{DF*)o;VhVWMShAqe@?dG|i#67{&*rYgyQod7==oCha=XDlIF% zWt(ZM>?d0g!-$4BL)-s%3?y)qp~>=v$9}DnIw6?&P{Sw%?c}aOg)~OF z;E?YW?;669vPf!}IH|{}s%!X&q3_HJka5>=mtm-mz(Ka@m_*XRJ$%g2KygjYt29mN zxPwn*+I~vhqw}$x48^R0IY@)DOqJzm>UgRg4`Pnn6_GrVQKy?p8Sfi-fX}GlH+eau z6r-AXtYZ;r4WBdgpXs|QJp)U~$PVD{h!vM1RxRl|sirDc%LhrykWj9jGo?w9tukjA zuBV4eYAPLO(LY5bcU3W+a`M#h)5+GX&+|VnaVl8VCN$Sspt|y!@R*@RHqV>BDrFhi zZw!2k?-&eTC}jPow#e`jwU$fKAd6KFW_{0cih=j8lNNl3TGk}Efem@I-4jyCBd4kC zmuQ8kxXwdQ$j?F02K0p|d9m$Vu2a@fWEibetvTVlvSJU8G3Z&h;^oDCOLoAkr+-^+ z$r?i+HP0~p8xTUL?56a^>Xf~do*J#Uz@V{}-qy$>OwacCKHB1m=eQ6bd5*3>XeoqC zG8&=K^lZ&8I zZXyMB^ka~kYl6mE3}J!Zml4G(tw;gJi7RnB5a1E*J|xCXG=70E$wM6(WU)fngM{}L zawO#{owKU_QAbqrFcb(P1VKk5BTziC`?lrTzH7a2pGYS%Fe~sp;n3Rkq~)GPmh5w`r(NaP zo)vcOKz6LA^eA3w|Iqe3o(u$Lqpk`|o1~#JnTR^&>?&VHdjhqIlPWEN%)ai(ECjBb zFmNr0GzuoNC<>&@98hQ|U%rcbZ5bTfZBGi!H#Dhl*@5Ey5X`V-f$D^UOIsv4ulU(rv4og@za8F=+ zs_rIwP29%=Dyl1^!PRAli3JwQmBwWY)eWo)tc|xo4l7tQ@rb)N8zy!Vm`Th=9=v?H z|C?}7R)NL8yZq_&Pp3a#fp3Ze3*?$Q4jlPfvDxM>25p1OBM|&srs)I?r)(-og#+L5 zbf|pyt&F<5W8j&<`uN7Mad?_6nv5}H`DUk;d|(nsn@7GcgMH5qLm6U~#xqUN3`DWW zQ%YZ{6g^qw2+h;#CG8o>Rcl{hR=;BIa}sldvE&VBFJhkdCgm`C6ASb&aEtI1Zqqu2 zI|=#Y+AB|IjAbwUS6G4h0v49bM1P#GRp TMUD0uJjDh!X~maeY4rOI{EUwZ literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree.class new file mode 100644 index 0000000000000000000000000000000000000000..0f8db5087409f4c85a5830d94d1694cb310c3ff3 GIT binary patch literal 2180 zcma)7ZBrXn6n<_JShBeUi&(5et@4&^v}>DcMJQUJywpG|&_&vgoh7*>YnR>3zQFiz z{Kf}AIiujTGmfAABmN7=b1zGhf)iP0-)_!6&$-We&f%|rUi|^!HlAxpF-%tdeY5WR ze$%OjX1#pih(i&WRo4+-WZrjoL(|4Fp<*-X)r z*}TW`K1PVwuGKb$E2@#>dn>kAbEQ&Fg4UK-$b?PTuRB%SHN%D-h?;r+!9uq7jDJy4q(#U~QW4jlQOEM}sHLxNp;n^b(ev-sIP z5mg(f_8C93Pgkqy7{jELw@(UI;3&di&`7Y=NbI*IZ}0X$JSamG$v@`!L?R4?B05!0 zBuJS^xplm|*Hj5fu)Och2mT@XUAc&1;zG4L6H!4bg)%M;X%`UrK=d8NhrTMZTwF7IPZzG2H0Fud?O%O14kF87PQFv1i9_ zBs=Rq$EP6UGc0f{;ub@;={Mu%n($(V9u-c-J#WK{dNA~FMt1e(n%ztcrUhaz5Me`t zKjioZ6)IKze5s7W1&?=vCzD52UHWI8V}qisFTFAkOMfL+LV(P8_t!u_e*2 zy$K@OEGKkS^YqwqOiJ!;j_;&G{b9pDeB4$^-}K|4DwZ7CYx&k-xcP&9U{l#wJsOq^ zt{sLV#D^qCnkFNf?159nPUqeL#rsGQ&l-8Lm7qlRB&Y{&Q& zgD04%7^P!O$xEqCG)NS{1bsM(E0`jhLI=rkLc)>5O_+*=Y?YAwO%#%(QTiRXf2IdI zzNb^_AW>)N?4xsBy#X5(_eIZ7&?$wPBb1HO3BEo;>CNSlWO+zN$!zD3(5Kd9)@dcr zJV^r@5(P53%;ygMXS_>)vzVrin8h;gkuT@4jsh~s`!ln literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTreeDropController.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTreeDropController.class new file mode 100644 index 0000000000000000000000000000000000000000..b540915afaf4f309e6083ed8ad2beb5b1af5a05a GIT binary patch literal 2360 zcma)7?NZxT5Iq+gWD6Nmnh$7634{>a5JZVXC{9TUnAWNJXiW{IAM|418c|tdBpH(b zo#`{QFVMg3ObU}`rj!27_44gqL+lAhFPet1JblL8tX5VWA?6%=XV$hn$2LvjCp8Ce@HuM$#u&(lj*=@79*K>C|#3`%9gKZ#*5*PKt9q3xbw8QwI* z&G>m75(S3vtX&c+LWpUIqJtq6PZXk{I5a4TFm&b&ODt9^o5ES)o2Fps%GpJ37Pw=` zb?sx=+cI2+iF2HLGI2y*;fJxt%EFVGSm6%6F~sAE0Mxe2rtlM2bsM#)8v3eHBFnUj z9=xyMJ%)ki+0xL9D-2O`4BRPuwk6MH(1YxqQLZ_Mmu20>V=tX3D7Z!?^3QB=+;(m2 zu(}WPON%p(!=I?=LoABxxS?Q>A=yL~M~=}jgqu_iSD2(JQ3^;?#xLZ2!BsuO)N_XG zrQ4Cfu!1B*$D2DEMsSNEVtB&gp6xJPrqniUvbFDopyNXYV^r#syBhV#ZPJZJu`^se zL^vY&w1PV)^Koj;6x?O#KeJlIs-oZ{h8s;19B5R<1kxJr;bVqYDsFbpmvmOeB<@Rz ze?r{jbBTg1#RCnqkOr<4+EP4wTxiFOSm0(=q)+JabTgU8c@3Z9Gm`ffcNhJPQGY#> zN`0u|bL2>M6?<2#*bIqU&o+?|>5bruf%q6ke9GsPDn+{Oa)zO1ar$DVu4D$?St7aT zx7aD3r~R-Hk!b+f}D1<_$Ryd*AXq7?sU~eww8rx?Ab)k|UM= zG77y%q0+ORR`Y0~3s92>(2~P{qVo@0wcs6kc91XVElj>qyh~5ua$rrXi?kv?Tq0B| z6zyE8VUGK2Ad-BF&V6+MPIdue8|?tyK9c6YM`}n6SMfp3|6jDx1*|pkHYnApeE&j*;^$IR+aAtsG8 z48Oj9CFzXpBP$~e`4J9LT%eO9)Q>8zVURL5f&o0BDVd@55)HmpBz?Xq$|7;9N4|yy zEE3}gmdS3JB2;Pp1->L~iIc|)W$r8T=|;QQG1K~^GG z%Uaj!KGqw>Q2otO$Pw5mM66CHR-?o4?U|6@9f!P2kdsXyc^&c&F_bJ>112cy{UZ>p e&WhDpZ4yKaisTxmuuH!9-U^m!0``N?qWnJwbS-cI literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AsyncResizer.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AsyncResizer.class new file mode 100644 index 0000000000000000000000000000000000000000..392ed4f2d6a9fb0b27ef6f8c52d04f24b4066ff8 GIT binary patch literal 2261 zcma)8Yg5}+5Iq+^1deEUnS>Ss4I%M^q9nAm2?*EgWm&OBgyfNADEU2^ z>F3TAC({r80sT>J&y`G#+hXvHrF-x0p4~lrckMs^{OxxDw_z*j5y%?uo>sM8w{97} zR-NCs%mdTY4BIlDKzryPI>x5yTdzz{L0n*9SKrq)TX(A3MtRpX0tHEddFOXf^OSo-FPXG+}l~U-Lk-qwSU=FP2Ka44a?Ngq~fB0y0`PJZo7JA z#j;HX9T}b$bz7CD7x#9e1UBk{Og0fkzvHke#+-bh?|6$$OFXOx<@Kf%FM^J6{2kvehsQ)Av)jgGB{*j~nr{zA$uWU-z{Y-3VOo zP{lpm7r4ONQFQ!3cMP(topmufG04gte5&FB9x_#fAqQq5^m2|n)`E)kiB!NN1)mAz zy7Jp$rD6q-$yLQP*hMrwZ;NJ2(qB=<=U8R!$-#5064b)(D@xJ2ilL*hJBQIh9sbbjohfUi`1jc>y0%b_cf$P|lFu-~cp z9zRfII#IIO<65-`?QDlbU zL6iu^2a?TAofDU$TF75(*S{6;S72SQw+2OO%WZgu84dQqlLKK+_8{Kp?1}N4;B!b$ zME-aU$$1#QIgc2dx!EJ6bF)ocI>N*+6!l<|&ryN` z1BhdgfI|cr=Gh3Qcsdn9(EU~J2!?687UAj|o%e7(gX=Aq%iQ-+mKwT|ZzB5^THA}% z1q;xJu@HGQ()%7F`bpAzmHbRIlNnrN_8KybJZvnQ^68&djf@ zs$yuNOW>@Ak__?+RaqlQ`C*tTd8Im7iC_k?i6&rG3Rm2fT18+e+mecj8W%`Z3UyYE z9N#ay%4}DwHp$nV%=N`wmN`9@!jxZGlYv_F1&+7gXf{+8=5$vIlj@!yC;_n~&~?f2 zoba-MpKP5T@r+_x^JuZ>>p6Nn{K`CSm$Z^J^jULCZt3kkhC zWTOYRULCQq8}A78W*tw>)ha70Sd=R+&(oLni_*=@z|r?x598r|rz&u!HLJSx%@R^7 zOV(?cklTvWBe$#GEgO37E~`)jEy{o^fn+k(Mz7mWiILo@%lC99eH)dbh25qDS=Kbw zqi{Txw~(e?jKi8$S*`kB-JLfU=I5>ifqa}m3VU~96d4Pr1k!C>y=@yCr*VdYSCz}2 zP^E}9MctD%4O0spHPjuNb@uR^YynjF5y!e$K%-r_SF%#H7rvQ1#6X;}JXQz#)XA_vjtoHZ~a!*dD^12jR8#&A|psKAhpPb!km7PV*OSh)RUvt!( z!?cVyZG3@SwDEmeoimED!IlzO1YPr`z_FHRH~ntoHtulF1WM9EUfIl<+}5OMN}@Hfj|duY1u4ViEB2{U&ugtGV`C)wF% z&{)1V!v+kxQKC2{HtuL>dOm@BxNo6c7q=4OGQnSKG2VM{;~Z%D#6qQ2MJE&6UK=qoP_1 z9p9^3VC$Z4)BbrC`g#O3()fj1@M}R)U3K)VJ)mJ<{e+&<4U0jJ=oo*Uh@(%>aekEh z^b|M$oZ;r56P*7R<9e}&*LQjMJvx{L97;b$UwU{0{ppbn97vCDU?ANe-@xJD__hN_ zbqu>iJtK(!7GpivY#QFXN z^CLDH{_FV8^b;KTm5XTOF7t5MY+^?NTbl@ch$Nrrqx?g9n&9$tr0zb&a4vRv_z6ay z;jF+|=Px)t(D@7>3%tPPvG_pzPfYxTBO^zjWAg4m`~@a9G5zCHT;Ig!w||HU9Xv1a z^UJ@8FWzB7a e5DiMAL1~Q;9r%u^+AD!6^;^MiwE+tai`svr$(xq| literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..28ec08b18c1d5344c00dc22533c6b68525981077 GIT binary patch literal 1018 zcmb7DT~8B16g|^cmM)8wB8cB83$$CqT6i(3@uhyCDUeXJ@6+vMnP%7_`vJepL?iLR zAK;HN-dRhUXhPOWCNuZ$J?EaBx%>0i_a6ZE(6LZqXovdDkCfKuGEDtw|3ZpOk@%sK zBF_Bx`#}-AUAJqY#?YAX3+^i(NB;3>BErnV9K-I7BnMe`{zh`8qXQm~l}H%ovQwG5 zU1~qL5jyMNBhV`u%j`A7^Hyn8J7B2w^;p!wu;{?Typ1ZB9MsWZsJ2YO(m=-IC_fvC zwHg?kJ; zC7p2a01p}FdBN+xU^w{?Kgx;k*?5c%3r`rfO38BY6whX&_87d9qR0bsiJyoxSDA7C zACnmDq0W;~yp!f_7O#h5*HqH$y^TYqQ?m0=WT$%UU=?ketZ9F(BPIOkGV>>?j;{y% z;3^kId*?$Oi=?l3nu-(~G%8ivx4;?=GcokLRA|>>Q+9!FFDW(|+v|LV<9);J z&qd9$$rWD+%^Wl-b_ip#E4V`^jRDrCEPXl+%Yyd>&K2%n;n80-Y#BCNDQMRIlul^~ hgiW|aP{kHeRIrU5I%_mdEqHWmQf{42vy1>*zX6s}|1tmo literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1.class new file mode 100644 index 0000000000000000000000000000000000000000..3b9c46016cd208e619c1c87700f149d1a0b18705 GIT binary patch literal 2095 zcmb7FYje{^6g?X|ku3xmhwy5lJe&|aPJ{_>2WSX^BsdP>;1*gQ8+ox66v;?3@K^dT z%1mn*nBgNc@RK?n;I1SCEfd?=*jwhF-TEr)e6V zUY~wqil@TW4a*d^uV0<62J1{gL7XAA&Yy7I;&xqMSz8x|uV9El?|Q|8?>8$g!w{ag z!0nnPT!taPVS1Tk6us2dw-dfdE;FWW`WF~-<9+&Ms|@iurzVnM*s4K6LPZSQH6)Q@ zh>c5w?IqI|<<`cUa98=7B^c5r$KY0#yQW-6n{f%4A=_W*Oo0F^UYIm_MTi}zZVA2q z)YsQN$L>(PR9Pukxz!TIY*ob`>{GCpArtV@!$ZRl_>m!Ddf{uxP!Yty%~=nXt{&@hQ9hAmzIGXTM`lQ{b(g9JuY6fmve_KeT7PqJ_ zM!x1CA~<^|fzwohhUY$1aTY}d=Q=ohwVQ?+oF`6r&^DRE{~|=$%X&GBiyD5$>=$F| zsvCW`NcVc4wboi2tF9156?2$ZaG7DOYr}r_&~QaIS@NOqjfT7;fd!)4v}@woRI}04 zEvIhUI$!6{6fDu3cfGcw1DQgmpkfgv*~7~W`92e+h78GC(Qq9%h^(4(+2n+QVgBp4 zi1_Sg3)ZE11&~h)Z z?K!OmutV+zC(`>Lq-m{@kK7%`P8z9;uq(Rd9ofWbZ)Kv5-OKs6IGs=LZ{w#nM$40L zk)3QKo7USn_6PRo)2G4{+IxvJxxb*j#Dz94J(tt;)z?_OO*pQ#QI=3*0hAnt1wK%i zk4O@VVaBkV4d4hHBuN><3{$AZHI&&%05uoFiJ%fN+(d=I4q^$bxJ8K#lh{@93*G-K z-JAgX7v~imOeLuQZ%1j3(kN3Nl*s<1Nyy7kuo-e9xr^aWaP}L1r!h_{au@e$mL_}Y JEXCrP|&Ww^!9IgNvjrO*KlYt&8Wz z%djAuA=Nt6W=4Z!#Di>^&7zTEgA2>57(7=waC5tkWj1?66u6`sHJ(qEI*`Ce5^gZ$ zT9)-ZEebxy0E6WCC8J8H9w@^ne%Sx#oNO&~#e4@rx}Cq(bVN-OyHh`yA0QYE}94pH3gqylA?7j-#bJ1nP?k5Ey9^n z@ENG7qiVIv%`!taNKivDm}xMdd<DV1~w%;Vi;=K;>~eV@EG4S zC}rKL8tU^#hYnv5#knA;VQCW8lm4VU13D+KX((Q_ zNRQ$A8K8GMj~sS-UAw4Oy%i%tqd<#R&DQv=F7{AoGyPG~6||{lOwF(y>WW3~?pS37 z2KGp;Z2A9(XEpA)409LJ(vs%$nP$q)p58(TZs~*D}uJJF0o&MuDIB) zo}}GMf5bMrI`JN9U82)8LI{)WPG=6$mCha_o*p@*$0PKE990{DBWccn5}ULS~OWm|kDC0YgR@#1H||Y+%?2WDhAk zN&_!4btM0S^9G|EN4U8t9_zTZG_o-%y`6}*O+;Q|pkL~Vj7^5K{oy+9)RAA$#=j8a z=LqYG^hAF<{wMy`8x%Ikc;+=`kFXG5uH##ZwVOnIm2TNON+jx7e~s^6VyKmYuO#wo z^JtnRTESFEOe3nw=wloiwv9Wif+;%BGM!e#E}oG*U>2UUDt;mPE3-X5Zd2hX(-S^k z;0HYMc-X;@P>HQRl3UQoUj~;^1}Ap5$tI2PF_9OOz$Bz3j7q40(YXR#J;q&x{4c-_ YvfUwz5OnO44AY!Hg-IvbW1bGcf0$cqB>(^b literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7075faa5f14017cd8dc0ee9f6ab79e635a200828 GIT binary patch literal 952 zcmbVKU2oGc6g_UUWz8~H${6Ewd}Ppdh^SN`q#=Yo)+8@xVuop_iD$I8(-alt~_Ey{Qz(!p4b` zLKpGt-l&YDfwjiIl3bZA>iX~)ng@K!W5snAzZ)Njr0_A%@UWyaCQ~BLj*D1K9ZgDq zRE&KklMlOGr%G6c`C=mTs7o@2GwawU_;aac@q*!L`#@uP*8S#xS3&RjsPX1NG zfh+9x<|x1#uKBpi(4D!0A+9^4-bAM4Yp(1SweZZt`2;Wo`{u|dVn@2#Ed3goM{YW( zdIOy(lS`ew5yix$uC#X$K*;noZYMn)e#51_H`1(&-t+E)#UNP7!v#;KHZ!%|(|hZyb6DEs8_Jxa=jY&`#p9 zTCu#O-LWimP7r>^mA^T5>F>RgWA*G^#X$(%z)eEeaf|RZtdnNIqh8*@Jvy~0w}uG! JOU0A`egcfF@eTk0 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog.class new file mode 100644 index 0000000000000000000000000000000000000000..f2b3519f2ce0d8909adb9c5c7a93c74febc5da17 GIT binary patch literal 1580 zcmb7EYg5xe6g^uWp&HOhrOA9{9$)Z%>CZddm9~aPhM@{fO4}8teH5Cd;5Vq`m{rR;dCbr}<9JRu%g{A! zed34Qbh&4no1yP`b~=$~Xw1l>(9wXXfhOn-4a13i3k-&)%BeaSZW(AtGlLe0Fei>f z4Y#l7APajRxhGs59f-D|lN<^ahMM0sa8Efjc(J${p12~*_l1W04E^;ZTh6UnI=a!T z$TmmG)k6c1@R$P4EM#*F8w@j6eHZh;h{e^P#ZP1@%t$W?xfiAtxhDqt@stul9jh=R2n!g;BCS|7X0eKOvQqXHE=ZHTdMtF}4Ka<;?kr&=gz6>ydx|B3 cIkJc#gL(S)&R= z#Fs=~g2u#{Xf(!u;$JYHTZckomNmJ(J?Eb1ob#M>ZomE7{{UbF6B0rUIo+(A zIE@Y&SzMNIiLz>FC=?7rWr%9J&fQ>|?l(Ld^_z6dT=FZ6RnGG=hLMvn!q8tgr@sgV zSJ1%_b8N?V=DFoFGzD}Sdj15h*H4Cc(bM$RdCjR!m0Yy_s?Kj4V(#Jx*KhE#wx&@t zXDy3YCr!frJKsU{Gm~J*pCdKU2SBNwcqV$fDR3JG-doq*VhMd`jl4)z% zLGn#td4k@F0RMu}&j|4xCrPIenlNa`DcYH6T+QFlnm;SMht4fJq-U9y$RR>2Pb*5R zH;{k_WY^vF6moV47dJ7U$?hVxiQ%K_o|?K-SY_Tq-b02yhc*!nPDHk0h-?d#6|jXA zUSbHZs1dI*hHXq>7dNqw8N9aG@kAPu&P!+4j5U?i5HjgZkbQiL#$>$HoX2%`bcBlH_6np(mD literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer.class new file mode 100644 index 0000000000000000000000000000000000000000..a7ce7a58f99d006f6d115a605b9f019cb8121dea GIT binary patch literal 7689 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 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$2.class new file mode 100644 index 0000000000000000000000000000000000000000..620a5286333dfbce97202a60266ec3cf6b88808e GIT binary patch literal 1262 zcmb7ETTj$L7(K%-6iR^=5$}ppWp}}?ToiPTw-o}(q9ho2p6yP`KzC+syWrn4Q6xV2 z=z~AX_)V#9ObnMclbQKC=bUf8In$rNzI_KUho=^L7-oFk@`6z7w)A5!nBSM;Kt!G& zN}&>OHA&iUBoB4)T7PusEaVvqyL_K}Ayy9iG71_5_v{d z3#Gre%2hKI5kp_HBV+d=;p%5kph~!BQpw~wgI7Ecu(ZXHuj!^30K)Pkx7LTNvXTiKlouP6LeRqyhx3o%Y(9Qj{YAu@@ zR!dtpuHc%5s|@9{7t6tQ++gVEzAxg~on_cQU&)U5*UhmLcYV>3-inS|8(fL7YU36r zEZk<8O4BW#xxDCf#+B?C7S0 zB~!9tb0ccH)z*saLe6y7loC-b|3(0a(Vmh77}kBfFOCOL^cqq2<;N zJ$}Rk%ke!fl(nPO!E?{{rTa|2H)|Sl426CB(6)SAxYn!IK6jLcVTQE?M@rY{mV2bE zC_F=nJZoD9-Pg9@zS)dgT~BSw?t#x0-?2s8=K;g8>Ug2KM1&gsGpdu{swX_P&R~@W zaV+mKn2HoZA4G$w}CJcQxFh z9Q7$mO4PtSN(@>UCCV^dD*cNdi(bKkhAM;kU;Ku&+r-DfJuEVe67O9RDqA>IStTOg zk27gk!IFXdahd8|v{O)qAs*KNb>b<`IZKE@n=%RYzfDgA%*gS ztB!0NSczrQ!;U;UeJvP_T_Jd|>Dyt*Lk(2!^L?h8VY0U^l4O(iz1B2En4<>H(ij3O z6yiRn$1Ou651p)|v|6EkY|$&#Z!jv~G4>@nb1}9he`4O6~+mQ)ni=$f!i6JpnMGL404R<03T7nCvyIrz)mOE6jNBBNbhfrfU|f&XES(+ eM>OZCc^~5mt!9#tXhGjBo??~48KQY@IR6)pdYjS! literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$RequestCallbackImpl.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$RequestCallbackImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..7d9a5c74285e15972a221fbba992b601d4632d15 GIT binary patch literal 1904 zcmb7ETT|Oc7(Hv72wVk>bAjGchmh2EoG2x|xHY8#LmC$+Zf#?d$paDcR*1-2S6Tx< zqCcWf~ElI1VtBJZQDj?sv}luK)h`*WUo&SPs;AHW4gj#5__|C{!5PsvTVBUrfEH`bh@sF1Vd`u+%XN; z^lYQHxy>!9;S57QL>9t!xnb{0V~em3a1S9dj5nH#&9%lxxwgErQCnqT6^65A;RVw4 zWXp7WJWi@#F^qIJ*6LM;boC8uL;8+qml)2-Ehm`0#Zai8-Y;c0?|6<}U|7t)i{ViT zxfVmBEZTew4Ci#5#ds2NT+lIriwyB>uBA?2l?kuuQjQ z`i}aJekPP#40ql^+i}SvM@P(l^fckE_`dKN<|B_!OjK#e)8>{hc9pnNuBG8J!`%NT zy6JSd=*g8mi+80XJPlVErVb}?spq(D?vLUs6+~I|+;+wjGGlX@Nn!?{svu?=E@X$) zM5)iU)Q!B3>nKn<&2E=_ZH61iT|HtQ@s>t$lM;{_sLV*^sz>CvFsI=&%IF)(gD~j0 zjn5fIrRZy6IG@cO;V3D6b4h%KuQe18y5m%Rr{f!>h`_Wg9)#7c`Tb60nC+Lu$;o3F z;|Gza@C|7jI6N-baO|Ik=oA;*M`fY zKe9^4q>N(jM-gGTdUB*ACrK}fwVvKLyHW2Z8=~i1{H_yr_ge$?rm7|ez2bS?FS}+C zaO(1NhlZmXv&hiUh|@Dd>j%&cf9l=@QnXIe*DBpnqjMsE z{Tb5v=Qy7)Jj2ujV#6BqK7xhxmxzYWFcw#0c^dK8b*RBtpwV z;U8qy^M4}!5;Kp|v(IsjKBo4OOW&ZSun&V?`}pDozC6tOm{^}s&zd1?rjIvZEue&X zVgm~J77HQ&ceoSr{~GZZC-I6%7JtK}5<%PViRpLD97s}XUf>7PrOw{c5{HUFnvj4t wg_2_$HudQCke=c|PjR59h#&D2>8X=l0cY zs#UAj-mSgRR;_n0Tcxt0##(z??R`*dPkPt3_ON$rq5ro#y9v8XHnic#%-i?g_r34< zf5)4rjy&=hfVJWb1yur}s1pyzEXPTh(Ns9LZntTS8p&|fG7Z}ece!q2gQ;0gtlin8 zz$dUWyWeqQmJyDPy5V$ca(CJc7d8vbif`ZOB;%Vk+pq+hd!{EWY;6+=#J6{7mNl$J zcL}V?5muJ4OS5&$NRr+k-=330ps~WST?4&6q^P~Xv`zOSf$FB_K>=TfqZ zQ0pLYl8PGCDwr>@Y*WRjidv6z&}`_P7epp|7U5 zYkS&t9ovs{$*DuLqlTs6d>)&nstgb6*?4vU=b=?PgFX*8orsB=2Lo7#3neXK(ox2d z#Yi)D%LvjLUS2SDSY~ur9;MQ-7YkH5yA-sam=m@6M$ zD!OqAaZc~im!1iZ8_ruzJ!ZJXs2@FqhMx05N^)ve&{t7_4Ni2ICqM*q>kvV|iY*wB zF6@j9boL8eP;9s2jFM;3D4F$WV@{f3VW(Wpb_v`F2Bk_{1&kRg^Z%SDgEfL772Bi^ zHCy^F8|d=mWT_y=FCb=R_#d4AXVnQDhc!%5EQ&X zf-#TZ`2 zoJ1MAT_etv*wkI=lr{yg7Fb%8xu!7p^z-9t=2Lep!Bn{y*QmG_*D;6ksP!)Ez;N1? zFe$5MNyYHvdd5#GJsdY__m}8ds(@ixuIR;?p<0(}*²lV zIxHmt&AKCHeVdB6<7O_%v_2{8$}+N+D{j&Q?^N+FyqiHnb$bju z=8j|wZFd0saI1n_@~QuLNxa9=be2jL@5TGrS4jV4<3CE9HRW+xftXO(huc-$A#3aG z5mPq`HA-UsP8D~_6`u?bKkngZ2b&i^?xO`QBWBpTG)7WBKB(eD_;Aj9-L}ng%nC;A zQj%gH@YDzJF$Ev3m?;bWkBSHJ5RV^CY7FhZlB8COt+s6?C@spN1?Gh7$4{)-tP5a2 zTBRBp72`N4aEdJaS@6m3#4=pNt7!ts5^0YoNMl(JZ6%82ifC#?OB#CEJEz}>F}9Q0 z{(=U61dl41C=J4?M{hN4-5FK!NeRO_1Q2U6(;Ca0J0jixDHV_Bm-=?>Ak@93NAMXH zpOs5<3shZ(85?2b34C6~7xHU4vdOhCs(2DlF)qn$vy(_CHajU(wnPlKrtWUpX4Y!k zbI=Kv0*9;FEXu$w>0zfpppfa9t%{4xlx_L+EFet&@1_hA-ej&A`3%4C*lv=k%Ihe* zr(v8wzod$nIs77)pV?bncJ;kl!sG4NoqVg_SuUf@u(_M;s$?_$JrxT4e*A#RVzXsv zDWhSlCUfOJ{7A)*v-Qr(-?HB2%ic= zBDp%9l)aiZ<;tuK=g`WNW{yq6P{6j}NAGDY&g4=zl8kq zk~>1E6hqQo9r9(cEEHUkL6aP=3I)%~V9f;94Fz8`f%Aqa!i&dwi_OlwWCH8uOb2Ir zC$M2?92+Aot25ZtvPwRJmuA5E2RCSJDYfY%WCU|cK_j?l=e1N{-r0*a;B2n-#=1pL~ z^uWUz9N2n47KgG-NaGw!a}b}XvAFhFjin#Nr?cbFah$;u(&)Y{boy~J#}1L0BobYk zAWh(mVhwMK=kxaln)MP~P19bBAzVkZUC(>$4Y-N_ZszstUfz2iW!Lc}ZowhGzl&S5 zPUs?@X+X~ja`Yv9ndS}R348@#rMZ_8tTw(zCoDi1U&l8n(Gae|H@WKL8Ef$^uGZk& z>9?8f*TcH#sqMbLQKvm*qfbW=oRfUr_M-P9wqQJ z)yRe6VJ}AdLaPtp8M-p~{S1CMfx|=l@zYh~_+_L;OyJp}5XZmG;P>>$idG*(_4%RT zU&iq_g6HqSfAb+7{vW-o@3s`MvQT z+Wx*N!0s#9v`^GzZAu%6T6(aGRObps_{p;cOGTXscs8m>)lstZdD@Fv3R@SN>&UWs zelZ)*dD^ZZiz*6JOLe4>`TSDLbs(MQ*7Ln9XA(SLGG} literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogHandler.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..ced48bc327537f37f78b944270fe895c1c27328d GIT binary patch literal 186 zcmZXOu?oU47=-Vy+NhI@K7%d|=;$iaL2xLz#~4CNOiGg0cXRLod?>M<99)ir zE13u^wo;3?+#5hJoVC^n!taDYaJ)6}vmz&hAZ7yZtZ3tD`Xf57vRe82j$LJHLg}N%Xsx*8& z6`}(n_TL#HneRVL=ZqCLx4?yW<&U^akB3azM%GD2n53?$wQO=LgxSAs(TRoxLa+S{ PP%9r`*fqp$Mi{*TF_b$J literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$1.class new file mode 100644 index 0000000000000000000000000000000000000000..bce80447e02a84ae20e6e95d35f1eb391727e4b3 GIT binary patch literal 998 zcmb7DO>fgc5Ph4tHF4cEv{1eaEe4#V#VuTrf;bS02nuj0%6((6oGqK(%63!!77`T1 zfgiw+Ld?3B5SKzMS-U&l_vX#a^Uq)3e*k!d9Tzo*o!CsHR2g$5<2*_q&!jjJSrjWN zbP)}vJQXh_S0;UKJ_dU(9ER2*pYcd>oks7*haxUqEHZ4DM8>2_MCnNpiJ2uxh`r+K zD;a-y#dV@Y#;{mSWFG92fZ-epdIWqbwJe@7?1pn8+am_2ZxYb}!?F(-7d+Il;-i5U zLp`(?R)$iGx5v}5$lmj@5)7+D6LU4tY?%8B_eFQeUCv;N985T-kkX_Dr{;z!EI55XqEM7`GleNEX`Ox~2X1A|nWpa}K zMidj1_~_c~O>39FnI0KUousMx1Fc2YS3J)}PDRq}>0JP8wX7-V->A{sfJf0K+C8DO zjd-2z7xmCin4Y;+BmXl1yJ^@`;+t(K+P`3(OQSH9uqDYpJF uHAw}qMG68e<6g818wd=?0-OE#<{- z@SvmQsf=7NR8l8ywJ8GmREf|8Pt32yl{~Txh1a4Z+)(JiJve?Xy(Ett3`?maV}ek+ z!D-^kj&@E#u2EFidjfF=|gAaE!rmkij&^I6h>^l&tDx zO=-E`ZXV0%r8o{H!&J?9B0Lh2vU2}p))tDv9R_uA#b#`@tvJJSKjT5AuB2w$^0ihz za_||x$m4T{@+C(9yTBZ`Y+{8-HcdzFM5b965xH})fZKU2G8C_6*#cEM;3(othVeiq zRUIcndsLNDseFCzed9G7><&lCBDvX6zTDKRDH3J0g9`5Ev2@X-|F7FQ?qQi>RCu0@ z(_Vc!T<`R859)rYfa!1%>UFo{T&YRtf^ zTFYoF6mcwL%+pL~Xyq_cDA*wf3R8B(=}{e_H4aXu(b{X3}vp(h4sNw$Whj*sv$?F^sb)4r?UY&iP1TX~B@7jx&B@8T;GChRM2x zx_Hq0@LewK$&YfOe~uq7#3v+nu|2@BXcNFHC9+1K*D*(=FJglbZ4!?g#MiSF+iWj> i9~&V-70(G>20xMg2x{1)JxdL+j~8@u=+0(CzrO+DY`DV! literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$3.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$3.class new file mode 100644 index 0000000000000000000000000000000000000000..c1ff1330d1a88bc38304b5d3f5df37f22d5b530a GIT binary patch literal 1427 zcmb7E*>2N76g|@fTv9_rO4%0!DNWK+17Q#F02GK6Xr)45c$(OQJ7_Xfjh(Rk6%w0x z-~;$5#2wdC#1^TE?D356IrrSnKYo7u4&Vyzd6;6j7@0wsC}Xx|l!i%rB*hzH!$?V? zv#>khiFhcvGRb}Ow%+zoW~jdABOWTQlW?v7T11(Ly$s7akuix9Ve%#m#mEuF#9nZ% zT5IeRu45%E!`^I5ru9oCptlPJ9RiNHs;AowOFO`^$6-1aK9u2x9BeDG&b3euc1LQN z-D7y!*p;uEB4-eDs>7b8&s8mqGoR1kCVkkA7>1Q`f z6M+?}d@tf)By1{;4$Q0kSh{8mws;z7lMz7Zpg)w#F<47&sNStquz*Dm7Z?^McGctd zX5QyM8fY^3u}rrWe^=ydvC$j1_(o<)bLa09m!~CM^svlOpXjZK+s6t*hM7cUU7coJ zM^y7hqdB><1-Rp!UG`~iDa#e1Eq z9!yoMZjOLz%}o(~xTffuflqJu)6-qrmuQ`BEq%g)*77G*TVGK7kQ>g^y^;ecTy$}m z_6|tqID(_JG91J4g6aiXI`a9}M^r!KL@lVD`-=Kkv_9j~n6QR289gOc&u{>1IE3|_ k`0x(6ASN2Lah0e`xJLF8&k|G(`F1Zew?9;@I>4>>adrf$Ye9aOJu^G3(tvvTk`Cl1q2-ZznJrtVu z-y)Ef8+Yh<3vV+-d=bpL1}9G&;;V^#1lPy|Lq$ujyP@M9bTa7NFml1JCFZzI#*k{S{W$tvi?mSl!Ow5gCJW0{4GNja)x0E2{kQ3Q*-CGz!FJW-AODe(!{ zR>HkfL0oeLS_Cs_k@vBS}KdvHEw%`nH9|yr3<2H z`hlllA+kmcH#{0qjNy)k+YG(u0yN`tgV5G-7wMSBwgwqjx zC@CJQ>QV=1cvxDH)^T6bO|!zeD8})LhL0I;Rv}n*WR(sb59DEL@r3Pei7C&u=P9U8 zAhk4Wm|#epuO(;NB}=H2A4NvWd|D%6N28cRRuc9zhNra=wi@m#7f%?c&e}L;bj)Io zvIlWY2J?ty&(9#)3BsRPpRS!a8s=*Z%vcnUk(Ef~bSz?t@F%M$J!{Zx@icTQhNr^bUc@|l}S%! z$$5`5pSLTMrJP^WQGmhFMDxq0L5GH@c*@x-yu*bG>K9noP$c`#r|*L628z5oOuQsV z)kXt{r}8-ERPA&mN15vdEFHEqww~~jc)2=C(z!-5e#w(1ksp@C*y-Rf)cGYU$u*Ff zl4LI6g^gKWs+6?|FBF9D_fq~`tnCb)qH>k1Do;?}i{{)-uOOyOSz6oF=+PBnSe7;_ zd0EF1UdH0SFMJK(9uodIjOUjD4d0)>X`CrS^;gyoDxMU1y4z43;|z3Tf}%M}HYZ%g38^l0m>VGVnT@af9wKow$mA>UE+Ei4z-k zS2mrSl<^U5JHE1qhveD;GSr)#l`{vJT1gJ> zVY-Y*%i+LdHSl>E3(JGCd@Ntalfl>*WqdUls^a?)gJo>UzkxCw=|H`T(p`!RFhns( z;W9?hLA9qFx5@N7xQ8qrAxG~bRuSc#WFby98;jpRp zVI3_IY+<|Nbsx17xC_#npQsb!)u;wrmF7A%x}(0kctvdwVbepce5S&N(rEa6gYWPf GP5%JRIR_8` literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6ffb0d5b94011a98520e94fb74fd0d96ce771c74 GIT binary patch literal 841 zcmb7CO>Yx15Pfb!mV||d6v|hjf#wj3sI^5%NJSh7MXeM-YOCHI$KAR(cI9=_-^BqT zap(`|k3x)>l`2506ieRm%)U3Cd7g`3KhFVd;#q$T~fV9`x;og9mS_vT%g@V zi=sE^^oINxX|2Ebj&%J8Zhb2;w_~jQ6WLvK$WMtAqf59$mbAojmE|@0F$=pSH%jnY nNnEZH{UJu`J=~{n4G&7pePr!kkcxOFMgxthSJyN?$(hc#i zkoXcv`~ZFw;yNut@GwXu%l3`W$+^e(=KGH?-vG4GvM|N4;pu@Jgjx@!7rVjsnH1+D za=lOrmAD7$L`MUjNUfgmsM@rUXDFWXGwz051@80SsqhjDGYsn~k=8*d+~7QM#hD@S ziG9Mg6H4#(K39GyB8HiyFXQSK3Fu@{&?ev`sbun)VXKx2S?@CBceF2N!Eo7ug@TP7 z<{iwU$dId<1M?lJ#L;Nb6VVIa3k5@|qdgvWc_ht#63iR%3~m+y)h3Czv`TFt>_q*) z4BIs}w(DIR*KyOr4TiN0emS^>WrhOxJQ1gMcQd+naf;8jyJ@|&3%J8jk;)fuHi!M8 z%l&~=?r0cl?!WT1I+4LB5*8|yc?SK}X0>UfjCgaVuE0@PJ|E!VmvS z#X${qvdq^{B@cDLuv_c=uK435k}7ClY|DO<49Dn6y^{`x>9i%NQ^w%`yLkrtSdSu4 z>`7CO3x9UxrV&PEyQ{oV$0Y1fBz^5W*fKReXF7$FkZ;8vwK0Qppp=MqLLSE=Mui$7 zM`IeSSTy}WzlA9pv#=?8iB=D3Zz6VM?E{>~C(OM|&s;IF^o>C;qeOd$FebWyt28q# zVrjy1NM{VoV&grW&$w2){T1bx#CG>1s(%w!2)>#UE{#DGLV}}#HKNR6oyexJflZq8 S)E6$Av?@`|NH9-%JpBY2lvs-Z literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar.class new file mode 100644 index 0000000000000000000000000000000000000000..bebe68d3edbd4cd859c5e634fcaba24d068e3481 GIT binary patch literal 2524 zcmai0TUQfT7~LnJ31Q?C6s_@s6_g}OKy0gqQWZte2-IjOz0s587)B>Eab|+GKc!Dy zed%kvRtd|pR)0W$Q&(5_nMomFiFugIIp^E^yX^0q{PoWte*(A$KZ=MzrtH+RRm*Ye zX4%VDr#DUYTDjS>Wh&dxF51r>wJc0iF z3%Mz?4d1k~1?B7Af?2ht-*A<{t^K<*ot+9n=S@rHW(jn3#Vig{RIK z=s{ecKWE?wj>a&;gqkd4NxE?^e`w$$Mg@jE&FL8W^DN?0qgGPxQ(3ZjGLd)6(ke>V)bFjuZhymM39fd|&VErbuf4KeD1AD~ zrnJl-)I7x(#T9|k&Y8Mnmp2?Yh6#bbux2C6buC&ijtnMs-bbUjM$bBGaKB@tQ*lh; zx;FkuVDddB-*3yLY35H1+`vtyPgW{(mRWweAnl5!yFs?#_N1*gb;DKIjji5mH^`+9 zc0zdE+mNoRWLvOLRMqr+H)z+KE_Tkq3_hje$S;t3hx0)1u9}r9J4X91@R@OYLr5Ks=oJQSY{%_>Qa^?&)Jm|QGCwM2r%0ud$(a)6-7N11mb%ZajalcUy24+ z@dd+>^}4c|nKR>ysdt3mLdnJOCA|pvya{dowKo5TV*0;kITS`)t{eCcQXu9#VRH!_ zAAgsbEg=?}tAa1fFCWW#tGjww#V{IyEANqGcrKV+siIDQRZC&xK!-1vUZ^q)&H!Vw zHA1PA&h6U@S{-zB(dK7p&XS&|JY1l_yZ9CCLPAeTJ|*;Y4ep$u-0kIa1P1q5 z2=wvV&lQ^%5#BGQw=t03!O+?^PHbVAkEi%}dJD;PW(#N2iStcd_$|N~5~lX3`x_xUcm^il5C=lKGmX+)3rOeOWKGY0WJEUTl5P= zPrk*Rz)bQ-^lPrfViS*k!DO=gr`Ez!uy9^)?qFpt@njoMlTAEJtTpjf6W?-Md)LJT z0Oy!`{f8uuX(swQlXHU}+~oY6;e5E==HbGwhqK%%(X%owW9a%Dr^P^$?-i()zj=DE z(>0*|&Ai3)2v&7=_Oj9!NZ=kzeV;{{Z{r!*EyMs!yda{$%R`Z^Ly#X5`4N%xosb7& ra8PggJQgqkN9gm}U+H`#NRZYb2&9#wLyF*4aCPDFuGKolJAeNIQvz%J literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$1.class new file mode 100644 index 0000000000000000000000000000000000000000..444af50b5503113a2add188fea0291cc70e6a62a GIT binary patch literal 1058 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 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4.class new file mode 100644 index 0000000000000000000000000000000000000000..a6073ad0f2cd694cc6208281ce0d0005b7f163eb GIT binary patch literal 1675 zcma)6TTc@~6#fPZEoFgPLA;=%6l@E!K*1Xql>$;MN}_4vliBW$?c#Q4-3#!uG!ZnC z_yc_R!AIl&FrL{KYt+zgvOBY9=FInfXU;iaet!B4U=GD7IvB=uQBy0H5RR#PY9+U4 z@_p{Ax@B_PR|`I`rRJlEFeG-hJx#SVyP`fV?{eLbqMPA*=q^OX;%a5zR|Buv7AquJbI$kyHdj}n;b&hNeC-MwVmroY0llWqg8 z{gX2#hDcr*yax;e3ZjU~*%<{rh{w^1vkH1K$k3UVTL+4!&7TCdGIyVAWs5T;i$d3| zlIEK7zhR8X&@ha*rka{3aZ!H2^}y$GT*BojMi{QOjHrSuxXKXIbe(%%YL21UPGmBt zQ+kvug_*J##WjZEW^z39UDK|t2Bu|jH-<5W5z{vK!L(C#)Hi{tzgAxfxAxND7WcUt z$0){STqfj5x{&z?szG^C zddw)81w|_6i@F|$!Suf_Bz~SQujLh_=2NqA^|x;8mhdPQx4B;xhJpgN82Y@b*bn=~ zHn#(Yg$9|XAigIXpFv%*(F60s_W6M?_pi$}3I~Hyux;+J zd_x-Fq2k9Mcr$gpL=1VXHSor1lz3h8{I@iz6YdU;b+VFrC)UHY4LqVTLdCm@$23dQ Le(5fsTz&Wj%7nnC literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5$1.class new file mode 100644 index 0000000000000000000000000000000000000000..61e51f6190a3f44151c3d3d40061b9b2f9b87bdb GIT binary patch literal 902 zcma)4?P?Q26g`u~ZnIr&j9Tk=YqvIu&^3x6MEnz#R-%HH{GUv&n<}0*!rnC?g}2IC?qSCuKb>2y7oquw(7PV=YY@@5p3qC=*z)6P<@$ zZap{_depnefQLHK_K`rVH5Z~i6sYynG1Vb(I)H~oA5|;|sG}iJZMlNwfllZ}F&$C% zT8<0}GzY1YW+*f5;#sohh85VFr*YWjVZFRiigLzWXbt`fwr4Y)#J%>=$0{y+xFoPK z$Lj-J!Bv4pS#pMV1fI>Q!N~*nd|bzxhZ_RxCyo+e-D&4#^d_Tx!k&CZd10*6?Z0OV z_;ai8#*(LTKaO^UE=k`YgozFP)zN|Uxa^)9?{(&aP0b^YD9L}@l6=7w@ z(r4>fmO390e8I&}xb`p2PX_)fX;zL(XEY4LO>8hh6(Lhpu!&o2YrN?#wApKNZk4S& IZU8=i0C4}>Z2$lO literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5.class new file mode 100644 index 0000000000000000000000000000000000000000..082b7397e6c6381520950f2d7c5b286b93cd6883 GIT binary patch literal 1835 zcma)6T~pIQ6g^uiDK$c^`2B@av@J*ktf(L;6{T1N1)1S7Bx@Td&1RAm@L%bSR!3+2 z0sayn^u_Vn@orMABS@Q>WH)#3-Fxocv**jNkDmdIQow7Of`T|h>ZQJ=YqsuGwB^m0+z1qOGh7bCg{atEt852a-ERdKMXjbg zCPQ~nwfxL=N>*;0ZHl3HOSdzwaO>`h?r@tSABF9orEX~}e|#yrd)jiWV1{8O+d;O@ zch0Rd#EZh@Jz(flp&%h=M^*G7nM4MUK_Lvz*FY-Lg&YB{0a)Z#gF48Fj0!_Ck0yjhj}WB{6^@*|94O z$Ft>sKtzqDc4qg6&?(#{7PaL< zrjQv+Vj8ou^Y<9C9Y7}H$-|h#0|mu)Np@+WVjd3(wkaN1x-BXU^ZT^=V2UjSfg43H zkc`;e3vn!9Q9+5IhsAcF2`V1TYZ@ zq;XVIkc42~F>K+}omk>QRhTNCVU^*CUlrS-a4m7C&QNHAX%)n`qyn2H&rLBd3Mb$@ zf%Ko3Yt#+~wd6S5E84p6bDs!9`a|y_#8N3KQ9vp!1&S2Ei{8UfY4r%r?jjai`trl? z(3>B5hgAMO(r;)fhU4^2(g<=+;ww(jOa=mdIEhoC{WSWUTfL%ma&0#M7QG*E<`V`s z(wE;O6a8OpU^uPOC;A<0pwPgrPnh1Igfk7?Cwr=aN3GN+XhYx|M(`asXq?0k%;4u= zFlHkdsRYVcYQh+zQNlPR^Sq`>R7ZDcjB1b-b>T_4wu}`T<8+muVvS~L@|WTAnU03v D-_-A9 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6$1.class new file mode 100644 index 0000000000000000000000000000000000000000..329187d4346119880c8f964d9433ed314fc7ad8e GIT binary patch literal 771 zcma)4O>Yx15PeQUmV||dQpz_45g=`)t^xuf6>+IREeh=+D0jyhZ5=swwf46BEe;hD z2Yvwm3B))X#I3}V*PgfYW}ct@^Y`~30AAp6f||fnDD(~`#R6L9@j#K7D^aj>=6}XA@MU__^$136%U)u4wZB!9+T=_> zpnuedn$BG)s2qfu<-VTtob%l0oNqtBd<8I#f`S0Um?5fK#S)@s8je<(*)jPpuWN>7 za@*B1F0V%C6oeQe+xm{KS-M@(@|)Y-a2510T=&g|s90R9?7Eugw2V`tTGj0`Lyx;< zI?+1>mOU0N$ThW@Rd9`)j<`zSuVRkf%XKL$z?vi!SylI>6BZl=@7iiskj+Yoh zDN*LVVCYw&;G~?LQPGQV7(tv>aSDSB!I-?-pEYg1=2bU&{iVKXafX4cFm$V=*G;)@ zZiXZ^4CBX#8l9u$6#kwYp3B3ygewXzGmIX~sEVt&#&A+M4DLA5X@+b!%)~o~v@%oj zm6B92$}rp#N71dDc4f&ktun9oVhrO7qLg9BIDdOnF@YNlgSo}$>5awg(yQD?Dql($ zHeMC7lEHsrl3~PgQ$gY{eKtZ+aSOMJGE$Sr^KTg@Vr}*f4JYGmTMaXEIRZ_-B?&@KvJ#WPuZp)Ipar4}v=x911N5DON~fo3wm|D3 zjs1z6d+1Bt+CwC9fPoMG#dGu@_6;a8e8&*2r6FC%FwWD+Z~=o&SAyW=*=*ty`aa|0 zAx2(*#P!dJ9bmGtH?@!1eLOhC!fQf#9Nfne9YprA+yWdTH^2|XSpW$dZ?hn&J=6w1 f+XN5dIo%8(iyVz1DvdR~pxFTJ$w1_9p)vddQB=Oc literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7$1.class new file mode 100644 index 0000000000000000000000000000000000000000..de9cac81d3ae8fea5e5f757f788b8f8504162518 GIT binary patch literal 1023 zcma)5+iuf95IvKGx^Wkhrlpj7OWigX2@`mrQV=f%)K;N=2+I4$S-FlJZ{xWuj1YY9$uPy_1rDE3$ z0~Mw2ajK@yYo}|WLa0yVrF26X`R>_hqP*0?62ZNZ;3!Qm2ASunBsr4NI8-rVDLoGo zr^~tfH)3bWdklCJL_zwN&}&xkiqPn5PliJo2gaT|D@H6~zer-I%VMo$_FO`1u2yS5RIY!Ox|2jle@lBZI6EE6 zFjKwO(8eYnSh!EvDNqrChj>I-mU&s77lf07by@s~o{cBivhb9!y-ouyv!>^*eix1*aMx#p861&hE~l4JvUR!?S3D5p-zIx|ESV)Jr-!0S+LY+ z|vkJ3QtoLZN4?wx5=kjMggxsyFUW( literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7.class new file mode 100644 index 0000000000000000000000000000000000000000..c02cd8b3a99d4ed7b3769792b840a03c80561f30 GIT binary patch literal 2093 zcmb7F4R_O27=G?rnl;PTS~pNc<)g#412Q&oYWNW9=sLT#u3KS%VwPUIaMGmaW8)9_ zf0QGI1Lyby{81dUf;Or zwA;GfWJvhCrk9Z!*+! zBSahBbH2e4FFH-01Vc)JgmJO^KtU3+j2J#tFo9`?SWc*>DyGfXgZ2)0H}xHhGh`}` zp<4~zHN|`HFfO2Bm>r&Kc8Q9U_%m(5cC0+ACj1Igh_)35zZ&WvLZ!SM3tYmzRZzX*5FBV3SDbR488iP0!@ahwW zi-$pon5yNE;v!=nH$}(J34Fd&a2t2}_)sHyW)7pAMi^aqB^hqLZA!|^VJ<(h(ZR4HZOiS!w!b4N|+YJMCBd^F{< zS7p>t7np1^8#eP>l^&nfO|ee={;2qMs>yaJM|!B>I%(H zi@Vwb5#s?KNq9(Ug?Dl+E&7vC!B1is#dpmn&7K4D(+nPk{GzbId4{)7Jz94H*WhUR`QknF2o&7M$HEstC*Lo=T3*vj?yVInPQtuN~ zbZnnL^M(GhkP+kzO4+u#TeNh~;~vh^9FEa*0%Pg47|cLABgQg)=VJ6sKq2WQ?QUQ! zJV_PiUSO(l=>^h-m&p7}tA%dMelu{{5DLsy#@wk`LEUhA?6C&d8w25j;h{IkzqPiG<31vEV UXpIy74LqS;hV+HG_|>B29fD&uwg3PC literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8$1.class new file mode 100644 index 0000000000000000000000000000000000000000..f9fe4dc47448e8ad5cf850a8dba57c452dfd49c3 GIT binary patch literal 1023 zcma)5+iuf95IvKGx^Wj80+e#?C2pIGgbBPv3gV@J+A6dUL3!UeE7y_Zt$bX z4}1V0g_w1Mka%dk(rS0cbIzQd8UOnI<0pVu=vXKb_B=gv{ZQ+Rz)M{J^<|*0RP1_T zprX`0PSwomIb91CLTxH9r5nn~chAOC<)s!@2=0vpM`?O7%sfve$&rjEp^6DB>3NVi zUCuqY5j#)bXTX~v3evZPX0s5YH6m0F^+Z)cxGi8|)kYcX0#(!q<)#T(9|Vy)&1Pd2 zf0E-+5$Xf&$#5j&z}O3C#fT*w6iMuKS*(@JpG#;h)N1XA%Jr{Ocbe$vZ)s14XQv|> zW~$#B+1SKm3y%nm0u>Q>f~SO4nU~dhNjNE3m*tP>+jx#`3tNPprBVcTu=`I)k1!}8 zq(4`&yeiyynOBIgUkpRAhdPTr^&v0~t(pmXVWyVb{XX(Sodl8pQKjd4BG59kV5!f_ z%Tf*&$5Eu>!%!xPO0dn7Q|5gORI8Z*;$No3y9%4VYkcdmZ9I0n^9`c?9e2LuF?WqG z|H5e6LY-~F7~{Q%`+O1}U}M4ZZowkjUm>pXuyc)P|MAc+)~J#5Y~;LR!DDzEaG0r# bJ?1T89|wF^c$%7M^R3RlO+L*s3V8hi-qQmn literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8.class new file mode 100644 index 0000000000000000000000000000000000000000..9a4a1041e10ed0083dfca8d6c603e45f05a330aa GIT binary patch literal 2094 zcmb7F4OiP#7=AA88kz;Dl{ww!*hj#&YzqVD(CovlvQjLxQm8UNW=QTzcG9Fa3G5H} ze{{!nJMJ8RfIrIPdy`^OMq7JMdT;Lg{oMC?^XFf`{{dhTO$lQRS52>_H671u+orEI zm-cObz&o1h*xU`Ya==^avVnk_(-|iB4M%Nz?XX=lT<$OwVzakL32m+Rk1koK?%1v!++(Qa zMu;}L=X`@9S@bNP2E&vB3FBh-j)F8~840|r;54Qg5;>tdRk2;Z5w>=DXUo`iI77DL znTFFaI<|Q49VP`d470;iRhOwai9hFN7;qWq@u7qZ43~!@s^B7K7{(3L^~q znfwrF$}OYG^)xQys)Q>H>cB)Qo?+Q;Q-O+Ef@piQA^_>PR6XdBSeNk;@)B}~eR<-Q zN6{4&Fi$t`^I*F}eR3vu++)5Wu)40`2DCm1iwu?j0m4c2C@nQ2y66&aGMxQyIS)hI zv3MtqCESwmF{3Uu6|#vsmwy!w=3 z?kET`Q}z6DTx2ZZp6J+lfzRg(9^hdgAF77@49r%H20dREe!ft!f=6@_M!U@g;VOP^Fv$FV<(6&K)cx5*iA=#y1QTmbX@~Zfx?OLhc6)rMFZy7}nJwXxGDts;e|S z9p2F&ix`jborG^Gt>{utb1=UECYkjjL==N&{zu5&kJxYa|sUl89HA0CUoO1*DT z(Q^a-JP`UTLPn4?C}r2>ouXs-KKF5n262L(Qy9x+#AF6CSuvOCLzkfEG!&9f(C#kA zqLZn@{7Xz0uDwL2@Cw;qNi>Et^e@v2QkL0yyhl4>2u$HD-jB{dz;w^m&lFC`N`>Dr z`5Nb5;8GWJ@yoS0SlD@i#n-s~3U}kP`&|^Xr7p@{RNkPrLvc3~U2Kyy)5T6dg>y(z z1{X2GW}q{b=skn`Y?c@{cO<1!oKj{SKj29(rCC}z{20j$ V?9!Sf{+oD8yDaGobMdRi%ip0OHlF|h literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$9.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$9.class new file mode 100644 index 0000000000000000000000000000000000000000..77c496c5456c657794bc3a5d5960eddec67e63b0 GIT binary patch literal 1291 zcmb7ET~8BH5Iwgol-AYOs`#x`3Kme8h$dnQFAYYLf+Qt8nV9W%vb|(`?`A)W{45hc z5+D2l{wU+zZLw-XXdgB^cXsB?xie?>=dbTS06fRjJTd}{uI}5OuXP~Z$o4h{l1?bJ zU0;%l?cJFAwaq+o0_9_8;Ml&SJo{benA|vzS%LL5U2D%L+dGME8kjU+d(w4$JL)+h zb?v6FBYNwou1}%BY}}JkZJkTEF09?)@GYriye+U?pCEqaNFdkLT`EA}vV}b6ipZj5 zp@6bLwr&DSEvaZf>31kRbUHo>R9c$(9yy^j=aDmKhzcxST(-8!MDtpu7ZunTF`c9> zJEma`!>Z7ho^s+OWIi9JMc5jW99K-D@e~tjALt+n4je^(W1FkZ;SP5;&_O`mBJSZq z9`^;R7tX`NLo9FuL+a}Rwc}Ht_MJWxzEN+D_0f()sl4=3GpQh0C;#(1Uns+l2+aRG zlhfdAF7KzrnyNPf#kNjDm)=MtjDp#KXXa`G!CzM#u0UgQCL{Sz$)&WTTwWgT<{rg8 z-Lr6_FrP83mu1zwpfKQj>J zve_K|O=S2fpvc}!Y`x;M@f26rzQ9`jhAW@an5)K@e&KBK0u?@6oMXJ#aGl?*5X^JL zO|~<*m7*Q8HAMRit8)7*?i#c#{-B9X6vXQk&E$^Jj8(-WMqOm@S*0p!?8#v%t+70+ U^%!+N=UC(`c#>j>lo^}90fG%<00000 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item.class new file mode 100644 index 0000000000000000000000000000000000000000..3d90297b673b2501308dcbb8a14aec49feec6b14 GIT binary patch literal 12207 zcmb_i34B%Ml|LujeR*6Y1VN)zqe4sqArLkph(f{=B#QwOgVuO?@0vV#n{NpsMY~y- zTD4ZIsI7Zls#Ym^L8+E*TCHteYFDSTw$qvEOlQWKb~@we{LgpqeedSJm*mNBQ26fs z-gnM-_H(}T-B;g#{zW2c;a_T0!gNL;7HJ*|$71nNAlW>$bR=Z%H51K&aLA0NnmbZv zM58jMv(>U#Y$$9t5A97gr<1uw=}>c9EE10;Ln%|E3Z|u=#pa0M3SuK0?PepnE*$QR z0n2718Vs9>q((lbwUZJPj0S^da!)E2Z*I57_CzcmH+F^1{!nnpOfi*320PlBxPwWH z3~mpl!X{Jo*4@U4(Hu6SL(SV#iBNQ?)%tlj9ofZH85!&~lcB53AX5c^_Qe6?iwyP{ z36RY+Z|kH~tqbo;M}Tm8WN>RJy2lKv38rb0!M0d5WrU(;0`i+2$)=@!O76e|aylR# zAO#;g?f0JHSSqH-lXXmIO^!|$0o9Diph(C?#`4MG)V8AYabUotLoOn%j)*Y?>CCs# zOlS^jnGGg7*lO%D!&8H)WdN&K6N-jXYnjsZMbO*oC1!Ur7IiFb%eL;W?p?dhK+0Y= zk)>xf(9j1nYKsL;Kb6uvooZ=5Q)zueUnN0}I#tt5d1}z<6gpL&7U(pKPV`d~HEXm8 zTuy2(&OSOVrX?^#n60JK`SlHxGpm#;8!px9WU7&;0WR+HCdHd9+TW^O??^l=U5{P&ld6dTN7Jn^&e1 zMj+Jzr)#jaJk>r89m4Ylohr%iqfJcZDKRdM;O&;sC±y`MJI1v+h|PWWe1g#yI_ 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 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseCallback.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseCallback.class new file mode 100644 index 0000000000000000000000000000000000000000..78d986d005c50af63c248bf168b706a424b51373 GIT binary patch literal 260 zcmZvX!A`Bei|>TMdnK5XZwsBj>bvGp)$+u`gOx)p`ql36-ll8NYE#Y za=W)iZ185C=Ikm$qTxA4jfDHj>T-U2kJ{K&cs|_`h8lkV5vG&XiLUB}jc+QGmm2=E scUJ0iajSK7{E`V1#{YRebj$&PaMkVudadR)2IzDX+_VYdw#za60pDaur2qf` literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseTextHandler.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseTextHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..05ed41b1e901cebd87a78e45f9408ba5b7e6b144 GIT binary patch literal 2246 zcmbVNe^=917=CUWxHgUA00$M=9HMIr7!`&{nNAVLw1A_mn{J++G+awCBwd<<-^jl` zX9Itn;|JJ>ntN~3A8D<~c6yTDo4oIHpZB@Xee?G}Z{7j8jwc*3hFR0y)62H&RxGos zmuL1ZaUeY1v@PNI`u)Pj`lhH>T&F6w#B+buaJFsXaVQLDca42Rw+*MPZ2vfl zWCJ|cE!#pbANcx??^haVo8pg}sQOEWZI=x58H2j_duuY2KQWa?QjVc_(Q+*R7Qd*OyMOoT-r&ygV^o|~fLTdu=!t}85Q>pBg`Z3oHv=gal*fo)pTYOc+HC!hPwX|c%e4tr(fJ~8N zmSLcagH+65PM(Szbg;WnjOY+`9mh?Ep%z|P(A}D4ZwpUF4&QPtwl$D2Lc=ZGCaL#j zVH-~wE=Si4n@p~&`180UY2GDUMN=9|(w5)D3deF=nad3`YWQAm@hRU86I9IO2Mzb} zfclG3sR)NGINc36B0yV_!)sl-kH^04)*1gQ2HBv%v_J2T# z8cRa%dteq)v=g_xCm0yHGW)6ECU;sTdY+@tPZxaZ^=n2YXpAsnC|2GT^ijrHLI8EXAQ}T0q#5Pm9HEjb^k%4zxkfQEGnxGpeN(S79779K4FCox zaWDY95Qa7ZlNiGn1Vrih5*H|%Q5oYQG#f%M6$6x}4smgP`V}$@id-e7yoMgb3p@zt zZ!z;ohNP4ud=oHufvc@oZ!sUdeuaf2e3w!Vv2=*lL*!fWFKOi-Dk_Dw;D445N<5Hd zJdkmio}MR;BNQ=8_c6>8?>XWuWtUQ|lHkO&Sy`!BSqU3>7~ns_kJu#KB*|RB7D+uq vYyN~Hjpi^(qn~N?3*n3*{+^anI2gwxjtNfff`)64Iqpr7Jik&<48Q#gC2d$O literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Loading.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Loading.class new file mode 100644 index 0000000000000000000000000000000000000000..a193937b1c69e4a7726b91a6fa66458a06836c38 GIT binary patch literal 2440 zcma)8Yf}?f7=8``7S`or3SKBk71WRj!ArFoja(Fs2C#xq>_wO45LP!?nruLO{oa}W zfc}eCYhdb3KejXdPwn(MCu@>YNBELGm-ji(^IqYve}4NNz&U(xph;jjKVB}?MU|bnHmf4i_NsLE zMrbo4TJw*l?95X-z6Zta#o4s-<0?Z@aQq~_jf^Y_G*5e3Y2ZD9!@J#{Dm!jg7EScx zuz^DY$F$>hFEUY7>LtxB83tCOC#+ABmb#~5z zfi{7zv{R6C<@~BFF50Uut0kQFGPb*97ag_NhbBT8H*iT{Xjcy2R!Jr<;<)0tVxb+T zfvbDsbUm3!U|iv@TQ~sAz@)&5ck`*TGBHtw-LTMs&Nj?2bwOm+-E9jgl@ZI%W*7YD zuAH;;vJH0yIs&UvS5>{DpS3WjZA;Q`u)Wt{>!_YmF3z%g{dK3rJhJ3cg_3Uq7o=-p1rOOe~V*L4@CltI>lR0dr&gWJ-{t^4XOr-*4A z+b3lzrAQNaV&SPuhC#YT`HU_bd08syk=C+RG83*E#W zgJ2j|-qq2*W-~cY@ z8+FUM5Ip)1-H0J zhVN96=HhaAzJibI%qO&KeSEuz4j#e)HAFar&!Qh!xSQtCRcfp%H|}fub}V2q&^4@Y zfaVuC`?J=qJZjaa!!=I?W-t^W{$yaAX*0Kj2TEiGpK?{fqigz;Ne;BQ-96c4KR=PI zI#j~@2P#;L{eeE^POJi_dY%jobdNsfmGUX1qZ!p{itsnel*H)K84O|+r!dBU3C3A- z=a8i3EG}t%(W;ujH|m0`^&iAFCg zU5RT!sJEwwQogB4^8#tH{Y$H>IK&shmW7M3cwd?Jv2?vSCgPNxummM>x? z@dx;$jJI826QW|8&h5THl?tchYG{&fjAO@7HJZ^**lPt^H612E%C-AS_a9n3nF9XIr?Sl?B};erH-N6 zQK@oWhVkb5E<@#oiDeDrnD*gel3^xPsoc&F_oVHKJuMmPp^1dv6;>7Vv&D+*tBm1M z_&>7S48BRXOq^>O8WB&TPMHsdN^6+MqK5^BwM+W*Y;^iu1@DY;Z$&D#kDItf>Jv$a z*=UBNV(d7p(xkmUlr*Zu-Bwwkb&HS?-ZxxPW z863A!R<6sb39oT6Dkkx`s@e1h7Sa@(h|S}uCHM&JJM2VBPt&FIElfIpx@bijQ5 z#y8A`PfoG)v3} z4+KBtc_V8J?)b(!_rzPiw(kqq@f4IZ)bE)GreT|oWvp%Q@vP4f&21I)7}zF*n%i12 zk6wu#f0qJ_4AntkfeUMwvMZ;ABmBqIc_0<^c3sQnhIQy0d!Fl@bzVxZtri<32Qv)i zv+fR85kaj66?F`efx%1^4OA~5U{ukFW(7?Qz1OO$;Raf$jKvAl$RS`B zT*+n?7=|=dpfZYK;+Zp#whrYeNS#JBjAD!i#&?S%Gc*zTb3UQ;D(>Ndg8K{&=ie3` zpIbby;UOMTiG4Hgaf!DXQ&iFf|1l2!M`S^1qH|vR4aw z(24}wkVHFH(TOx-c#Up6rR-P{9G+o@b_5f%cuvr3v5Yy)qYN)7+Jwj-Diu+{6f`R2 z4~)vWSwK9bY0%0jvqDn%Krdwhq{<-J7qrrf31KUSMJ!Q7YIO1N^yR~eD-SPUd3fUT N;gKs3rviK{e*y8MV@?17 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$1.class new file mode 100644 index 0000000000000000000000000000000000000000..bc8f7ecbcdf5f211e574ffb5145949522c605536 GIT binary patch literal 1333 zcmb7D+iuf95Ix(Zb>l8=DCK?&5FnRQQ%Wf`rBuBjBBg*tiNqTlXXChay}{nJpU^k{ z1qn*U10TRgA!bdY@`Msg_IhV$&Yqb$^XvDIp8y_V&B6#n(N+777bw;7-PrLK4t#ki zBgYMV8EWT!Cs3mK(hp>Q-a?uoyDJWa6Nu1r-ZXZlt1XN%EF~aHd4Y7iL+yA{L~$RZ zt#v1opSm*E&f7?Nk&NS4B5VdSVi?nHKh8fS9<>39R48c04}HDLFk2Wns#s@8Z>Xls zfZ+^>g>f4xOmSq8Wk?l_!&J==GhK19j34yYlOV%^3iT(NMOVR6{1ClDN0ag8D4NnNAf%4U*$)xh51xM|MD z>1;=75!kqeI~Hy;+#j$z9C_R&1mU{WX4BY@L-c6ig7z!9E~3iV+6U4zJvNFcTPQJ1 zo~m?P=r+eJ9x#lyNam!ubYZi&X~O|Yng}iom|FgyOF7NY0>eZsb>C`mt42hl(sYW3 z;%_!Xx0rxBt^r`1q?&iC8@bXJf+x9fpw zFqHnUwFWsk#*?(gz^h>>qm4ksu_TF4^s}QvBS({yqIVQ5n>7POH6NijLzO32`g=-y zW3fx+Z{VfxnEaCXoHe%O#6-6+O?yr;#(EAjv@)E>g&s|^sJ;4&ONfBR@!80t= WnkKDRuu6Z^WHa2%_J(a_NuKRf;*zd4?}n>Ha0F=UdtZ|6SeoaemU{Qd9me*(zBS1`bkGQ_S{ zwuEp@!_&&Mb(8OLS2HY=+rIX|v4mc_V_JMXqaeaCQq}9aX6bfW+bCAKK_JH&t_C1N zlr656_k69)b=Nzc$Skalc}EfY@dcK(5369ZTdGE zrjvc&N);F)OQOVwz%Z;rK{SRzoK!J{5r)B}6gZhRZN6UHEpm5LFIt=-o)v~}6?E5> z>*i)e8qF}(uk!H>866jPj(d)k3!FD8so{%=5l$+U3QXX_dGuZ5UJW z0mg|rf;w<-lRx$u&LmUW&Wj5%OdzRX@})!yK~D(7RpT4m3=_$=`(d&zbcIY{ zT1N2_!`b#LA#A`^0-B1;_>fXZcN}gL^B0n+yZClsTS={c7EB#05i zWEVq@*bxx1h))$P(T$$kT2-%N8F$ED-7vW4jT3?M6xLoDXUTf;xLc0hINXR%XdYcFX@h7bE$T-y^HJBmL63j3+_I0 z3O+xGRI6gEp0E#k-M#$A`hDts+*OgsCc`mDt{AR$3DFTEJCO>q6awA~D!#y%E#77s zHeQFfp5eZ26>Gbs<{`dT@D;<@|4Xa*2H!HA*rrD8Rd^}P7=~Q`Ms;RUcjr@uD86Sn zz5LkVj&BNkl)j<17>bxzV9;r+&m77{L98?CUP|-rVYt$%@|Dk2TdSnbJy5MvH|o6H z-Coj3de63H(4j?yG)&#r*jdw^=0g(82lXM}S8AcHvYU|((ay4MSi+-@yT<*BD5-b^ zmmyXQUgbqg6dBUJle|bmnv|sSr@paj+uU8UbkE}+MnP?#e#gK@M&yG?e+vfaH-s4N zzCp7&TFaeSdg?c*=@&ThJdimh_kt67+d-VxD&3L0r*Vcx;s9?pQT{=M^Z-w%8aQ_f ze?7xw{M|p0*rN6O`?&Z5Q}U#N85%MTTxno#9}DSUq3+{$IIJ}ASt!1-7VbQd!*l~% zzhGi5{+-05l^){7O9Uh357C~JF}F~_7G=#KqyuAt!!Nc|r$1l?Pf6lODuthD z^>g4@n#?ETn~urZHp+yyLZ=m&M8iYEs$z#`7D+}iI8#+n93wruv>t#BL1Tnkl>?7v Kl3qy`ef|TXxV!!U literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$ProgressBar.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$ProgressBar.class new file mode 100644 index 0000000000000000000000000000000000000000..d01d465d9214490bb26474b9a1b8cfcfe093c5c9 GIT binary patch literal 1238 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 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Canvas.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Canvas.class new file mode 100644 index 0000000000000000000000000000000000000000..e3224e8c069e9c56a692a4a8d58fc2fcaea1a644 GIT binary patch literal 1253 zcmb7D-A>d%7(K%lcIhtSB8m!%;9qwUimZwW#tR7`1aKn+;+5%^u?#8grY(^86#6LM zVB&=j;6oYDOcxqJbhTfhog};~S_jh41O_%%Hd z?7x?m=+@?mU3vQ6BrdBklL<|+@d!>4j|FDCIgyLm71U7YC84UkoWL-By>#kA?&1glK zpw0q+*&f_NFZvi2O;loRUx>@R@Rq*xWDJtgAPQn{{X4FHGbuwHZ59GtQlH`)zbZKi z!?+HJDsEuJ;7yj-@okKDaLnKx+%-6kdj=;uIEnkLR;8a0Is$gNhsC*aeROR46c0}^ y^{rRx3KYddGn+T?%;0m4WWV6pgZV!L9WQ(U literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Factory.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Factory.class new file mode 100644 index 0000000000000000000000000000000000000000..8431ae443a5df5b36b1a3c780cfed4fba968b141 GIT binary patch literal 920 zcmb7CO>fgc5Ph4Z`EXoXLizqK9MYi1Ksg{%RZ0RCMOG`}H23v(Wwvs?)n=WFe+8#X zJye|eQHZgfNR{A_UcB?XZ{N(kncsgdE&;s7%Nj}yuY^AFqFC!wB_>|9HC6IV8c)PZ zCe{-?nevIZ%Z1hEdkvNO1FfT2deIqCw2^cA7e3{IFzVDEgvU}?hUUOO7z_^g{Ewf$ zGPL|-Vt6r6A}_E;B~g!Id8m_#<%u2hIF)rY7*<1Rc{hx87^W&dl7^u=?C+2JK^-oM z=GR4Sgd%D8as?q7y!M8Fjg}~Xbz3FM?l6?w8)JsbP#;MLW!!SHf>nkUUnO!sJqe{5 z@i3+wEnf>BkGWA9p8c%YZ)(D@dClyuFp^t2%#CK~E?9oS?>S(2=;9F`Qy+yAL%;p6 z%`;OL8(Xi2rwpA%Y@FBK2vn4Cn;Np`^Y-XN;lhIHcK%oJXhgGd0-YKmcU5M)J6pqU zwnTVCt(R$$OSq3ER0-8`R443Q!A)A)29|MyZY$YDiFuRaEjk&UOPzDHe&$ct=6-0=iN8uuCLa6& z{wU+@!hu9DG-=;V`)1zsegAxZ0cc{^Mv9^71ryg-LGUa+j3S8?sT{V0^$Z*}Vf2CEZ{go8Bl z1!Ukb-2TVxtt#D$dvErn7WdQ1P=t?ss02f)7kFF^cqrq1acMT z+!$fn2Vi7Zyi&9?$Wm@obO9^5&mA7^vk&Cn6UG{yPQt7Zi+WLBAOvz)#|9xOVr$Xk nm@s}zmx^x$Da7Tm0I;`InqHKqv7NBW*dd(DS1588ZP3OqH*1>X literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$2.class new file mode 100644 index 0000000000000000000000000000000000000000..de43b25f3bfa8e8183b35ddce869901946e73463 GIT binary patch literal 637 zcmb7AO;5r=5PeGvl!_l9;)O&H96+NrXuMzy3DHPWJ&57HlucQ)Y)xA*@mJ}|#DhP; zA7z}@9!T`UCcAHD_szW7_x1hp37~`BB618JFPJ&L3W6u;MUH>Ekm6Z{j;Ey1vEy;Q z;E{7LBKab&rHVz^>=a=#oUB^MP`Hp<#+MBBmix#T+)-Tn&M*$8_Pc}jh{5a!6Jf(Z zsf;{qhMWJG?yAz=r1z#PwYZzl#v**+VZs2h>;-O6P?9z;sAVE6Q+#$14Y>eQW%0JTL=mxE)GZ-ELnUi^*T$sjh4-#O>@*YEF_0P=VxV}N17Xf?Hl)oLA?hO0G}Iwt?j z9nG*zZhM-c+a2B2cDZYQ;hU!AaYsgoVdPNn=$fV54XtFin+)=H>Gf`@y2p^O^jopO z5P4Isltl@Kq0;vL)^zQ4WxrHqSbBe}az)~Ao8Bsel*!f@LhG#$T*e5|>zCd1Vg!Q< zh7nhhz#WEgu~#~osob=o>N%#}D3r6cC>X|73?eM!?ri|`5y%RXh>J>-DrAJk+kF)g zL>Wdarp>q8%>(Z2=?4~PNK{&eZq;I(-RUumWwL+MCRH8X zYIBNR&SY=Va|JWV%E&Op0zEl)J>FE2!z^*o9Y;SlT1UqWxnSpZ4i35D70LltS4Y%M zS}mX1&PRsLU|O%?+5Y!K^hQ%LhXtWF0K0DKu3HEkTw~m566;P2`!<+&HT(XlWNQjd zmIkF%TW!Y>SB&Nv58k(VflckJnhjg`+79_Q0u%+GV*kLaq(Lp)Hg|l{+})TWA`<-= zq_qjLy8v0*JRp`5dqq^hS#f1`{6JfP=@kCvp1l|~BVc<6hCmu^`PW07J6CpkBpKEtD%qWtAOPV~#v$?P2=~C)eW!F@q zv?I@ZHF6XqFqH($on!td*njh4API}Tyct3kjp|Cs|69TU1xQ%(iM+tFZ&&b=Y=U5i K$zqM@ckLgF=VTWE literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.class new file mode 100644 index 0000000000000000000000000000000000000000..b6e58e1deb7cc4d44f056aa04deea19d67fdd6fa GIT binary patch literal 2043 zcmbtU?{gDX6g@8q-6q*KZ7A5FR1jM7qv=AcA_gnavsq4_uTjQzkmD*U>QvV34xn-(6$^e z2s*AESMW{xTp&z42);+0p<)`6u8nWYH0W| z?>3~ZgYcz^4{=E#OU(EENK4F zL>d|Lq2c;!tJ~gD;rART^1Bh((%Y7y%isMUQ~IeJ3EX;{PV*3OKII^v*}$)d(pmSl z3I(qB^D}hM4nlPpyazNmO*?cuIv$)_X?q+N+1R4tscIRLof+J~ih*T;t0R3lwSy); z#wP-%Y_*#DrKh%Jn{=NmHikpm)S>G;#FZhhZkqTEx5)QMX&%}2-QC^<|9qnGW33yt zeKcLKSNY@U_EWL>_MmJC)J)t)m2QP0=61Ya| zc|rvykwT8}rf`;UFVb4<{jZ0F63X;Nn5a+%)K4s;+UNU$D&t*+@~14bCl?WVAuO}5Bu_Rhje#FNG5x3 z%@fH2sVW{J$PEZ`F#$oY4S;{5bL{inVfppV#lJ8?G}DW(@KplL^N__PkNCDo9jFqI zMPio8x0N2>r5I_zH`nLOQ13ReMG_tn&N#$Bm^JVX38mDM&S{?Sp5Sk3P2ju#07=0P A2mk;8 literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.class new file mode 100644 index 0000000000000000000000000000000000000000..0f3950bb7e89056841fa9d9b23eee72b97bfae68 GIT binary patch literal 1077 zcmbVM+iuf95IviQx^dj54TY9_TSCYMx?CO*3PM2IN=T+Jh4!)9#4EGlcq7|!z6%Kj z!~-9|MGjrCze*gFh;0YdE$T2+Y>K^w4t^2AQbN^|onj+zUNV#-9`2=LeJbL8SXfDv%cPizUAiv1C|&p+c3sWN6pi1uE!^P9V>e=gXv3 zKV`_bwI^*Xq2S;WmTeTVYQbS>j={C|1Ihhi!UypMxib}ddRRFYsq#glBL{0JF*pSJ zfwsN&sRIm~wYvLBq=E+`^!Z5=snBoP*uZ5AWrp?HH3ypprI=_}QzzR*w*ZE#4z{q( zu+lr9)Xh+xF#msX1I06bHm>8Qg&Pc&Ib^2$9o)ig2AfzM2C_HiP$dp?a;hTouaWL9ZjD_hw2AWmk7aa4I5Y{4AJH zJ}QEJzR2{A{#w*ZF>U3mMPU9F5yMg_Qd8^fJn10&L=U2_G{=%2W-h|MNg&m{4MUoC zAmUiY7C6K1oQ_YV$55DxkGf7Z(8UCD^hF{jYmwI>-^8~Y&2L!w4ts?4ca6qZTp8io z2zS1WGwzZtBTsgXa!YVXpj#BFP-JJ4k9(++M@YDj8lgM%)X|{702PZpTFId~wh!=- N-bM~Z?Bfv%e*k3eFGc_W literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.class new file mode 100644 index 0000000000000000000000000000000000000000..b7717c7e89ddbc99ded33a9b0091af8bb2a2591b GIT binary patch literal 810 zcmbVKT}uK%6g{Jsx~`v<_Wc17YS2PGL>LjNL14WU_89B#uuZLw?5_H|f-vZzAJC7A z?z;9tL4hxK<_!0qd+#~(`u6++U>ECAgcuGC+14yu%C0b6&D!e=KH!dK*n)RF&Fq*a zckeyf)oQ_6b7c2a*!-*>MTB90g7OpH+sx!>~CT?Vo%V zIm|F9G)vv)Z4!<;6-$5h8s}9MnsZJ?9tDP^ZkoQl^*%AUKE+Q4le`)`^FiS6o^FT^ zzv#7F+_~~)VaPS4q1#Q}5k4M2M!Z`=w3SKZ4lJ*bnEI!f$CD6!_l+dGls(7bK08DH z*B9Hl)B8F$NTV=)Ss+9=GM8eM&^h4{o!RpC6Jq7^Ba|UhL(D#mQs*hAMul-IQjkFc d3-p!`im-?!LR5}rtbj2Z00qJfs}w_6dk0?!=HUPU literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.class new file mode 100644 index 0000000000000000000000000000000000000000..9aaaf96ddffc2928849652831b113154091d76eb GIT binary patch literal 303 zcmZvY!Ab)$5QhJ$wQK7^@4mqH(g8gd3WefH@F3{HQ<@ARHExzowtY7bK7bD;Cax$H zPs7ao!~gyB@%i=+;2P%@Mue3PuWWq?t<#b1&ECmDI@aDvlh`!INPJ15<;_qxU1(di z_44G5l~iF&xZJ6|Vy_y@_uHN5M7YSiwNAbAgN{(w^Sf`a5Udxrhs1sSbLt%r$|YfH zvdOLU5($g?`S{F=>f$fq4_=Wk=Z}QhL+Cp#r6*kdPrWF>69VBRzXBNL5T}@+gsE_r KCmEv5G5Z3~fm(3@ literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..ebf79bbf82a764c93613e3b32d871d02b3f8f2e4 GIT binary patch literal 790 zcmbtST}uK%6g}6k^{X^1tH<87poMyfup&}~KYYfz_eZ4 zmi}X)2WG>y8_}{UtU!Cu1`>o~PmF}=2)Aoqb$ZeY2&rS`s^F9muTA@gu>Q>oIRjV#Sa4vjVGq6H9oLkH6`KEGsd_}B=<69%t|1W}nB`xkFNrbaS zH2oe5A$zTdo+ZOp3FSXd*$YjAZLlTSc|eR;Yz2-6S0-oToZJ~B{Wdwyatx2b7jhi) y5rFd&SA=C0IEI%`7!l)~`9Se*cZ||27ctBTj0r(G0!;}Rj&+oog0L~cZ~g#Sz})=+ literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.class new file mode 100644 index 0000000000000000000000000000000000000000..b31054d1691cb3dca8a8bf8bfab24ccbb96a97ad GIT binary patch literal 839 zcmbtS%TB^T6g|VMP*4yRap?{;v5Brs#Ta=cB*cvdA!X$!{qQ@SG2#1HVJ zjJK2o7cLYx_c8a}b02d*K40Gf9AH~Rg2A-Z$QU|GdD04u;o(Gz2jLr*BZV6pwrkrW zxDS8=l)5Uvf`O5R6 zwyva2RAzk{f-@cnQ^VR{7P~0lk&fuLb(F9kt#E^(`TsHKXR`bz9*W^~nW?_7g+aei zW8V@{vkcWA4r~98PdIi!he4+bB*>zJAgPgOkY=RQyHjLeW?`LV6b2>aNfu%N=@s%A sR#7AwB{v9>Af03VO9@-sOJEC{q2K_v#w2?&l&REUCMYlg3W0afAeng9R* literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/G3viewer.css b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/G3viewer.css new file mode 100644 index 00000000..e9b7d304 --- /dev/null +++ b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/G3viewer.css @@ -0,0 +1,44 @@ +* {padding:0; margin:0;} + +#main {position:relative; width:100%; height:100%} + +.error {width:300px; height:200px;} + +.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 h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;} +.ialbum {background-color: #e3effb; border: 2px solid #91c0ef; } +.popped {background-color: #e3effb;} +.view {height: 100%;} +.DropZone {height: 100px; width:6px; margin: 0 -3px 0 -3px; padding: 0; float:left; text-align:center; position:relative;} +.infobar {background-color: #fff; position: absolute; bottom:0px; border-width: 4px 4px 0 4px; border-style: solid; + border-color: #d2e1f6; height: 15px; width: 240px; right: 50px; font-size:10px; padding: 2px 5px 1px 5px;} +.infobar div {float:right; } +.infobar a {float:left;} +.loading{position:absolute; top:0px; left:0px; width:100%; height: 100%; background-color:#FFF; opacity: 0.7; filter: alpha(opacity = 70);} +.loading-label{z-index:10; position:absolute; width:100%; left:0px; text-align:center;} +.loading-image{z-index:10;} +.gwt-TreeItem-selected .Tree-Album {background-color: #333; color: #FFF;} +.Tree-Album {padding: 1px;} +.Tree-Album:hover{text-decoration:underline;} +.drop-target{background-color: #91c0ef; color: #000;} + +.popup {padding: 2px; border: 1px solid #91c0ef;background-color:#FFF} + +.dialog fieldset{ border: none; padding: 0px; margin: 0px;} +.dialog legend{ display: none;} +.dialog ul {padding:0; margin:0;} +.dialog ul ul li {float:left;} +.dialog li {list-style: none; padding:0;margin:0;} +.dialog form input[type="password"], .dialog form input[type="text"], .dialog form textarea .dialog form select {border: 1px solid #000; padding: 0.2em; display:block; clear: both;} +.dialog form input[type="password"], .dialog form input[type="text"], .dialog form textarea {width: 100%} +.dialog form textarea {height: 12em;} + +.label {width:90px; text-align:center;} +.progressBar {border: 1px solid #cccccc; width: 100px; height: 10px;} +.progessInner {background: #34628c;width: 0px;height: 10px;} + +.dContents {padding: 2px 5px 2px 5px;} +.dButtons {text-align: right} + +.hideme {overflow:hidden; width:0; height:0; margin:0; padding:0;} \ No newline at end of file diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/loading.gif b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..8f56a82c5affdb847bfb319dad057d10b3823cd5 GIT binary patch literal 2167 zcmeH|XIK-~8pk8ZZ7+BcN7WXvazVja3_>Fa1qTLXh|HjXjGHJk>^(w&KsHH8AYmpX zAz>2;Nh}+}axoPU8A6%Sl2(+q%0>84{eC~*^XWY2Ip_KR&+qxa?|a?K5_Hk~CO{9s zR00gntOEc5Ly%bkPjnw1zqQ|4TAM0%*PI-$Slqk@Jg2X?YwJ{NW4DqrKnZZ>(~VEh z%@sG@BriVd_gO(ips&73*_?8TIHpHpM{~5g`BaYhjr&kV!7E-*@3)>-&koSBl>;i% z>buT^bLB>p&X{N3t5(BM!jz7($@)i;15~1Nu90T@`aiaNZ%q2UUx##0y^ZomgoY)i zB&B8sTEP(TH=rcXHV>jsl7O8 zfm5@v?9@}6ZYAZ$B+iM}{H}vfdk8OBeGRpwYK7u|k8y7HhA7cbt4#{tX?@NsK zPH_ZzUIM~VzF9%`>G#!cUrvooQpbl86M{`+asqPGN-|h+>|!jFN-IQGxP{&+Cvhp& z@pYogvImVW;$$A8HjmuZ*28I$P=D_2WJoj5p!d^%$`?Ko;6@40vpb&j543yrjXazy zYObHGdDHZZe74~2(1L7fYOP&-z#&-EFnGgQ=d)V-ln&GF|8IURx$UWKy`d~V;@TEp zZJ~#@f!N;5sbnl5Ubz8vtxW?)B^nwifwUtkeD1>DmkVp!O1li1%i!m02`#!2U=16B z%V8r9ZoFCiD`spDMSM%cxhbN4(mvc;)$Wv%FEADkOSqq8jj*$bJ8KdHFH#D-Ylw4(1{Zz>oCTXgGdM5CFTGyr9KVumWPaLpb|199SdFHBFt&#hwiqX6 z@{i^0Ht<0RWu0;I54#;t)T$V64&piF#7NzSANDeADz&^$zT3+x7gTnajq+(@t-`0z2OlSQG*3%s7Y8^K)mnXZ^TSVMb8l8B zJC`MY%BvE~7x?bxA^qqNCgjgTb!v;iPG>Fsn}EQBTMZGNFSu^%ZDd4# zE?sMrMYwN;`@3Ufy6=%2aG~}S@KuE$FQb8tEIaa}`PDz_4>m#qj;MT4?YBGO9>30M T3kc0$h2H4)z(Ys?fXROW5GEHo literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/WEB-INF/classes/log4j.properties b/modules/gwtorganise/war/WEB-INF/classes/log4j.properties new file mode 100644 index 00000000..d9c3edc9 --- /dev/null +++ b/modules/gwtorganise/war/WEB-INF/classes/log4j.properties @@ -0,0 +1,24 @@ +# A default log4j configuration for log4j users. +# +# To use this configuration, deploy it into your application's WEB-INF/classes +# directory. You are also encouraged to edit it as you like. + +# Configure the console as our one appender +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +# tighten logging on the DataNucleus Categories +log4j.category.DataNucleus.JDO=WARN, A1 +log4j.category.DataNucleus.Persistence=WARN, A1 +log4j.category.DataNucleus.Cache=WARN, A1 +log4j.category.DataNucleus.MetaData=WARN, A1 +log4j.category.DataNucleus.General=WARN, A1 +log4j.category.DataNucleus.Utility=WARN, A1 +log4j.category.DataNucleus.Transaction=WARN, A1 +log4j.category.DataNucleus.Datastore=WARN, A1 +log4j.category.DataNucleus.ClassLoading=WARN, A1 +log4j.category.DataNucleus.Plugin=WARN, A1 +log4j.category.DataNucleus.ValueGeneration=WARN, A1 +log4j.category.DataNucleus.Enhancer=WARN, A1 +log4j.category.DataNucleus.SchemaTool=WARN, A1 diff --git a/modules/gwtorganise/war/WEB-INF/logging.properties b/modules/gwtorganise/war/WEB-INF/logging.properties deleted file mode 100644 index 4a78b7f3..00000000 --- a/modules/gwtorganise/war/WEB-INF/logging.properties +++ /dev/null @@ -1,28 +0,0 @@ -# A default java.util.logging configuration. -# (All App Engine logging is through java.util.logging by default). -# -# To use this configuration, copy it into your application's WEB-INF -# folder and add the following to your appengine-web.xml: -# -# -# -# -# - -# Set the default logging level for all loggers to WARNING -.level = WARNING - -# Set the default logging level for ORM, specifically, to WARNING -DataNucleus.JDO.level=WARNING -DataNucleus.Persistence.level=WARNING -DataNucleus.Cache.level=WARNING -DataNucleus.MetaData.level=WARNING -DataNucleus.General.level=WARNING -DataNucleus.Utility.level=WARNING -DataNucleus.Transaction.level=WARNING -DataNucleus.Datastore.level=WARNING -DataNucleus.ClassLoading.level=WARNING -DataNucleus.Plugin.level=WARNING -DataNucleus.ValueGeneration.level=WARNING -DataNucleus.Enhancer.level=WARNING -DataNucleus.SchemaTool.level=WARNING diff --git a/modules/gwtorganise/war/WEB-INF/web.xml b/modules/gwtorganise/war/WEB-INF/web.xml deleted file mode 100644 index e552dd69..00000000 --- a/modules/gwtorganise/war/WEB-INF/web.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - greetServlet - com.gloopics.g3viewer.server.GreetingServiceImpl - - - - greetServlet - /g3viewer/greet - - - - - G3viewer.html - - - diff --git a/modules/gwtorganise/war/g3viewer/0031994593072F3F8665BB367C2904F3.cache.html b/modules/gwtorganise/war/g3viewer/0031994593072F3F8665BB367C2904F3.cache.html new file mode 100644 index 00000000..198faab1 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/0031994593072F3F8665BB367C2904F3.cache.html @@ -0,0 +1,1839 @@ + + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/063AB00068E7F94442F89D1B4262AD00.cache.html b/modules/gwtorganise/war/g3viewer/063AB00068E7F94442F89D1B4262AD00.cache.html new file mode 100644 index 00000000..f19e7d27 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/063AB00068E7F94442F89D1B4262AD00.cache.html @@ -0,0 +1,313 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/0A9476898799A150D840F0B1C3672921.cache.png b/modules/gwtorganise/war/g3viewer/0A9476898799A150D840F0B1C3672921.cache.png new file mode 100644 index 0000000000000000000000000000000000000000..08671ce8942400d2d2491f70fe026054119b3dda GIT binary patch literal 291 zcmV+;0o?wHP)h`?uv^-X$udNNS`DBaAW(9lq3prWe;902kSKOT$afOshmy_bjyG7o$X00k+o zC + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/36CF5446615AAE9D0FDDA0B123643155.cache.html b/modules/gwtorganise/war/g3viewer/36CF5446615AAE9D0FDDA0B123643155.cache.html new file mode 100644 index 00000000..e46fe353 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/36CF5446615AAE9D0FDDA0B123643155.cache.html @@ -0,0 +1,308 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/373CE923F09A0C2270E1B0F2D934E253.cache.html b/modules/gwtorganise/war/g3viewer/373CE923F09A0C2270E1B0F2D934E253.cache.html new file mode 100644 index 00000000..e1f106b9 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/373CE923F09A0C2270E1B0F2D934E253.cache.html @@ -0,0 +1,326 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/396F806CD63ABD414BFBB9D57429F05B.cache.png b/modules/gwtorganise/war/g3viewer/396F806CD63ABD414BFBB9D57429F05B.cache.png new file mode 100644 index 0000000000000000000000000000000000000000..009e987261a544efcea32fc5c4fa9eea490fc1b6 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1k!3HFMt$j8RNGW={IEGZ*N=`Vy@_!@epW|vD p + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/5DDD50A96AC2DC41C6BF0EB870994C49.cache.html b/modules/gwtorganise/war/g3viewer/5DDD50A96AC2DC41C6BF0EB870994C49.cache.html new file mode 100644 index 00000000..1f4fd91f --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/5DDD50A96AC2DC41C6BF0EB870994C49.cache.html @@ -0,0 +1,1793 @@ + + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/6B11280F72B8881FCDF44A0B47F1E96A.cache.html b/modules/gwtorganise/war/g3viewer/6B11280F72B8881FCDF44A0B47F1E96A.cache.html new file mode 100644 index 00000000..073bb0dc --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/6B11280F72B8881FCDF44A0B47F1E96A.cache.html @@ -0,0 +1,314 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/8603379B5088782D2C0620FAE856E112.cache.png b/modules/gwtorganise/war/g3viewer/8603379B5088782D2C0620FAE856E112.cache.png new file mode 100644 index 0000000000000000000000000000000000000000..ded3785543af6838a4dd506440d9495d1d734258 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgpWc?Ln>}1ConMC+uMKKuwg@` z!yau7jTQ44*=lNPmLw-7#j&uk*zoZ2?Gu)j{mawA->B+n)zHNM_|c%oDxUJga3Bz+Es3AYpd`0_6X0 + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/DF7764EEC1903CD03C9545B354D8D8E4.cache.png b/modules/gwtorganise/war/g3viewer/DF7764EEC1903CD03C9545B354D8D8E4.cache.png new file mode 100644 index 0000000000000000000000000000000000000000..fbae9473b19fba0400f3820e81749f1dbc52d1e7 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1k!3HFMt$j8RNGW@|IEGZ*N=`^f_;J30_0Ms& rkMgsR)aMBO-{>h2;(4P?gn=REzQhZ+gF0(~${9Re{an^LB{Ts5dRrXy literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/g3viewer/E44767377485D18D6B6864F65BA8EF73.cache.png b/modules/gwtorganise/war/g3viewer/E44767377485D18D6B6864F65BA8EF73.cache.png new file mode 100644 index 0000000000000000000000000000000000000000..030ffab4c1c83569e702757802d5451444ad89ca GIT binary patch literal 295 zcmV+?0oeYDP)w z1jY78WUTxD`O9}We*5ktoc-?18wv z4gY5@I`;qk#hd>xU%d^-XD{6RKXLZq{~&oCE + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/FFDD2B79ACD26336C36A836612DAEC0A.cache.html b/modules/gwtorganise/war/g3viewer/FFDD2B79ACD26336C36A836612DAEC0A.cache.html new file mode 100644 index 00000000..6380f246 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/FFDD2B79ACD26336C36A836612DAEC0A.cache.html @@ -0,0 +1,311 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/G3viewer.css b/modules/gwtorganise/war/g3viewer/G3viewer.css new file mode 100644 index 00000000..e9b7d304 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/G3viewer.css @@ -0,0 +1,44 @@ +* {padding:0; margin:0;} + +#main {position:relative; width:100%; height:100%} + +.error {width:300px; height:200px;} + +.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 h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;} +.ialbum {background-color: #e3effb; border: 2px solid #91c0ef; } +.popped {background-color: #e3effb;} +.view {height: 100%;} +.DropZone {height: 100px; width:6px; margin: 0 -3px 0 -3px; padding: 0; float:left; text-align:center; position:relative;} +.infobar {background-color: #fff; position: absolute; bottom:0px; border-width: 4px 4px 0 4px; border-style: solid; + border-color: #d2e1f6; height: 15px; width: 240px; right: 50px; font-size:10px; padding: 2px 5px 1px 5px;} +.infobar div {float:right; } +.infobar a {float:left;} +.loading{position:absolute; top:0px; left:0px; width:100%; height: 100%; background-color:#FFF; opacity: 0.7; filter: alpha(opacity = 70);} +.loading-label{z-index:10; position:absolute; width:100%; left:0px; text-align:center;} +.loading-image{z-index:10;} +.gwt-TreeItem-selected .Tree-Album {background-color: #333; color: #FFF;} +.Tree-Album {padding: 1px;} +.Tree-Album:hover{text-decoration:underline;} +.drop-target{background-color: #91c0ef; color: #000;} + +.popup {padding: 2px; border: 1px solid #91c0ef;background-color:#FFF} + +.dialog fieldset{ border: none; padding: 0px; margin: 0px;} +.dialog legend{ display: none;} +.dialog ul {padding:0; margin:0;} +.dialog ul ul li {float:left;} +.dialog li {list-style: none; padding:0;margin:0;} +.dialog form input[type="password"], .dialog form input[type="text"], .dialog form textarea .dialog form select {border: 1px solid #000; padding: 0.2em; display:block; clear: both;} +.dialog form input[type="password"], .dialog form input[type="text"], .dialog form textarea {width: 100%} +.dialog form textarea {height: 12em;} + +.label {width:90px; text-align:center;} +.progressBar {border: 1px solid #cccccc; width: 100px; height: 10px;} +.progessInner {background: #34628c;width: 0px;height: 10px;} + +.dContents {padding: 2px 5px 2px 5px;} +.dButtons {text-align: right} + +.hideme {overflow:hidden; width:0; height:0; margin:0; padding:0;} \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/clear.cache.gif b/modules/gwtorganise/war/g3viewer/clear.cache.gif new file mode 100644 index 0000000000000000000000000000000000000000..e565824aafafe632011b281cba976baf8b3ba89a GIT binary patch literal 43 qcmZ?wbhEHbWMp7uXkcLY4+e@qSs1y10y+#p0Fq%~V)9{Rum%7ZWeN!Z literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/1.cache.js new file mode 100644 index 00000000..28aba6f0 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/1.cache.js @@ -0,0 +1,6 @@ +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(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/2.cache.js new file mode 100644 index 00000000..f801762e --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/2.cache.js @@ -0,0 +1,4 @@ +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(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/1.cache.js new file mode 100644 index 00000000..51ec2fbc --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/1.cache.js @@ -0,0 +1,7 @@ +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(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/2.cache.js new file mode 100644 index 00000000..e32edc87 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/2.cache.js @@ -0,0 +1,75 @@ +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-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.a1){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(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/1.cache.js new file mode 100644 index 00000000..a0015130 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/1.cache.js @@ -0,0 +1,6 @@ +function _R(){} +function lS(){return OO} +function pS(){var a;while(eS){a=eS;eS=eS.c;!eS&&(fS=null);jo(a.b)}} +function mS(){hS=true;gS=(jS(),new _R);cy((_x(),$x),1);!!$stats&&$stats(Iy(uqb,Bhb,null,null));gS.Zb();!!$stats&&$stats(Iy(uqb,vqb,null,null))} +function jo(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(tqb);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));$u(a.d,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.c.b);$u(a.d,e.encode())}}} +var wqb='AsyncLoader1',tqb='beta.canvas',uqb='runCallbacks1';_=_R.prototype=new aS;_.gC=lS;_.Zb=pS;_.tI=0;var OO=e3(job,wqb);mS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/2.cache.js new file mode 100644 index 00000000..4b86a30d --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/2.cache.js @@ -0,0 +1,4 @@ +function ky(){fy($x)} +function fy(a){cy(a,a.e)} +function cy(a,b){var c;c=b==a.e?zhb:Ahb+b;hy(c,vqb,d4(b),null);if(ey(a,b)){ty(a.f);n6(a.b,d4(b));jy(a)}} +var vqb='end';ky(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/1.cache.js new file mode 100644 index 00000000..8ac56017 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/1.cache.js @@ -0,0 +1,7 @@ +function Yg(){} +function Wg(){} +function bh(){} +function Vg(){} +function $g(){$g=ep;Zg=new Wg} +function ah(){Zg=($g(),new Vg);ac((Zb(),Yb),1);!!$stats&&$stats(Cc(mr,nr,null,null));Zg.m();!!$stats&&$stats(Cc(mr,or,null,null))} +var mr='runCallbacks1';_=Wg.prototype=new O;_.m=Yg;_.tI=0;_=Vg.prototype=new Wg;_.m=bh;_.tI=0;var Zg;ah(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/2.cache.js new file mode 100644 index 00000000..26150e15 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/2.cache.js @@ -0,0 +1,75 @@ +function Xb(){} +function ic(){} +function rc(){} +function uc(){} +function Kc(){} +function xk(){} +function wk(){} +function jn(){} +function qn(){} +function vn(){} +function mo(){} +function xo(){} +function Go(){} +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 Ck(){return this.b} +function Dk(){return this.b} +function wo(){return this.c} +function Fo(){return Do(this)} +function oc(a){return a.b[a.c]} +function mc(a,b){a.b[a.d++]=b} +function tc(a,b){Dd();return a} +function wc(a,b){a.b=b;return a} +function Ak(a,b){a.b=b;return a} +function sn(a,b){a.b=b;return a} +function pc(a){return a.b[a.c++]} +function pn(){return this.c.b.e} +function tn(){return Rm(this.b.b)} +function nn(a){return Fl(this.b,a)} +function Eo(){return this.c!=this.e.b} +function An(){return ro(mg(this,24),0)} +function Io(a){a.b=a.c=a;return a} +function Mc(a,b,c){a.c=b;a.b=c;return a} +function ln(a,b,c){a.b=b;a.c=c;return a} +function lc(a,b){a.b=Yf(zg,0,-1,b,1);return a} +function qo(a,b,c){Jo(new Go,b,c);++a.c} +function Ao(a,b,c,d){a.e=d;a.c=c;a.b=b;return a} +function Jo(a,b,c){a.d=b;a.b=c;a.c=c.c;c.c.b=a;c.c=a;return a} +function oo(a){a.b=Io(new Go);a.c=0;return a} +function uo(a){if(a.c==0){throw Zo(new Xo)}} +function vo(a){return Jo(new Go,a,this.b),++this.c,true} +function Zb(){Zb=ep;Yb=_b(new Xb,2,Zf(zg,0,-1,[]))} +function Hk(){Hk=ep;Gk=Yf(Bg,0,12,256,0)} +function un(){var a;a=mg(Sm(this.b.b),20).D();return a} +function vl(a){var b;b=$l(new Ul,a);return ln(new jn,a,b)} +function on(){var a;a=hm(new fm,this.c.b);return sn(new qn,a)} +function yn(a,b){var c;c=ro(this,a);qo(c.e,b,c.c);++c.b;c.d=null} +function so(a){var b;uo(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 Bk(a){return a!=null&&kg(a.tI,12)&&mg(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 Fl(a,b){if(a.d&&Zn(a.c,b)){return true}else if(El(a,b)){return true}else if(Cl(a,b)){return true}return false} +function Do(a){if(a.c==a.e.b){throw Zo(new Xo)}a.d=a.c;a.c=a.c.b;++a.b;return a.d.d} +function _b(a,b,c){Zb();a.b=Yn(new Wn);a.g=oo(new mo);a.d=b;a.c=c;a.f=lc(new ic,b+1);return a} +function Jc(a,b){var c,d;c=Ic(a,b);if(c==null){return}d=bk();d.open(sr,c,true);ak(d,Mc(new Kc,d,b));d.send(null)} +function ac(a,b){var c;c=b==a.d?pr:qr+b;ec(c,or,Ek(b),null);if(bc(a,b)){pc(a.e);Pl(a.b,Ek(b));gc(a)}} +function ro(a,b){var c,d;(b<0||b>a.c)&&Lm(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-129&&a<128){b=a+128;c=(Hk(),Gk)[b];!c&&(c=Gk[b]=Ak(new wk,a));return c}return Ak(new wk,a)} +function Hn(a,b){if(b.c.b.e==0){return false}Array.prototype.splice.apply(a.b,[a.c,0].concat(nl(b,Yf(Cg,0,0,b.c.b.e,0))));a.c+=b.c.b.e;return true} +function xc(b,c){var a,e,f,g,h,i;h=En(new Bn);while(qc(b.b.f)>0){Fn(h,mg(so(b.b.g),2));pc(b.b.f)}nc(b.b.f);Hn(h,vl(b.b.b));Bl(b.b.b);i=null;for(g=Qm(new Nm,h);g.b1){return}if(qc(a.e)>0){c=oc(a.e);ec(c==a.d?pr:qr+c,nr,Ek(c),null);Jc(c,wc(new uc,a));return}while(qc(a.f)>0){c=pc(a.f);b=mg(so(a.g),2);ec(c==a.d?pr:qr+c,nr,Ek(c),null);Jc(c,b)}} +var vr="Can't get element ",sr='GET',tr='MSXML2.XMLHTTP.3.0',ur='Microsoft.XMLHTTP',nr='begin',qr='download',or='end',pr='leftoversDownload',rr='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;_=xk.prototype=new O;_.tI=27;_=wk.prototype=new xk;_.eQ=Bk;_.hC=Ck;_.w=Dk;_.tI=30;_.b=0;var Gk;_=jn.prototype=new kl;_.y=nn;_.s=on;_.z=pn;_.tI=0;_.b=null;_.c=null;_=qn.prototype=new O;_.u=tn;_.v=un;_.tI=0;_.b=null;_=vn.prototype=new Dm;_.F=yn;_.G=zn;_.s=An;_.tI=41;_=mo.prototype=new vn;_.x=vo;_.z=wo;_.tI=45;_.b=null;_.c=0;_=xo.prototype=new O;_.u=Eo;_.v=Fo;_.tI=0;_.b=0;_.c=null;_.d=null;_.e=null;_=Go.prototype=new O;_.tI=0;_.b=null;_.c=null;_.d=null;var zg=new hk,Bg=new hk;hc(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/1.cache.js new file mode 100644 index 00000000..6625256a --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/1.cache.js @@ -0,0 +1,7 @@ +function jh(){} +function hh(){} +function oh(){} +function gh(){} +function lh(){lh=sp;kh=new hh} +function nh(){kh=(lh(),new gh);ac((Zb(),Yb),1);!!$stats&&$stats(Cc(Dr,Er,null,null));kh.q();!!$stats&&$stats(Cc(Dr,Fr,null,null))} +var Dr='runCallbacks1';_=hh.prototype=new O;_.q=jh;_.tI=0;_=gh.prototype=new hh;_.q=oh;_.tI=0;var kh;nh(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/2.cache.js new file mode 100644 index 00000000..4cd6961e --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/2.cache.js @@ -0,0 +1,75 @@ +function Xb(){} +function ic(){} +function rc(){} +function uc(){} +function Kc(){} +function Ik(){} +function Hk(){} +function xn(){} +function En(){} +function Jn(){} +function Ao(){} +function Lo(){} +function Uo(){} +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 Nk(){return this.b} +function Ok(){return this.b} +function Ko(){return this.c} +function To(){return Ro(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 Lk(a,b){a.b=b;return a} +function Gn(a,b){a.b=b;return a} +function pc(a){return a.b[a.c++]} +function Dn(){return this.c.b.e} +function Hn(){return dn(this.b.b)} +function Bn(a){return Tl(this.b,a)} +function So(){return this.c!=this.e.b} +function On(){return Fo(yg(this,24),0)} +function Wo(a){a.b=a.c=a;return a} +function Mc(a,b,c){a.c=b;a.b=c;return a} +function zn(a,b,c){a.b=b;a.c=c;return a} +function Jo(a){return Xo(new Uo,a,this.b),++this.c,true} +function Io(a){if(a.c==0){throw lp(new jp)}} +function Co(a){a.b=Wo(new Uo);a.c=0;return a} +function Eo(a,b,c){Xo(new Uo,b,c);++a.c} +function Oo(a,b,c,d){a.e=d;a.c=c;a.b=b;return a} +function Xo(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=ig(Mg,0,-1,b,1);return a} +function Sk(){Sk=sp;Rk=ig(Og,0,12,256,0)} +function In(){var a;a=yg(en(this.b.b),20).H();return a} +function Cn(){var a;a=vm(new tm,this.c.b);return Gn(new En,a)} +function Jl(a){var b;b=mm(new gm,a);return zn(new xn,a,b)} +function Zb(){Zb=sp;Yb=_b(new Xb,2,jg(Mg,0,-1,[]))} +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 Mn(a,b){var c;c=Fo(this,a);Eo(c.e,b,c.c);++c.b;c.d=null} +function Go(a){var b;Io(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(c,a){var b=c;c.onreadystatechange=$entry(function(){a.j(b)})} +function fk(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)} +function Nn(b){var a,d;d=Fo(this,b);try{return Ro(d)}catch(a){a=Yg(a);if(Bg(a,23)){throw Gk(new Dk,Mr+b)}else throw a}} +function Ro(a){if(a.c==a.e.b){throw lp(new jp)}a.d=a.c;a.c=a.c.b;++a.b;return a.d.d} +function _b(a,b,c){Zb();a.b=lo(new jo);a.g=Co(new Ao);a.d=b;a.c=c;a.f=lc(new ic,b+1);return a} +function Tl(a,b){if(a.d&&mo(a.c,b)){return true}else if(Sl(a,b)){return true}else if(Ql(a,b)){return true}return false} +function ac(a,b){var c;c=b==a.d?Gr:Hr+b;ec(c,Fr,Pk(b),null);if(bc(a,b)){pc(a.e);bm(a.b,Pk(b));gc(a)}} +function Jc(a,b){var c,d;c=Ic(a,b);if(c==null){return}d=mk();d.open(Jr,c,true);lk(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-129&&a<128){b=a+128;c=(Sk(),Rk)[b];!c&&(c=Rk[b]=Lk(new Hk,a));return c}return Lk(new Hk,a)} +function Sl(e,a){var b=e.f;for(var c in b){if(c.charCodeAt(0)==58){var d=b[c];if(e.F(a,d)){return true}}}return false} +function Ql(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;e0){Tn(h,yg(Go(b.b.g),2));pc(b.b.f)}nc(b.b.f);Vn(h,Jl(b.b.b));Pl(b.b.b);i=null;for(g=cn(new _m,h);g.b1){return}if(qc(a.e)>0){c=oc(a.e);ec(c==a.d?Gr:Hr+c,Er,Pk(c),null);Jc(c,wc(new uc,a));return}while(qc(a.f)>0){c=pc(a.f);b=yg(Go(a.g),2);ec(c==a.d?Gr:Hr+c,Er,Pk(c),null);Jc(c,b)}} +function Fo(a,b){var c,d;(b<0||b>a.c)&&Zm(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;cb){if(f>1){e.resize(a.b.b,~~(c/f));Yu(a.c,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.b.a);Yu(a.c,e.encode())}}} +var grb='AsyncLoader1',drb='beta.canvas',erb='runCallbacks1';_=hS.prototype=new iS;_.gC=tS;_.Zb=xS;_.tI=0;var RO=K3(Pob,grb);uS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/4FEE434A493BF0E4969DA18CF936A5FD/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/4FEE434A493BF0E4969DA18CF936A5FD/2.cache.js new file mode 100644 index 00000000..6cb0eb93 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/4FEE434A493BF0E4969DA18CF936A5FD/2.cache.js @@ -0,0 +1,4 @@ +function ly(){gy(_x)} +function gy(a){dy(a,a.d)} +function dy(a,b){var c;c=b==a.d?Yhb:Zhb+b;iy(c,frb,J4(b),null);if(fy(a,b)){uy(a.e);S6(a.a,J4(b));ky(a)}} +var frb='end';ly(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/1.cache.js new file mode 100644 index 00000000..dc57ad14 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/1.cache.js @@ -0,0 +1,6 @@ +function YR(){} +function iS(){return MO} +function mS(){var a;while(bS){a=bS;bS=bS.c;!bS&&(cS=null);io(a.b)}} +function jS(){eS=true;dS=(gS(),new YR);ay((Zx(),Yx),1);!!$stats&&$stats(Gy(cqb,nhb,null,null));dS.$b();!!$stats&&$stats(Gy(cqb,dqb,null,null))} +function io(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(bqb);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));Yu(a.d,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.c.b);Yu(a.d,e.encode())}}} +var eqb='AsyncLoader1',bqb='beta.canvas',cqb='runCallbacks1';_=YR.prototype=new ZR;_.gC=iS;_.$b=mS;_.tI=0;var MO=R2(Unb,eqb);jS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/2.cache.js new file mode 100644 index 00000000..304e5f17 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/2.cache.js @@ -0,0 +1,4 @@ +function iy(){dy(Yx)} +function dy(a){ay(a,a.e)} +function ay(a,b){var c;c=b==a.e?lhb:mhb+b;fy(c,dqb,Q3(b),null);if(cy(a,b)){ry(a.f);_5(a.b,Q3(b));hy(a)}} +var dqb='end';iy(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/1.cache.js new file mode 100644 index 00000000..4629cb0b --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/1.cache.js @@ -0,0 +1,7 @@ +function Xg(){} +function Vg(){} +function ah(){} +function Ug(){} +function Zg(){Zg=fp;Yg=new Vg} +function _g(){Yg=(Zg(),new Ug);ac((Zb(),Yb),1);!!$stats&&$stats(Cc(qr,rr,null,null));Yg.m();!!$stats&&$stats(Cc(qr,sr,null,null))} +var qr='runCallbacks1';_=Vg.prototype=new O;_.m=Xg;_.tI=0;_=Ug.prototype=new Vg;_.m=ah;_.tI=0;var Yg;_g(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/2.cache.js new file mode 100644 index 00000000..4f19fa5f --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/2.cache.js @@ -0,0 +1,75 @@ +function Xb(){} +function ic(){} +function rc(){} +function uc(){} +function Kc(){} +function yk(){} +function xk(){} +function kn(){} +function rn(){} +function wn(){} +function no(){} +function yo(){} +function Ho(){} +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 Dk(){return this.b} +function Ek(){return this.b} +function xo(){return this.c} +function Go(){return Eo(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 Bk(a,b){a.b=b;return a} +function tn(a,b){a.b=b;return a} +function pc(a){return a.b[a.c++]} +function qn(){return this.c.b.e} +function un(){return Sm(this.b.b)} +function on(a){return Gl(this.b,a)} +function Fo(){return this.c!=this.e.b} +function Bn(){return so(lg(this,24),0)} +function Jo(a){a.b=a.c=a;return a} +function Mc(a,b,c){a.c=b;a.b=c;return a} +function mn(a,b,c){a.b=b;a.c=c;return a} +function wo(a){return Ko(new Ho,a,this.b),++this.c,true} +function vo(a){if(a.c==0){throw $o(new Yo)}} +function po(a){a.b=Jo(new Ho);a.c=0;return a} +function ro(a,b,c){Ko(new Ho,b,c);++a.c} +function Bo(a,b,c,d){a.e=d;a.c=c;a.b=b;return a} +function Ko(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 Ik(){Ik=fp;Hk=Xf(Ag,0,12,256,0)} +function Zb(){Zb=fp;Yb=_b(new Xb,2,Yf(yg,0,-1,[]))} +function wl(a){var b;b=_l(new Vl,a);return mn(new kn,a,b)} +function vn(){var a;a=lg(Tm(this.b.b),20).D();return a} +function pn(){var a;a=im(new gm,this.c.b);return tn(new rn,a)} +function zn(a,b){var c;c=so(this,a);ro(c.e,b,c.c);++c.b;c.d=null} +function to(a){var b;vo(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 Ck(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 Gl(a,b){if(a.d&&$n(a.c,b)){return true}else if(Fl(a,b)){return true}else if(Dl(a,b)){return true}return false} +function Eo(a){if(a.c==a.e.b){throw $o(new Yo)}a.d=a.c;a.c=a.c.b;++a.b;return a.d.d} +function _b(a,b,c){Zb();a.b=Zn(new Xn);a.g=po(new no);a.d=b;a.c=c;a.f=lc(new ic,b+1);return a} +function Xj(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)} +function bk(c,a){var b=c;c.onreadystatechange=$entry(function(){a.j(b)})} +function Fl(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 Dl(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;ea.c)&&Mm(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-129&&a<128){b=a+128;c=(Ik(),Hk)[b];!c&&(c=Hk[b]=Bk(new xk,a));return c}return Bk(new xk,a)} +function ck(){if($wnd.XMLHttpRequest){return new XMLHttpRequest}else{try{return new ActiveXObject(xr)}catch(a){return new ActiveXObject(yr)}}} +function xc(b,c){var a,e,f,g,h,i;h=Fn(new Cn);while(qc(b.b.f)>0){Gn(h,lg(to(b.b.g),2));pc(b.b.f)}nc(b.b.f);In(h,wl(b.b.b));Cl(b.b.b);i=null;for(g=Rm(new Om,h);g.b1){return}if(qc(a.e)>0){c=oc(a.e);ec(c==a.d?tr:ur+c,rr,Fk(c),null);Jc(c,wc(new uc,a));return}while(qc(a.f)>0){c=pc(a.f);b=lg(to(a.g),2);ec(c==a.d?tr:ur+c,rr,Fk(c),null);Jc(c,b)}} +var zr="Can't get element ",wr='GET',xr='MSXML2.XMLHTTP.3.0',yr='Microsoft.XMLHTTP',rr='begin',ur='download',sr='end',tr='leftoversDownload',vr='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;_=yk.prototype=new O;_.tI=27;_=xk.prototype=new yk;_.eQ=Ck;_.hC=Dk;_.w=Ek;_.tI=30;_.b=0;var Hk;_=kn.prototype=new ll;_.y=on;_.s=pn;_.z=qn;_.tI=0;_.b=null;_.c=null;_=rn.prototype=new O;_.u=un;_.v=vn;_.tI=0;_.b=null;_=wn.prototype=new Em;_.F=zn;_.G=An;_.s=Bn;_.tI=41;_=no.prototype=new wn;_.x=wo;_.z=xo;_.tI=45;_.b=null;_.c=0;_=yo.prototype=new O;_.u=Fo;_.v=Go;_.tI=0;_.b=0;_.c=null;_.d=null;_.e=null;_=Ho.prototype=new O;_.tI=0;_.b=null;_.c=null;_.d=null;var yg=new ik,Ag=new ik;hc(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/1.cache.js new file mode 100644 index 00000000..c628482d --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/1.cache.js @@ -0,0 +1,6 @@ +function zS(){} +function LS(){return fP} +function PS(){var a;while(ES){a=ES;ES=ES.b;!ES&&(FS=null);ko(a.a)}} +function MS(){HS=true;GS=(JS(),new zS);gy((dy(),cy),1);!!$stats&&$stats(My(zsb,Oib,null,null));GS.Zb();!!$stats&&$stats(My(zsb,Asb,null,null))} +function ko(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(ysb);e.decode(a.a);d=e.width;c=e.height;f=~~(d/a.b.b);b=~~(c/a.b.a);if(f>b){if(f>1){e.resize(a.b.b,~~(c/f));$u(a.c,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.b.a);$u(a.c,e.encode())}}} +var Bsb='AsyncLoader1',ysb='beta.canvas',zsb='runCallbacks1';_=zS.prototype=new AS;_.gC=LS;_.Zb=PS;_.tI=0;var fP=z4(gqb,Bsb);MS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/2.cache.js new file mode 100644 index 00000000..22bb2db7 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/2.cache.js @@ -0,0 +1,4 @@ +function oy(){jy(cy)} +function jy(a){gy(a,a.d)} +function gy(a,b){var c;c=b==a.d?Mib:Nib+b;ly(c,Asb,y5(b),null);if(iy(a,b)){xy(a.e);H7(a.a,y5(b));ny(a)}} +var Asb='end';oy(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/1.cache.js new file mode 100644 index 00000000..f4c58224 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/1.cache.js @@ -0,0 +1,6 @@ +function zS(){} +function LS(){return jP} +function PS(){var a;while(ES){a=ES;ES=ES.c;!ES&&(FS=null);po(a.b)}} +function MS(){HS=true;GS=(JS(),new zS);hy((ey(),dy),1);!!$stats&&$stats(Ny(hrb,hib,null,null));GS.cc();!!$stats&&$stats(Ny(hrb,irb,null,null))} +function po(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(grb);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));dv(a.d,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.c.b);dv(a.d,e.encode())}}} +var jrb='AsyncLoader1',grb='beta.canvas',hrb='runCallbacks1';_=zS.prototype=new AS;_.gC=LS;_.cc=PS;_.tI=0;var jP=R3(Vob,jrb);MS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/2.cache.js new file mode 100644 index 00000000..35b948e8 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/2.cache.js @@ -0,0 +1,4 @@ +function py(){ky(dy)} +function ky(a){hy(a,a.e)} +function hy(a,b){var c;c=b==a.e?fib:gib+b;my(c,irb,Q4(b),null);if(jy(a,b)){yy(a.f);$6(a.b,Q4(b));oy(a)}} +var irb='end';py(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/1.cache.js new file mode 100644 index 00000000..1ae48cc1 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/1.cache.js @@ -0,0 +1,7 @@ +function Ug(){} +function Sg(){} +function Zg(){} +function Rg(){} +function Wg(){Wg=cp;Vg=new Sg} +function Yg(){Vg=(Wg(),new Rg);ac((Zb(),Yb),1);!!$stats&&$stats(Cc(nr,or,null,null));Vg.m();!!$stats&&$stats(Cc(nr,pr,null,null))} +var nr='runCallbacks1';_=Sg.prototype=new O;_.m=Ug;_.tI=0;_=Rg.prototype=new Sg;_.m=Zg;_.tI=0;var Vg;Yg(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/2.cache.js new file mode 100644 index 00000000..852a926c --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/2.cache.js @@ -0,0 +1,75 @@ +function Xb(){} +function ic(){} +function rc(){} +function uc(){} +function Kc(){} +function vk(){} +function uk(){} +function gn(){} +function on(){} +function tn(){} +function ko(){} +function vo(){} +function Eo(){} +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 Ak(){return this.b} +function Bk(){return this.b} +function uo(){return this.c} +function Do(){return Bo(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 yk(a,b){a.b=b;return a} +function qn(a,b){a.b=b;return a} +function pc(a){return a.b[a.c++]} +function nn(){return this.c.b.e} +function rn(){return Pm(this.b.b)} +function ln(a){return Dl(this.b,a)} +function Co(){return this.c!=this.e.b} +function yn(){return po(ig(this,24),0)} +function so(a){if(a.c==0){throw Xo(new Vo)}} +function Go(a){a.b=a.c=a;return a} +function Mc(a,b,c){a.c=b;a.b=c;return a} +function jn(a,b,c){a.b=b;a.c=c;return a} +function to(a){return Ho(new Eo,a,this.b),++this.c,true} +function oo(a,b,c){Ho(new Eo,b,c);++a.c} +function mo(a){a.b=Go(new Eo);a.c=0;return a} +function yo(a,b,c,d){a.e=d;a.c=c;a.b=b;return a} +function Ho(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=Uf(vg,0,-1,b,1);return a} +function Fk(){Fk=cp;Ek=Uf(xg,0,12,256,0)} +function Zb(){Zb=cp;Yb=_b(new Xb,2,Vf(vg,0,-1,[]))} +function tl(a){var b;b=Yl(new Sl,a);return jn(new gn,a,b)} +function sn(){var a;a=ig(Qm(this.b.b),20).D();return a} +function mn(){var a;a=fm(new dm,this.c.b);return qn(new on,a)} +function wn(a,b){var c;c=po(this,a);oo(c.e,b,c.c);++c.b;c.d=null} +function qo(a){var b;so(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 zk(a){return a!=null&&gg(a.tI,12)&&ig(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 Dl(a,b){if(a.d&&Xn(a.c,b)){return true}else if(Cl(a,b)){return true}else if(Al(a,b)){return true}return false} +function Bo(a){if(a.c==a.e.b){throw Xo(new Vo)}a.d=a.c;a.c=a.c.b;++a.b;return a.d.d} +function _b(a,b,c){Zb();a.b=Wn(new Un);a.g=mo(new ko);a.d=b;a.c=c;a.f=lc(new ic,b+1);return a} +function Uj(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)} +function $j(c,a){var b=c;c.onreadystatechange=$entry(function(){a.j(b)})} +function Cl(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 Al(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;ea.c)&&Jm(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-129&&a<128){b=a+128;c=(Fk(),Ek)[b];!c&&(c=Ek[b]=yk(new uk,a));return c}return yk(new uk,a)} +function _j(){if($wnd.XMLHttpRequest){return new XMLHttpRequest}else{try{return new ActiveXObject(ur)}catch(a){return new ActiveXObject(vr)}}} +function xc(b,c){var a,e,f,g,h,i;h=Cn(new zn);while(qc(b.b.f)>0){Dn(h,ig(qo(b.b.g),2));pc(b.b.f)}nc(b.b.f);Fn(h,tl(b.b.b));zl(b.b.b);i=null;for(g=Om(new Lm,h);g.b1){return}if(qc(a.e)>0){c=oc(a.e);ec(c==a.d?qr:rr+c,or,Ck(c),null);Jc(c,wc(new uc,a));return}while(qc(a.f)>0){c=pc(a.f);b=ig(qo(a.g),2);ec(c==a.d?qr:rr+c,or,Ck(c),null);Jc(c,b)}} +var wr="Can't get element ",tr='GET',ur='MSXML2.XMLHTTP.3.0',vr='Microsoft.XMLHTTP',or='begin',rr='download',pr='end',qr='leftoversDownload',sr='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;_=vk.prototype=new O;_.tI=27;_=uk.prototype=new vk;_.eQ=zk;_.hC=Ak;_.w=Bk;_.tI=30;_.b=0;var Ek;_=gn.prototype=new il;_.y=ln;_.s=mn;_.z=nn;_.tI=0;_.b=null;_.c=null;_=on.prototype=new O;_.u=rn;_.v=sn;_.tI=0;_.b=null;_=tn.prototype=new Bm;_.F=wn;_.G=xn;_.s=yn;_.tI=41;_=ko.prototype=new tn;_.x=to;_.z=uo;_.tI=45;_.b=null;_.c=0;_=vo.prototype=new O;_.u=Co;_.v=Do;_.tI=0;_.b=0;_.c=null;_.d=null;_.e=null;_=Eo.prototype=new O;_.tI=0;_.b=null;_.c=null;_.d=null;var vg=new fk,xg=new fk;hc(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/g3viewer.nocache.js b/modules/gwtorganise/war/g3viewer/g3viewer.nocache.js new file mode 100644 index 00000000..c70e2b26 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/g3viewer.nocache.js @@ -0,0 +1,11 @@ +function g3viewer(){var M='',nb='" for "gwt:onLoadErrorFn"',lb='" for "gwt:onPropertyErrorFn"',Y='"><\/script>',$='#',Wb='.cache.html',ab='/',Lb='0031994593072F3F8665BB367C2904F3',Mb='063AB00068E7F94442F89D1B4262AD00',Nb='2625E6CD0659684104018A069A188996',Ob='36CF5446615AAE9D0FDDA0B123643155',Pb='373CE923F09A0C2270E1B0F2D934E253',Qb='4FEE434A493BF0E4969DA18CF936A5FD',Rb='5DDD50A96AC2DC41C6BF0EB870994C49',Sb='6B11280F72B8881FCDF44A0B47F1E96A',Tb='8E9AF58E0E2BDFC35328028FC368ECD2',gc=' + +This html file is for hosted mode support. + diff --git a/modules/gwtorganise/war/g3viewer/loading.gif b/modules/gwtorganise/war/g3viewer/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..8f56a82c5affdb847bfb319dad057d10b3823cd5 GIT binary patch literal 2167 zcmeH|XIK-~8pk8ZZ7+BcN7WXvazVja3_>Fa1qTLXh|HjXjGHJk>^(w&KsHH8AYmpX zAz>2;Nh}+}axoPU8A6%Sl2(+q%0>84{eC~*^XWY2Ip_KR&+qxa?|a?K5_Hk~CO{9s zR00gntOEc5Ly%bkPjnw1zqQ|4TAM0%*PI-$Slqk@Jg2X?YwJ{NW4DqrKnZZ>(~VEh z%@sG@BriVd_gO(ips&73*_?8TIHpHpM{~5g`BaYhjr&kV!7E-*@3)>-&koSBl>;i% z>buT^bLB>p&X{N3t5(BM!jz7($@)i;15~1Nu90T@`aiaNZ%q2UUx##0y^ZomgoY)i zB&B8sTEP(TH=rcXHV>jsl7O8 zfm5@v?9@}6ZYAZ$B+iM}{H}vfdk8OBeGRpwYK7u|k8y7HhA7cbt4#{tX?@NsK zPH_ZzUIM~VzF9%`>G#!cUrvooQpbl86M{`+asqPGN-|h+>|!jFN-IQGxP{&+Cvhp& z@pYogvImVW;$$A8HjmuZ*28I$P=D_2WJoj5p!d^%$`?Ko;6@40vpb&j543yrjXazy zYObHGdDHZZe74~2(1L7fYOP&-z#&-EFnGgQ=d)V-ln&GF|8IURx$UWKy`d~V;@TEp zZJ~#@f!N;5sbnl5Ubz8vtxW?)B^nwifwUtkeD1>DmkVp!O1li1%i!m02`#!2U=16B z%V8r9ZoFCiD`spDMSM%cxhbN4(mvc;)$Wv%FEADkOSqq8jj*$bJ8KdHFH#D-Ylw4(1{Zz>oCTXgGdM5CFTGyr9KVumWPaLpb|199SdFHBFt&#hwiqX6 z@{i^0Ht<0RWu0;I54#;t)T$V64&piF#7NzSANDeADz&^$zT3+x7gTnajq+(@t-`0z2OlSQG*3%s7Y8^K)mnXZ^TSVMb8l8B zJC`MY%BvE~7x?bxA^qqNCgjgTb!v;iPG>Fsn}EQBTMZGNFSu^%ZDd4# zE?sMrMYwN;`@3Ufy6=%2aG~}S@KuE$FQb8tEIaa}`PDz_4>m#qj;MT4?YBGO9>30M T3kc0$h2H4)z(Ys?fXROW5GEHo literal 0 HcmV?d00001 diff --git a/modules/gwtorganise/war/index.php b/modules/gwtorganise/war/index.php index 965b69cd..8928ee20 100644 --- a/modules/gwtorganise/war/index.php +++ b/modules/gwtorganise/war/index.php @@ -1,3 +1,3 @@ Gallery Administration

+?>Gallery Administration