* 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.
property-value is widely being used to refer to the entity or value
associated with a property entity. Naming the content of a
property-entity :property/value is confusing. property-value content is
a unique name and consistent with :block/content. Also rename related
fns which had similarly confusing names
Some changes:
1. use :block/closed-value-property instead to record which property
this value entity belongs to.
2. use :block/content instead of [:block/schema :value].
3. :page and :date have been removed from closed-value-property-types
because there could be a page/date that's a closed value for multiple
properties, we have no idea what's the `:block/order` for a specific
property.
1. back to use container id + editing block id instead of block dom
ref to decide which block is in editing, to simplify edit-block! and
reduce browser gc.
2. set next editing block ahead of receiving the data changes from db
worker, so the editor feels a bit faster.
This PR also remove supports for:
1. merge pages when renaming a page to existing page
2. namespaces such as a/b/c
3. nested page such as [[a [[nested page]]]]
Pages merge might be added back depends on RTC, but it should be
decoupled from renaming, otherwise it's too complex.
Namespaces and nested pages have been contributed some critical bugs
that lead data-loss, they're so complex together with page alias,
it's just impossible to have a good test coverage and ensure the app
is stable, especially when page rename and RTC.
closed value names for page/date closed values - one in
query builder property value dropdown and the other in show block data command.
Also cleaned up query-dsl which shouldn't be making db graph queries
on file graphs
:query-properties and :query-sort-by need translating. Don't
override block/schema of built-in properties. Also display
property closed values in block data cmd
So the tx-data will be built on top of the full db instead of the
partial db from the UI thread, it also reduces the risk to use
outdated data since RTC can transact data from the worker.