italia / form-pa Goto Github PK
View Code? Open in Web Editor NEWA flexible and configurable form based on json schema
Home Page: https://italia.github.io/form-pa/
License: GNU Affero General Public License v3.0
A flexible and configurable form based on json schema
Home Page: https://italia.github.io/form-pa/
License: GNU Affero General Public License v3.0
Add .nvmrc or engine
field in the package.json in order to guarantee nodejs version compatibility.
In console when interacting with some component you get
Warning: Legacy context API has been detected within a strict-mode tree.
This is because of: reactstrap/reactstrap#1340
I expect after a successful SPID login that my data will populate my form.
we should have some descriptive meta tags in index.html
, a favicon and a dedicated logo.
Originally posted by @sebbalex in #41 (comment)
to just use yaml parser.
https://github.com/sebbalex/form-pa/blob/fee386fb8f0c420fb97207e7f7488f685ab27e7e/src/index.tsx#L35
This is connected to #44
Printing will be demandate using browser API and then OS directly.
In a webpack + babel + typescript pipeline the target es5
leads to brake all the advantages of using babel with browserlists support.
Babel should receive the most modern possibile javascript scripts, transpile and polyfill them, guided by the browserlists specs.
This issue is related to #31 and facebook/create-react-app#5771
This could be an inspirational repo https://github.com/Microsoft/TypeScript-Babel-Starter
In the dockerfile we should use a fixed version of alpine and node.
Using the general tag lts
is error-prone because it changes over time.
I would suggest node:14-alpine3.12
I expect a review screen before submit the entire form.
Here will be possible to submit, print the form or cancel the entire operation.
Figure it out how to export form in pdf having active fields within. Form inside PDF must be editable.
Using wkhtmltopdf
:
docker run --rm -v $(pwd):/data madnight/docker-alpine-wkhtmltopdf --enable-forms /data/in.html /data/out.pdf
cc @ioggstream
We must use our internal standard for design system and create custom renderer based on it
to create a static html page using renderToStaticMarkup
Due to this some icons could be not rendered in Safari.
Ref: italia/api-oas-checker#114
Add eslint to spot potential problems.
To express schema and uischema in yaml.
yarn makes the dependencies bump easier thanks to the upgrade-interactive
command.
Moreover, it supports resolutions
which could help us in the case of an important security update.
For an ease management all configuration parameters must be externalized.
Ex: redirectTo
param after a SPID login
Do we still use this data
?
https://github.com/sebbalex/form-pa/blob/fee386fb8f0c420fb97207e7f7488f685ab27e7e/src/index.tsx#L53
I would suggest using the node user in order to avoid the heavy operation of chmod
For reference:
docker-node-best-practice
Add preliminary SPID integration with at least the testenv
Loading schemas using URL query parameters will results in ugly and very long url, a shortener service will mitigate this.
License needed!
Add prettier to enforce the usage of a single coding style.
I would keep allowJs
flag in tsconfig.json
file as false
. I know, it is for test-utils.js
file but since actual tests suite is quite bare we should consider a refactor
Originally posted by @sebbalex in #41 (comment)
Have a look to this
create-react-app (CRA) is a very useful starter kit for a very quick prototyping purpose, but I would suggest to replace it with a leaner webpack + babel pipeline.
Mainly because
Refactor README and add some project documentation
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.