Advertisement
Guest User

Untitled

a guest
Oct 13th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. <Page loaded="loaded">
  2. <StackLayout>
  3. <Image src="res://logo" stretch="none" horizontalAlignment="center"/>
  4.  
  5. <TextField text="{{ name }}" id="name" hint="Name" />
  6.  
  7. <TextField text="{{ email }}" id="email" hint="E-mail" />
  8.  
  9. <TextField text="{{ password }}" secure="true" hint="Password" />
  10.  
  11. <Button text="Sign Up" tap="register" />
  12. </StackLayout>
  13. </Page>
  14.  
  15. var dialogsModule = require("ui/dialogs");
  16. var frameModule = require("ui/frame");
  17.  
  18. var UserViewModel = require("../../shared/view-models/user-view-model");
  19. var user = new UserViewModel();
  20.  
  21. exports.loaded = function(args) {
  22. var page = args.object;
  23. page.bindingContext = user;
  24. };
  25.  
  26. function completeRegistration() {
  27. user.register()
  28. .then(function() {
  29. dialogsModule
  30. .alert("Your account was successfully created.")
  31. .then(function() {
  32. frameModule.topmost().navigate("views/list/list");
  33. });
  34. }).catch(function(error) {
  35. console.log(error);
  36. dialogsModule
  37. .alert({
  38. message: "Unfortunately we were unable to create your account.",
  39. okButtonText: "OK"
  40. });
  41. });
  42. }
  43.  
  44. exports.register = function() {
  45. completeRegistration();
  46. };
  47.  
  48. function User(info) {
  49. info = info || {};
  50.  
  51.  
  52. var viewModel = new Observable({
  53. name: info.name || "",
  54. email:info.email || "",
  55. password: info.password || "",
  56. });
  57.  
  58. viewModel.register = function() {
  59.  
  60.  
  61.  
  62. return fetchModule.fetch("http://10.0.2.2:8000/user_signup", {
  63. method: "POST",
  64. headers: { "Content-Type": "application/json" },
  65. body: JSON.stringify({
  66.  
  67. name: viewModel.get("name"),
  68. email:viewModel.get("email"),
  69. password:viewModel.get("password"),
  70. }).then(r => { return r.json(); }).then(function (r) {
  71.  
  72.  
  73. for(var i=0;i<r.length;i++){
  74.  
  75. var goods={name:r[i].name}
  76. goodsList.push(goods);
  77.  
  78.  
  79. };
  80. console.log(goodsList);
  81.  
  82. }, function (e) {
  83. console.log("Error occurred " + e);
  84. });
  85.  
  86.  
  87. };
  88.  
  89. return viewModel;
  90. }
  91.  
  92. function handleErrors(response) {
  93. if (!response.ok) {
  94. console.log(JSON.stringify(response));
  95. throw Error(response.statusText);
  96. }
  97. return response;
  98. }
  99.  
  100.  
  101. function pageLoaded(args) {
  102. var page = args.object;
  103. pageData.set("goodsList", goodsList);
  104.  
  105. page.bindingContext = pageData;
  106. }
  107.  
  108. module.exports = User;
  109.  
  110. <Page loaded="pageLoaded">
  111. <GridLayout>
  112. <ListView items="{{ goodsList }}">
  113. <ListView.itemTemplate>
  114. <Label text="{{ name }}" horizontalAlignment="left" verticalAlignment="center"/>
  115. </ListView.itemTemplate>
  116. </ListView>
  117. </GridLayout>
  118. </Page>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement