export default sources => { const _sources = {...sources, answer$: sources.engagement$.map(e => e && e.answer), } const inst = Instruct(_sources) const quest = Question(_sources) const ans = isolate(Answer,'answer')(_sources) const next = isolate(Next, 'next')(_sources) const childs = [inst, quest, ans, next] const queue$ = buildUpdate( sources.engagementKey$, ans.value$.map(answer => ({answer})), ).map(Engagements.action.update) const DOM = combineLatestToDiv(...childs.map(i => i.DOM)) return { DOM, queue$, route$: next.route$, } }
const FilteredView = sources => { const detail = Detail(sources) const list = AppList(sources) const mt = EmptyNotice({...sources, items$: sources.memberships$}) return { DOM: combineLatestToDiv(mt.DOM, list.DOM, detail.DOM), route$: merge(list.route$, detail.route$.map(sources.router.createHref)), queue$: detail.queue$, } }
export default sources => { const _sources = {...sources, ..._Fetch(sources)} const list = _List(_sources) const add = AddShift(_sources) const ed = _EditDialog({..._sources, edit$: list.edit$}) return { DOM: combineLatestToDiv(list.DOM, add.DOM, ed.DOM), queue$: merge(add.queue$, list.queue$, ed.queue$), } }
const _List = sources => { const childs = [ isolate(_Glance,'glance')(sources), isolate(_Manage,'manage')(sources), isolate(_Engaged,'enaged')(sources), ] return { DOM: combineLatestToDiv(...childs.map(c => c.DOM)), route$: merge(...childs.map(c => c.route$)) .map(sources.router.createHref), } }
const NextStepsList = sources => { const todos = [ isolate(ToDoAnswer,'answer')(sources), isolate(ToDoTeams,'teams')(sources), isolate(ToDoProfile,'profile')(sources), ] const childs = [Title(sources), ...todos, Done(sources)] return { DOM: combineLatestToDiv(...childs.map(c => c.DOM)), route$: $.merge(...todos.map(t => t.route$)), } }
export default sources => { const _sources = {...sources, complete$: applicationComplete$$(sources), } const todos = [ isolate(ToDoAnswer,'answer')(_sources), isolate(ToDoTeams,'teams')(_sources), isolate(ToDoProfile,'profile')(_sources), ] const childs = [Title(_sources), ...todos, Done(_sources)] return { DOM: combineLatestToDiv(...childs.map(c => c.DOM)), route$: merge(...todos.map(t => t.route$)), } }