mirror of
https://github.com/google/blockly.git
synced 2026-01-04 15:40:08 +01:00
fix: comment icon interface re serialization (#7964)
* fix: comment icon interface re serialization * chore: fix test
This commit is contained in:
@@ -349,10 +349,18 @@ export class CommentIcon extends Icon implements IHasBubble, ISerializable {
|
||||
}
|
||||
}
|
||||
|
||||
/** The save state format for a comment icon. */
|
||||
export interface CommentState {
|
||||
/** The text of the comment. */
|
||||
text?: string;
|
||||
|
||||
/** True if the comment is open, false otherwise. */
|
||||
pinned?: boolean;
|
||||
|
||||
/** The height of the comment bubble. */
|
||||
height?: number;
|
||||
|
||||
/** The width of the comment bubble. */
|
||||
width?: number;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,12 +4,14 @@
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
import {IconType} from '../icons.js';
|
||||
import {IconType} from '../icons/icon_types.js';
|
||||
import {CommentState} from '../icons/comment_icon.js';
|
||||
import {IIcon, isIcon} from './i_icon.js';
|
||||
import {Size} from '../utils/size.js';
|
||||
import {IHasBubble, hasBubble} from './i_has_bubble.js';
|
||||
import {ISerializable, isSerializable} from './i_serializable.js';
|
||||
|
||||
export interface ICommentIcon extends IIcon, IHasBubble {
|
||||
export interface ICommentIcon extends IIcon, IHasBubble, ISerializable {
|
||||
setText(text: string): void;
|
||||
|
||||
getText(): string;
|
||||
@@ -17,6 +19,10 @@ export interface ICommentIcon extends IIcon, IHasBubble {
|
||||
setBubbleSize(size: Size): void;
|
||||
|
||||
getBubbleSize(): Size;
|
||||
|
||||
saveState(): CommentState;
|
||||
|
||||
loadState(state: CommentState): void;
|
||||
}
|
||||
|
||||
/** Checks whether the given object is an ICommentIcon. */
|
||||
@@ -24,6 +30,7 @@ export function isCommentIcon(obj: Object): obj is ICommentIcon {
|
||||
return (
|
||||
isIcon(obj) &&
|
||||
hasBubble(obj) &&
|
||||
isSerializable(obj) &&
|
||||
(obj as any)['setText'] !== undefined &&
|
||||
(obj as any)['getText'] !== undefined &&
|
||||
(obj as any)['setBubbleSize'] !== undefined &&
|
||||
|
||||
@@ -1392,6 +1392,12 @@ suite('Blocks', function () {
|
||||
}
|
||||
|
||||
setBubbleVisible() {}
|
||||
|
||||
saveState() {
|
||||
return {};
|
||||
}
|
||||
|
||||
loadState() {}
|
||||
}
|
||||
|
||||
setup(function () {
|
||||
|
||||
Reference in New Issue
Block a user