* refactor: replace :class/parent with :logseq.property/parent
* replace :class/schema.properties with property.class/properties
* enhance: display schema properties directly in Tag properties
* tag properties style tweaks
* fix: properties view context
* fix: limit parent to be classes or pages depends on the current node
* enhance: display ancestors in Parent
* fix: ancestors
* enhance: display tag properties always for tags
* enhance: display tag block container instead of properties area
* enhance: show add property as popup instead of dialog
* fix: tag parent must be a tag
* enhance: display properties in the right sidebar
* fix: tags style
* fix: icon style
* fix: positioned icons
* fix: lint
* fix: tests
* fix: remove properties from rtc watched attrs
* fix: graph-parser tests
* enhance: style tweaks
* enhance: page/create parses tags from user-input title
* enhance(ux): [[ref]] followed by # (no whitespace) to add tags
* fix: tests
* fix: graph-parser lint and tests
* fix: allow tagged nodes to be parents
* enhance(ux): display tag property descriptions
Also, make it editable.
The end goal is to get rid of `db/transact!` and send outliner ops to
the db worker.
Currently, some property ops are async, set-block-property! will also
need to be async because when setting a non-ref value (e.g. a number
str "2"), we need to query whether a block with the value exists, this
unfortunately, will be an async query, so we're risking turning more
functions to async in the future which makes it hard to reason about
the implementation.
for db/ident of built-in-properties. Namespacing block identities will
be important for future features. Adding namespacing also fixed some
hidden coupling between identity and name. Also converted a couple more
related :block/name queries to use :db/ident to slowly get us closer to
named blocks