-
Notifications
You must be signed in to change notification settings - Fork 7
Rjose/merge v3 #6
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
Merged
Merged
Conversation
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
* Use create-react-app to create first version * Add initial Makefile * Specify homepage in package.json * Install npm modules * Build and install the react bundle
* Can render arbitrary JSX from Forthic!
* Use functional React components and can set css
* Use ReactRouter
* Can build routes with dynamic elements
* Can render ForthicPage
* Can hook up a Button
* Can specify a Forthic callback
* Can update page state
* Implement <<CLASSNAME
* Can make server calls from React Forthic
* Add error handling support to ForthicPage
* Code cleanup
* Add Forthic Python versions * Added version support to forthic-react * Got the Forthic v2 unit tests to pass
* v3 Tokenizer and Interpreter tests are passing
* Got Forthic v3 global module tests working
* Implement/test GROUP-BY, MAP, FOREACH, FLATTEN
* Add support for "flag words" that change the behavior of words
* Add !DEPTH to MAP to apply Forthic at a certain record/array depth
* Add !DEPTH to FLATTEN so we can flatten arrays to a specified depth
* Extend REC@ to work with nested arrays/records
* React Forthic: Add tokenizer test
* Add interpreter tests
* Also fix jest error with axios
* Add MESSAGE-BROKER and PUBLISH-MESSAGE to allow the UI to update ForthicPage state * Modify SERVER-INTERPRET to use !PUSH-ERROR in order to remove need to add exception handler as a global window variable * Fix bug in ForthicPage page state update Also: * Made BY-FIELD and SORT more resilient to NULLs * Split Forthic React example into 3 simpler examples
* Add make targets for Forthic React tests * Add recharts module to Forthic React v1 * Add elements for React Bootstrap * Add UserNav elements to Forthic React * Add RecordsTable
global module changes
=====================
* Add RANGE word to global module (Forthic v2/v3, Forthic React v1)
* Add MARKDOWN>HTML to global module
* Fix bug when accessing comparator flag
* Rename |ASCII to ASCII
* Add unit test that uses !DEPTH with FLATTEN
* Rename Forthic py tests for Forthic v3
* Update documentation to include new words and remove old ones
org module changes
==================
* Add !WITH-LEAD
* Add ROOT-MANAGERS
* Update unit tests
* Update docs
datasets module changes
=======================
* Redesign Forthic v3 datasets module to make it simpler by using a
record as the mental model for storage
Document Forthic React
======================
* Added initial documentation for forthic-react
* ForthicPage: Render a page that reacts to query param changes
* RecordsTable: Render an array of records into a table
* TicketsModal: Show a modal dialog with ticket details
* UserNav: Render a control for navigating an org hierarchy
* global module: Documented global words, particularly ones specific to Forthic React
* recharts module: Documented words used with Recharts
* RecordsTable: Replace wrapper_style and header_style with wrapper_className and header_className
* Add TicketsModal element
* global_module changes
* Remove obsolete words
* Add MESSAGE-BROKER and PUBLISH-MESSAGE to allow Forthic to
interact with useState hooks
* Add window.open word to open a URL in a new tab
* Fix modularize_forthic function so it refers to the correct module
* Update index.css with RecordsTable and TicketsModal styles
Forthic py and Forthic React ============================ * Add ARRAY? word to test if a value is an array * Add STR>TIMESTAMP to convert a date string into a unix timestamp * Add MEAN to average an array of numbers Forthic React ============= * Import Typeahead, AsyncTypeahead * Import CSVLink * Add a !DELAY flag word * Used !DELAY with QPARAM_bang to delay the setting of query params. This gives the user the opportunity to select multiple things without constantly causing the page to reload * Fix bug where setting multiple params at once was only setting one * Add <QPARAMS to add a query param string to the end of a specified URL
* The `total_info` prop now has the following fields:
* col_fclick: For clicking on a total column
* row_fclick: For clicking on a total row
* grand_fclick: For clicking on the grand total cell
Fixed bugs
==========
* Use !COMPARATOR with SORT
* Don't overwrite className when handling different cases
* Add a default limit of 1000 tickets returned by a Jira search * Allow ticket limit to be overridden using a !MAX-TICKETS flag word * Add support for custom fields with duplicate names. The essential idea is that we map a custom field name into all IDs that it could match and then return only the non-NULL versions of it. The assumption is that a ticket can have at most one of these duplicate custom fields in it.
This module can be used to specify different Forthic React bundles from each Forthic app.
== Forthic React changes * Add `fformat_rec` prop to RecordsTable to allow formatting of a field using the entire record rather than just the value. This takes precedence over `fformat` * Add option to select tickets for EmailCampaign from TicketsModal if email is configured * Add TITLE! to global module so we can set the page title == Forthic py changes * FIX: default items and leads to empty lists in `group_by_leads`
* RecordsTable: Add `format_rec` option to format table cells using a javascript function * TicketSelector: Takes a `select_field` to indicate which field should indicate ticket selection. Also takes `toggle_selected` callback function to update ticket selection state * TicketsModal: Use updated TicketSelector for ticket selection column. Also allow records to be sorted by selected tickets
* Don't send gsheet updates if there are none
* Use flag words to change behavior of module words
* Added following words
* PUSH-CONTEXT!: Sets gsheet context
* POP-CONTEXT!: Pops a gsheet context
* SPREADSHEET: Get a spreadsheet from url
* TAB: Get a tab from url
* TAB@: Get a tab from a spreadsheet
* ENSURE-TAB!: Ensure that a tab exists within a spreadsheet
* ROWS: Returns the rows of a tab
* ROWS!: Writes array of rows to a tab
* CLEAR!: Clears a tab
* RECORDS: Returns the rows of a tab as records (given a header)
* RECORDS!: Writes records to a tab
* BATCH-UPDATE-TAB!: Low-level access to gsheets API
* !RANGE: Specifies a range to use for a word
* !TRANSPOSE: Indicates that data should be read/written as columns
instead of rows
* !CELL-FORMAT: Indicates that data is in a cell structure rather
than a string
* INDEX>COL-NAME: Converts a column index into an alphabetical name
* COL-NAME>INDEX: Converts an alphabetical column name to an index
* Add gsheet module v3 documentation
* Global module and cache module change
* Use a default serializer to handle datetime values
This module is currently under development. The initial use case is rendering SVG charts that can be emailed
* Created server directory and moved Flask server there
* Handle storing of username/password
* Handle storing of app creds
* Handle Forthic screens
* Handle SERVER-INTERPRET
* Moved apps directory to server/apps
* Added smoke-test app
* Added ForthicReact smoke test
* Add initial home page for sample apps
Also:
* Add Python 3.10 to tox.ini
* Add initial stats module to Forthic v3
* Update EXAMPLES.md based on new examples * Styled password pages
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.
Merges changes from the v3 branch onto main