Function: majutsu-log--rebuild-relation-indexes
majutsu-log--rebuild-relation-indexes is a natively compiled function
defined in majutsu-log.el.
Signature
(majutsu-log--rebuild-relation-indexes &optional ENTRIES)
Documentation
Rebuild visible relation indexes from ENTRIES or cached row entries.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-log.el
(defun majutsu-log--rebuild-relation-indexes (&optional entries)
"Rebuild visible relation indexes from ENTRIES or cached row entries."
(let ((entries (or entries majutsu-row-cached-entries))
(entry-by-id (make-hash-table :test #'equal))
(children-by-id (make-hash-table :test #'equal)))
(dolist (entry entries)
(puthash (majutsu-log--entry-id entry) entry entry-by-id))
(dolist (entry entries)
(let ((child-id (majutsu-log--entry-id entry)))
(dolist (parent-id (majutsu-row-column entry 'parent-ids))
(when (and (stringp parent-id)
(not (string-empty-p parent-id)))
(puthash parent-id
(cons child-id (gethash parent-id children-by-id))
children-by-id)))))
(maphash (lambda (parent-id child-ids)
(puthash parent-id (nreverse child-ids) children-by-id))
children-by-id)
(setq majutsu-log--entry-by-id entry-by-id)
(setq majutsu-log--children-by-id children-by-id)))