Initial setup

This commit is contained in:
Sonny Bakker 2020-10-17 14:43:35 +02:00
parent 29c5b562d4
commit 8a6421b4c1
3 changed files with 39 additions and 2 deletions

View file

@ -7,3 +7,9 @@ class CheckboxInput(forms.CheckboxInput):
def get_context(self, name, value, attrs):
context = super().get_context(name, value, attrs)
return {**context, **attrs}
class MultiAutoCompleteWidget(forms.TextInput):
def get_context(self, name, value, attrs):
context = super().get_context(name, value, attrs)
return context

View file

@ -0,0 +1,29 @@
import React from 'react';
class AutoCompleteInput extends React.Component {
state = {
filteredSuggestions: [],
activeSuggestions: [],
showSuggestions: false,
userInput: '',
};
onChange(e) {}
onClick(e) {}
onKeyDown(e) {}
render() {
return (
<input
type="text"
onChange={this.onChange}
onKeyDown={this.onKeyDown}
value={this.state.userInput}
/>
);
}
}
export default AutoCompleteInput;

View file

@ -2,6 +2,7 @@ from django import forms
from django.forms.widgets import CheckboxSelectMultiple
from newsreader.accounts.models import User
from newsreader.core.forms import MultiAutoCompleteWidget
from newsreader.news.collection.models import CollectionRule
from newsreader.news.core.models import Category
@ -21,7 +22,9 @@ class RulesWidget(CheckboxSelectMultiple):
class CategoryForm(forms.ModelForm):
rules = forms.ModelMultipleChoiceField(
required=False, queryset=CollectionRule.objects.none(), widget=RulesWidget
required=False,
queryset=CollectionRule.objects.none(),
widget=MultiAutoCompleteWidget,
)
user = forms.ModelChoiceField(
@ -35,7 +38,6 @@ class CategoryForm(forms.ModelForm):
super().__init__(*args, **kwargs)
self.fields["rules"].queryset = CollectionRule.objects.filter(user=self.user)
self.fields["rules"].widget.category = self.instance
self.fields["user"].queryset = User.objects.filter(pk=self.user.pk)