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