Semelhante ao atributo 'disabled' de uma área de texto.
será semelhante ao modo readOnly, apenas não será permitida a interação do usuário com o editor. Portanto, o cursor e quaisquer marcadores de linha ficarão ocultos.
@gissues :{"order":73.29192546583863,"status":"backlog"}
Isso foi implementado em algum lugar? Eu também acharia esse recurso muito útil.
Qual é o caso de uso para isso? Não quero adicionar isso ao núcleo, pois raramente é usado e fácil de implementar
Algo como
editor.container.style.pointerEvents="none"
editor.container.style.opacity=0.5 // or use svg filter to make it gray
editor.renderer.setStyle("disabled", true)
editor.blur()
ou isto
var cover = document.createElement("div")
editor.container.appendChild(cover)
cover.style.cssText = "position:absolute;\
top:0;bottom:0;right:0;left:0;\
background:rgba(150,150,150,0.5);\
z-index:100"
cover.addEventListener("mousedown", function(e){e.stopPropagation()}, true)
trabalharia.
O objetivo não é torná-lo visualmente desabilitado, o objetivo é remover a capacidade de o usuário interagir com ele. Ou seja, eles não podem controlar o cursor (melhor ainda, o cursor não existe).
Este é apenas um tipo mais estrito de somente leitura em vez de "desativado". Isso seria útil ao usar o editor para exibir amostras de código ou saída de programas em execução na página da Web. Embora isso possa não ser o uso ideal para o editor, seus recursos, como realce de sintaxe e aparência geral, o tornam uma opção atraente para uso em coisas como essas.
Ambos os exemplos de código realmente não realizam isso. Nenhum deles remove o cursor e, embora façam um bom trabalho ao não permitir que o usuário controle o cursor, o foco pode ser colocado no editor.
Ah, eu vejo agora.
Mas quanto da funcionalidade do editor deve ser desativada depende do caso de uso exato.
Acho que a seleção e a capacidade de focar o editor não devem ser desativadas em nenhum desses casos. A janela de visualização virtual será útil para exibir a saída, mas a seleção do navegador não funcionará com ela. E para exemplos de código geralmente é bom poder fazer ctrl+a ctrl+c
.
Para ocultar destaques de cursor e linha
editor.setOptions({
readOnly: true,
highlightActiveLine: false,
highlightGutterLine: false
})
editor.renderer.$cursorLayer.element.style.opacity=0
para tornar o editor não tabulado
editor.textInput.getElement().tabIndex=-1
or
editor.textInput.getElement().disabled=true
para desabilitar todos os atalhos
editor.commands.commmandKeyBinding={}
também posso adicionar métodos destroy para $mouseHandler e textInput para desativá-los completamente
Excelente, isso tem o efeito que eu estava procurando. Concordo que os requisitos diferem com base no caso de uso exato, mas pode ser útil ter várias opções para desativar coisas como os cursores ou os atalhos etc.
Além disso, a última linha de código acima parece impedir o editor de exibir qualquer coisa. :/
Além disso, a última linha de código acima parece impedir o editor de exibir qualquer coisa. :/
você quer dizer editor.commands.commmandKeyBinding={}
? isso seria muito estranho
Obrigado por isso!
Obrigado, definitivamente preciso de uma opção para desativar o editor!
Oi, você implementou o destruidor $mouseHandler? Estou um pouco perdido (novato aqui). Ou existe alguma maneira de desativá-lo? Obrigado por desabilitar o editor btw :-)
@nightwing
editor.renderer.$cursorLayer.element.style.opacity=0
Parece que $cursorLayer não é um atributo do VirtualRenderer agora.
Eu quero esconder o cursor quando meu editor está no estado 'readOnly', e eu tento o método que você deu, mas não funciona porque $ cursorLayer não é um atributo de VirtualRenderer; Existe alguma outra maneira de ocultar o cursor?
Descobri que existem dois métodos no VirtualRenderer, hideCursor() e setCursorStyle(), e tento usá-los da maneira abaixo. Mas não funciona tão bem.
this._editor.renderer.hideCursor();
this._editor.renderer.setCursorStyle("opacity: 0;");
Estou errado em usar?
É um trabalho em andamento? Eu gostaria de desabilitar o editor quando o foco fora dele.
Mesmo aqui! Eu gostaria de usar o método renderer.hideCursor() mas não parece funcionar. Eu tentei chamá-lo no meu bloco de inicialização do editor e no evento changeCursor
, mas não consigo fazê-lo funcionar.
para as pessoas que ainda querem desabilitar o cursor, use a propriedade css3 pointer-events: none;
no elemento do editor.
Como desativo o editor, ainda apenas um novo desenvolvedor de reação? Por favor agradeceria qualquer ajuda
para as pessoas que ainda querem desabilitar o cursor, use a propriedade css3
pointer-events: none;
no elemento do editor.
Como você desativa o editor?
para as pessoas que ainda querem desabilitar o cursor, use a propriedade css3
pointer-events: none;
no elemento do editor.Como você desativa o editor?
editor.setOptions({
readOnly: true,
})
Funcionou como um encanto
Quarta-feira, 23 de setembro de 2020, 22h27 Nehal Hasnayeen [email protected]
escrevi:
para as pessoas ainda querem desabilitar o cursor, use css3 property pointer-events:
Nenhum; no elemento editor.Como você desativa o editor?
editor.setOptions({
readOnly: verdadeiro,
})—
Você está recebendo isso porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/ajaxorg/ace/issues/266#issuecomment-698073286 ou
Cancelar subscrição
https://github.com/notifications/unsubscribe-auth/ALIR2LMEV5BHDXPXO7RT5BTSHKVAPANCNFSM4AESJK3A
.
Comentários muito úteis
Ah, eu vejo agora.
Mas quanto da funcionalidade do editor deve ser desativada depende do caso de uso exato.
Acho que a seleção e a capacidade de focar o editor não devem ser desativadas em nenhum desses casos. A janela de visualização virtual será útil para exibir a saída, mas a seleção do navegador não funcionará com ela. E para exemplos de código geralmente é bom poder fazer
ctrl+a ctrl+c
.Para ocultar destaques de cursor e linha
para tornar o editor não tabulado
para desabilitar todos os atalhos
também posso adicionar métodos destroy para $mouseHandler e textInput para desativá-los completamente