mirror of
				https://github.com/convergencelabs/monaco-collab-ext.git
				synced 2025-06-13 12:54:23 +00:00 
			
		
		
		
	Merge pull request #2 from CGNonofr/remote-selection-hover
Remote selection hover label
This commit is contained in:
		
						commit
						e34afb715c
					
				@ -37,8 +37,6 @@
 | 
			
		||||
.monaco-remote-selection {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  pointer-events: auto;
 | 
			
		||||
  z-index: 10;
 | 
			
		||||
  opacity: 0.3;
 | 
			
		||||
  background: blue;
 | 
			
		||||
  z-index: 4000;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -85,6 +85,12 @@ export class RemoteSelection {
 | 
			
		||||
   */
 | 
			
		||||
  private readonly _styleElement: HTMLStyleElement;
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * The label to display on hover
 | 
			
		||||
   * @internal
 | 
			
		||||
   */
 | 
			
		||||
  private readonly _label: string;
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * The Monaco editor instance to render selection into.
 | 
			
		||||
   * @internal
 | 
			
		||||
@ -131,6 +137,7 @@ export class RemoteSelection {
 | 
			
		||||
    id: string,
 | 
			
		||||
    classId: number,
 | 
			
		||||
    color: string,
 | 
			
		||||
    label: string,
 | 
			
		||||
    onDisposed: OnDisposed
 | 
			
		||||
  ) {
 | 
			
		||||
    this._editor = codeEditor;
 | 
			
		||||
@ -138,6 +145,7 @@ export class RemoteSelection {
 | 
			
		||||
    const uniqueClassId = `monaco-remote-selection-${classId}`;
 | 
			
		||||
    this._className = `monaco-remote-selection ${uniqueClassId}`;
 | 
			
		||||
    this._styleElement = RemoteSelection._addDynamicStyleElement(uniqueClassId, color);
 | 
			
		||||
    this._label = label;
 | 
			
		||||
    this._decorations = [];
 | 
			
		||||
    this._onDisposed = onDisposed;
 | 
			
		||||
  }
 | 
			
		||||
@ -254,7 +262,10 @@ export class RemoteSelection {
 | 
			
		||||
            this._endPosition.column
 | 
			
		||||
          ),
 | 
			
		||||
          options: {
 | 
			
		||||
            className: this._className
 | 
			
		||||
            className: this._className,
 | 
			
		||||
            hoverMessage: this._label != null ? {
 | 
			
		||||
              value: this._label
 | 
			
		||||
            } : null
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
 | 
			
		||||
@ -72,11 +72,11 @@ export class RemoteSelectionManager {
 | 
			
		||||
   * @param color
 | 
			
		||||
   *   The color to render the selection with.
 | 
			
		||||
   */
 | 
			
		||||
  public addSelection(id: string, color: string): RemoteSelection {
 | 
			
		||||
  public addSelection(id: string, color: string, label?: string): RemoteSelection {
 | 
			
		||||
    const onDisposed = () => {
 | 
			
		||||
      this.removeSelection(id);
 | 
			
		||||
    };
 | 
			
		||||
    const selection = new RemoteSelection(this._options.editor, id, this._nextClassId++, color, onDisposed);
 | 
			
		||||
    const selection = new RemoteSelection(this._options.editor, id, this._nextClassId++, color, label, onDisposed);
 | 
			
		||||
    this._remoteSelections.set(id, selection);
 | 
			
		||||
    return selection;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user