This question is locked. New answers and comments are not allowed.
I am trying out the DataForm functionality of UI Pro v1.6.1 in a very simple login form. On Android it is working ok (I have a small issue for which I will open a separate thread), but on iOS it the form is not displayed at all. I already did `tns platform remove ios && tns run ios` which didn't work either.
Any idea what may be causing this?
Thanks!!
The login component looks like this:
import {Component,OnInit} from
'@angular/core'
;
import {SessionProvider} from
'../providers/session'
;
import {ConfigProvider} from
'../providers/config'
;
@Component({
template: `
<StackLayout id=
"container"
style=
"margin:15 30 0 30;"
>
<RadDataForm tkExampleTitle tkToggleNavButton [source]=
"credentials"
>
<TKEntityProperty tkDataFormProperty name=
"username"
displayName=
"E-Mail"
index=
"0"
>
<TKPropertyEditor tkEntityPropertyEditor type=
"Email"
></TKPropertyEditor>
</TKEntityProperty>
<TKEntityProperty tkDataFormProperty name=
"password"
displayName=
"Password"
index=
"1"
>
<TKPropertyEditor tkEntityPropertyEditor type=
"Password"
></TKPropertyEditor>
</TKEntityProperty>
<TKEntityProperty tkDataFormProperty name=
"environment"
[valuesProvider]=
"environments"
displayName=
"Environment"
index=
"2"
>
<TKPropertyEditor tkEntityPropertyEditor type=
"Picker"
></TKPropertyEditor>
</TKEntityProperty>
</RadDataForm>
<Button text=
"Sign in"
(tap)=
"doLogin()"
class=
"btn"
></Button>
</StackLayout>
`,
styles: [`
#container { background-color:#efefef; }
`]
})
export class LoginPage implements OnInit {
public credentials:any;
// credentials to pass to backend
public environments:Array<string> = [];
// environments configured in ConfigProvider
public selectedEnv:number = 0;
// environment from last successful login
constructor(public session: SessionProvider, public config: ConfigProvider, public session: SessionProvider) {
}
public ngOnInit() {
this
.credentials =
this
.session.storedCredentials;
this
.config.environments.forEach((env,index) => {
this
.environments.push(env.name);
if
(
this
.credentials.environment!=
''
&& env.name==
this
.credentials.environment) {
this
.selectedEnv = index; }
});
console.dump(
this
.credentials);
}
public doLogin() {
// do something
}
//
public onEnvSelect(index) {
//
if
(index!==undefined) {
this
.credentials.environment=
this
.config.environments[index].name; }
//
}
}
The `credentials` object I am feeding to the `RadDataForm` source looks like this:
{
"username"
:
""
,
"password"
:
""
,
"environment"
:
""
}