Komentarz w obszarze roboczym to element graficzny, w którym możesz wpisać tekst. Zwykle służy do dokumentowania informacji o kodzie, podobnie jak komentarze w tekstowym języku programowania.
Włączanie komentarzy w obszarze roboczym
Aby włączyć komentarze do obszaru roboczego w aplikacji, musisz umożliwić użytkownikom ich tworzenie. Możesz to zrobić, dodając element menu kontekstowego, który tworzy komentarz w obszarze roboczym. Możesz zarejestrować domyślne elementy menu kontekstowego, aby tworzyć, usuwać i duplikować komentarze do obszaru roboczego za pomocą tego kodu:
// This should be called on page load. It can be called before or after
// you inject your workspace.
Blockly.ContextMenuItems.registerCommentOptions();
Możesz też utworzyć własne opcje menu kontekstowego lub dodać inny sposób dodawania komentarzy do obszaru roboczego. Więcej informacji o opcjach menu kontekstowego znajdziesz w artykule Menu kontekstowe.
Wizualne dostosowywanie komentarzy
Wygląd komentarzy w obszarze roboczym możesz dostosować na kilka sposobów. Korzystają one z CSS, a nie z motywów. Możesz kontrolować większość kolorów i rozmiarów różnych części komentarza, ale nie ich położenie.
Zmienne CSS kolorów
Możesz ustawić zmienną CSS commentFillColour
, aby zmienić kolor tła obszaru tekstu. Możesz ustawić zmienną commentBorderColour
CSS, aby zmienić kolor górnego paska komentarza i obramowania komentarza.
.blocklyWorkspace {
--commentFillColour: blue;
--commentBorderColour: red;
}
Klasy CSS
Do różnych elementów widoku komentarza przypisane są różne klasy CSS, które umożliwiają modyfikowanie stylu elementów.
Klasy CSS | Obraz |
---|---|
blocklyComment , blocklyDraggable |
![]() |
blocklySelected , blocklyCommentHighlight |
![]() ![]() |
blocklyCollapsed |
![]() |
blocklyCommentTopbar |
![]() |
blocklyFoldoutIcon |
![]() |
blocklyCommentPreview , blocklyText |
![]() |
blocklyDeleteIcon |
![]() |
blocklyText |
![]() |
blocklyResizeHandle |
![]() |
Podstawowe użycie CSS
W większości przypadków możesz zastosować atrybuty niestandardowe z odpowiednią klasą CSS:
.blocklyCommentTopbarBackground {
height: 50px;
}
CSS dla tekstu
W przypadku tekstu musisz jednak podać bardziej szczegółowe informacje, aby zastąpić kod CSS wygenerowany przez mechanizm renderowania.
/* Modifies the preview text. */
.blocklyComment .blocklyCommentPreview.blocklyText {
fill: blue;
}
/* Modifies the input text. */
.blocklyComment .blocklyText {
color: blue;
}
CSS dla wybranych najciekawszych momentów
W przypadku wyróżniania komentarza po jego wybraniu obiekt, do którego należy zastosować CSS, zmienia się w zależności od tego, czy komentarz jest zwinięty. Gdy jest zwinięty, zastosuj CSS do elementu blocklyCommentTopbarBackground
, w przeciwnym razie zastosuj go do elementu blocklyCommentHighlight
.
/* Highlight when expanded. */
.blocklySelected .blocklyCommentHighlight {
stroke: #fc3;
stroke-width: 3px;
}
/* Hide normal highlight when collapsed. */
.blocklyCollapsed.blocklySelected .blocklyCommentHighlight {
stroke: none;
}
/* Instead apply the collapsed highlight to the top bar. */
.blocklyCollapsed.blocklySelected .blocklyCommentTopbarBackground {
stroke: #fc3;
stroke-width: 3px;
}
Ikony
Klasy blocklyFoldoutIcon
, blocklyDeleteIcon
i blocklyResizeHandle
są stosowane do elementów <image>
. Oznacza to, że jeśli chcesz zmienić kolor lub kształt ikony, możesz dodać inny obraz do folderu z multimediami.
Nazwa obrazu | Obraz |
---|---|
foldout-icon.svg |
![]() |
delete-icon.svg |
![]() |
resize-handle.svg |
![]() |
Ikona usuwania
Ikona usuwania jest domyślnie ukryta. Jeśli chcesz ją włączyć, musisz użyć CSS, aby ją wyświetlić:
.blocklyDeleteIcon {
display: block;
}
Rozmiar domyślny
Aby ustawić domyślny rozmiar komentarza, ustaw właściwość statyczną
Blockly.comments.CommentView.defaultCommentSize
:
Blockly.comments.CommentView.defaultCommentSize = new Blockly.utils.Size(200, 200);