Conversation
This commit adds support for uploading table data (in CSV/TSV) format to allow bulk record creation. It introduces the following: - a new TableLoader components that provides filepicker, drag n drop, and URL downloading capability in order to load a table. - The use of the tabulator package for structuring, rendering, editing tables (with loads of other functionality for future use). - A new DataTable class that handles all aspects of integrating tabulator table data into shacl-vue, mainly for the purpose of saving table rows as records (and, by extension, as RDF). The TableLoader component is instantiated in two cases: - from the main shacl-vue view where all records of a specific class are shown, the user can hit the button to upload multiple new records - from the FormEditor component when a user is editing a specific existing record, a bulk upload can be done for InstanceSelectEditor properties (i.e. anything that is a related named node or blank node) In both these cases, the TableLoader component is instantiated and rendered inside a popup dialog. New records are created when the save button is pressed, in both cases. In addition, in the latter case the newly created records will also be linked to their 'parent' record that is being edited. This commit does not yet include the following: - validation of the table data according to the associated shacl shapes before saving them to the FormData and then to RDF. - validation of table headings according to the shape of the expected class (this is currently only done on Save) - editing of existing records via the bulk upload mechanism; the save operation currently only creates new records and doesn't compare against existing records in the RDF store. - anything else that I can't think of right now.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Towards addressing #85 and #83
This commit adds support for uploading table data (in CSV/TSV) format to allow bulk record creation. It introduces the following:
The TableLoader component is instantiated in two cases:
In both these cases, the TableLoader component is instantiated and rendered inside a popup dialog. New records are created when the save button is pressed, in both cases. In addition, in the latter case the newly created records will also be linked to their 'parent' record that is being edited.
This commit does not yet include the following:
A demo:
shacl-vue-multirecord2.mp4