From 97a839c1aca329135b74abe3d1e195631416b2f5 Mon Sep 17 00:00:00 2001 From: Lars Jung Date: Sun, 28 Dec 2014 03:10:00 +0100 Subject: [PATCH] Clean code. Change theme structure. --- src/_h5ai/client/css/inc/topbar.less | 6 ++--- src/_h5ai/client/css/inc/tree.less | 2 +- src/_h5ai/client/css/inc/view-details.less | 8 ++++-- src/_h5ai/client/images/descending.svg | 3 --- src/_h5ai/client/images/fallback/vid1.svg | 3 --- src/_h5ai/client/images/folder-page.svg | 3 --- src/_h5ai/client/images/folder.svg | 3 --- src/_h5ai/client/images/page.svg | 3 --- .../client/{ => images}/themes/README.md | 3 ++- .../{fallback => themes/default}/ar.svg | 0 .../{fallback => themes/default}/aud.svg | 0 .../{fallback => themes/default}/bin.svg | 0 .../{fallback => themes/default}/file.svg | 0 .../default}/folder-page.svg | 0 .../default}/folder-parent.svg | 0 .../{fallback => themes/default}/folder.svg | 0 .../{fallback => themes/default}/img.svg | 0 .../{fallback => themes/default}/txt.svg | 0 .../{fallback => themes/default}/vid.svg | 0 src/_h5ai/client/images/{ => ui}/crumb.svg | 0 src/_h5ai/client/images/{ => ui}/download.svg | 0 src/_h5ai/client/images/{ => ui}/filter.svg | 0 src/_h5ai/client/images/{ => ui}/paypal.svg | 0 .../close.svg => ui/preview-close.svg} | 0 .../preview-fullscreen.svg} | 0 .../{preview/next.svg => ui/preview-next.svg} | 0 .../preview-no-fullscreen.svg} | 0 .../{preview/prev.svg => ui/preview-prev.svg} | 0 .../{preview/raw.svg => ui/preview-raw.svg} | 0 src/_h5ai/client/images/{ => ui}/selected.svg | 0 src/_h5ai/client/images/{ => ui}/settings.svg | 0 .../images/{ascending.svg => ui/sort.svg} | 0 src/_h5ai/client/images/{ => ui}/spinner.svg | 0 src/_h5ai/client/images/{ => ui}/tree.svg | 0 .../client/images/{ => ui}/view-details.svg | 0 .../client/images/{ => ui}/view-grid.svg | 0 .../client/images/{ => ui}/view-icons.svg | 0 .../client/images/{ => ui}/view-tree.svg | 0 src/_h5ai/client/js/inc/core/resource.js | 26 +++++++++---------- src/_h5ai/client/js/inc/ext/crumb.js | 8 +++--- src/_h5ai/client/js/inc/ext/preview.js | 18 ++++++------- src/_h5ai/client/js/inc/ext/sort.js | 4 +-- src/_h5ai/client/js/inc/ext/tree.js | 6 ++--- src/_h5ai/server/php/inc/class-app.php | 4 +-- 44 files changed, 43 insertions(+), 57 deletions(-) delete mode 100644 src/_h5ai/client/images/descending.svg delete mode 100644 src/_h5ai/client/images/fallback/vid1.svg delete mode 100644 src/_h5ai/client/images/folder-page.svg delete mode 100644 src/_h5ai/client/images/folder.svg delete mode 100644 src/_h5ai/client/images/page.svg rename src/_h5ai/client/{ => images}/themes/README.md (68%) rename src/_h5ai/client/images/{fallback => themes/default}/ar.svg (100%) rename src/_h5ai/client/images/{fallback => themes/default}/aud.svg (100%) rename src/_h5ai/client/images/{fallback => themes/default}/bin.svg (100%) rename src/_h5ai/client/images/{fallback => themes/default}/file.svg (100%) rename src/_h5ai/client/images/{fallback => themes/default}/folder-page.svg (100%) rename src/_h5ai/client/images/{fallback => themes/default}/folder-parent.svg (100%) rename src/_h5ai/client/images/{fallback => themes/default}/folder.svg (100%) rename src/_h5ai/client/images/{fallback => themes/default}/img.svg (100%) rename src/_h5ai/client/images/{fallback => themes/default}/txt.svg (100%) rename src/_h5ai/client/images/{fallback => themes/default}/vid.svg (100%) rename src/_h5ai/client/images/{ => ui}/crumb.svg (100%) rename src/_h5ai/client/images/{ => ui}/download.svg (100%) rename src/_h5ai/client/images/{ => ui}/filter.svg (100%) rename src/_h5ai/client/images/{ => ui}/paypal.svg (100%) rename src/_h5ai/client/images/{preview/close.svg => ui/preview-close.svg} (100%) rename src/_h5ai/client/images/{preview/fullscreen.svg => ui/preview-fullscreen.svg} (100%) rename src/_h5ai/client/images/{preview/next.svg => ui/preview-next.svg} (100%) rename src/_h5ai/client/images/{preview/no-fullscreen.svg => ui/preview-no-fullscreen.svg} (100%) rename src/_h5ai/client/images/{preview/prev.svg => ui/preview-prev.svg} (100%) rename src/_h5ai/client/images/{preview/raw.svg => ui/preview-raw.svg} (100%) rename src/_h5ai/client/images/{ => ui}/selected.svg (100%) rename src/_h5ai/client/images/{ => ui}/settings.svg (100%) rename src/_h5ai/client/images/{ascending.svg => ui/sort.svg} (100%) rename src/_h5ai/client/images/{ => ui}/spinner.svg (100%) rename src/_h5ai/client/images/{ => ui}/tree.svg (100%) rename src/_h5ai/client/images/{ => ui}/view-details.svg (100%) rename src/_h5ai/client/images/{ => ui}/view-grid.svg (100%) rename src/_h5ai/client/images/{ => ui}/view-icons.svg (100%) rename src/_h5ai/client/images/{ => ui}/view-tree.svg (100%) 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 = 'has index page'; + var pageHintTemplate = 'has index page'; 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 = - 'ascending' + - 'descending'; + var template = 'sort order'; 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);