refactor(editor): unify directories naming (#11516)

**Directory Structure Changes**

- Renamed multiple block-related directories by removing the "block-" prefix:
  - `block-attachment` → `attachment`
  - `block-bookmark` → `bookmark`
  - `block-callout` → `callout`
  - `block-code` → `code`
  - `block-data-view` → `data-view`
  - `block-database` → `database`
  - `block-divider` → `divider`
  - `block-edgeless-text` → `edgeless-text`
  - `block-embed` → `embed`
This commit is contained in:
Saul-Mirone
2025-04-07 12:34:40 +00:00
parent e1bd2047c4
commit 1f45cc5dec
893 changed files with 439 additions and 460 deletions
@@ -0,0 +1,102 @@
import type { ColumnDataType } from '@blocksuite/affine-model';
import {
arrayMove,
insertPositionToIndex,
type InsertToPosition,
} from '@blocksuite/affine-shared/utils';
import type { DataViewDataType } from '@blocksuite/data-view';
import {
BlockModel,
BlockSchemaExtension,
defineBlockSchema,
} from '@blocksuite/store';
type Props = {
title: string;
views: DataViewDataType[];
columns: ColumnDataType[];
cells: Record<string, Record<string, unknown>>;
};
export class DataViewBlockModel extends BlockModel<Props> {
constructor() {
super();
}
applyViewsUpdate() {
this.doc.updateBlock(this, {
views: this.props.views,
});
}
deleteView(id: string) {
this.doc.captureSync();
this.doc.transact(() => {
this.props.views = this.props.views.filter(v => v.id !== id);
});
}
duplicateView(id: string): string {
const newId = this.doc.workspace.idGenerator();
this.doc.transact(() => {
const index = this.props.views.findIndex(v => v.id === id);
const view = this.props.views[index];
if (view) {
this.props.views.splice(
index + 1,
0,
JSON.parse(JSON.stringify({ ...view, id: newId }))
);
}
});
return newId;
}
moveViewTo(id: string, position: InsertToPosition) {
this.doc.transact(() => {
this.props.views = arrayMove(
this.props.views,
v => v.id === id,
arr => insertPositionToIndex(position, arr)
);
});
this.applyViewsUpdate();
}
updateView(
id: string,
update: (data: DataViewDataType) => Partial<DataViewDataType>
) {
this.doc.transact(() => {
this.props.views = this.props.views.map(v => {
if (v.id !== id) {
return v;
}
return { ...v, ...(update(v) as DataViewDataType) };
});
});
this.applyViewsUpdate();
}
}
export const DataViewBlockSchema = defineBlockSchema({
flavour: 'affine:data-view',
props: (): Props => ({
views: [],
title: '',
columns: [],
cells: {},
}),
metadata: {
role: 'hub',
version: 1,
parent: ['affine:note'],
children: ['affine:paragraph', 'affine:list'],
},
toModel: () => {
return new DataViewBlockModel();
},
});
export const DataViewBlockSchemaExtension =
BlockSchemaExtension(DataViewBlockSchema);