pm9999

pm9999

Web Development with Clojure, Third Edition: missing refer and more page277-278 P1.0

Dmitri Sotnikov @dmitri and Scot Brown @svmbrown

On page 277 image-uploader needs to be referred to from components

;;…
[:div.field
[:div.control
[image-uploader
#(rf/dispatch [:message/save-media %])
“Insert an Image”]]]
;;…

On page 278 I sense that we are only trying to update the code of submit button not the whole message-form as shown:

(defn message-form
[:div.card
[:div.card-header>p.card-header-title
“Post Something!”]
(let [{:keys [login profile]} @(rf/subscribe [:auth/user])
display-name (:display-name profile login)]
[:div.card-content
[:input.button.is-primary.is-fullwidth
{:type :submit
:disabled @(rf/subscribe [:form/validation-errors?])
:on-click #(rf/dispatch [:message/send!
@(rf/subscribe [:form/fields])
@(rf/subscribe [:message/media])])
:value “comment”}]])])

First Post!

svmbrown

svmbrown

Author of Web Development with Clojure

Hi, that seems to be an issue with the code snippet generation.

Please see the source code for the full message-form body here.

I’ll see what I can do about getting an update published as soon as possible.

In case you’re unable to see the content of the link, the form control we wrote to insert an image should be included inside the :div.card-content element of message-form, along with the :div.field that contains the textarea-input from guestbook.components.

Apologies for the confusing error. Thanks for bringing it to our attention.

FYI: In the PDF version of the book, the filenames above the code blocks are clickable, and will let you view the entire namespace they are taken from.

Where Next?

Popular Pragmatic Bookshelf topics Top

New
yulkin
your book suggests to use Image.toByteData() to convert image to bytes, however I get the following error: "the getter ‘toByteData’ isn’t...
New
mikecargal
Title: Hands-On Rust (Chap 8 (Adding a Heads Up Display) It looks like ​.with_simple_console_no_bg​(SCREEN_WIDTH*2, SCREEN_HEIGHT*2...
New
mikecargal
Title: Hands-On Rust (Chapter 11: prefab) Just played a couple of amulet-less games. With a bit of debugging, I believe that your can_p...
New
lirux
Hi Jamis, I think there’s an issue with a test on chapter 6. I own the ebook, version P1.0 Feb. 2019. This test doesn’t pass for me: ...
New
herminiotorres
Hi @Margaret , On page VII the book tells us the example and snippets will be all using Elixir version 1.11 But on page 3 almost the en...
New
AndyDavis3416
@noelrappin Running the webpack dev server, I receive the following warning: ERROR in tsconfig.json TS18003: No inputs were found in c...
New
hgkjshegfskef
The test is as follows: Scenario: Intersecting a scaled sphere with a ray Given r ← ray(point(0, 0, -5), vector(0, 0, 1)) And s ← sphere...
New
jskubick
I found an issue in Chapter 7 regarding android:backgroundTint vs app:backgroundTint. How to replicate: load chapter-7 from zipfile i...
New
Keton
When running the program in chapter 8, “Implementing Combat”, the printout Health before attack was never printed so I assumed something ...
New

Other popular topics Top

PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
PragmaticBookshelf
Free and open source software is the default choice for the technologies that run our world, and it’s built and maintained by people like...
New
AstonJ
You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
New
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
First poster: bot
zig/http.zig at 7cf2cbb33ef34c1d211135f56d30fe23b6cacd42 · ziglang/zig. General-purpose programming language and toolchain for maintaini...
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New

Sub Categories: