Size: a a a

2020 May 29

AI

Artyom Irza in pro.elixir
форк от Mssqlex
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Может быть лучше официальный https://hex.pm/packages/tds ? Его ecto_sql тестирует: https://github.com/elixir-ecto/ecto_sql/blob/master/mix.exs#L103

Или есть разница?
источник

AI

Artyom Irza in pro.elixir
форк не мой, но насколько я знаю, на момент написания готовых решений для третьего экто не было
источник

V

V in pro.elixir
https://github.com/hissssst/ytmuser/blob/master/lib/ytmuser_web/live/main_live.ex#L6-L40
Это ты так придумал или класть html в код - это способ от авторов liveview?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ты настолько не смотрел в live view?
источник

AR

Andrew Rudenko in pro.elixir
Pig Greenest
честно говоря не очень хочется
а потом говорят что не оч хочется )
источник

PG

Pig Greenest in pro.elixir
Andrew Rudenko
а потом говорят что не оч хочется )
Я за него не отвечаю)
источник

V

V in pro.elixir
Źmićer Rubinštejn
Ты настолько не смотрел в live view?
наизусть не помню
источник

AR

Andrew Rudenko in pro.elixir
Andrew Rudenko
а потом говорят что не оч хочется )
короче, я не поленился и вот протранслировал. сравните:
def render(~M{player, myname, messages}) do
   [
     [
       :div,
       %{id: "player", class: "player", phxUpdate: "replace"},
       [:div, %{class: "thumbnail", style: "background-image: url(#{player.thumbnail})"}],
       [
         :div,
         %{class: "audiopanel"},
         [
           :div,
           %{class: "audioline"},
           [:div, [:label, player.file], [:div, player.status]],
           [:progress, %{value: 1, max: 5, class: "audioprogress"}]
         ]
       ]
     ],
     [
       :form,
       %{phxSubmit: "submit", phxThrottle: "2000"},
       [
         :input,
         %{type: "text", name: "userinput", placeholder: "type: ':help' to see the help message"}
       ],
       [:label, "Logged as #{myname}"]
     ],
     [:div, %{id: "chat-messages", name: "div", phxUpdate: "append"}],
     for ~M{id, author, text} <- messages do
       [
         :div,
         %{id: "msgid#{id}"},
         [
           :p,
           [:span, "#{author}:"],
           for line <- text do
             line
           end
           |> Enum.intersperse([:br])
         ]
       ]
     end
   ]
 end
источник

AR

Andrew Rudenko in pro.elixir
def render(assigns) do
   ~L"""
   <div id="player" class="player" phx-update="replace">
     <div
       class="thumbnail"
       style="background-image: url(<%= @player.thumbnail %>)"
     >
     </div>
     <div class="audiopanel">
       <div class="audioline">
         <div><label><%= @player.file %></label></div>
         <div><%= @player.status %></div>
       </div>
       <progress value="1" max="5" class="audioprogress"/></progress>
     </div>
   </div>
   <form phx-submit="submit" phx-throttle="2000">
     <input
       type="text"
       name="userinput"
       placeholder="type: ':help' to see the help message"
     >
     <label>Logged as <%= @myname %></label>
   </form>
   <div id="chat-messages" name="div" phx-update="append">
     <%= for message <- @messages do %>
       <div id="msgid<%= message.id %>">
         <p>
           <span><%= message.author %>: </span>
           <%= for line <- message.text  do %>
             <%= line %> <br>
           <% end %>
         </p>
       </div>
     <% end %>
   </div>
   """
 end
источник

AR

Andrew Rudenko in pro.elixir
и это с супер развесистым форматером эликсира
источник

AR

Andrew Rudenko in pro.elixir
и синтаксисом эликсира с кучей мусора
источник

AR

Andrew Rudenko in pro.elixir
Andrew Rudenko
и это с супер развесистым форматером эликсира
так то это записывается как-то так:

def render(~M{player, myname, messages}) do
   [[:div, %{id: "player", class: "player", phxUpdate: "replace"},
         [:div, %{class: "thumbnail", style: "background-image: url(#{player.thumbnail})"}],
         [:div, %{class: "audiopanel"},
           [:div, %{class: "audioline"},
             [:div, [:label, player.file],
             [:div, player.status]],
             [:progress, %{value: 1, max: 5, class: "audioprogress"}]]]],
   [:form, %{phxSubmit: "submit", phxThrottle: "2000"},
     [:input, %{type: "text", name: "userinput", placeholder: "type: ':help' to see the help message"}],
     [:label, "Logged as #{myname}"]],
   [:div, %{id: "chat-messages", name: "div", phxUpdate: "append"}],
     for ~M{id, author, text} <- messages do
       [:div, %{id: "msgid#{id}"},
         [:p, [:span, "#{author}:"],
           for line <- text do
             line
           end
           |> Enum.intersperse([:br])]]
     end]
 end
источник

AR

Andrew Rudenko in pro.elixir
надо ли говорить где лучше работает тулинг: форматинг, подсветка, автодополнения, линтер и прочее?
источник

AR

Andrew Rudenko in pro.elixir
eex плагин для vscode которые форматирование делает — требует какой-то gem!
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я голосую за Jsx
источник

AR

Andrew Rudenko in pro.elixir
о май гад
источник

AR

Andrew Rudenko in pro.elixir
Andrew Rudenko
так то это записывается как-то так:

def render(~M{player, myname, messages}) do
   [[:div, %{id: "player", class: "player", phxUpdate: "replace"},
         [:div, %{class: "thumbnail", style: "background-image: url(#{player.thumbnail})"}],
         [:div, %{class: "audiopanel"},
           [:div, %{class: "audioline"},
             [:div, [:label, player.file],
             [:div, player.status]],
             [:progress, %{value: 1, max: 5, class: "audioprogress"}]]]],
   [:form, %{phxSubmit: "submit", phxThrottle: "2000"},
     [:input, %{type: "text", name: "userinput", placeholder: "type: ':help' to see the help message"}],
     [:label, "Logged as #{myname}"]],
   [:div, %{id: "chat-messages", name: "div", phxUpdate: "append"}],
     for ~M{id, author, text} <- messages do
       [:div, %{id: "msgid#{id}"},
         [:p, [:span, "#{author}:"],
           for line <- text do
             line
           end
           |> Enum.intersperse([:br])]]
     end]
 end
ты понимаешь, что вот это ДАННЫЕ?
источник

AR

Andrew Rudenko in pro.elixir
ты их можешь анализировать, генерировать теми же тулами, что используешь для всего остальнрого? без необходимости выстравить при этом целую экосистему из парсеров, компиляторов и плагинов к редакторам?
источник