Saul-Mirone
6fbbfc80e5
refactor(editor): move block-specific extensions to their respective modules ( #11907 )
...
### TL;DR
Refactored extension registration to follow a more modular approach by moving extensions to their respective block packages.
### What changed?
- Removed centralized registration of several extensions from `store.ts` in the main package
- Moved the following extensions to their respective block packages:
- `CodeMarkdownPreprocessorExtension` to the code block package
- `LatexMarkdownPreprocessorExtension` to the latex block package
- `EmbedIframeConfigExtensions` and `EmbedIframeService` to the embed block package
- `ImageStoreSpec` removed from central registration
- Cleaned up unused arrays and imports in the main store file
- Removed empty `defaultBlockPlainTextAdapterMatchers` array
### How to test?
1. Verify that markdown preprocessing for code and latex blocks still works correctly
2. Check that iframe embeds function properly
3. Ensure image handling continues to work as expected
4. Test import/export functionality for all affected block types
### Why make this change?
This change improves code organization by following a more modular architecture where each block package is responsible for registering its own extensions. This approach reduces coupling between packages, makes the codebase more maintainable, and follows the principle that extensions should be registered where they are defined.
2025-04-23 01:16:08 +00:00
Saul-Mirone
24edfc75bd
feat(editor): table extension ( #11906 )
...
Closes: BS-3205
2025-04-23 01:16:08 +00:00
Saul-Mirone
e57222b89a
feat(editor): surface ref extension ( #11902 )
...
Closes: BS-3203
2025-04-23 01:16:07 +00:00
Saul-Mirone
43966a6c6b
feat(editor): use store extension manager ( #11891 )
...
Closes: BS-3284
2025-04-22 15:51:23 +00:00
Saul-Mirone
99ad4e871e
feat(editor): use migrated extensions ( #11886 )
...
Closes: BS-3283
2025-04-22 15:51:22 +00:00
donteatfriedrice
bbdea71686
fix(editor): add footnote url markdown preprocessor to avoid link node parsing ( #11888 )
...
Closes: [BS-3282](https://linear.app/affine-design/issue/BS-3282/预处理-footnote-definition-中的-url-避免-markdown-link-node-parsing )
2025-04-22 14:19:10 +00:00
fundon
4fd468c46f
fix(editor): remove unnecessary css styles ( #11885 )
2025-04-22 10:48:11 +00:00
doouding
b59f6ebde0
refactor: default-tool box selection ( #11800 )
...
### Changed
- Rewrite box selection in `default-tool`, the view can decide whether to be selected in box selection by return a boolean value in `onBoxSelected` method
- Cleanup unnecessary states in `default-tool` and some naming problem
2025-04-22 08:18:26 +00:00
doouding
1d58792631
chore: remove frame overlay dependency from default-tool ( #11762 )
2025-04-22 08:18:25 +00:00
doouding
e0e84d302d
refactor: moving connector label to connector view ( #11738 )
...
### Changed
Moved connector label moving logic from `default-tool` to connector view.
#### Other infrastructure changes:
- Gfx element view now can handles drag events
- Added `context.preventDefault()` support to bypass built-in interactions in extension
- Handle the pointer events in element view will bypass the built-in interactions automatically
> The built-in interactions include element dragging, click selection, drag-to-scale operations, etc.
2025-04-22 08:18:24 +00:00
doouding
21bf009553
refactor: migrate elements clone from default-tool to extension ( #11703 )
...
### Changed
- Add `onRequestElementsClone` action to allow extension to define how to clone gfx elements
2025-04-22 08:18:23 +00:00
doouding
52953ce8e3
refactor: redesign element transform manager interface ( #11679 )
...
### Change
- Rename `ElementTransformManager` -> `InteractivityManager`
- Now you can `event.on` and `action.onXXX` method to extend interactivity behaviour. The old approach of overriding methods directly is deprecated.
2025-04-22 08:18:23 +00:00
L-Sun
e457e2f8a8
fix(editor): add reference after duplicate edgeless embed doc as note ( #11877 )
...
- fix(editor): add reference in the copied note of embed doc
- refactor(editor): add generics parameter `TextAttributes` into `Text`
2025-04-22 08:03:52 +00:00
Saul-Mirone
6d6504e2af
feat(editor): replace spec provider with extension manager ( #11861 )
...
Closes: BS-3273
2025-04-22 07:40:41 +00:00
fundon
fd67bdf88b
fix(editor): should update color of edgeless text when switching theme ( #11853 )
...
Closes: [BS-3258](https://linear.app/affine-design/issue/BS-3258/edgeless-text-颜色不符合预期 )
2025-04-21 13:54:12 +00:00
Saul-Mirone
846410cdb6
feat(editor): note extension ( #11856 )
...
Closes: BS-3200
Closes: BS-3201
2025-04-21 13:18:35 +00:00
L-Sun
a2b40fea20
feat(editor): insertion and duplication actions for embed synced doc ( #11852 )
...
Close [BS-3068](https://linear.app/affine-design/issue/BS-3068/在edgeless-的embed-doc-block上,增加-insert-into-page的选项,类似frame )
Close [BS-3069](https://linear.app/affine-design/issue/BS-3069/edgeless下的-embed,覆盖现在的edit行为-,暂定叫做duplicate-into-a-note,复制一个-note )
2025-04-21 11:01:04 +00:00
Saul-Mirone
7c79b1f024
feat(editor): latex and list extensions ( #11851 )
...
Closes: BS-3198
Closes: BS-3199
2025-04-21 10:29:31 +00:00
Saul-Mirone
df6e17b82f
feat(editor): frame and image extensions ( #11849 )
...
Closes: BS-3196
Closes: BS-3197
2025-04-21 10:29:30 +00:00
Saul-Mirone
12bf866dc5
fix(editor): remove replaceRichTextWithSvgElement ( #11843 )
2025-04-21 10:04:05 +00:00
Saul-Mirone
92ac8e3cad
feat(editor): embed extension ( #11848 )
...
Closes: BS-3195
2025-04-21 09:22:12 +00:00
Saul-Mirone
15a5264352
feat(editor): divider and edgeless text extensions ( #11846 )
...
Closes: BS-3193
Closes: BS-3194
2025-04-21 09:22:12 +00:00
Saul-Mirone
652d42ba1e
feat(editor): scaffolding store and view manager in affine ( #11840 )
...
Closes: BS-3254
2025-04-21 09:22:11 +00:00
Saul-Mirone
5244ff9b98
feat(editor): data view and database extension ( #11837 )
...
Closes: BS-3191
Closes: BS-3192
2025-04-21 09:22:11 +00:00
fundon
e60d5483ad
refactor(editor): add attachments ( #11842 )
...
Closes: [BS-3256](https://linear.app/affine-design/issue/BS-3256/重构-add-attachments-方法 )
2025-04-21 09:07:02 +00:00
doufa
b036ff5a45
fix(web): export png split text error with comment out rich text replacement in export process ( #11834 )
...
Co-authored-by: Mirone <Saul-Mirone@outlook.com >
2025-04-21 14:50:03 +08:00
Saul-Mirone
93b7c288cb
feat(editor): callout and code extension ( #11827 )
...
Closes: BS-3243
Closes: BS-3190
2025-04-21 04:27:19 +00:00
Saul-Mirone
a6d0894ce1
feat(editor): bookmark and attachment extension ( #11824 )
...
Closes: BS-3188
Closes: BS-3189
2025-04-21 04:27:18 +00:00
L-Sun
6d7cd6dd99
fix(editor): banner of blookmark not shown in edgeless ( #11796 )
...
Close [BS-2651](https://app.graphite.dev/github/pr/toeverything/AFFiNE/11797/chore(editor)-add-feature-flag-to-embed-doc-with-alias )
### What Changes:
- Fixed banner of edgeless embed bookmark is not shown
- Add fallback bookmark creation with embed creation modal when there is not a `QuickSearchProvider` in blocksuite playground
- Add tests for embed blookmark and embed github block in edgeless
2025-04-21 03:33:18 +00:00
Saul-Mirone
c74b5dc214
fix(editor): convert note to linked doc from edgeless ( #11828 )
...
Closes: BS-3244
2025-04-21 03:18:14 +00:00
fundon
67832aab09
chore(editor): update file icons ( #11826 )
2025-04-21 09:18:29 +08:00
L-Sun
f16bcdbe2b
fix(editor): edgeless selected block is missing in the return of getSelectedBlockCommand ( #11813 )
2025-04-18 13:52:43 +00:00
L-Sun
5fcf34d848
refactor(editor): adjust parameters of duplicate block command ( #11812 )
2025-04-18 13:52:43 +00:00
fundon
c0ff567a2a
fix(editor): get block props ( #11807 )
...
Closes: [BS-3184](https://linear.app/affine-design/issue/BS-3184/duplicate-图片,一直在loading )
2025-04-18 10:59:31 +00:00
L-Sun
3264e65980
chore(editor): add feature flag to embed doc with alias ( #11797 )
2025-04-18 07:39:16 +00:00
fundon
9c02512d7c
fix(editor): chevron down icon on toolbar ( #11803 )
...
Uniform size: 16x16
2025-04-18 07:10:01 +00:00
pengx17
ebf1d5476d
feat(core): add summary to transcription block ( #11753 )
...
fix AF-2523
2025-04-17 06:33:04 +00:00
L-Sun
98899b4eea
feat(editor): affine to blocksuite doc dnd with prefered card view ( #11748 )
...
Close [BS-3070](https://linear.app/affine-design/issue/BS-3070/文档拖动进入edgeless,形成引用时,默认形成embeded的引用,但是记录上次选择 )
2025-04-17 04:06:50 +00:00
donteatfriedrice
022e5f2c93
fix(editor): update embed iframe block event tracker ( #11736 )
...
Close [BS-3151](https://linear.app/affine-design/issue/BS-3151/埋一下-reload-link-成功失败 )
2025-04-16 09:53:38 +00:00
donteatfriedrice
212c13f843
fix(editor): add code block clipboard extension ( #11731 )
...
Close [BS-3109](https://linear.app/affine-design/issue/BS-3109/code-block-不支援-markdown-語法 )
2025-04-16 08:32:00 +00:00
donteatfriedrice
bfec5dd594
fix(editor): markdown html and image import ( #11712 )
...
Close
[BS-3145](https://linear.app/affine-design/issue/BS-3145/markdown-adapter-html-标签导入成-code-block )
[BS-3154](https://linear.app/affine-design/issue/BS-3154/[bug]-使用-markdown-with-files-导入到-affine-图片丢失 )
2025-04-16 04:27:39 +00:00
Saul-Mirone
828215f45a
refactor(editor): remove unused modal widget ( #11713 )
2025-04-16 04:13:58 +00:00
Saul-Mirone
3ebac1d39d
refactor(editor): remove dead code ( #11709 )
2025-04-15 12:40:36 +00:00
Saul-Mirone
b5c9741f18
feat(editor): extract keyboard toolbar widget ( #11707 )
2025-04-15 12:06:50 +00:00
fundon
8ca675b2ec
fix(editor): improve pdf embed viewer UX ( #11641 )
...
Closes: [BS-3101](https://linear.app/affine-design/issue/BS-3101/pdf-embed-模式的选中框选-和点开看详情有比较大的问题 )
### What's Changed!
* Fixed disable pointer event in native pdf viewer by dragging
* Disable opening peek view with pdf viewer in readonly and sharing modes
2025-04-15 08:51:02 +00:00
L-Sun
6f35021f22
chore(editor): update github block ui ( #11690 )
...
Close [BS-2651](https://linear.app/affine-design/issue/BS-2651/github-embed-block的样式修复 )
2025-04-15 04:15:00 +00:00
donteatfriedrice
7aa87de5f7
fix(editor): markdown code preprocessor should handle link correctly ( #11671 )
...
Close [BS-3117](https://linear.app/affine-design/issue/BS-3117/代码粘贴后出现多余的-和-符号 )
2025-04-14 08:28:43 +00:00
L-Sun
e1cb8198f1
fix(editor): android bs keyboard provider error ( #11647 )
...
### What Changes
- fixed keyboard service can not be initialized since a anonymous `BSKeyboardWithActionService` class was provider to di
- fixed tool panel was not closed when focus on other pragraph by clicking
- optimized code structure of fallback `show` and `hide` of keyboard
2025-04-13 09:59:24 +00:00
L-Sun
076c5ba044
fix(editor): repeat trigger keys of at-menu was added ( #11631 )
...
Close [BS-2716](https://linear.app/affine-design/issue/BS-2716/移动端通过toolpanel唤起的at-menu,出现两个 )
2025-04-13 06:46:37 +00:00
L-Sun
26d2ed8afb
chore(editor): hide file and doc import entries for mobile ( #11648 )
...
Close [BS-2926](https://linear.app/affine-design/issue/BS-2926/【移动端-ios】-选择import,无反应 )
Close [BS-2927](https://linear.app/affine-design/issue/BS-2927/【移动端-ios】隐藏toolbar上附件入口 )
2025-04-13 05:32:15 +00:00