Commit Graph

617 Commits

Author SHA1 Message Date
donteatfriedrice f6e32d8894 feat(editor): add embed iframe provider miro (#10996) 2025-03-19 13:57:30 +00:00
Saul-Mirone ee65d66d67 refactor(editor): remove code block service (#11010) 2025-03-19 13:38:10 +00:00
Saul-Mirone 1c6a876e6a refactor(editor): improve config extension (#11006) 2025-03-19 13:38:10 +00:00
Saul-Mirone c1e16aeaa7 refactor(editor): remove paragraph service (#11003) 2025-03-19 13:38:09 +00:00
fundon 03ffc688c3 refactor(editor): edgeless brush toolbar config extension (#10796) 2025-03-19 12:34:19 +00:00
fundon c44a339bd9 refactor(editor): edgeless group toolbar config extension (#10787) 2025-03-19 12:34:19 +00:00
fundon f87cc0f599 refactor(editor): edgeless frame toolbar config extension (#10769) 2025-03-19 12:34:18 +00:00
fundon e320552594 refactor(editor): edgeless note toolbar config extension (#10719) 2025-03-19 12:34:18 +00:00
fundon b5406fa57a refactor(editor): edgeless image toolbar config extension (#10718) 2025-03-19 12:34:18 +00:00
fundon e686a6aecc refactor(editor): edgeless internal embed card toolbar config extension (#10717) 2025-03-19 12:34:17 +00:00
Saul-Mirone a9b53839a6 refactor(editor): improve std structure (#10993) 2025-03-19 11:37:55 +00:00
L-Sun 9211fbf68c refactor(editor): move surface-ref toolbar to its block folder (#10938) 2025-03-19 10:54:22 +00:00
Saul-Mirone ae3cb61943 chore: align vitest versions (#10990) 2025-03-19 08:57:24 +00:00
fundon 0442430971 refactor(editor): edgeless html embed card toolbar config extension (#10716) 2025-03-19 05:03:00 +00:00
doodlewind 80f62a995b perf(editor): improve resize frame rate (#10967)
This PR improves panel toggling FPS by minimizing DOM and canvas updates during resizing.

[Screen Recording 2025-03-18 at 11.57.45 PM.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/lEGcysB4lFTEbCwZ8jMv/d36beeab-a2e4-4fd6-923a-705ce7fbcdf7.mov" />](https://app.graphite.dev/media/video/lEGcysB4lFTEbCwZ8jMv/d36beeab-a2e4-4fd6-923a-705ce7fbcdf7.mov)

### What changed?

- Added a debounced resize handling mechanism using RxJS's `debounceTime` operator
- Implemented a new resize strategy that preserves the top-left corner position during resizing
- Added state tracking for resize operations with `_isResizing` flag and `_initialTopLeft` coordinates
2025-03-19 04:42:23 +00:00
fundon 7f4b56e05c refactor(editor): edgeless external embed card toolbar config extension (#10712) 2025-03-19 04:05:36 +00:00
L-Sun 68bc2db560 fix(editor): descendant elements are missing in edgelessToCanvas (#10933)
### Before

![CleanShot 2025-03-17 at 20.24.39@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/c097d8b2-69df-4965-8e49-3798e930e779.png)

### After

![CleanShot 2025-03-17 at 20.24.17@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/6af03a7d-1e64-4ced-ac4d-e7cbc5648da6.png)
2025-03-19 03:35:06 +00:00
pengx17 a118cbd036 fix(editor): chat panel text render link preview base url (#10791)
fix AF-2322
2025-03-19 03:19:09 +00:00
donteatfriedrice 3a2d386275 feat(editor): support add embed iframe block in mobile (#10955)
To close [BS-2664](https://linear.app/affine-design/issue/BS-2664/iframe-embed-block-移动端支持)
2025-03-19 02:58:51 +00:00
fundon d8567e669a refactor(editor): edgeless bookmark toolbar config extension (#10711) 2025-03-19 02:24:26 +00:00
fundon 251d1d8782 refactor(editor): edgeless attacment toolbar config extension (#10710) 2025-03-19 00:52:22 +00:00
fundon 3cce147c60 refactor(editor): improve query methods in toolbar context (#10714) 2025-03-19 00:52:22 +00:00
doodlewind 02d707feab fix(editor): adapt font size in turbo renderer (#10858) 2025-03-18 19:01:48 +00:00
fundon cb37d25d7b refactor(editor): edgeless element toolbar with new pattern (#10511) 2025-03-18 15:36:25 +00:00
zzj3720 3939cc1c52 feat(editor): support file column and member column for database block (#10932)
close: BS-2630, BS-2631, BS-2629, BS-2632, BS-2635
2025-03-18 14:51:45 +00:00
Saul-Mirone 321e3449ec fix(editor): block can be null in widget (#10959)
Closes: [BS-2826](https://linear.app/affine-design/issue/BS-2826/typeerror-thisblock-is-null)
2025-03-18 10:58:19 +00:00
Saul-Mirone 5cb2abab76 docs(editor): add doc for reactive types in store (#10958) 2025-03-18 09:07:42 +00:00
Saul-Mirone ef00a158fc docs(editor): improve documentation for store class (#10949) 2025-03-18 07:57:58 +00:00
L-Sun 83af78d9ee chore(editor): update icon color of link doc card (#10943)
Close [BS-2679](https://linear.app/affine-design/issue/BS-2679/card-view-icon-color-incorrect)
2025-03-18 05:00:26 +00:00
Saul-Mirone 9f3cf271e3 feat(editor): support user provided role and role schema (#10939)
Let me analyze the key changes in this diff:

1. **Role System Changes**:
- Changed from a fixed enum of roles (`root`, `hub`, `content`) to a more flexible string-based system
- Removed strict role hierarchy validation rules (hub/content/root relationships)
- Added support for role-based matching using `@` prefix (e.g., `@root`, `@content`)

2. **Schema Validation Updates**:
- Added new `_matchFlavourOrRole` method to handle both flavour and role-based matching
- Updated `_validateParent` to consider both roles and flavours when validating parent-child relationships
- Simplified `_validateRole` by removing specific role hierarchy constraints

3. **Block Schema Changes**:
- Updated parent/children references in various block schemas to use the new `@` prefix notation
- Changed parent definitions from `['affine:page']` to `['@root']` in several blocks
- Updated children definitions to use role-based references (e.g., `['@content']`)

4. **Test Updates**:
- Added new test cases for role-based schema validation
- Introduced new test block schemas (`TestRoleBlockSchema`, `TestParagraphBlockSchema`) to verify role-based functionality

This appears to be a significant architectural change that makes the block schema system more flexible by:
1. Moving away from hardcoded role hierarchies
2. Introducing a more dynamic role-based relationship system
3. Supporting both flavour-based and role-based parent-child relationships
4. Using the `@` prefix convention to distinguish role references from flavour references

The changes make the system more extensible while maintaining backward compatibility with existing flavour-based relationships.
2025-03-18 01:58:59 +00:00
Saul-Mirone 3de7d85eea feat(editor): improve api for store, and add docs (#10941) 2025-03-17 16:30:59 +00:00
L-Sun 3dbeebd6ba fix(editor): background of surface-ref disappeared when it was re-rendered (#10931)
This PR fixed the background of surface-ref dis
2025-03-17 14:00:17 +00:00
L-Sun cc8ec72f2c feat(editor): insert a mindmap slash menu action (#10930)
Close [BS-2516](https://linear.app/affine-design/issue/BS-2516/添加mind-map入口)
2025-03-17 13:19:56 +00:00
Saul-Mirone 1d04438049 docs(editor): scaffolding docs generator (#10925) 2025-03-17 12:51:08 +00:00
L-Sun d80f1e8067 feat(editor): insert a blank frame slash menu action (#10899)
Close [BS-2517](https://linear.app/affine-design/issue/BS-2517/%E6%B7%BB%E5%8A%A0frame%E5%85%A5%E5%8F%A3)

### What changes:
- add a insert blank frame action to slash menu
- move `EdgelessFrameManager` and `FrameOverlay` extensions to `FrameBlockSpec`
- make `FrameBlockSpec` as a part of `CommonBlockSpecs` such that we can use `EdgelessFrameManager` to create a frame more easily

https://github.com/user-attachments/assets/ddff5866-8933-4ce5-aaf4-873661407ee4
2025-03-17 10:32:55 +00:00
EYHN b401012d85 feat(core): user service loading state (#10922) 2025-03-17 09:28:25 +00:00
Saul-Mirone d5a5df5e49 test(editor): move blocksuite test to tests folder (#10917) 2025-03-17 06:40:25 +00:00
doodlewind 81af7a0571 docs(editor): add guide for extension usage (#10911)
The guide is baed on #10847 to improve the code quality for migrating extensions using LLM.
2025-03-17 05:38:10 +00:00
Saul-Mirone 808c053c3c feat(editor): add block meta for table block (#10915) 2025-03-17 05:20:10 +00:00
donteatfriedrice 6eb34d70c1 feat(editor): support bookmark block convert to embed iframe block (#10907) 2025-03-17 05:00:55 +00:00
Saul-Mirone 8bd4125c96 feat(editor): enable block meta for code, image, list block (#10905) 2025-03-17 03:29:51 +00:00
Saul-Mirone 7e6ff8d9c6 chore(editor): remove unused npm scripts (#10895) 2025-03-16 17:48:49 +00:00
Saul-Mirone 2f5e801097 fix(editor): missing export (#10893) 2025-03-16 16:09:35 +00:00
Saul-Mirone 96add08ff4 fix(editor): should include node types (#10892) 2025-03-16 14:25:20 +00:00
hackerESQ fff15222d9 feat(core): add transparent as default shape fill (#10801) 2025-03-16 20:58:50 +09:00
donteatfriedrice d7d512084e feat(editor): embed iframe error status card in surface (#10869)
To close [BS-2806](https://linear.app/affine-design/issue/BS-2806/iframe-embed-block-edgeless-loading-and-error-status)
2025-03-16 09:05:04 +00:00
donteatfriedrice 7ecb1f510d feat(editor): embed iframe loading status card in surface (#10868) 2025-03-16 09:05:04 +00:00
Saul-Mirone 26285f7dcb feat(editor): unify block props api (#10888)
Closes: [BS-2707](https://linear.app/affine-design/issue/BS-2707/统一使用props获取和更新block-prop)
2025-03-16 05:48:34 +00:00
Oleg 8f9e5bf0aa fix(editor): minor ui bugs (#10841)
Co-authored-by: Mirone <Saul-Mirone@outlook.com>
2025-03-15 19:15:56 +09:00
donteatfriedrice 1d4ee1e383 feat(editor): support embed iframe block in edgeless (#10830)
To close:
[BS-2665](https://linear.app/affine-design/issue/BS-2665/iframe-embed-block-edgeless-mode-支持)
[BS-2666](https://linear.app/affine-design/issue/BS-2666/iframe-embed-block-edgeless-toolbar)
[BS-2667](https://linear.app/affine-design/issue/BS-2667/iframe-embed-block-edgeless-mode-拖拽调整支持)
[BS-2789](https://linear.app/affine-design/issue/BS-2789/iframe-embed-block-edgeless-block-component)
2025-03-15 09:23:02 +00:00