diff --git a/.boostnoterc.sample b/.boostnoterc.sample index 8419061d..a7981f7f 100644 --- a/.boostnoterc.sample +++ b/.boostnoterc.sample @@ -23,6 +23,7 @@ "lineNumber": true }, "sortBy": "UPDATED_AT", + "sortTagsBy": "ALPHABETICAL", "ui": { "defaultNote": "ALWAYS_ASK", "disableDirectWrite": false, diff --git a/browser/main/SideNav/SideNav.styl b/browser/main/SideNav/SideNav.styl index a0ffb2e7..666ae0cd 100644 --- a/browser/main/SideNav/SideNav.styl +++ b/browser/main/SideNav/SideNav.styl @@ -30,11 +30,33 @@ display flex flex-direction column -.tag-title - padding-left 15px - padding-bottom 13px - p - color $ui-button-default-color +.tag-control + display flex + height 30px + line-height 25px + overflow hidden + .tag-control-title + padding-left 15px + padding-bottom 13px + flex 1 + p + color $ui-button-default-color + .tag-control-sortTagsBy + user-select none + font-size 12px + color $ui-inactive-text-color + margin-left 12px + margin-right 12px + .tag-control-sortTagsBy-select + appearance: none; + margin-left 5px + color $ui-inactive-text-color + padding 0 + border none + background-color transparent + outline none + cursor pointer + font-size 12px .tagList overflow-y auto diff --git a/browser/main/SideNav/index.js b/browser/main/SideNav/index.js index 149b64f9..f8a65013 100644 --- a/browser/main/SideNav/index.js +++ b/browser/main/SideNav/index.js @@ -82,7 +82,7 @@ class SideNav extends React.Component { } SideNavComponent (isFolded, storageList) { - const { location, data } = this.props + const { location, data, config } = this.props const isHomeActive = !!location.pathname.match(/^\/home$/) const isStarredActive = !!location.pathname.match(/^\/starred$/) @@ -115,8 +115,23 @@ class SideNav extends React.Component { } else { component = (
-
-

{i18n.__('Tags')}

+
+
+

{i18n.__('Tags')}

+
+
+ + +
{this.tagListComponent(data)} @@ -129,10 +144,14 @@ class SideNav extends React.Component { } tagListComponent () { - const { data, location } = this.props - const tagList = _.sortBy(data.tagNoteMap.map((tag, name) => { - return { name, size: tag.size } - }), ['name']) + const { data, location, config } = this.props + let tagList = _.sortBy(data.tagNoteMap.map( + (tag, name) => ({name, size: tag.size})), + ['name'] + ) + if (config.sortTagsBy === 'COUNTER') { + tagList = _.sortBy(tagList, item => (0 - item.size)) + } return ( tagList.map(tag => { return ( @@ -159,6 +178,20 @@ class SideNav extends React.Component { router.push(`/tags/${name}`) } + handleSortTagsByChange (e) { + const { dispatch } = this.props + + const config = { + sortTagsBy: e.target.value + } + + ConfigManager.set(config) + dispatch({ + type: 'SET_CONFIG', + config + }) + } + emptyTrash (entries) { const { dispatch } = this.props const deletionPromises = entries.map((note) => { diff --git a/browser/main/lib/ConfigManager.js b/browser/main/lib/ConfigManager.js index 9f1a2ee9..3e1a2162 100644 --- a/browser/main/lib/ConfigManager.js +++ b/browser/main/lib/ConfigManager.js @@ -16,6 +16,7 @@ export const DEFAULT_CONFIG = { listWidth: 280, navWidth: 200, sortBy: 'UPDATED_AT', // 'CREATED_AT', 'UPDATED_AT', 'APLHABETICAL' + sortTagsBy: 'ALPHABETICAL', // 'ALPHABETICAL', 'COUNTER' listStyle: 'DEFAULT', // 'DEFAULT', 'SMALL' amaEnabled: true, hotkey: { diff --git a/locales/en.json b/locales/en.json index 8a4a8eff..b8250ea7 100644 --- a/locales/en.json +++ b/locales/en.json @@ -111,6 +111,7 @@ "Updated": "Updated", "Created": "Created", "Alphabetically": "Alphabetically", + "Counter": "Counter", "Default View": "Default View", "Compressed View": "Compressed View", "Search": "Search", diff --git a/locales/hu.json b/locales/hu.json index 37c19e48..74cd5d04 100644 --- a/locales/hu.json +++ b/locales/hu.json @@ -111,6 +111,7 @@ "Updated": "Módosítás", "Created": "Létrehozás", "Alphabetically": "Ábécé sorrendben", + "Counter": "Számláló", "Default View": "Alapértelmezett Nézet", "Compressed View": "Tömörített Nézet", "Search": "Keresés", diff --git a/tests/lib/boostnoterc/.boostnoterc.all b/tests/lib/boostnoterc/.boostnoterc.all index 8419061d..a7981f7f 100644 --- a/tests/lib/boostnoterc/.boostnoterc.all +++ b/tests/lib/boostnoterc/.boostnoterc.all @@ -23,6 +23,7 @@ "lineNumber": true }, "sortBy": "UPDATED_AT", + "sortTagsBy": "ALPHABETICAL", "ui": { "defaultNote": "ALWAYS_ASK", "disableDirectWrite": false,