hoplon

The :hoplon: ClojureScript Web Framework - http://hoplon.io/
onetom 2018-02-02T01:42:35.000273Z

@flyboarder that's exactly the kind of thing i meant, though if i look at http://oss.degree9.io/uikit-hl/#Card most of the components are empty (im having a look locally to see if it's just a deployment issue or it's just the library is that incomplete)

flyboarder 2018-02-02T01:42:54.000131Z

I have not yet written all the docs out

flyboarder 2018-02-02T01:42:58.000134Z

@onetom ^

flyboarder 2018-02-02T01:43:23.000131Z

they are not built, but are themselves a demo app

onetom 2018-02-02T01:43:25.000206Z

sounds like thats something i could help with if we were to adopt this library

flyboarder 2018-02-02T01:43:50.000220Z

:thumbsup: would love the help 😉

onetom 2018-02-02T01:44:20.000177Z

my biggest worry still is integrating a chart library...

onetom 2018-02-02T01:45:07.000089Z

we are trying to write a similar app, just with our own orderbook engine: https://app.radarrelay.com/

2018-02-02T01:49:29.000069Z

@onetom i've used a few different chart libs and ended up rolling with d3

2018-02-02T01:49:50.000002Z

but deferring to hoplon dataflow instead of what d3 does

❤️ 1
2018-02-02T01:50:54.000074Z

e.g.

2018-02-02T01:50:57.000272Z

; <https://github.com/d3/d3-shape#pie>
(defn generator [] (.pie js/d3))

(defn pie
 [xs &amp; {:keys [start-angle end-angle pad-angle]}]
 (camel-snake-kebab.extras/transform-keys
  camel-snake-kebab.core/-&gt;kebab-case-keyword
  (js-&gt;clj
   (let [g (generator)]
    (oops.core/ocall g "startAngle" (or start-angle 0))
    (oops.core/ocall g "endAngle" (or end-angle wheel.math.number/tau))
    (oops.core/ocall g "padAngle" pad-angle)
    (g (clj-&gt;js xs))))))

2018-02-02T01:52:08.000176Z

arcs (j/cell= (d3-cljs.pie/pie vals :pad-angle (* wheel.math.number/tau 0.005)))

2018-02-02T01:52:44.000024Z

but some of the biggest changes we made in 7.x was improvements to interop with 3rd party libs

2018-02-02T01:52:53.000170Z

so if anything it should be easier to use any lib you want now 🙂

2018-02-02T01:55:02.000257Z

@onetom @flyboarder on the topic of widget library, i've got things that i could spin out but ultimately would like to adopt conventions and release a suite of components rather than endlessly pile them into something monolithic like my wheel repo

2018-02-02T01:56:25.000151Z

e.g. last night i made a gravatar integration for profile pics into hoplon and profile cells into javelin

2018-02-02T01:56:38.000250Z

so that's some async

flyboarder 2018-02-02T01:57:12.000010Z

@thedavidmeister that would be great for hoplon/brew

2018-02-02T01:59:17.000326Z

hah, it will probably end up in wheel

2018-02-02T01:59:29.000107Z

i mean, it would be nice as hoplon-gravatar or something

2018-02-02T01:59:45.000375Z

of course i can do that anyway

2018-02-02T02:00:06.000167Z

but we're talking about how to collaborate to some kind of "standard lib" here...

2018-02-02T02:03:41.000102Z

i suppose it's a bit chicken or the egg though 😕

2018-02-02T02:04:04.000065Z

can't really just make up a standard without examples

2018-02-02T02:08:41.000109Z

@onetom cool app btw

onetom 2018-02-02T08:55:59.000412Z

@flyboarder since i got inspired by the ADR philosophy after seeing @martinklepsch’s [work](https://github.com/martinklepsch/cljdoc), i feel i should ask why have you chosen UIKit? i haven't found any design document for it or a rationale which explains what sets it apart from other similar solutions. i see you used [cljsjs/material "1.1.3-1"] for blaze; what was wrong with that? why not continue the effort you already invested integrating that with hoplon?

onetom 2018-02-02T15:37:43.000360Z

@thedavidmeister https://material.io/ is already a "standard lib" with plenty of examples... is there any reason not to implement that? other than "material design is the new bootstrap and it's boring to look just like every other app"?

flyboarder 2018-02-02T15:39:39.000836Z

@onetom there are issues with the existing material design libs and the new material design web was not ready at the time

onetom 2018-02-02T15:41:09.000443Z

"new material design web"? what's that?

onetom 2018-02-02T15:44:56.000095Z

these things? https://github.com/material-components

2018-02-02T15:46:00.000770Z

i'm sure you could use material

2018-02-02T15:46:16.000409Z

it doesn't help establish any standards for building a hoplon component though

onetom 2018-02-02T15:46:39.000598Z

ah, that's what u meant, got it

2018-02-02T15:46:52.000635Z

yeah, read up ^^

2018-02-02T15:47:10.000026Z

@flyboarder was proposing some conventions for async state management, for example

2018-02-02T15:48:59.000412Z

but 7.x should make material easier to integrate for two reasons

2018-02-02T15:49:06.000453Z

if you're interested..

2018-02-02T15:49:25.000375Z

- no protocol overrides on DOM elements makes them behave better with 3rd party libs

2018-02-02T15:50:06.000496Z

- namespaced class attribute helps you to make standard wrappers around things like material

2018-02-02T15:50:12.000769Z

there's a lot of classes in material...

onetom 2018-02-02T15:50:30.000597Z

with rather ugly names too...

2018-02-02T15:53:24.000080Z

yeah, but it should be really easy to wrap them up in :class/material attributes now

2018-02-02T15:53:36.000299Z

and not have it clash with classes you might add for yourself

onetom 2018-02-02T15:53:49.000345Z

btw, what's the state of art for hot reloading? boot-reload or boot-figreload?

2018-02-02T15:54:19.000606Z

not sure soz