Comments (7)
I've have some thoughts about this, the issue in hand is that I'd like this to tie together with a SimpleSchema on the "users" collection, but if you have a strong argument for it not to tie together, I might change my mind.
Though you're almost there with your solution, you probably want to use one of the hooks to set the data on the user correctly, have a look at the preSignUpHook in accounts_ui.js
– I haven't had time to document all the hooks yet.
Tell me how it goes.
from accounts-ui.
The implementation should work just like UserAccounts preSignUpHook, but I have also not yet tested to add extra fields, which I have in my backlog.
from accounts-ui.
@radzom I've published a new version that supports extending the options (release-1.0.10
)
How about something like this:
class NewLogin extends Accounts.ui.LoginForm {
fields() {
const { formState } = this.state;
if (formState == STATES.SIGN_UP) {
return {
firstname: {
id: 'firstname',
hint: 'Enter firstname',
label: 'firstname',
onChange: this.handleChange.bind(this, 'firstname')
},
...super.fields()
};
}
return super.fields();
}
signUp(options = {}) {
const { firstname = null } = this.state;
if (firstname !== null) {
options.profile = Object.assign(options.profile || {}, {
firstname: firstname
});
}
super.signUp(options);
}
}
Could you confirm that that works, and I'll adjust the new example in the README.
from accounts-ui.
@radzom when you confirm, I'll close this.
from accounts-ui.
thx for fast response. looks promising. will test it and give feedback later today.
from accounts-ui.
works fine for me.
Just one final remark. I am using (on server)
import { Accounts } from 'meteor/accounts-base';
Accounts.onCreateUser(function (options, user) {
user.profile = options.profile || {};
user.roles = {};
return user;
});
No need for me to use preSignUpHook.
Issue can be closed
from accounts-ui.
Perfect, I'll add it to the docs.
from accounts-ui.
Related Issues (20)
- App crashes after adding accounts-ui (forget to call 'Npm.depends') HOT 1
- Login with Facebook - 'Something went wrong' HOT 1
- How to change label
- Accounts.ui.LoginForm without createContainer HOT 4
- Support for React Router v4? HOT 9
- referencing this when it is already the window object in SignUp HOT 1
- Uncaught Error: _registerComponent(...): Target container is not a DOM element. HOT 1
- Sign out? HOT 4
- TypeError: onSubmitHook is not a function HOT 2
- Not seeing any error messages on failed login
- Typo breaking requestPermissions in Accounts.ui.config (1.2.23) HOT 1
- withTracker instead of createContainer on LoginForm.jsx (React16.0 support) HOT 5
- Does this actually work at all with react-router 4? HOT 5
- the constant has a wrong name HOT 1
- Call to `withTracker` is incorrect HOT 2
- Component not rendered & Error with Meteor 1.6 HOT 22
- Replace all UI dependencies with custom field components HOT 1
- Extra fields is not work
- Still maintained? HOT 4
- Conflict issue with [email protected] HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from accounts-ui.