Show tags in tag view if more than one, sort tags alphabetically in note cell, editor pane
This commit is contained in:
@@ -297,11 +297,7 @@ angular.module('app')
|
||||
*/
|
||||
|
||||
this.loadTagsString = function() {
|
||||
var string = "";
|
||||
for(var tag of this.note.tags) {
|
||||
string += "#" + tag.title + " ";
|
||||
}
|
||||
this.tagsString = string;
|
||||
this.tagsString = this.note.tagsString();
|
||||
}
|
||||
|
||||
this.addTag = function(tag) {
|
||||
@@ -326,16 +322,18 @@ angular.module('app')
|
||||
}
|
||||
|
||||
this.updateTagsFromTagsString = function() {
|
||||
var tags = this.tagsString.split("#");
|
||||
tags = _.filter(tags, function(tag){
|
||||
return tag.length > 0;
|
||||
})
|
||||
tags = _.map(tags, function(tag){
|
||||
return tag.trim();
|
||||
if(this.tagsString == this.note.tagsString()) {
|
||||
return;
|
||||
}
|
||||
|
||||
var strings = this.tagsString.split("#").filter((string) => {
|
||||
return string.length > 0;
|
||||
}).map((string) => {
|
||||
return string.trim();
|
||||
})
|
||||
|
||||
this.note.dummy = false;
|
||||
this.updateTags()(this.note, tags);
|
||||
this.updateTags()(this.note, strings);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -257,4 +257,17 @@ angular.module('app')
|
||||
authManager.syncUserPreferences();
|
||||
}
|
||||
|
||||
this.shouldShowTags = function(note) {
|
||||
if(this.hideTags) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.tag.all) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Inside a tag, only show tags string if note contains tags other than this.tag
|
||||
return note.tags && note.tags.length > 1;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@@ -87,13 +87,9 @@ class Tag extends Item {
|
||||
return this.notes;
|
||||
}
|
||||
|
||||
static arrayToDisplayString(tags, includeComma) {
|
||||
return tags.map(function(tag, i){
|
||||
var text = "#" + tag.title;
|
||||
if(i != tags.length - 1) {
|
||||
text += includeComma ? ", " : " ";
|
||||
}
|
||||
return text;
|
||||
static arrayToDisplayString(tags) {
|
||||
return tags.sort((a, b) => {return a.title > b.title}).map(function(tag, i){
|
||||
return "#" + tag.title;
|
||||
}).join(" ");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
#note-tags-component-container{"ng-if" => "ctrl.tagsComponent"}
|
||||
%component-view.component-view{ "component" => "ctrl.tagsComponent"}
|
||||
%input.tags-input{"ng-if" => "!(ctrl.tagsComponent && ctrl.tagsComponent.active)", "type" => "text", "ng-keyup" => "$event.keyCode == 13 && $event.target.blur();",
|
||||
"ng-model" => "ctrl.tagsString", "placeholder" => "#tags", "ng-blur" => "ctrl.updateTagsFromTagsString($event, ctrl.tagsString)"}
|
||||
"ng-model" => "ctrl.tagsString", "placeholder" => "#tags", "ng-blur" => "ctrl.updateTagsFromTagsString($event, ctrl.tagsString)",
|
||||
"spellcheck" => "false"}
|
||||
|
||||
.sn-component{"ng-if" => "ctrl.note"}
|
||||
.app-bar.no-edges
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
%i.icon.ion-ios-box
|
||||
%strong.medium Archived
|
||||
|
||||
.tags-string{"ng-if" => "ctrl.tag.all && !ctrl.hideTags"}
|
||||
.tags-string{"ng-if" => "ctrl.shouldShowTags(note)"}
|
||||
.faded {{note.tagsString()}}
|
||||
|
||||
.name{"ng-if" => "note.title"}
|
||||
|
||||
Reference in New Issue
Block a user