mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-14 14:41:28 +00:00
Fixed: token field autocomplete selection by mouse.
After recent changes clicking on an autocomplete item in the pop up did nothing. Now this works and in conjunction with the new non-key-window-change update it's likely to work better than before.
This commit is contained in:
+11
-3
@@ -138,6 +138,11 @@ var CPScrollDestinationNone = 0,
|
||||
return _autocompleteMenu;
|
||||
}
|
||||
|
||||
- (void)_complete:(_CPAutocompleteMenu)anAutocompleteMenu
|
||||
{
|
||||
[self _autocompleteWithEvent:nil];
|
||||
}
|
||||
|
||||
- (void)_autocompleteWithEvent:(CPEvent)anEvent
|
||||
{
|
||||
if (![self _inputElement].value && (![_autocompleteMenu contentArray] || ![self hasThemeState:CPThemeStateAutocompleting]))
|
||||
@@ -647,10 +652,13 @@ var CPScrollDestinationNone = 0,
|
||||
if (CPTokenFieldInputOwner && CPTokenFieldInputOwner._preventResign)
|
||||
return false;
|
||||
|
||||
if (!CPTokenFieldInputResigning && !CPTokenFieldFocusInput)
|
||||
if (!CPTokenFieldInputResigning && [[CPTokenFieldInputOwner window] isKeyWindow])
|
||||
{
|
||||
[[CPTokenFieldInputOwner window] makeFirstResponder:nil];
|
||||
return;
|
||||
// If we lost focus somehow but we're not resigning and we're still in the key window, we'll need to take it back.
|
||||
window.setTimeout(function()
|
||||
{
|
||||
CPTokenFieldDOMInputElement.focus();
|
||||
}, 0.0);
|
||||
}
|
||||
|
||||
CPTokenFieldHandleBlur(anEvent, CPTokenFieldDOMInputElement);
|
||||
|
||||
@@ -73,6 +73,8 @@ var _CPAutocompleteMenuMaximumHeight = 307;
|
||||
|
||||
[tableView setDataSource:self];
|
||||
[tableView setDelegate:self];
|
||||
[tableView setTarget:self];
|
||||
[tableView setAction:@selector(complete:)];
|
||||
[tableView setAllowsMultipleSelection:NO];
|
||||
[tableView setHeaderView:nil];
|
||||
[tableView setCornerView:nil];
|
||||
@@ -251,6 +253,11 @@ var _CPAutocompleteMenuMaximumHeight = 307;
|
||||
return [contentArray objectAtIndex:row];
|
||||
}
|
||||
|
||||
- (@action)complete:(id)sender
|
||||
{
|
||||
[textField _complete:self];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user