feat(editor): add created-time and created-by property for database block (#12156)

close: BS-3431

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Added "Created By" property type and cell renderer, displaying creator's avatar and name in database blocks.
  - Introduced "Created Time" property type and cell renderer, showing formatted creation timestamps.

- **Improvements**
  - Enhanced table and Kanban views with improved column and row movement, hiding, and statistics capabilities.
  - Streamlined property and row management with unified object handling and reactive signals for better performance and reliability.
  - Improved avatar display logic to handle removed or unnamed users gracefully.
  - Refactored property and row APIs to consolidate access patterns and support reactive updates.
  - Updated icon retrieval and reactive value access for improved UI responsiveness in database and Kanban cells.
  - Consolidated property and cell access methods to use "get or create" patterns ensuring consistent data availability.
  - Added locking mechanism to stabilize computed signals during locked states.
  - Modularized table and Kanban column and row abstractions for better encapsulation and maintainability.

- **Bug Fixes**
  - Corrected row and column deletion, movement, and selection behaviors across table and Kanban views.
  - Fixed issues with property and row referencing, ensuring consistent handling of identifiers and objects.
  - Removed debugging logs and fixed method calls to align with updated APIs.

- **Style**
  - Updated and simplified table column header styles for a cleaner appearance.

- **Chores**
  - Added `@emotion/css` dependency for styling support.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
zzj3720
2025-05-08 11:35:37 +00:00
parent 7c8b977bf9
commit 6689bd1914
76 changed files with 1168 additions and 1042 deletions
+16 -1
View File
@@ -407,6 +407,7 @@ __metadata:
"@blocksuite/icons": "npm:^2.2.13"
"@dotlottie/player-component": "npm:^2.7.12"
"@emotion/cache": "npm:^11.14.0"
"@emotion/css": "npm:^11.13.5"
"@emotion/react": "npm:^11.14.0"
"@floating-ui/dom": "npm:^1.6.13"
"@juggle/resize-observer": "npm:^3.4.0"
@@ -2537,6 +2538,7 @@ __metadata:
"@blocksuite/icons": "npm:^2.2.12"
"@blocksuite/std": "workspace:*"
"@blocksuite/store": "workspace:*"
"@emotion/css": "npm:^11.13.5"
"@floating-ui/dom": "npm:^1.6.13"
"@lit/context": "npm:^1.1.2"
"@preact/signals-core": "npm:^1.8.0"
@@ -5330,7 +5332,7 @@ __metadata:
languageName: node
linkType: hard
"@emotion/cache@npm:^11.14.0":
"@emotion/cache@npm:^11.13.5, @emotion/cache@npm:^11.14.0":
version: 11.14.0
resolution: "@emotion/cache@npm:11.14.0"
dependencies:
@@ -5343,6 +5345,19 @@ __metadata:
languageName: node
linkType: hard
"@emotion/css@npm:^11.13.5":
version: 11.13.5
resolution: "@emotion/css@npm:11.13.5"
dependencies:
"@emotion/babel-plugin": "npm:^11.13.5"
"@emotion/cache": "npm:^11.13.5"
"@emotion/serialize": "npm:^1.3.3"
"@emotion/sheet": "npm:^1.4.0"
"@emotion/utils": "npm:^1.4.2"
checksum: 10/267acf535e6c82e5835563f38a2c49ddc320ba005aeee1b8d1b04a2a217ce6d45639601e95617a78f3746a424d92bbbc837f785dbc29c401e4b614c0c50766d9
languageName: node
linkType: hard
"@emotion/hash@npm:^0.9.0, @emotion/hash@npm:^0.9.2":
version: 0.9.2
resolution: "@emotion/hash@npm:0.9.2"