42 | 42 |
|
43 | 43 |
-- active fileder
|
44 | 44 |
-- (re)set every time @path changes
|
45 | |
@active = @path\map @root\walk
|
|
45 |
@fileder = @path\map @root\walk
|
46 | 46 |
|
47 | 47 |
-- currently active facet
|
48 | |
-- (re)set to default when @active changes
|
|
48 |
-- (re)set to default when @fileder changes
|
49 | 49 |
@facet = ReactiveVar Key facet, 'mmm/dom'
|
50 | 50 |
if MODE == 'CLIENT'
|
51 | |
@active\subscribe (fileder) ->
|
|
51 |
@fileder\subscribe (fileder) ->
|
52 | 52 |
return unless fileder
|
53 | 53 |
last = @facet and @facet\get!
|
54 | 54 |
@facet\set Key if last then last.type else 'mmm/dom'
|
|
118 | 118 |
\append path_segment name, href
|
119 | 119 |
|
120 | 120 |
\append span 'view facet:', style: { 'margin-right': '0' }
|
121 | |
\append @active\map (fileder) ->
|
|
121 |
\append @fileder\map (fileder) ->
|
122 | 122 |
onchange = (_, e) ->
|
123 | 123 |
{ :type } = @facet\get!
|
124 | 124 |
@facet\set Key name: e.target.value, :type
|
|
177 | 177 |
warn "ERROR rendering content: #{msg}"
|
178 | 178 |
div!
|
179 | 179 |
|
180 | |
active = @active\get!
|
|
180 |
active = @fileder\get!
|
181 | 181 |
|
182 | 182 |
return disp_error "fileder not found!" unless active
|
183 | 183 |
return disp_error "facet not found!" unless prop
|
|
200 | 200 |
-- active facet in inspect tab
|
201 | 201 |
-- (re)set to match when @facet changes
|
202 | 202 |
@inspect_prop = @facet\map (prop) ->
|
203 | |
active = @active\get!
|
|
203 |
active = @fileder\get!
|
204 | 204 |
key = active and active\find prop
|
205 | 205 |
key = key.original if key and key.original
|
206 | 206 |
key
|
|
212 | 212 |
span 'inspector'
|
213 | 213 |
@inspect_prop\map (current) ->
|
214 | 214 |
current = current and current\tostring!
|
215 | |
fileder = @active\get!
|
|
215 |
fileder = @fileder\get!
|
216 | 216 |
|
217 | 217 |
onchange = (_, e) ->
|
218 | |
return if e.target.value == ''
|
219 | |
{ :name } = @facet\get!
|
220 | |
@inspect_prop\set Key e.target.value
|
|
218 |
facet = e.target.value
|
|
219 |
return if facet == ''
|
|
220 |
@inspect_prop\set Key facet
|
221 | 221 |
|
222 | 222 |
with elements.select :onchange
|
223 | 223 |
\append option '(none)', value: '', disabled: true, selected: not value
|
224 | 224 |
if fileder
|
225 | 225 |
for value in pairs fileder.facet_keys
|
226 | 226 |
\append option value, :value, selected: value == current
|
227 | |
@inspect\map (enabled) ->
|
228 | |
if enabled
|
229 | |
button 'close', onclick: (_, e) -> @inspect\set false
|
|
227 |
|
|
228 |
button 'rm', class: 'tight', onclick: (_, e) ->
|
|
229 |
if window\confirm "continuing will permanently remove the facet '#{@inspect_prop\get!}'."
|
|
230 |
fileder = @fileder\get!
|
|
231 |
fileder\set @inspect_prop\get!, nil
|
|
232 |
@fileder\set fileder -- trigger re-selection of active facet & inspector
|
|
233 |
|
|
234 |
button 'add', class: 'tight', onclick: (_, e) ->
|
|
235 |
facet = window\prompt "please enter the facet string ('name: type' or 'type'):", 'text/markdown'
|
|
236 |
return if not facet or facet == '' or facet == js.null
|
|
237 |
fileder = @fileder\get!
|
|
238 |
fileder\set facet, ''
|
|
239 |
@inspect_prop\set Key facet
|
|
240 |
@refresh!
|
|
241 |
|
|
242 |
button 'close', onclick: (_, e) -> @inspect\set false
|
230 | 243 |
}
|
231 | 244 |
\append with div class: @inspect_err\map (e) -> if e then 'error-wrap' else 'error-wrap empty'
|
232 | 245 |
\append span "an error occured while rendering this view:"
|