coen.bakker
Recently I have started using Surface UI. The ability to colocate my view/component and its hooks has helped me organize my project better.
AppWeb/Live
|_________ aardvark.ex
|_________ aardvark.sface
|_________ aardvark.hooks.js
|_________ baboon.ex
|_________ baboon.sface
|_________ baboon.hooks.js
I like to keep my .hooks.js files nice and tidy, though. So I would like to be able to import objects from other .js files. For example, by providing the relative path of the .js file (relative to the .hooks.js file). Or by colocation. In the latter case you’d get:
AppWeb/Live
|_________ aardvark.ex
|_________ aardvark.sface
|_________ aardvark.hooks.js
|_________ aardvark.js
|_________ baboon.ex
|_________ baboon.sface
|_________ baboon.hooks.js
|_________ baboon.js
Any advice how to go about implementing this? I will also dive into the code base of Surface to see if I can borrow any solutions from there, but I could use some help looking for a solution in the right direction.
Thank you.
Trending in Questions
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #blog-post
- #ai
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 3- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
code-shoily
I kept my JS files inside
assets/jsfolder and imported them from my hooks components as if that existed inside hooks folder.Here is an example:
https://github.com/code-shoily/covid19/blob/mafinar/try-out-tailwind/lib/covid19_web/components/crd_pie_chart_component.hooks.js
Notice the location of the hooks.js (colocated) file as opposed to their JS imports (assets/js)
coen.bakker
I’ve been doing that, but have been thinking about improving code organization beyond that (I should have been more explicit about that).
Some of the options that came to mind:
Using € might be a terrible choice, but just for argument’s sake.
coen.bakker
I think it would work nicely if I can organize my code as follows, if there is a large amount of lines of code:
AppWeb/Live
|_________ helpers (folder)
|_________ aardvark.ex
|_________ aardvark.sface
|_________ aardvark.css
|_________ aardvark.hooks.js
|_________ aardvark.js
But also being able to use fewer files, if there aren’t as many lines of code.
AppWeb/Live
|_________ helpers (folder)
|_________ aardvark.ex
|_________ aardvark.hooks.js
I’m anticipating the maintenance of large projects. That’s why I’m interested in this topic atm.
By the way, I’m not trying to imply putting all files at the top level of AppWeb/Live, that’s also for argument’s sake only.