@@ -13,18 +13,6 @@ javaxt.express.FileBrowser = function(parent, config) {
1313 this . className = "javaxt.express.FileBrowser" ;
1414
1515 var me = this ;
16- var win , grid , addressBar ;
17- var button = { } ;
18-
19- var params = { } ;
20- var history = [ ] ;
21-
22- var currDir ;
23- var pathSeparator = "\\" ; //updated dynamically using response from fileService
24- var totalCount = 0 ;
25- var totalSize = 0 ;
26-
27-
2816 var defaultConfig = {
2917
3018 //Service config
@@ -154,6 +142,21 @@ javaxt.express.FileBrowser = function(parent, config) {
154142 } ;
155143
156144
145+ var win , grid , addressBar ;
146+ var button = { } ;
147+
148+ var params = { } ;
149+ var history = [ ] ;
150+
151+ var currDir ;
152+ var pathSeparator = "\\" ; //updated dynamically using response from fileService
153+ var totalCount = 0 ;
154+ var totalSize = 0 ;
155+
156+ var waitmask ;
157+
158+
159+
157160 //**************************************************************************
158161 //** Constructor
159162 //**************************************************************************
@@ -173,9 +176,22 @@ javaxt.express.FileBrowser = function(parent, config) {
173176 config = merge ( config , defaultConfig ) ;
174177
175178
179+ //Create main div
180+ var mainDiv = createElement ( "div" , {
181+ width : "100%" ,
182+ height : "100%" ,
183+ position : "relative"
184+ } ) ;
185+ addShowHide ( mainDiv ) ;
186+ me . el = mainDiv ;
187+
188+
189+ //Create waitmask
190+ waitmask = new javaxt . express . WaitMask ( mainDiv ) ;
191+
176192
177193 //Create main table
178- var table = createTable ( ) ;
194+ var table = createTable ( mainDiv ) ;
179195 var td ;
180196
181197 td = table . addRow ( ) . addColumn ( ) ;
@@ -197,7 +213,7 @@ javaxt.express.FileBrowser = function(parent, config) {
197213 closable : config . closable ,
198214 footer : config . footer ,
199215 style : config . style . window ,
200- body : table
216+ body : mainDiv
201217 } ) ;
202218
203219
@@ -209,11 +225,36 @@ javaxt.express.FileBrowser = function(parent, config) {
209225 }
210226 }
211227 else {
212- parent . appendChild ( table ) ;
228+ parent . appendChild ( mainDiv ) ;
213229 }
214230 } ;
215231
216232
233+ //**************************************************************************
234+ //** clear
235+ //**************************************************************************
236+ this . clear = function ( ) {
237+ grid . clear ( ) ;
238+ addressBar . clear ( ) ;
239+ history = [ ] ;
240+ Object . keys ( params ) . forEach ( ( key ) => {
241+ delete params [ key ] ;
242+ } ) ;
243+ Object . values ( button ) . forEach ( ( button ) => {
244+ button . disable ( ) ;
245+ } ) ;
246+ totalCount = 0 ;
247+ totalSize = 0 ;
248+ } ;
249+
250+
251+ //**************************************************************************
252+ //** refresh
253+ //**************************************************************************
254+ this . refresh = function ( ) {
255+ grid . refresh ( ) ;
256+ } ;
257+
217258
218259 //**************************************************************************
219260 //** setSort
@@ -306,6 +347,14 @@ javaxt.express.FileBrowser = function(parent, config) {
306347 } ;
307348
308349
350+ //**************************************************************************
351+ //** getGrid
352+ //**************************************************************************
353+ this . getGrid = function ( ) {
354+ return grid ;
355+ } ;
356+
357+
309358 //**************************************************************************
310359 //** createNavbar
311360 //**************************************************************************
@@ -477,16 +526,8 @@ javaxt.express.FileBrowser = function(parent, config) {
477526 style : config . style . table ,
478527 url : config . fileService ,
479528 limit : config . pageSize ,
480- getResponse : function ( url , payload , callback ) {
481- post ( url , JSON . stringify ( params ) , {
482- success : function ( txt , xml , url , req ) {
483- callback . apply ( me , [ req ] ) ;
484- } ,
485- failure : function ( req ) {
486- alert ( req ) ;
487- }
488- } ) ;
489- } ,
529+ params : params ,
530+ post : true ,
490531 parseResponse : function ( request ) {
491532 var data = JSON . parse ( request . responseText ) ;
492533 currDir = data . dir ;
@@ -511,6 +552,10 @@ javaxt.express.FileBrowser = function(parent, config) {
511552 setStyle ( td , config . style . info ) ;
512553
513554 var info = createElement ( "div" , td , {
555+ position : "relative" ,
556+ height : "100%"
557+ } ) ;
558+ info = createElement ( "div" , info , {
514559 position : "absolute"
515560 } ) ;
516561
@@ -521,11 +566,17 @@ javaxt.express.FileBrowser = function(parent, config) {
521566 sizeInfo . style . display = "inline-block" ;
522567 sizeInfo . style . marginLeft = "7px" ;
523568
524- var waitmask ;
569+ var clear = grid . clear ;
570+ grid . clear = function ( ) {
571+ countInfo . innerHTML = "" ;
572+ sizeInfo . innerHTML = "" ;
573+ clear ( ) ;
574+ } ;
575+
576+
525577 grid . beforeLoad = function ( page ) {
526- //me.onSelectionChange();
527- if ( ! waitmask ) waitmask = new javaxt . express . WaitMask ( table ) ;
528578 waitmask . show ( 500 ) ;
579+ //me.onSelectionChange();
529580 countInfo . innerHTML = "" ;
530581 sizeInfo . innerHTML = "" ;
531582 } ;
@@ -536,6 +587,11 @@ javaxt.express.FileBrowser = function(parent, config) {
536587 if ( totalSize > 0 ) sizeInfo . innerHTML = formatSize ( totalSize ) ;
537588 } ;
538589
590+ grid . onError = function ( req ) {
591+ waitmask . hide ( ) ;
592+ alert ( req ) ;
593+ } ;
594+
539595 grid . onSelectionChange = function ( ) {
540596 me . onSelectionChange ( ) ;
541597 } ;
@@ -777,6 +833,7 @@ javaxt.express.FileBrowser = function(parent, config) {
777833 var setStyle = javaxt . dhtml . utils . setStyle ;
778834 var createElement = javaxt . dhtml . utils . createElement ;
779835 var createTable = javaxt . dhtml . utils . createTable ;
836+ var addShowHide = javaxt . dhtml . utils . addShowHide ;
780837
781838 init ( ) ;
782839} ;
0 commit comments