forked from extern/egroupware
WIP search in vfsSelect dialog:
Implement search query for file lists
This commit is contained in:
parent
666125326c
commit
c8151c6f30
@ -17,6 +17,7 @@
|
|||||||
app.classes.vfsSelectUI = (function(){ "use strict"; return AppJS.extend(
|
app.classes.vfsSelectUI = (function(){ "use strict"; return AppJS.extend(
|
||||||
{
|
{
|
||||||
appname: 'filemanager',
|
appname: 'filemanager',
|
||||||
|
dirContent: {},
|
||||||
vfsSelectWidget: {},
|
vfsSelectWidget: {},
|
||||||
path_widget: {},
|
path_widget: {},
|
||||||
/**
|
/**
|
||||||
@ -54,6 +55,7 @@ app.classes.vfsSelectUI = (function(){ "use strict"; return AppJS.extend(
|
|||||||
et2_ready: function(et2,name)
|
et2_ready: function(et2,name)
|
||||||
{
|
{
|
||||||
this.path_widget = this.et2.getWidgetById('path');
|
this.path_widget = this.et2.getWidgetById('path');
|
||||||
|
this.dirContent = this.et2.getArrayMgr('content').data.dir;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -310,5 +312,41 @@ app.classes.vfsSelectUI = (function(){ "use strict"; return AppJS.extend(
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.vfsSelectWidget._content(arrMgrs.content.data, _callback);
|
this.vfsSelectWidget._content(arrMgrs.content.data, _callback);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* search through dir content and set its content base on searched query
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
search: function(_widget)
|
||||||
|
{
|
||||||
|
var dir = this.et2.getWidgetById('dir');
|
||||||
|
var query = _widget.get_value();
|
||||||
|
if (query == "")
|
||||||
|
{
|
||||||
|
dir.set_value({content: this.dirContent});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var searchQuery = function (_query)
|
||||||
|
{
|
||||||
|
var result = {};
|
||||||
|
var reg = RegExp(_query, 'ig');
|
||||||
|
var content = dir.getArrayMgr('content').data;
|
||||||
|
var key = 0;
|
||||||
|
for (var i in content)
|
||||||
|
{
|
||||||
|
if (typeof content[i]['name'] != 'undefined' && content[i]['name'].match(reg))
|
||||||
|
{
|
||||||
|
result[key] = content[i];
|
||||||
|
key++;
|
||||||
|
}
|
||||||
|
else if (typeof content[i]['name'] == 'undefined' && isNaN(i))
|
||||||
|
{
|
||||||
|
result[i] = content[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
dir.set_value({content: searchQuery(query)});
|
||||||
}
|
}
|
||||||
});}).call(this);
|
});}).call(this);
|
@ -19,7 +19,7 @@
|
|||||||
<select width="175" id="app" empty_label="Applications" no_lang="1" onchange="app.vfsSelectUI.do_action('app', widget)"/>
|
<select width="175" id="app" empty_label="Applications" no_lang="1" onchange="app.vfsSelectUI.do_action('app', widget)"/>
|
||||||
<buttononly statustext="Create directory" id="createdir" class="createDir" onclick="app.vfsSelectUI.createdir" image="button_createdir" ro_image="createdir_disabled" background_image="1"/>
|
<buttononly statustext="Create directory" id="createdir" class="createDir" onclick="app.vfsSelectUI.createdir" image="button_createdir" ro_image="createdir_disabled" background_image="1"/>
|
||||||
<file id='upload_file' statustext="upload file" progress_dropdownlist = "true" multiple="true" onFinish="app.vfsSelectUI.storeFile"/>
|
<file id='upload_file' statustext="upload file" progress_dropdownlist = "true" multiple="true" onFinish="app.vfsSelectUI.storeFile"/>
|
||||||
<searchbox id="search"/>
|
<searchbox id="search" onchange="app.vfsSelectUI.search"/>
|
||||||
<vfs-path id="path" class="et2_fullWidth selectPath" align="left" onchange="app.vfsSelectUI.do_action('path', widget)"/>
|
<vfs-path id="path" class="et2_fullWidth selectPath" align="left" onchange="app.vfsSelectUI.do_action('path', widget)"/>
|
||||||
</box>
|
</box>
|
||||||
</row>
|
</row>
|
||||||
|
Loading…
Reference in New Issue
Block a user