El nuevo zimlet de hoy de Barry de Graaff, evangelista del canal de Zimbra Synacor, es el zimlet de justicia social. Mientras escribe un correo electrónico, este zimlet sugiere palabras alternativas cuando sea apropiado. Por ejemplo: master ldap> primary ldap.
Esta publicación le muestra cómo escribir un Zimlet que usa un evento de keyup, para que pueda escribir Zimlets que interactúen con el compositor de Zimbra mientras el usuario escribe. El zimlet de justicia social es un ejemplo del uso de keyup. Este blog también le muestra cómo usar el selection
objeto para hacer trucos avanzados.
Para todos los archivos relevantes, haga clic aquí: https://github.com/Zimbra/zimbra-zimlet-social-justice
Zimlets para usos avanzados de Composer
El compositor de Zimbra se basa en TinyMCE. Puede utilizar el selection
objeto nativo del navegador y combinarlo con la API completa de TinyMCE para realizar tareas avanzadas.
Este fragmento de código muestra cómo agregar un controlador de eventos onkeyup y obtener la última palabra escrita:
exportar clase predeterminada MoreMenu extiende Component { constructor ( props ) { super ( props ) ; esto . zimletContext = props . niños . contexto ; n n n nn esto . apoyos . getComposer ( ) . on ( 'keyup' , function ( e ) { n var selRng = this . props . getComposer ( ) . selection . getRng ( ) ; n this . props . getComposer ( ) . selection . setRng ( selRng ) ;n n deja contenido = esto . apoyos . getComposer ( ) . selección ; n dejar contentText = content . getSel ( ) . focusNode . datos ; n intente { n let contentTillCaret = contentText . subcadena ( 0 , selRng . startOffset ) ; n deje lastTypedWord = esto . lastWord ( contentTillCaret) ; n // haz algo aquí n } catch ( err ) { console . log ( err ) } ; n } . enlazar ( esto ) ) ; n }
Este fragmento de código muestra cómo reemplazar la última palabra escrita:
n replaceWord = ( myNewWord ) => { n this . apoyos . getComposer ( ) . selección . getSel ( ) . modificar ( 'extender' , 'retroceder' , 'palabra' ) ; n esto . apoyos . getComposer ( ) . selección . setContent ( myNewWord ) ; n }
Disfruta del nuevo zimlet de justicia social