Made folder browser filtering client side
This commit is contained in:
@@ -41,7 +41,7 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls");
|
||||
{
|
||||
var self = this;
|
||||
|
||||
$.getJSON(self._opts.basePath + "/FolderBrowserService/GetChildren/" + self._parentId + "/" + self._viewModel.filterTerm(), function (data) {
|
||||
$.getJSON(self._opts.basePath + "/FolderBrowserService/GetChildren/" + self._parentId, function (data) {
|
||||
if (data != undefined && data.length > 0) {
|
||||
ko.mapping.fromJS(data, itemMappingOptions, self._viewModel.items);
|
||||
} else {
|
||||
@@ -121,7 +121,6 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls");
|
||||
});
|
||||
|
||||
self._viewModel.filtered = ko.computed(function () {
|
||||
//return self._viewModel.items();
|
||||
return ko.utils.arrayFilter(this.items(), function (item) {
|
||||
return item.Name().toLowerCase().indexOf(self._viewModel.filterTerm()) > -1 ||
|
||||
item.Tags().toLowerCase().indexOf(self._viewModel.filterTerm()) > -1;
|
||||
@@ -150,9 +149,6 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls");
|
||||
return ids;
|
||||
}, self._viewModel);
|
||||
|
||||
self._viewModel.filterTerm.subscribe(function (newValue) {
|
||||
self._getChildNodes();
|
||||
});
|
||||
},
|
||||
|
||||
_initToolbar: function ()
|
||||
|
||||
@@ -1830,7 +1830,9 @@
|
||||
<Content Include="umbraco.presentation\umbraco\members\search.aspx" />
|
||||
<Content Include="umbraco.presentation\umbraco\translation\details.aspx" />
|
||||
<Content Include="umbraco.presentation\umbraco\developer\Packages\BrowseRepository.aspx" />
|
||||
<Content Include="umbraco.presentation\umbraco\developer\Packages\directoryBrowser.aspx" />
|
||||
<Content Include="umbraco.presentation\umbraco\developer\Packages\directoryBrowser.aspx">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Content>
|
||||
<Content Include="umbraco.presentation\umbraco\developer\Packages\editPackage.aspx" />
|
||||
<Content Include="umbraco.presentation\umbraco\developer\Packages\installedPackage.aspx" />
|
||||
<Content Include="umbraco.presentation\umbraco\developer\Packages\LoadNitros.ascx" />
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace Umbraco.Web.WebServices
|
||||
public class FolderBrowserService
|
||||
{
|
||||
[RestExtensionMethod(returnXml = false)]
|
||||
public static string GetChildren(int parentId, string filterTerm)
|
||||
public static string GetChildren(int parentId)
|
||||
{
|
||||
var parentMedia = new global::umbraco.cms.businesslogic.media.Media(parentId);
|
||||
var currentUser = User.GetCurrent();
|
||||
@@ -35,9 +35,7 @@ namespace Umbraco.Web.WebServices
|
||||
// Get children and filter
|
||||
//TODO: Only fetch files, not containers
|
||||
//TODO: Cache responses to speed up susequent searches
|
||||
foreach (var child in parentMedia.Children.Where(x => string.IsNullOrEmpty(filterTerm) ||
|
||||
x.Text.InvariantContains(filterTerm) ||
|
||||
Tag.GetTags(x.Id).Any(y => y.TagCaption.InvariantContains(filterTerm))))
|
||||
foreach (var child in parentMedia.Children)
|
||||
{
|
||||
var fileProp = child.getProperty("umbracoFile") ??
|
||||
child.GenericProperties.FirstOrDefault(x =>
|
||||
|
||||
Reference in New Issue
Block a user