Commit graph

32 commits

Author SHA1 Message Date
Sacha Greif
26f28a98ce Rework required field validation to make it work for intl fields when creating new documents
1. make intl fields use [IntlValue] and [IntlValueInput] types
2. add isIntlData marker to fields storing intl data
3. only validate intl fields that are marked as required
4. remove all instance of `__typename` from documents in edit forms
2018-08-17 19:02:44 +09:00
SachaG
bb80001056 Fix eslint issues 2018-06-30 11:34:17 +02:00
SachaG
6201b55837 insertableBy -> canCreate 2018-06-22 20:57:31 +09:00
SachaG
50fba6b0a3 viewableBy -> canRead 2018-06-22 20:55:22 +09:00
SachaG
2b0f8cdd88 Change data structure of translations in db to match MongoDB standards 2018-05-21 09:42:08 +09:00
SachaG
ab674a1163 Merge branch 'devel' into i18n2
# Conflicts:
#	packages/vulcan-forms/lib/components/Form.jsx
#	packages/vulcan-forms/lib/components/FormComponent.jsx
2018-05-11 09:48:34 +09:00
Erik Schannen
c3f33cb7e0 Changes to SmartForm behaviour
- Moved UI portions of FormComponent to FormComponentInner.jsx in vulcan-ui-bootstrap

 - Added user alert when the user navigates to another route while there are unsaved changed in the form (disabled by default)

 - Added setting forms.warnUnsavedChanges and SmartForm property warnUnsavedChanges to enable user alert

 - Added optional Revert button in FormSubmits to allow the user to discard any changes to the form; this is activated by passing a "revertCallback" property to SmartForm (which can be empty: () => {})

 - Added two functions that form components can access in the child context: refetchForm() to refetch the document from the database (in case it was updated by a background process), isChanged() to determine if there are any unsaved changes

 - For any phrases I have added to en_US.js I also added it to es_ES.js and fr_FR.js with the comment // TODO: translate

 - Updated Form.clearForm and Form.mutationSuccessCallback so that the user can continue working on the document after submitting it

 - The form now scrolls the flash message into view when a submit results in errors

 - Fixed bugs in FormComponent.shouldComponentUpdate() and Form.getDocument()

 - Fixed bug in FormComponent.handleChange() - number fields could not be cleared, only set to 0

 - Fixed a bug in FormComponent.getValue() - it returned the initial value of a checkbox even after it was set to false, and a number even after it was set to 0
2018-05-08 20:09:42 -04:00
SachaG
5b5884d33c Move intl logic to vulcan:lib (keep vulcan:i18n with same API as react-i18n); add isIntlField helper; add IntlString type 2018-05-08 12:23:42 +09:00
SachaG
2c03bd352a Use two-field strategy for getting all locale strings 2018-05-08 11:05:24 +09:00
SachaG
55800a9b30 Add support for intl fields to API and SmartForm 2018-05-07 17:41:22 +09:00
SachaG
5675b50fb5 Cleaning up FormComponent props 2018-03-26 17:50:03 +09:00
SachaG
d1a674d36e Convert SimpleSchema schema to JSON object before using it in Form.jsx 2018-03-26 11:51:08 +09:00
SachaG
7061483af8 Improve Datatable new/edit buttons; simplify FormWrapper loading check 2018-03-20 14:56:09 +09:00
SachaG
bb43a16e68 Revert "Pass an extraTerms argument to all extra queries"
This reverts commit ab8fd47d76.
2018-02-18 17:42:12 +09:00
SachaG
ab8fd47d76 Pass an extraTerms argument to all extra queries 2018-02-18 16:56:58 +09:00
SachaG
13a2453009 Merge branch 'vulcan-updates-jan-2018' of https://github.com/justinr1234/Vulcan into justinr1234-vulcan-updates-jan-2018
# Conflicts:
#	packages/vulcan-forms/lib/components/Form.jsx
#	packages/vulcan-lib/lib/modules/utils.js
2018-01-27 12:30:33 +09:00
Justin Reynolds
919f96a32e Allow SmartForm to use collection or collectionName 2018-01-26 17:41:15 -06:00
Justin Reynolds
75b6ece0a4 Fix linting 2018-01-25 15:03:03 -06:00
SachaG
efd5984f56 Pass parent props to FormWrapper in render instead of componentWillReceiveProps; make Form props updatable through FormWrapper 2018-01-20 13:31:34 +09:00
SachaG
9169735128 Add queryFragmentName and mutationFragmentName props to FormWrapper; add componentWillReceiveProps to update Form props on FormWrapper props change 2018-01-20 11:01:45 +09:00
Sebastian Grebe
0799976f77
Form loading state fix
In some cases it seems that the loading property is set to true altough the document is already there.
2018-01-11 12:38:55 +01:00
SachaG
1eba12a8fa Disable polling in withDocument when used through FormWrapper 2018-01-11 09:07:56 +09:00
Luca Hagel
97116235fa Clear FormWrapper warnings, remove shouldCompUpdate & make it PureFunction 2018-01-06 08:38:14 +01:00
Luca Hagel
98b4b92bcd Make FormWrapper a stadnard component so shouldComponentUpdate actually gets called 2018-01-06 07:50:00 +01:00
SachaG
79958ea18f Fix extraQueries check 2018-01-04 08:58:50 +09:00
SachaG
a6ee63bbed Handle extra queries in New Document forms as well (since they don't have withDocument HoC) 2018-01-03 22:03:50 +09:00
SachaG
8d0cc3e5e2 Make form sub-property optional; Handle extra queries in FormWrapper; remove resolveAs fragment shape "guessing" code 2017-12-28 11:31:55 +09:00
SachaG
aad9dc9222 Revert change to form fragments when field has a resolver and contains an array 2017-12-28 09:58:18 +09:00
SachaG
0cbb904f2d Set enableCache when defining HoC rather than when defining resolvers for more granularity 2017-12-13 18:39:19 +09:00
SachaG
41b585adfa Move form's wrapped component instantiation to constructor 2017-11-09 10:01:51 +09:00
Sacha Greif
33296c1421 Add fetchPolicy and propertyName options to withList and withDocument 2017-11-01 15:37:57 +09:00
SachaG
a5d88880fa Reorganize forms package; individual forms component can now be overridden with replaceComponent 2017-08-19 10:41:08 +09:00
Renamed from packages/vulcan-forms/lib/FormWrapper.jsx (Browse further)