Liking cljdoc? Tell your friends :D

com.fulcrologic.rad.rendering.semantic-ui.modals


FormModalclj/s

source

ui-form-modalclj/s

[{:keys [id Form save-mutation cancel-mutation save-params cancel-params]}]

Render a form in a Semantic UI Modal.

:Form - Required. The form to use for edit/create :save-mutation - Required. A mutation that will be transacted with the final ident if/when the form is saved. :cancel-mutation - Required. A mutation that will be transacted if the cancel button is pressed. :id - Optional. If not supplied will create a new instance. If supplied it will load and edit it. :save-params - Optional. Extra parameters (beyond the :ident that is auto-included) to pass to the save-mutation:cancel-params - Optional. Parameters to pass to the cancel-mutation

Example usage:

(defmutation saved [{:keys [ident]}]
  (action [{:keys [state]}]
    (swap! state update-in [:component/id ::Container] assoc
      :ui/selected-account ident
      :ui/open? false)))

(defmutation cancel [_]
  (action [{:keys [state]}]
    (swap! state update-in [:component/id ::Container] assoc
      :ui/open? false)))

(defsc Container [this {:ui/keys [open? selected-account edit-id] :as props}]
  {:query         [:ui/open? :ui/selected-account]
   :ident         (fn [] [:component/id ::Container])
   :initial-state {}}
  (comp/fragment {}
    (when open?
      (ui-form-modal {:Form            BriefAccountForm
                      :save-mutation   saved
                      :cancel-mutation cancel}))
    (dom/div (str selected-account))
    (dom/button {:onClick (fn []
                            (comp/transact! this [(m/set-props {:ui/open?   true})]))} "New")))

    ```
[{:keys [id Form save-mutation cancel-mutation save-params cancel-params]}]

Render a form in a Semantic UI Modal.

:Form - Required. The form to use for edit/create
:save-mutation - Required. A *mutation* that will be transacted with the final ident if/when the form is saved.
:cancel-mutation - Required. A *mutation* that will be transacted if the cancel button is pressed.
:id - Optional. If not supplied will create a new instance. If supplied it will load and edit it.
:save-params - Optional. Extra parameters (beyond the `:ident` that is auto-included) to pass to the save-mutation`
:cancel-params - Optional. Parameters to pass to the cancel-mutation`

Example usage:

```
(defmutation saved [{:keys [ident]}]
  (action [{:keys [state]}]
    (swap! state update-in [:component/id ::Container] assoc
      :ui/selected-account ident
      :ui/open? false)))

(defmutation cancel [_]
  (action [{:keys [state]}]
    (swap! state update-in [:component/id ::Container] assoc
      :ui/open? false)))

(defsc Container [this {:ui/keys [open? selected-account edit-id] :as props}]
  {:query         [:ui/open? :ui/selected-account]
   :ident         (fn [] [:component/id ::Container])
   :initial-state {}}
  (comp/fragment {}
    (when open?
      (ui-form-modal {:Form            BriefAccountForm
                      :save-mutation   saved
                      :cancel-mutation cancel}))
    (dom/div (str selected-account))
    (dom/button {:onClick (fn []
                            (comp/transact! this [(m/set-props {:ui/open?   true})]))} "New")))

    ```
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close