org-ql/test-org-ql-view-section.el
Adam Porter fdbff54ebd WIP
2019-10-02 16:48:40 -05:00

177 lines
8.4 KiB
EmacsLisp

(require 'org-ql-item)
(require 'org-ql-view)
(let* ((buffer (get-buffer-create "test-org-ql-view-section"))
(sub-section1 (org-ql-view-section
:items (list (make-org-ql-item :level 1
:todo "TODO"
:priority "A"
:heading "Alpha"
:tags '("one" "two"))
(make-org-ql-item :level 1
:todo "NEXT"
:priority "B"
:heading "Bravo"
:tags '("one" "two" "three")))))
(sub-section2 (org-ql-view-section
:items (list (make-org-ql-item :level 1
:todo "MAYBE"
:heading "Charlie"
:tags '("one" "two"))
(make-org-ql-item :level 1
:todo "SOMEDAY"
:heading "Delta"
:tags '("one" "two" "three")))))
(top-section (org-ql-view-section
:items (list sub-section1 sub-section2)))
(inhibit-read-only t))
(with-current-buffer buffer
(read-only-mode 1)
(erase-buffer)
(org-ql-view-insert top-section)
(pop-to-buffer buffer)))
(let* ((buffer (get-buffer-create "test-org-ql-view-section"))
(items (->> (org-ql-select "~/src/emacs/org-ql/tests/data.org"
'(todo)
:action #'org-ql-item-at)
(-sort (-on #'string< #'org-ql-item-priority))
(org-ql-view-sort-todo)))
(top-section (org-ql-view-section
:header (format "To-Do (%s)" (length items))
:items items))
(inhibit-read-only t))
(with-current-buffer buffer
(read-only-mode 1)
(erase-buffer)
(org-ql-view-insert top-section
:group-by '(org-ql-item-todo org-ql-item-priority))
(pop-to-buffer buffer)))
(let* ((buffer (get-buffer-create "test-org-ql-view-section"))
(items (->> (org-ql-select "~/src/emacs/org-ql/tests/data.org"
'(todo)
:action #'org-ql-item-at)
(-sort (-on #'string< #'org-ql-item-priority))
(org-ql-view-sort-planning)))
(top-section (org-ql-view-section
:header (format "To-Do (%s)" (length items))
:items items))
(inhibit-read-only t))
(with-current-buffer buffer
(read-only-mode 1)
(erase-buffer)
(org-ql-view-insert top-section
:group-by (list (lambda (item)
(awhen (or (org-ql-item-deadline-ts item) (org-ql-item-scheduled-ts item))
(ts-format "%Y-%m-%d" it)))))
(pop-to-buffer buffer)))
(let* ((buffer (get-buffer-create "test-org-ql-view-section"))
(items (->> (org-ql-select "~/src/emacs/org-ql/tests/data.org"
'(todo)
:action #'org-ql-item-at)
(-sort (-on #'string< #'org-ql-item-priority))
(org-ql-view-sort-planning)))
(top-section (org-ql-view-section
:header "To-Do by Planning Date"
:items items))
(inhibit-read-only t))
(with-current-buffer buffer
(read-only-mode 1)
(erase-buffer)
(org-ql-view-insert top-section
:group-by (list (lambda (item)
(awhen (or (org-ql-item-deadline-ts item) (org-ql-item-scheduled-ts item))
(ts-format "%B %Y" it)))
(lambda (item)
(awhen (or (org-ql-item-deadline-ts item) (org-ql-item-scheduled-ts item))
(ts-format "%d %B" it)))))
(pop-to-buffer buffer)))
(let* ((buffer (get-buffer-create "test-org-ql-view-section"))
(items (->> (org-ql-select "~/src/emacs/org-ql/tests/data.org"
'(todo)
:action #'org-ql-item-at)
(-sort (-on #'string< #'org-ql-item-priority))
(org-ql-view-sort-planning)))
(top-section (org-ql-view-section
:header "To-Do by Planning Date"
:items items))
(inhibit-read-only t))
(with-current-buffer buffer
(read-only-mode 1)
(erase-buffer)
(org-ql-view-insert top-section
:group-by (list 'org-ql-item-todo
(lambda (item)
(awhen (or (org-ql-item-deadline-ts item) (org-ql-item-scheduled-ts item))
(ts-format "%B %Y" it)))
(lambda (item)
(awhen (or (org-ql-item-deadline-ts item) (org-ql-item-scheduled-ts item))
(ts-format "%d %B" it)))
))
(pop-to-buffer buffer)))
(let* ((buffer (get-buffer-create "test-org-ql-view-section"))
(items (->> (org-ql-select "~/src/emacs/org-ql/tests/data.org"
'(todo)
:action #'org-ql-item-at)
(-sort (-on #'string< #'org-ql-item-priority))
(org-ql-view-sort-planning)
(org-ql-view-sort-todo)))
(top-section (org-ql-view-section
:header "To-Do by Planning Date"
:items items))
(inhibit-read-only t))
(with-current-buffer buffer
(read-only-mode 1)
(erase-buffer)
(org-ql-view-insert top-section
:group-by (list (lambda (item)
(awhen (or (org-ql-item-deadline-ts item) (org-ql-item-scheduled-ts item))
(ts-format "%B %Y" it)))
(lambda (item)
(awhen (or (org-ql-item-deadline-ts item) (org-ql-item-scheduled-ts item))
(ts-format "%d %A" it)))
))
(pop-to-buffer buffer)))
(let* ((buffer (get-buffer-create "test-org-ql-view-section"))
(items (->> (org-ql-select "~/src/emacs/org-ql/tests/data.org"
'(todo)
:action #'org-ql-item-at)
(-sort (-on #'string< #'org-ql-item-priority))
(org-ql-view-sort-planning)))
(top-section (org-ql-view-section
:header "To-Do by Planning Date"
:items items))
(inhibit-read-only t))
(with-current-buffer buffer
(read-only-mode 1)
(erase-buffer)
(org-ql-view-insert top-section
:group-by (list 'org-ql-item-todo
(lambda (item)
(awhen (or (org-ql-item-deadline-ts item) (org-ql-item-scheduled-ts item))
(ts-format "%B %Y" it)))
'org-ql-item-priority
))
(pop-to-buffer buffer)))
(let* ((buffer (get-buffer-create "test-org-ql-view-section"))
(items (->> (org-ql-select "~/src/emacs/org-ql/tests/data.org"
'(todo)
:action #'org-ql-item-at)
(-sort (-on #'string< #'org-ql-item-priority))
(org-ql-view-sort-planning)))
(top-section (org-ql-view-section
:header "To-Do by Planning Date"
:items items))
(inhibit-read-only t))
(with-current-buffer buffer
(read-only-mode 1)
(erase-buffer)
(org-ql-view-insert top-section
:group-by (list 'org-ql-item-priority
'org-ql-item-todo
))
(pop-to-buffer buffer)))