Clojurians
#hoplon
<
2016-05-21
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

leontalbot00:05:30

I saw dosync in @alandipert 's code. What is the difference between dosync and do? Thanks!

micha00:05:25

@leontalbot: dosync is a Javelin thing, it's the form you use when you want to update multiple input cells in a single transaction

leontalbot00:05:41

"propagation occurs only once for the entire transaction instead of once for each individual cell update." Got it! Thanks @micha !

raywillig01:05:32

hey @micha could you splain me how to use your checkbox-block? or actually maybe explain first what it’s for?

raywillig01:05:39

i’m trying to generate a bunch of checkboxes that each add their value to an area when checked? is that checkbox-block?

micha01:05:17

@raywillig: i think we made a thing called checkset or something like that, do you have that one?

raywillig01:05:40

i do. i couldn’t figure out the incantation for that one either

micha01:05:41

that's kind of like a multiselect thing conceptually, but implemented as a number of checkboxes

micha01:05:08

hm one sec i look for example usage

micha01:05:34

basically the (:adtypes data) is a cell containing the set of ad types

micha01:05:32

the :value is the thing that will be added to or removed from that set when you check or uncheck the checkbox

raywillig01:05:04

cool i will check that out

raywillig01:05:38

@micha data is the data entry from form-machine?

micha01:05:00

yeah data is a map, a regular cljs map not a cell

micha01:05:17

and it contains a mapping from field to value

micha01:05:30

for the fields in the form-machine's schema

micha01:05:38

the values are cells

micha01:05:58

so (:adtypes data) is a cell, but data is not

raywillig01:05:15

got it, i think. i let you know in a few minutes

micha01:05:08

sorry, i meant like data is (:data form-machine)

raywillig01:05:38

@micha brilliant! you da man!

micha01:05:11

so this stuff actually works in your application?

raywillig01:05:39

haha yeah, i’ve been using it for like 2 dozen forms already, maybe more

raywillig01:05:51

i haven’t found anything yet that I couldn’t make happen

raywillig01:05:03

i mean that I couldn’t make hoplon

micha01:05:11

maybe between the two applications we can figure out a way to make a library out of it

raywillig01:05:46

i’m down for that. sometime after june 20. i’m facing a massive deadline

raywillig01:05:54

btw, is this legit? i pulled out the dirty? field from form-machine in the let block and use that as a trigger to only show a submit button when the form gets changed. is that reliable? it seems to work

micha01:05:12

yeah that's what we use it for also

micha01:05:39

well the reverse, we don't allow the user to close the form by clicking outside it if the form has pending work in it

micha01:05:49

cause they could lose their place

micha01:05:59

if they click by accident

raywillig01:05:14

your forms are all modals?

micha01:05:20

a lot of them are

micha01:05:27

not good, but it's v1

raywillig01:05:40

i see. not awful

micha01:05:41

the goal was to get to parity with the existing c# app

micha01:05:52

so we tried to avoid redesigning anything

micha01:05:23

cause then we have 2 problems

raywillig01:05:04

so i have this one screen with like 6 forms on it cuz i wanted to be able to update more granularly than making a big uber form, but it looked terrible with these big btn-primary buttons everywhere

raywillig01:05:25

so i was thinking about this thing i saw on stubhub when i sold my playoff seats

raywillig01:05:12

they had this thing where if you changed something in some area of a big table, it would toggle a little floppy disk icon so you knew you had to save if you wanted it saved

raywillig01:05:39

amazing that the floppy is still the meme for saving

micha01:05:17

haha yeah

micha01:05:35

i think there is a standard iconography these days

micha01:05:50

like with mobile phones and stuff

raywillig01:05:41

i wonder how many people making apps today have ever seen the majestic floppy disk in the wild?

micha02:05:05

man i made this load balancer cluster with haproxy at work

micha02:05:17

to use in place of ELBs

micha02:05:35

so much nicer to work with, having real logs and whatever stats i want

raywillig02:05:44

i saw a thread about that the other day

raywillig02:05:45

btw @micha did I tell you that I got TFD as a paying customer for http://rowtr.co?

raywillig02:05:02

i’m now cash flow positive

micha02:05:10

is that your first contract?

raywillig02:05:17

actually my second

micha02:05:24

mazal tov

raywillig02:05:32

the first was the israeli laundry guys up in NY

raywillig02:05:46

fortunately they are both API customers. I still don’t really have a UI

raywillig02:05:03

but what I do have is using ui.workflow

micha02:05:27

i enjoy the idea of API only businesses

micha02:05:49

concentrate on the work

raywillig02:05:15

that would be great, but most of my target market needs a ui. but my ui mostly uses my same api

micha02:05:43

yeah maybe there is a business there somehow

micha02:05:59

like a general purpose UI thing

micha02:05:07

that can be used with any API

raywillig02:05:00

i feel like we’ve had this discussion before