-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reimplement custom entry types dialog #5799
Conversation
Cool that you worked on this! As a suggestion, I would not follow the original design very closely. Instead of having different lists for required and optional fields, I would add one big list of all fields with a checkbox toggling between required/optional. |
Thanks for the idea, that indeed sounds more practical. Maybe a radio button column. |
src/main/java/org/jabref/gui/customentrytypes/CustomEntryTypeDialogViewModel.java
Outdated
Show resolved
Hide resolved
* upstream/master: Add select all buttons to change dialog (#5803) Squashed 'src/main/resources/csl-locales/' changes from 9785a6e358..a3e8843f75 Squashed 'src/main/resources/csl-styles/' changes from 49a1841..b2fbe15 Fix CSL update Add new authors Remove ACM Fetcher in one more check Adapt WebFetchersTest Disable ACM Fetcher Try to fix branch name on cleanup pr action Remove obsolete class (#5801) Try to use right ref Run tests only once at pull requets Add ignored dependency Fix "&" on previews (#5786) [WIP] Batch Insert entries (#5691)
Question which just came to my mind: Do we allow changing the default entry types and their fields? e.g. Removing a field from an entry type like article? |
Yes, it was possible to add/remove fields from the built-in entry types. |
@tobiasdiez What is the preferred way to add new Fields to a an existing entry type? |
add tostring
Yes that methods sounds right. I vaguely remember that the complete entry type had to be "replaced" instead of only specifying the added/removed fields. Easiest way is probably to look at the original code. |
TODO: Find out why there are some invisible fields
This looks really nice and is leagues above the original dialog in terms of user friendliness. Good job! |
Still a few things to do, especially saving and removing all the fields back to the db and the prefs, But at least adding to the gui already works (without any further effects) |
@tobiasdiez Do you have an idea why the TableView content has these "empty" fields when I change between a list with more and fewer fields? TableView is bound bidirecitonal to the fieldsForTypeProperty
|
Code proudly reused from calixtus implementation in the preferences
The table view is programmed in such a way that always the complete visible table is filled with rows. Thus, even if there is no data I think it should suffice to add the check |
Thanks! That worked! |
* upstream/master: Fix for multiple error messages in messed up source editor (#5823) change to jdk 13 Fix obsolete " Remove obsolete TOC Fix hostname
add delete from lists
…tomizeEntrydlg * 'customizeEntrydlg' of github.com:JabRef/jabref: increase width move reloading custom entry types from pref to apply add missing l10n fix l10n add changelog fix typo refactor and pass entrytypes manager as ctor param move RadioButtonCell to util use common fields instead of all TableView is now properly updated when radio button is toggled Add commit handler TODO: commit event is not propagated somehow
@Siedlerchr One little remark: Hovering the dustbin icon of e.g. the field "DOI" states "Remove field from entry type DOI", which is not appropriate. |
@systemoperator One question, does the table update properly ( I am referring to the other bug) if you add a new type, add a new field/remove a new field? |
@burrbull All errors fixed. |
@Siedlerchr Concerning updating the table, everything works perfectly. But when I add a new entry type, then I firstly get an exception:
and afterwards I get another exception:
and then the entry shows up in the table. Subsequenty, when I delete a newly inserted entry type, then sometimes a null pointer exception occurs:
And when I select another entry type and simply click on the newly added entry type there is another null pointer exception. |
Oh, I have not seen, that it was already mentioned previously. |
Ah thanks. I thought I had fixed this already. Probably forgot to commit this on my other pc. Just fixed it. Will take a bit until the binaries are updated. |
Testing the fixed one: Some corner cases:
|
That's one thing I want to prevent. Empty fields and empty entry types won't be allowed. Will add a validator that in the next days. Just wanted to be curious about the table updating refreshing. The main difference between the other table for external file types and this one is that I created a viewModel for the table and I think in the other dialog the ExternalFileType is directly used. |
Sounds good. Empty types should not be allowed as well as types with the same name. |
Concerning the external file types: Maybe the problem is, that there is a type hierarchy involved and the table uses the interface ExternalFileType. Basically, all cases could be covered with just one ExternalFileType as well. (#5902) |
There will be a follow-up PR to fix one small issue
|
* upstream/master: followup fix Fixfetcher (#5948) Bump byte-buddy-parent from 1.10.7 to 1.10.8 (#5952) Added MenuButtons to IntegrityCheckDialog (#5955) Reimplement custom entry types dialog (#5799) Bump unirest-java from 3.4.03 to 3.5.00 (#5953) MySQL: Allow public key retrieval (#5909) Restructure and improve docs for setting up IntelliJ (#5960) Change syntax for Oracle multi-row insert SQL statement (#5837) Bump classgraph from 4.8.62 to 4.8.64 (#5954) Squashed 'src/main/resources/csl-styles/' changes from c531528..9e81857 Fix not escaping special characters in search pattern (#5938)
* upstream/master: Try to fix linux pdf opening again (#5945) [WIP] Initial work on DBMSProcessor batch entry insertion into ENTRY table (#5814) followup fix Fixfetcher (#5948) Bump byte-buddy-parent from 1.10.7 to 1.10.8 (#5952) Added MenuButtons to IntegrityCheckDialog (#5955) Reimplement custom entry types dialog (#5799) Bump unirest-java from 3.4.03 to 3.5.00 (#5953) MySQL: Allow public key retrieval (#5909) Restructure and improve docs for setting up IntelliJ (#5960) Change syntax for Oracle multi-row insert SQL statement (#5837)
5563ccc Update american-society-for-microbiology.csl (#5842) 19ab80f Merge pull request #5843 from POBrien333/patch-1002 d4a6c6d double trouble 424f7fe in-text >> superscript for T&F ACS style 605253c Merge pull request #5837 from POBrien333/patch-998 eb5417d Merge pull request #5838 from alessandro-gentilini/patch-1 7d2d3f5 Fix typo 9f557b5 Re-indent CSL styles f587e60 polyglot style 3a3fe2c Create journal-fur-kulturpflanzen-journal-of-cultivated-plants.csl cb24633 Merge pull request #5826 from dstark/patch-7 2590a6c Merge pull request #5833 from POBrien333/patch-997 5b2481e Create nist-techpubs-jres.csl (#5756) d2a1a49 Re-indent CSL styles 42c51d1 Update tyndale-bulletin.csl 8dae693 rework style 070586b Localize IEEE dates (#5835) 588fbfe Hopefully fix sorting in CSE author-date (#5834) 1291d72 Update physiotherapy-theory-and-practice.csl 1a64076 New Style for "Neue Kriminalpolitik (Deutsch)" (#5586) eac93a0 Create physiotherapy-theory-and-practice.csl 2e7a9f6 Merge pull request #5832 from POBrien333/patch-996 4dfad5f Update administrative-science-quarterly.csl f56db0f Merge pull request #5829 from benthamite/patch-1 526b0b3 Update effective-altruism-wiki.csl e5b11eb Update effective-altruism-wiki.csl f2a7301 Update effective-altruism-wiki.csl 5b166c2 Update university-of-roehampton-harvard.csl (#5831) b231514 Update european-society-of-cardiology.csl (#5519) dbd902c Re-indent CSL styles fe8892b Update effective-altruism-wiki.csl 734fa7d Update effective-altruism-wiki.csl 2430a32 Create effective-altruism-wiki.csl a5101b6 update modern-pathology.csl (#5828) 16f77c8 Update tyndale-bulletin.csl ea8804e Create the-korean-journal-of-mycology.csl (#5822) 22d8be0 Patch 3 (#5825) 0220ba2 Create jcom.csl (#5819) cd7b72b Create taylor-and-francis-council-of-science-editors-numeric.csl (#5824) 0033383 Create gomis-senegalese-medicine-thesis.csl (#5774) b221bcc Create mycobiology.csl (#5821) d7056f9 Re-indent CSL styles 04ae08b Update tyndale-bulletin.csl 24bd577 Re-indent CSL styles e08d431 clean up logging f6ac2a6 Update tyndale-bulletin.csl e4c07f8 this should be the PR repo name 7f9936c fetch pull request from originating repo f232f51 Update tyndale-bulletin.csl e2ae4fc Update tyndale-bulletin.csl f09f8db Update Sheldon to csl-styles 2.0 a4d7dec re-indent style a903664 sheldon 7db75fc sheldon f08dc96 sheldon 35b8bfa sheldon 04e28ca pull req checkout 9c9d061 pull req checkout 9249490 sheldon reindent 9792be6 sheldon reindent 3bced06 reindent & commit 7cc9735 Update styles README and GitHub Actions with 1.0.2 information (#5803) 205c4ea remaining dependents 9458056 fix broken styles 07ba7af fix dependents e2e7842 Fix term hacks for transition to CSL 1.0.2 (#5801) 5c8c5e9 Replace "sub verbo" with "sub-verbo" (#5799) 7ec637c Fix CSL styles bcd3054 update to csl/citeproc-ruby 2.0 ec13830 bundle update git-subtree-dir: buildres/csl/csl-styles git-subtree-split: 5563ccc
Fixes #4719
Very early draft.
Field Type should be radio button to switch between optional/required
TODO: