Comentarios de Workspace

Un comentario del espacio de trabajo es un elemento gráfico en el que puedes ingresar texto. Por lo general, se usa para documentar aspectos del código, al igual que los comentarios en un lenguaje de programación basado en texto.

Comentario de Workspace

Habilita los comentarios del espacio de trabajo

Para habilitar los comentarios del espacio de trabajo en tu aplicación, debes brindarles a los usuarios alguna forma de crearlos. Una forma de hacerlo es agregar un elemento de menú contextual que cree un comentario del espacio de trabajo. Puedes registrar elementos predeterminados del menú contextual para crear, borrar y duplicar comentarios del espacio de trabajo con el siguiente código:

// This should be called on page load. It can be called before or after
// you inject your workspace.
Blockly.ContextMenuItems.registerCommentOptions();

También puedes crear tus propias opciones de menú contextual o agregar otra forma para que el usuario agregue comentarios del espacio de trabajo. Para obtener más información sobre las opciones del menú contextual, consulta Menús contextuales.

Personaliza visualmente los comentarios

Existen varias formas de personalizar el aspecto de los comentarios del espacio de trabajo. Estos usan CSS y no temas. Es posible controlar la mayoría de los colores y tamaños de las diferentes partes del comentario, pero no su posición.

Variables de CSS de color

Puedes establecer la variable CSS commentFillColour para cambiar el color de fondo del área de texto. Puedes establecer la variable CSS commentBorderColour para cambiar el color de la barra superior del comentario y el borde del comentario.

.blocklyWorkspace {
  --commentFillColour: blue;
  --commentBorderColour: red;
}

Un comentario del espacio de trabajo con los colores cambiados

Clases de CSS

Hay diferentes clases de CSS asignadas a diferentes elementos de la vista de comentarios, lo que te permite modificar el diseño de los elementos.

Clase o clases de CSS Imagen
blocklyComment, blocklyDraggable Comentario de Workspace
blocklySelected, blocklyCommentHighlight Comentario seleccionado Comentario contraído seleccionado
blocklyCollapsed Comentario contraído del espacio de trabajo
blocklyCommentTopbar Barra superior de comentarios de Workspace
blocklyFoldoutIcon Ícono de desplegable
blocklyCommentPreview, blocklyText Vista previa del comentario
blocklyDeleteIcon Ícono Borrar
blocklyText Texto
blocklyResizeHandle Ícono de cambio de tamaño

Uso básico de CSS

En la mayoría de los casos, puedes aplicar tus atributos personalizados con la clase de CSS adecuada:

.blocklyCommentTopbarBackground {
  height: 50px;
}

Un comentario del espacio de trabajo con una barra superior más alta

CSS para texto

Sin embargo, para el texto, debes ser más específico para anular el CSS generado por el renderizador.

/* Modifies the preview text. */
.blocklyComment .blocklyCommentPreview.blocklyText {
  fill: blue;
}

/* Modifies the input text. */
.blocklyComment .blocklyText {
  color: blue;
}

Un comentario de Workspace con texto de vista previa azul

Un comentario de Workspace con texto de entrada azul

CSS para los aspectos destacados seleccionados

Y para destacar el comentario cuando se selecciona, el objeto al que se debe aplicar el CSS cambia según si el comentario está contraído o no. Cuando está contraído, aplicas el CSS al blocklyCommentTopbarBackground; de lo contrario, lo aplicas al 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;
}

Íconos

Las clases blocklyFoldoutIcon, blocklyDeleteIcon y blocklyResizeHandle se aplican a todos los elementos <image>. Esto significa que, si quieres cambiar el color o la forma de un ícono, puedes incluir una imagen diferente en tu carpeta de medios.

Nombre de la imagen Imagen
foldout-icon.svg Ícono de desplegable
delete-icon.svg Ícono Borrar
resize-handle.svg Ícono de cambio de tamaño

Ícono Borrar

El ícono de eliminación está oculto de forma predeterminada. Si quieres habilitarlo, debes usar CSS para que sea visible:

.blocklyDeleteIcon {
  display: block;
}

Tamaño predeterminado

Para establecer el tamaño predeterminado de los comentarios, configura la propiedad estática Blockly.comments.CommentView.defaultCommentSize:

Blockly.comments.CommentView.defaultCommentSize = new Blockly.utils.Size(200, 200);