diff --git a/src/_h5ai/client/css/inc/topbar.less b/src/_h5ai/client/css/inc/topbar.less
index 3604623f..b8c6b13a 100644
--- a/src/_h5ai/client/css/inc/topbar.less
+++ b/src/_h5ai/client/css/inc/topbar.less
@@ -23,7 +23,7 @@
order: 99;
text-align: center;
padding: 6px 12px;
- // max-width: 80px;
+ max-width: 80px;
overflow: hidden;
height: 36px;
.transition(all 0.2s ease-in-out);
@@ -79,14 +79,14 @@
height: 48px;
font-size: 16px;
padding: 0 8px;
- border-left: 1px solid rgba(0,0,0,0.05);
+ // border-left: 1px solid rgba(0,0,0,0.05);
a, a:active, a:visited {
color: @col;
cursor: pointer;
text-decoration: none;
- &.current {
+ &.active {
font-weight: bold;
color: @col-text-highlight;
}
diff --git a/src/_h5ai/client/css/inc/tree.less b/src/_h5ai/client/css/inc/tree.less
index 55def641..84a989aa 100644
--- a/src/_h5ai/client/css/inc/tree.less
+++ b/src/_h5ai/client/css/inc/tree.less
@@ -24,7 +24,7 @@
}
}
- .current > a {
+ .active > a {
font-weight: bold;
}
diff --git a/src/_h5ai/client/css/inc/view-details.less b/src/_h5ai/client/css/inc/view-details.less
index d5801ed7..d1d4da9e 100644
--- a/src/_h5ai/client/css/inc/view-details.less
+++ b/src/_h5ai/client/css/inc/view-details.less
@@ -60,10 +60,14 @@
padding: 0 4px;
}
- .ascending .sort.ascending,
- .descending .sort.descending {
+ .ascending .sort {
display: inline;
}
+
+ .descending .sort {
+ display: inline;
+ .transform(rotate(180deg));
+ }
}
.item {
diff --git a/src/_h5ai/client/images/descending.svg b/src/_h5ai/client/images/descending.svg
deleted file mode 100644
index bbe4fefa..00000000
--- a/src/_h5ai/client/images/descending.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
\ No newline at end of file
diff --git a/src/_h5ai/client/images/fallback/vid1.svg b/src/_h5ai/client/images/fallback/vid1.svg
deleted file mode 100644
index 5fa7dbae..00000000
--- a/src/_h5ai/client/images/fallback/vid1.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
\ No newline at end of file
diff --git a/src/_h5ai/client/images/folder-page.svg b/src/_h5ai/client/images/folder-page.svg
deleted file mode 100644
index 09b7eccf..00000000
--- a/src/_h5ai/client/images/folder-page.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
\ No newline at end of file
diff --git a/src/_h5ai/client/images/folder.svg b/src/_h5ai/client/images/folder.svg
deleted file mode 100644
index 79b79631..00000000
--- a/src/_h5ai/client/images/folder.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
\ No newline at end of file
diff --git a/src/_h5ai/client/images/page.svg b/src/_h5ai/client/images/page.svg
deleted file mode 100644
index 09b7eccf..00000000
--- a/src/_h5ai/client/images/page.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
\ No newline at end of file
diff --git a/src/_h5ai/client/themes/README.md b/src/_h5ai/client/images/themes/README.md
similarity index 68%
rename from src/_h5ai/client/themes/README.md
rename to src/_h5ai/client/images/themes/README.md
index 73ce5ea9..650e0f71 100644
--- a/src/_h5ai/client/themes/README.md
+++ b/src/_h5ai/client/images/themes/README.md
@@ -1,7 +1,8 @@
# Themes
This directory will contain any themes you add. At the moment there are only
-icon themes supported. The folder structure is: `/icons/.`
+icon themes supported. The folder structure is: `/.`,
+with `` one of `svg`, `png` or `jpg`.
To select a theme use the option `view > theme` in file `conf/options.json`.
diff --git a/src/_h5ai/client/images/fallback/ar.svg b/src/_h5ai/client/images/themes/default/ar.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/ar.svg
rename to src/_h5ai/client/images/themes/default/ar.svg
diff --git a/src/_h5ai/client/images/fallback/aud.svg b/src/_h5ai/client/images/themes/default/aud.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/aud.svg
rename to src/_h5ai/client/images/themes/default/aud.svg
diff --git a/src/_h5ai/client/images/fallback/bin.svg b/src/_h5ai/client/images/themes/default/bin.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/bin.svg
rename to src/_h5ai/client/images/themes/default/bin.svg
diff --git a/src/_h5ai/client/images/fallback/file.svg b/src/_h5ai/client/images/themes/default/file.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/file.svg
rename to src/_h5ai/client/images/themes/default/file.svg
diff --git a/src/_h5ai/client/images/fallback/folder-page.svg b/src/_h5ai/client/images/themes/default/folder-page.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/folder-page.svg
rename to src/_h5ai/client/images/themes/default/folder-page.svg
diff --git a/src/_h5ai/client/images/fallback/folder-parent.svg b/src/_h5ai/client/images/themes/default/folder-parent.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/folder-parent.svg
rename to src/_h5ai/client/images/themes/default/folder-parent.svg
diff --git a/src/_h5ai/client/images/fallback/folder.svg b/src/_h5ai/client/images/themes/default/folder.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/folder.svg
rename to src/_h5ai/client/images/themes/default/folder.svg
diff --git a/src/_h5ai/client/images/fallback/img.svg b/src/_h5ai/client/images/themes/default/img.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/img.svg
rename to src/_h5ai/client/images/themes/default/img.svg
diff --git a/src/_h5ai/client/images/fallback/txt.svg b/src/_h5ai/client/images/themes/default/txt.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/txt.svg
rename to src/_h5ai/client/images/themes/default/txt.svg
diff --git a/src/_h5ai/client/images/fallback/vid.svg b/src/_h5ai/client/images/themes/default/vid.svg
similarity index 100%
rename from src/_h5ai/client/images/fallback/vid.svg
rename to src/_h5ai/client/images/themes/default/vid.svg
diff --git a/src/_h5ai/client/images/crumb.svg b/src/_h5ai/client/images/ui/crumb.svg
similarity index 100%
rename from src/_h5ai/client/images/crumb.svg
rename to src/_h5ai/client/images/ui/crumb.svg
diff --git a/src/_h5ai/client/images/download.svg b/src/_h5ai/client/images/ui/download.svg
similarity index 100%
rename from src/_h5ai/client/images/download.svg
rename to src/_h5ai/client/images/ui/download.svg
diff --git a/src/_h5ai/client/images/filter.svg b/src/_h5ai/client/images/ui/filter.svg
similarity index 100%
rename from src/_h5ai/client/images/filter.svg
rename to src/_h5ai/client/images/ui/filter.svg
diff --git a/src/_h5ai/client/images/paypal.svg b/src/_h5ai/client/images/ui/paypal.svg
similarity index 100%
rename from src/_h5ai/client/images/paypal.svg
rename to src/_h5ai/client/images/ui/paypal.svg
diff --git a/src/_h5ai/client/images/preview/close.svg b/src/_h5ai/client/images/ui/preview-close.svg
similarity index 100%
rename from src/_h5ai/client/images/preview/close.svg
rename to src/_h5ai/client/images/ui/preview-close.svg
diff --git a/src/_h5ai/client/images/preview/fullscreen.svg b/src/_h5ai/client/images/ui/preview-fullscreen.svg
similarity index 100%
rename from src/_h5ai/client/images/preview/fullscreen.svg
rename to src/_h5ai/client/images/ui/preview-fullscreen.svg
diff --git a/src/_h5ai/client/images/preview/next.svg b/src/_h5ai/client/images/ui/preview-next.svg
similarity index 100%
rename from src/_h5ai/client/images/preview/next.svg
rename to src/_h5ai/client/images/ui/preview-next.svg
diff --git a/src/_h5ai/client/images/preview/no-fullscreen.svg b/src/_h5ai/client/images/ui/preview-no-fullscreen.svg
similarity index 100%
rename from src/_h5ai/client/images/preview/no-fullscreen.svg
rename to src/_h5ai/client/images/ui/preview-no-fullscreen.svg
diff --git a/src/_h5ai/client/images/preview/prev.svg b/src/_h5ai/client/images/ui/preview-prev.svg
similarity index 100%
rename from src/_h5ai/client/images/preview/prev.svg
rename to src/_h5ai/client/images/ui/preview-prev.svg
diff --git a/src/_h5ai/client/images/preview/raw.svg b/src/_h5ai/client/images/ui/preview-raw.svg
similarity index 100%
rename from src/_h5ai/client/images/preview/raw.svg
rename to src/_h5ai/client/images/ui/preview-raw.svg
diff --git a/src/_h5ai/client/images/selected.svg b/src/_h5ai/client/images/ui/selected.svg
similarity index 100%
rename from src/_h5ai/client/images/selected.svg
rename to src/_h5ai/client/images/ui/selected.svg
diff --git a/src/_h5ai/client/images/settings.svg b/src/_h5ai/client/images/ui/settings.svg
similarity index 100%
rename from src/_h5ai/client/images/settings.svg
rename to src/_h5ai/client/images/ui/settings.svg
diff --git a/src/_h5ai/client/images/ascending.svg b/src/_h5ai/client/images/ui/sort.svg
similarity index 100%
rename from src/_h5ai/client/images/ascending.svg
rename to src/_h5ai/client/images/ui/sort.svg
diff --git a/src/_h5ai/client/images/spinner.svg b/src/_h5ai/client/images/ui/spinner.svg
similarity index 100%
rename from src/_h5ai/client/images/spinner.svg
rename to src/_h5ai/client/images/ui/spinner.svg
diff --git a/src/_h5ai/client/images/tree.svg b/src/_h5ai/client/images/ui/tree.svg
similarity index 100%
rename from src/_h5ai/client/images/tree.svg
rename to src/_h5ai/client/images/ui/tree.svg
diff --git a/src/_h5ai/client/images/view-details.svg b/src/_h5ai/client/images/ui/view-details.svg
similarity index 100%
rename from src/_h5ai/client/images/view-details.svg
rename to src/_h5ai/client/images/ui/view-details.svg
diff --git a/src/_h5ai/client/images/view-grid.svg b/src/_h5ai/client/images/ui/view-grid.svg
similarity index 100%
rename from src/_h5ai/client/images/view-grid.svg
rename to src/_h5ai/client/images/ui/view-grid.svg
diff --git a/src/_h5ai/client/images/view-icons.svg b/src/_h5ai/client/images/ui/view-icons.svg
similarity index 100%
rename from src/_h5ai/client/images/view-icons.svg
rename to src/_h5ai/client/images/ui/view-icons.svg
diff --git a/src/_h5ai/client/images/view-tree.svg b/src/_h5ai/client/images/ui/view-tree.svg
similarity index 100%
rename from src/_h5ai/client/images/view-tree.svg
rename to src/_h5ai/client/images/ui/view-tree.svg
diff --git a/src/_h5ai/client/js/inc/core/resource.js b/src/_h5ai/client/js/inc/core/resource.js
index 34b97afa..c1165df8 100644
--- a/src/_h5ai/client/js/inc/core/resource.js
+++ b/src/_h5ai/client/js/inc/core/resource.js
@@ -1,17 +1,15 @@
-modulejs.define('core/resource', ['_', '$', 'config', 'core/settings'], function (_, $, config, settings) {
+modulejs.define('core/resource', ['_', 'config', 'core/settings'], function (_, config, settings) {
- var win = window;
- var appHref = settings.appHref;
- var imagesHref = appHref + 'client/images/';
- var fallbackHref = appHref + 'client/images/fallback/';
- var themesHref = appHref + 'client/themes/';
- var scriptsHref = appHref + 'client/js/';
- var fallbacks = ['file', 'folder', 'folder-page', 'folder-parent', 'ar', 'aud', 'bin', 'img', 'txt', 'vid'];
+ var imagesHref = settings.appHref + 'client/images/';
+ var uiHref = imagesHref + 'ui/';
+ var themesHref = imagesHref + 'themes/';
+ var defaultThemeHref = themesHref + 'default/';
+ var defaultIcons = ['file', 'folder', 'folder-page', 'folder-parent', 'ar', 'aud', 'bin', 'img', 'txt', 'vid'];
function image(id) {
- return imagesHref + id + '.svg';
+ return uiHref + id + '.svg';
}
function icon(id) {
@@ -23,15 +21,15 @@ modulejs.define('core/resource', ['_', '$', 'config', 'core/settings'], function
return themesHref + href;
}
- if (_.indexOf(fallbacks, id) >= 0) {
- return fallbackHref + id + '.svg';
+ if (_.indexOf(defaultIcons, id) >= 0) {
+ return defaultThemeHref + id + '.svg';
}
- if (_.indexOf(fallbacks, baseId) >= 0) {
- return fallbackHref + baseId + '.svg';
+ if (_.indexOf(defaultIcons, baseId) >= 0) {
+ return defaultThemeHref + baseId + '.svg';
}
- return fallbackHref + 'file.svg';
+ return defaultThemeHref + 'file.svg';
}
diff --git a/src/_h5ai/client/js/inc/ext/crumb.js b/src/_h5ai/client/js/inc/ext/crumb.js
index 8ff97cb4..8fd19957 100644
--- a/src/_h5ai/client/js/inc/ext/crumb.js
+++ b/src/_h5ai/client/js/inc/ext/crumb.js
@@ -8,7 +8,7 @@ modulejs.define('ext/crumb', ['_', '$', 'core/settings', 'core/resource', 'core/
'
' +
'' +
'';
- var pageHintTemplate = '
';
+ var pageHintTemplate = '
';
function update(item, force) {
@@ -31,7 +31,7 @@ modulejs.define('ext/crumb', ['_', '$', 'core/settings', 'core/resource', 'core/
}
if (item.isCurrentFolder()) {
- $html.addClass('current');
+ $html.addClass('active');
}
if (!item.isManaged) {
@@ -57,9 +57,9 @@ modulejs.define('ext/crumb', ['_', '$', 'core/settings', 'core/resource', 'core/
var $html = $(this);
if ($html.data('item') === item) {
found = true;
- $html.addClass('current');
+ $html.addClass('active');
} else {
- $html.removeClass('current');
+ $html.removeClass('active');
}
});
diff --git a/src/_h5ai/client/js/inc/ext/preview.js b/src/_h5ai/client/js/inc/ext/preview.js
index f2ddd777..58d2c6e6 100644
--- a/src/_h5ai/client/js/inc/ext/preview.js
+++ b/src/_h5ai/client/js/inc/ext/preview.js
@@ -8,16 +8,16 @@ modulejs.define('ext/preview', ['_', '$', 'core/settings', 'core/resource', 'cor
'' +
'
' +
'
' +
- '
' +
- '
' +
+ '
' +
+ '
' +
'
' +
'
';
@@ -53,10 +53,10 @@ modulejs.define('ext/preview', ['_', '$', 'core/settings', 'core/resource', 'cor
if (isFullscreen) {
$('#pv-overlay').addClass('fullscreen');
- $('#pv-bar-fullscreen').find('img').attr('src', resource.image('preview/no-fullscreen'));
+ $('#pv-bar-fullscreen').find('img').attr('src', resource.image('preview-no-fullscreen'));
} else {
$('#pv-overlay').removeClass('fullscreen');
- $('#pv-bar-fullscreen').find('img').attr('src', resource.image('preview/fullscreen'));
+ $('#pv-bar-fullscreen').find('img').attr('src', resource.image('preview-fullscreen'));
}
if (_.isFunction(onAdjustSize)) {
diff --git a/src/_h5ai/client/js/inc/ext/sort.js b/src/_h5ai/client/js/inc/ext/sort.js
index c2aa9f8f..1e52692a 100644
--- a/src/_h5ai/client/js/inc/ext/sort.js
+++ b/src/_h5ai/client/js/inc/ext/sort.js
@@ -9,9 +9,7 @@ modulejs.define('ext/sort', ['_', '$', 'core/settings', 'core/resource', 'core/e
folders: 0
}, allsettings.sort);
var storekey = 'ext/sort';
- var template =
- '
' +
- '
';
+ var template = '
';
function getType(item) {
diff --git a/src/_h5ai/client/js/inc/ext/tree.js b/src/_h5ai/client/js/inc/ext/tree.js
index 773ebd00..f9127b32 100644
--- a/src/_h5ai/client/js/inc/ext/tree.js
+++ b/src/_h5ai/client/js/inc/ext/tree.js
@@ -37,7 +37,7 @@ modulejs.define('ext/tree', ['_', '$', 'core/settings', 'core/resource', 'core/s
.data('item', item);
location.setLink($a, item);
- $img.attr('src', resource.image('folder'));
+ $img.attr('src', resource.icon('folder'));
$label.text(item.label);
if (item.isFolder()) {
@@ -60,7 +60,7 @@ modulejs.define('ext/tree', ['_', '$', 'core/settings', 'core/resource', 'core/s
// is it the current folder?
if (item.isCurrentFolder()) {
- $html.addClass('current');
+ $html.addClass('active');
}
// does it have subfolders?
@@ -83,7 +83,7 @@ modulejs.define('ext/tree', ['_', '$', 'core/settings', 'core/resource', 'core/s
// reflect folder status
if (!item.isManaged) {
- $img.attr('src', resource.image('folder-page'));
+ $img.attr('src', resource.icon('folder-page'));
}
}
diff --git a/src/_h5ai/server/php/inc/class-app.php b/src/_h5ai/server/php/inc/class-app.php
index ecbe74ad..96f371b4 100644
--- a/src/_h5ai/server/php/inc/class-app.php
+++ b/src/_h5ai/server/php/inc/class-app.php
@@ -54,7 +54,7 @@ class App {
public function get_theme() {
$theme = $this->options["view"]["theme"];
- $theme_path = APP_PATH . "/client/themes/${theme}/icons";
+ $theme_path = APP_PATH . "/client/images/${theme}";
$icons = array();
@@ -63,7 +63,7 @@ class App {
while (($name = readdir($dir)) !== false) {
$path_parts = pathinfo($name);
if (in_array($path_parts["extension"], App::$ICON_EXTS)) {
- $icons[$path_parts["filename"]] = "${theme}/icons/${name}";
+ $icons[$path_parts["filename"]] = "${theme}/${name}";
}
}
closedir($dir);