From 2440e68c3f0f6383028600147cb27b9b8b6bdeb9 Mon Sep 17 00:00:00 2001 From: Lombiq Date: Wed, 13 Apr 2016 12:32:48 +0200 Subject: [PATCH] Media Library: Fixing that only the first level of child folders were loaded in the navigation when using Azure storage --- .../Orchard.MediaLibrary/Scripts/media-library.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library.js b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library.js index d0fbf6849..db8bd8370 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library.js +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Scripts/media-library.js @@ -379,12 +379,17 @@ $(function () { var nextFetch = self.folderPath(); if (deepestChildPath !== undefined && deepestChildPath !== null && (deepestChildPath.indexOf(self.folderPath()) === 0)) { - var deepestChildPathBreadCrumbs = deepestChildPath.split('\\'); - var currentBreadCrumbs = self.folderPath().split('\\'); + /* NTFS uses "\" as the directory separator, but AFS uses "/". + Since both of them are illegal characters for file and folder names, it's safe to determine the type of file storage + currently in use based on the directory separator character. */ + var separator = deepestChildPath.contains('/') ? '/' : '\\'; + + var deepestChildPathBreadCrumbs = deepestChildPath.split(separator); + var currentBreadCrumbs = self.folderPath().split(separator); var diff = deepestChildPathBreadCrumbs.length - currentBreadCrumbs.length; if (diff > 0) { - nextFetch = self.folderPath() + '\\' + deepestChildPathBreadCrumbs[deepestChildPathBreadCrumbs.length - diff]; + nextFetch = self.folderPath() + separator + deepestChildPathBreadCrumbs[deepestChildPathBreadCrumbs.length - diff]; } }