chore: merge blocksuite source code (#9213)

This commit is contained in:
Mirone
2024-12-20 15:38:06 +08:00
committed by GitHub
parent 2c9ef916f4
commit 30200ff86d
2031 changed files with 238888 additions and 229 deletions
@@ -0,0 +1,31 @@
import type { TemplateResult } from 'lit';
import { PeekViewProvider } from './service.js';
import type { PeekableClass, PeekViewService } from './type.js';
export class PeekableController<T extends PeekableClass> {
private _getPeekViewService = (): PeekViewService | null => {
return this.target.std.getOptional(PeekViewProvider);
};
peek = (template?: TemplateResult) => {
return Promise.resolve<void>(
this._getPeekViewService()?.peek({
target: this.target,
template,
})
);
};
get peekable() {
return (
!!this._getPeekViewService() &&
(this.enable ? this.enable(this.target) : true)
);
}
constructor(
private target: T,
private enable?: (e: T) => boolean
) {}
}