Skip to content

Commit b0870d6

Browse files
committed
Updated position of the waitmask and added new public methods to the FileBrowser
1 parent b1a4010 commit b0870d6

File tree

1 file changed

+85
-28
lines changed

1 file changed

+85
-28
lines changed

ui/javascript/widgets/FileBrowser.js

Lines changed: 85 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)