From d464cb2f0dbb20a7b636ee4f6b91af54b2067515 Mon Sep 17 00:00:00 2001 From: psychobunny <rodrigues.andrew@gmail.com> Date: Wed, 19 Aug 2015 13:27:30 -0400 Subject: [PATCH] settings - automated table of contents --- public/less/admin/settings.less | 16 +++++++++++----- public/src/admin/settings.js | 10 ++++++++++ src/views/admin/settings/footer.tpl | 1 + src/views/admin/settings/general.tpl | 11 +++++++++++ 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/public/less/admin/settings.less b/public/less/admin/settings.less index 94318e180f..1f7b403cf1 100644 --- a/public/less/admin/settings.less +++ b/public/less/admin/settings.less @@ -1,9 +1,15 @@ .settings { - .settings-header { - font-weight: 700; - } - .row { margin-bottom: 15px; - } + } + + .section-content { + border-left: 3px solid @brand-primary; + + ul { + list-style-type: none; + font-size: 16px; + padding-left: 20px; + } + } } \ No newline at end of file diff --git a/public/src/admin/settings.js b/public/src/admin/settings.js index 1eee16a353..07fe9311ad 100644 --- a/public/src/admin/settings.js +++ b/public/src/admin/settings.js @@ -8,6 +8,16 @@ define('admin/settings', ['uploader', 'sounds'], function(uploader, sounds) { $(window).on('action:config.loaded', Settings.prepare); }; + Settings.populateTOC = function() { + $('.settings-header').each(function() { + var header = $(this).text(), + anchor = header.toLowerCase().replace(/ /g, '-').trim(); + + $(this).prepend('<a name="' + anchor + '"></a>'); + $('.section-content ul').append('<li><a href="#' + anchor + '">' + header + '</a></li>'); + }); + }; + Settings.prepare = function(callback) { // Populate the fields on the page from the config var fields = $('#content [data-field]'), diff --git a/src/views/admin/settings/footer.tpl b/src/views/admin/settings/footer.tpl index f20e3294c7..6c39673be5 100644 --- a/src/views/admin/settings/footer.tpl +++ b/src/views/admin/settings/footer.tpl @@ -5,5 +5,6 @@ <script> require(['admin/settings'], function(Settings) { Settings.prepare(); + Settings.populateTOC(); }); </script> diff --git a/src/views/admin/settings/general.tpl b/src/views/admin/settings/general.tpl index 860ed527e1..6d2583761f 100644 --- a/src/views/admin/settings/general.tpl +++ b/src/views/admin/settings/general.tpl @@ -1,6 +1,17 @@ <!-- IMPORT admin/settings/header.tpl --> +<div class="row"> + <div class="col-xs-2 settings-header"> + Contents + </div> + <div class="col-xs-10"> + <nav class="section-content"> + <ul></ul> + </nav> + </div> +</div> + <div class="row"> <div class="col-xs-2 settings-header"> Site Settings