Komentarze z obszaru roboczego

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.

Komentarz do obszaru roboczego

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;
}

Komentarz w obszarze roboczym ze zmienionymi kolorami

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 Komentarz do obszaru roboczego
blocklySelected, blocklyCommentHighlight Wybrany komentarz Wybrany zwinięty komentarz
blocklyCollapsed Zwinięty komentarz w obszarze roboczym
blocklyCommentTopbar Pasek u góry komentarza w Workspace
blocklyFoldoutIcon Ikona rozwijania
blocklyCommentPreview, blocklyText Podgląd komentarza
blocklyDeleteIcon Ikona usuwania
blocklyText Tekst
blocklyResizeHandle Ikona zmiany rozmiaru

Podstawowe użycie CSS

W większości przypadków możesz zastosować atrybuty niestandardowe z odpowiednią klasą CSS:

.blocklyCommentTopbarBackground {
  height: 50px;
}

Komentarz w obszarze roboczym z wyższym paskiem u góry

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;
}

Komentarz w obszarze roboczym z niebieskim tekstem podglądu

Komentarz w Workspace z niebieskim tekstem

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, blocklyDeleteIconblocklyResizeHandle 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 Ikona rozwijania
delete-icon.svg Ikona usuwania
resize-handle.svg Ikona zmiany rozmiaru

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);