SunRiseGC 3 лет назад
Родитель
Сommit
ccb3686dbf
3 измененных файлов с 38 добавлено и 1 удалено
  1. 8 0
      include/multipleInput.hrl
  2. 1 1
      mix.exs
  3. 29 0
      src/elements/combo/element_multipleInput.erl

+ 8 - 0
include/multipleInput.hrl

@@ -0,0 +1,8 @@
+-ifndef(MULTIPLEINPUT_HRL).
+-define(MULTIPLEINPUT_HRL, true).
+
+-include_lib("nitro/include/nitro.hrl").
+
+-record(multipleInput, {?ELEMENT_BASE(element_multipleInput), input=[], disabled=[], values=[]}).
+
+-endif.

+ 1 - 1
mix.exs

@@ -4,7 +4,7 @@ defmodule NITRO.Mixfile do
   def project do
     [
       app: :nitro,
-      version: "6.10.7",
+      version: "6.10.8",
       description: "NITRO Nitrogen Web Framework",
       package: package(),
       deps: deps()

+ 29 - 0
src/elements/combo/element_multipleInput.erl

@@ -0,0 +1,29 @@
+-module(element_multipleInput).
+-include_lib("nitro/include/multipleInput.hrl").
+-include_lib("nitro/include/sortable_list.hrl").
+-include_lib("nitro/include/nitro.hrl").
+-include_lib("nitro/include/event.hrl").
+-export([render_element/1]).
+
+render_element(#multipleInput{id=Id, input=Input, disabled=Disabled, validation=Validation, values=Values}) ->
+  ListId = form:atom([Id, "list"]),
+  InputId = element(#element.id, Input),
+  nitro:render(
+    #panel{
+      id = Id,
+      validation = Validation,
+      data_fields = [{<<"data-vector-input">>,<<"data-vector-input">>}],
+      body = [
+        #panel{
+          style = "display: flex; width: 100%; justify-content: center;",
+          body =
+            case Disabled of
+              true -> [];
+              _ ->
+                [ Input,
+                  #link{
+                    class = [button, sgreen, 'add-btn'],
+                    style = "min-width: 40px; text-align: center; height: fit-content; margin-left: 5px;",
+                    onclick = nitro:jse("addSortableItemFrom('#" ++ ListId ++ "', '" ++ InputId ++ "')"),
+                    body = <<"+">>} ] end },
+        #sortable_list{id = ListId, values = Values, closeable = true, disabled = Disabled}]}).