Commit c121c4c0d918bfef97e879b331611c5a0a605fa7
Refactor
Anders Rune Jensen committed on 1/1/2018, 9:35:10 AMParent: 2e517d8b461be43cc33b63e9bf2831198fed3814
Files changed
book/html/layout/detail.js | changed |
book/html/layout/detail.js | ||
---|---|---|
@@ -77,21 +77,13 @@ | ||
77 | 77 … | ) |
78 | 78 … | ]) |
79 | 79 … | } |
80 | 80 … | |
81 | - function textEdit(isEditing, name, value) { | |
82 | - const classList = computed([value, isEditing], (v, e) => { | |
83 | - return v || e | |
84 | - ? '-expanded' | |
85 | - : '-contracted' | |
86 | - }) | |
87 | - | |
81 … | + function suggestiveTextArea(textArea) { | |
88 | 82 … | var getProfileSuggestions = api.about.async.suggest() |
89 | 83 … | var getChannelSuggestions = api.channel.async.suggest() |
90 | 84 … | var getEmojiSuggestions = api.emoji.async.suggest() |
91 | 85 … | |
92 | - let textArea = h('textarea', {'ev-input': e => value.set(e.target.value), value }) | |
93 | - | |
94 | 86 … | let textAreaWrapper = h('span', textArea) |
95 | 87 … | |
96 | 88 … | addSuggest(textArea, (inputText, cb) => { |
97 | 89 … | const char = inputText[0] |
@@ -101,8 +93,21 @@ | ||
101 | 93 … | if (char === '#') cb(null, getChannelSuggestions(wordFragment)) |
102 | 94 … | if (char === ':') cb(null, getEmojiSuggestions(wordFragment)) |
103 | 95 … | }, {cls: 'PatchSuggest'}) |
104 | 96 … | |
97 … | + return textAreaWrapper | |
98 … | + } | |
99 … | + | |
100 … | + function textEdit(isEditing, name, value) { | |
101 … | + const classList = computed([value, isEditing], (v, e) => { | |
102 … | + return v || e | |
103 … | + ? '-expanded' | |
104 … | + : '-contracted' | |
105 … | + }) | |
106 … | + | |
107 … | + let textArea = h('textarea', {'ev-input': e => value.set(e.target.value), value }) | |
108 … | + let textAreaWrapper = suggestiveTextArea(textArea) | |
109 … | + | |
105 | 110 … | return h('div', { classList }, [ |
106 | 111 … | h('div', name + ':'), |
107 | 112 … | when(isEditing, |
108 | 113 … | textAreaWrapper, |
@@ -146,25 +151,11 @@ | ||
146 | 151 … | |
147 | 152 … | let subjectiveComment = Value('') |
148 | 153 … | let lastCommentId = null |
149 | 154 … | |
150 | - var getProfileSuggestions = api.about.async.suggest() | |
151 | - var getChannelSuggestions = api.channel.async.suggest() | |
152 | - var getEmojiSuggestions = api.emoji.async.suggest() | |
153 | - | |
154 | 155 … | let textArea = h('textarea', {'ev-input': e => subjectiveComment.set(e.target.value) }) |
155 | - | |
156 | - let textAreaWrapper = h('span', textArea) | |
157 | - | |
158 | - addSuggest(textArea, (inputText, cb) => { | |
159 | - const char = inputText[0] | |
160 | - const wordFragment = inputText.slice(1) | |
161 | - | |
162 | - if (char === '@') cb(null, getProfileSuggestions(wordFragment)) | |
163 | - if (char === '#') cb(null, getChannelSuggestions(wordFragment)) | |
164 | - if (char === ':') cb(null, getEmojiSuggestions(wordFragment)) | |
165 | - }, {cls: 'PatchSuggest'}) | |
166 | - | |
156 … | + let textAreaWrapper = suggestiveTextArea(textArea) | |
157 … | + | |
167 | 158 … | return [ |
168 | 159 … | h('section', |
169 | 160 … | [api.about.html.image(user), |
170 | 161 … | h('span.text', [api.about.obs.name(user), when(showRating, ' rated ')]), |
Built with git-ssb-web