From e5b265e4973f326b22e6d1f444678474dcf2e25e Mon Sep 17 00:00:00 2001 From: Rokt33r Date: Fri, 29 May 2015 16:53:01 +0900 Subject: [PATCH] add tagging --- src/main.scss | 3 +++ src/modals/new-snippet-modal.js | 22 ++++++++++++++++++++-- src/modals/new-snippet-modal.tpl.html | 17 +++++++++++++++-- src/services/snippet.js | 6 +++--- src/services/tag.js | 16 ++++++++++++++++ src/states/home/home.js | 2 +- src/states/snippets/detail.tpl.html | 11 +++++++---- src/states/snippets/list.tpl.html | 4 ++-- src/states/snippets/snippets.scss | 5 +++++ 9 files changed, 72 insertions(+), 14 deletions(-) create mode 100644 src/services/tag.js diff --git a/src/main.scss b/src/main.scss index 10e81f92..cc687151 100644 --- a/src/main.scss +++ b/src/main.scss @@ -17,6 +17,9 @@ body { label{ font-family: "Lato", sans-serif; } +textarea{ + resize: vertical; +} #side-view{ position:absolute; diff --git a/src/modals/new-snippet-modal.js b/src/modals/new-snippet-modal.js index 11ce9465..8ea5f694 100644 --- a/src/modals/new-snippet-modal.js +++ b/src/modals/new-snippet-modal.js @@ -11,7 +11,7 @@ angular.module('codexen.modals') open: open } }) - .controller('NewSnippetModalController', function ($modalInstance, aceModes, $log, Snippet, $rootScope){ + .controller('NewSnippetModalController', function ($modalInstance, aceModes, $log, Snippet, $rootScope, Tag){ var vm = this vm.aceModes = aceModes @@ -22,7 +22,8 @@ angular.module('codexen.modals') description: vm.description, prefix: vm.prefix, mode: vm.mode==null?null:vm.mode.name.toLowerCase(), - content: vm.content + content: vm.content, + tags: angular.isArray(vm.tags)?vm.tags.map(function (tag) { return {_id: tag._id, name: tag.name} }):[] } Snippet.create(params) @@ -32,6 +33,23 @@ angular.module('codexen.modals') }) } + // vm.tags = [] + vm.tagCandidates = [] + vm.refreshTagCandidates = function(tagName) { + if (tagName == null || tagName == '') return null + return Tag.findByName(tagName) + .success(function (data) { + console.log('tags fetched!!', data) + vm.tagCandidates = data.tags + }) + } + vm.transform = function (tagName) { + return { + _id:0, + name:tagName + } + } + vm.cancel = function () { $modalInstance.dismiss() } diff --git a/src/modals/new-snippet-modal.tpl.html b/src/modals/new-snippet-modal.tpl.html index 5ab107a6..84e838ac 100644 --- a/src/modals/new-snippet-modal.tpl.html +++ b/src/modals/new-snippet-modal.tpl.html @@ -10,9 +10,9 @@
- + {{$select.selected.name}} - +
@@ -25,6 +25,19 @@ }" ng-model="vm.content" >
+ +
+ + {{$item.name}} + +
(new)
+
+
+ + +
+ diff --git a/src/states/snippets/list.tpl.html b/src/states/snippets/list.tpl.html index 81ca21f8..517f2689 100644 --- a/src/states/snippets/list.tpl.html +++ b/src/states/snippets/list.tpl.html @@ -34,8 +34,8 @@

-

- +

+

diff --git a/src/states/snippets/snippets.scss b/src/states/snippets/snippets.scss index 45e8c7f9..867922fd 100644 --- a/src/states/snippets/snippets.scss +++ b/src/states/snippets/snippets.scss @@ -75,3 +75,8 @@ $snippet-list-item-hover-bg: #EEE; } } } +.tags{ + a{ + margin: 0 2px; + } +}