mirror of https://github.com/logseq/logseq
feat: nlp date picker
parent
f336324b8e
commit
b74727866f
|
@ -166,7 +166,7 @@
|
||||||
[:div#date-time-picker.flex.flex-col.sm:flex-row
|
[:div#date-time-picker.flex.flex-col.sm:flex-row
|
||||||
;; inline container
|
;; inline container
|
||||||
[:div.border-red-500
|
[:div.border-red-500
|
||||||
(ui/single-calendar
|
(ui/nlp-calendar
|
||||||
{:mode "single"
|
{:mode "single"
|
||||||
:initial-focus true
|
:initial-focus true
|
||||||
:show-week-number false
|
:show-week-number false
|
||||||
|
|
|
@ -206,7 +206,7 @@
|
||||||
(shui/popup-hide! id)
|
(shui/popup-hide! id)
|
||||||
(ui/hide-popups-until-preview-popup!)
|
(ui/hide-popups-until-preview-popup!)
|
||||||
(shui/dialog-close!))))))]
|
(shui/dialog-close!))))))]
|
||||||
(ui/single-calendar
|
(ui/nlp-calendar
|
||||||
(cond->
|
(cond->
|
||||||
{:initial-focus true
|
{:initial-focus true
|
||||||
:selected initial-day
|
:selected initial-day
|
||||||
|
|
|
@ -36,7 +36,8 @@
|
||||||
[medley.core :as medley]
|
[medley.core :as medley]
|
||||||
[promesa.core :as p]
|
[promesa.core :as p]
|
||||||
[rum.core :as rum]
|
[rum.core :as rum]
|
||||||
[logseq.shui.ui :as shui]))
|
[logseq.shui.ui :as shui]
|
||||||
|
[frontend.date :as date]))
|
||||||
|
|
||||||
(declare icon)
|
(declare icon)
|
||||||
|
|
||||||
|
@ -1186,6 +1187,26 @@
|
||||||
(on-select' d))))}
|
(on-select' d))))}
|
||||||
opts)))
|
opts)))
|
||||||
|
|
||||||
|
(defn nlp-calendar
|
||||||
|
[opts]
|
||||||
|
[:div.flex.flex-col.gap-2
|
||||||
|
(single-calendar opts)
|
||||||
|
(shui/input
|
||||||
|
{:type "text"
|
||||||
|
:placeholder "e.g. Next week"
|
||||||
|
:class "mx-3 mb-3"
|
||||||
|
:style {:width "initial"
|
||||||
|
:tab-index -1}
|
||||||
|
:auto-complete (if (util/chrome?) "chrome-off" "off")
|
||||||
|
:on-key-down (fn [e]
|
||||||
|
(when (= "Enter" (util/ekey e))
|
||||||
|
(let [value (util/evalue e)]
|
||||||
|
(when-not (string/blank? value)
|
||||||
|
(when-let [result (date/nld-parse value)]
|
||||||
|
(when-let [date (doto (goog.date.DateTime.) (.setTime (.getTime result)))]
|
||||||
|
(let [on-select' (or (:on-select opts) (:on-day-click opts))]
|
||||||
|
(on-select' date))))))))})])
|
||||||
|
|
||||||
(comment
|
(comment
|
||||||
(rum/defc emoji-picker
|
(rum/defc emoji-picker
|
||||||
[opts]
|
[opts]
|
||||||
|
|
Loading…
Reference in New Issue