cobbettn / truthtables Goto Github PK
View Code? Open in Web Editor NEWtruth table calculator
truth table calculator
add clear outlines and labels to each drop area
validation is in a working state, control whether the save button actually fires when it's clicked based on schema validity
part of #8
When an edit is made in the schema editor, update the display
display a table representing the current schema
For example:
When the schema is invalid display computed truth values until an invalidating symbol is encountered. For all symbols in the schema with indeterminate truth values display a '?'
This work should include logic for both the editor schema and schemataList
drag and drop between the premise and conclusion areas
Right click to delete a dndelement in the editor
add tool tip/snackbar when the first element has been added
support the abilitiy to step thru a computed schema table shwoing each operator column being filled in
state is an array of objects representing the premises entered in the editor
setSchemataList([...schemataList, schema]);
instead of storing the number of sentence letters and using that to generate those letters in the letter picker and schema, store the letters themselves instead. Call this state variable sentenceLetters
replace all uses of sentenceCount with sentenceLetters.length
make a switch to change the mode of schema editor, DnD or textfield?
simplify and remove any stale code
DnDElement implements add on click functionality when sentenceCount is greater than zero. Add the same logic to the drag and drop handler
will be handled in the schema computation feature #32
when dropping a schemabuilder element inside the schemabuilder, the source and destination element are swapped with each other. To match what is occuring with the drag and drop reordering, the source element should be inserted before the destination element
finalize icons for tables,
add dragging styles for dndelemtnes
kill tutorial is a valid tutorial is saved
add a delete button to saved schema
in preparation for drag n drop and new table tooling, split out a new table component from displayLogic.js.
add a functioning delete button to each table
instead add it to the premises?
this might be a problem and it might not be
think about how this should behave and implement it
add a footer with info links and link to repo
this is a react anti pattern, move all componet logic into the components themselves regardless of how bloated they wuill become :(
in all components
not and or if iff xor : in that order. iff and xor are same precedence
currently schema state is represented as an array
state should be stored as an object shaped containing the original array and a type attribute that is either P or C
when a schema is saved, it should save as a premise by default or a conclusion if a conclusion is being edited
horizontally collapse table so taht the main op column is the only thing displaying
Add tooltips:
show info about argument as a whole
show info about a schema in table
implication (logical consequence): (a, b) imply c if there are no instances where a, b are true and ci is false
validity: no false interpretations (the values under the main op column are all true)
invalidity: at least one false interpretation
equivalence: could be hard but.. when two schema have the same truth functionality
Satisfiability: at least one interpretation is true
Unsatisfiability: all interpretations are false
use a tooltip with a custom template to show info on hvoer?
show notification / pop up when first element is added to the editor that explaisn elements can be deleted by right clicking
add tooltips to letter and operator pickers that act as a legend. Display the name of the operator on hover
letter rules, operator rules, and grouping rules that define a well formed formula
add button that clears the symbols in SchemaBuilder
displayTableLogic and displayTableMarkup are too big.
split apart display logic and markup files and create new components
consider the addition of new property 'mainOpColumn' which will soon be attached to schema data within the app
given a valid schema, compute the truth table and display the values
for editor schema and saved schemata
develop looks good and stable. code is in good shape
add a click handler to the saved tables (maybe the editor table too)
on click just show the headers of the table. hide the rest
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.