Comments (10)
Here's a JSFiddle demoing how you might use Quill's keyboard module to override the default enter key behavior when Tribute is active.
The relevant code in the Quill initializer:
modules: {
keyboard: {
bindings: {
tributeSelectOnEnter: {
key: 13,
shortKey: false,
handler: (event) => {
if (tribute.isActive) {
tribute.selectItemAtIndex(tribute.menuSelected, event);
tribute.hideMenu();
return false;
}
return true;
}
},
}
}
}
from tribute.
Maybe Quilljs is capturing the enter event? I'll play around with it and let you know what I find.
from tribute.
@mrsweaters can you please look into this, we are waiting on the implementation with this combination.
Thanks in advance :D
from tribute.
@sujeetbuddiga The selection offset is being miscalculated in the context of the Quill editor.
https://github.com/zurb/tribute/blob/quilljs/src/TributeRange.js#L232
If we can figure out why this is incorrect, we can fix the problem.
from tribute.
So regarding the 2nd issue with Quill+Tribute - the Tab
-key - there's a way to disable it in Quill. But then again, it also stops working for Tribute as well...
var quill = new Quill('#quilleditor', {
modules: {
toolbar: {
container:
[
[{ 'header': [1, 2, 3, 4, 5, 6, false] }],
[{ 'size': ['small', false, 'large', 'huge'] }],
['bold', 'italic', 'underline', 'strike',],
[{ list: 'ordered' }, { list: 'bullet' }],
['link', 'image', 'blockquote', 'code-block']
],
handlers: {
}
},
keyboard: {
bindings: { tab: false }
}
},
theme: 'snow',
});
However, Quill's keyboard module might be a starting point to get them to play along nicely? Probably trigger a Tribute function with a specific binding in Quill on Enter
& Tab
key?
http://quilljs.com/docs/modules/keyboard/
from tribute.
@oliveratgithub They must stop event bubbling on Tab
when it is disabled. I think your right about using the keyboard module. Let me know if I need to expose some tribute-specific methods for Enter
and Tab
.
from tribute.
@evansims Thank you for your solution. Works very well for me.
from tribute.
@evansims this does not seem to be working anymore, can you please take a look?
from tribute.
@allaud seems like hideMenu()
and selectItemAtIndex()
are not available anymore, at least from what I can tell based on the type declaration file https://github.com/zurb/tribute/blob/master/tributejs.d.ts.
I was able to get it working like this:
keyboard: {
bindings: {
tributeSelectOnEnter: {
key: 13,
shortKey: false,
handler: () => {
if (tribute.isActive) {
return false;
}
return true;
}
}
}
}
When tribute is active, pressing enter inserts the selected item and closes the menu automatically. Otherwise you get the default Quill behaviour (newline is inserted).
from tribute.
Whoever gets into this issue I found it easier to use https://github.com/afconsult/quill-mention instead in this particular case
from tribute.
Related Issues (20)
- MLK Jr. Tribute page
- tributejs npm package version 5.1.3 is lastest, but not have loadingItemTemplate in options HOT 1
- Hi, why I can't use arrow key on my mention tooltip HOT 1
- Menu is offset incorrectly
- Cannot set cursor in front of the mention tag
- DOM-based XSS due to un-escaped special characters HOT 1
- Is it possible to add dropdown with heading?
- Removing items with backspace is not working when added by showMenuForCollection menu HOT 3
- Removing characters one by one with backspace then auto suggesting is not working HOT 1
- Instead of characters matches, is there words can match
- latest Typescript complile error
- Option to use DOM elements instead of HTML strings as templates
- Typescript 4.8.2 (Required by Angular 15) TributeOptions Type issue
- Update to stimulus-use debounce broke remote data load
- Error while clicking on scroll bar - chrome on mac
- Replacing words that contains space
- Performance issue and freezes
- When we can have a new version with the latest changes from master? HOT 2
- Tribute doesnot seem to work inside bootstrap modal.
- Disable the need a symbol to starts the lookup
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tribute.