Browse Source

Script para guardar renglones en aplicacion

Christian 4 years ago
parent
commit
5da114af06
100 changed files with 24380 additions and 89 deletions
  1. 1
    0
      platforms/android/app/src/main/assets/www/Server/AROMATIZACIÓN.json
  2. 1
    0
      platforms/android/app/src/main/assets/www/Server/BAMBÚ.json
  3. 1
    0
      platforms/android/app/src/main/assets/www/Server/BARRO.json
  4. 1
    0
      platforms/android/app/src/main/assets/www/Server/CARETAS.json
  5. 1
    0
      platforms/android/app/src/main/assets/www/Server/CRISTAL.json
  6. 1
    0
      platforms/android/app/src/main/assets/www/Server/CUERO.json
  7. 1
    0
      platforms/android/app/src/main/assets/www/Server/DESECHOS MARINOS.json
  8. 1
    0
      platforms/android/app/src/main/assets/www/Server/DULCES TÍPICOS.json
  9. 1
    0
      platforms/android/app/src/main/assets/www/Server/FIBRAS .json
  10. 1
    0
      platforms/android/app/src/main/assets/www/Server/HIGÜERA.json
  11. 1
    0
      platforms/android/app/src/main/assets/www/Server/INSTRUMENTOS TÍPICOS.json
  12. 1
    0
      platforms/android/app/src/main/assets/www/Server/JUGUETES TRADICIONALES.json
  13. 1
    0
      platforms/android/app/src/main/assets/www/Server/LABORES EN AGUJA.json
  14. 1
    0
      platforms/android/app/src/main/assets/www/Server/MADERA.json
  15. 1
    0
      platforms/android/app/src/main/assets/www/Server/METAL.json
  16. 1
    0
      platforms/android/app/src/main/assets/www/Server/PAPEL CARTÓN.json
  17. 1
    0
      platforms/android/app/src/main/assets/www/Server/PIEDRAS.json
  18. 1
    0
      platforms/android/app/src/main/assets/www/Server/PORCELANICRÓN.json
  19. 1
    0
      platforms/android/app/src/main/assets/www/Server/SEMILLAS.json
  20. 1
    0
      platforms/android/app/src/main/assets/www/Server/TABACOS.json
  21. 1
    0
      platforms/android/app/src/main/assets/www/Server/TEXTILES.json
  22. 76
    0
      platforms/android/app/src/main/assets/www/Server/driveToJson.php
  23. 1
    0
      platforms/android/app/src/main/assets/www/Server/renglones.json
  24. 72
    0
      platforms/android/app/src/main/assets/www/artesano.html
  25. 56
    0
      platforms/android/app/src/main/assets/www/css/file.css
  26. 3
    3
      platforms/android/app/src/main/assets/www/css/searchbar1.css
  27. 1
    0
      platforms/android/app/src/main/assets/www/data/AROMATIZACIÓN.json
  28. 1
    0
      platforms/android/app/src/main/assets/www/data/BAMBÚ.json
  29. 1
    0
      platforms/android/app/src/main/assets/www/data/BARRO.json
  30. 1
    0
      platforms/android/app/src/main/assets/www/data/CARETAS.json
  31. 1
    0
      platforms/android/app/src/main/assets/www/data/CRISTAL.json
  32. 1
    0
      platforms/android/app/src/main/assets/www/data/CUERO.json
  33. 1
    0
      platforms/android/app/src/main/assets/www/data/DESECHOSMARINOS.json
  34. 1
    0
      platforms/android/app/src/main/assets/www/data/DULCESTÍPICOS.json
  35. 1
    0
      platforms/android/app/src/main/assets/www/data/FIBRAS.json
  36. 1
    0
      platforms/android/app/src/main/assets/www/data/HIGÜERA.json
  37. 1
    0
      platforms/android/app/src/main/assets/www/data/INSTRUMENTOSTÍPICOS.json
  38. 1
    0
      platforms/android/app/src/main/assets/www/data/JUGUETESTRADICIONALES.json
  39. 1
    0
      platforms/android/app/src/main/assets/www/data/LABORESENAGUJA.json
  40. 1
    0
      platforms/android/app/src/main/assets/www/data/MADERA.json
  41. 1
    0
      platforms/android/app/src/main/assets/www/data/METAL.json
  42. 1
    0
      platforms/android/app/src/main/assets/www/data/PAPELCARTÓN.json
  43. 1
    0
      platforms/android/app/src/main/assets/www/data/PIEDRAS.json
  44. 1
    0
      platforms/android/app/src/main/assets/www/data/PORCELANICRÓN.json
  45. 1
    0
      platforms/android/app/src/main/assets/www/data/SEMILLAS.json
  46. 1
    0
      platforms/android/app/src/main/assets/www/data/TABACOS.json
  47. 1
    0
      platforms/android/app/src/main/assets/www/data/TEXTILES.json
  48. 76
    0
      platforms/android/app/src/main/assets/www/data/driveToJson.php
  49. 1
    0
      platforms/android/app/src/main/assets/www/data/renglones.json
  50. 145
    0
      platforms/android/app/src/main/assets/www/extract_files.js
  51. BIN
      platforms/android/app/src/main/assets/www/img/AROMATIZACIÓN.png
  52. BIN
      platforms/android/app/src/main/assets/www/img/BAMBÚ.png
  53. BIN
      platforms/android/app/src/main/assets/www/img/BARRO.png
  54. BIN
      platforms/android/app/src/main/assets/www/img/CARETAS.png
  55. BIN
      platforms/android/app/src/main/assets/www/img/CRISTAL.png
  56. BIN
      platforms/android/app/src/main/assets/www/img/CUERO.png
  57. BIN
      platforms/android/app/src/main/assets/www/img/DESECHOS MARINOS.png
  58. BIN
      platforms/android/app/src/main/assets/www/img/DULCES TÍPICOS.png
  59. BIN
      platforms/android/app/src/main/assets/www/img/FIBRAS.png
  60. BIN
      platforms/android/app/src/main/assets/www/img/HIGÜERA.png
  61. BIN
      platforms/android/app/src/main/assets/www/img/INSTRUMENTOS TÍPICOS.png
  62. BIN
      platforms/android/app/src/main/assets/www/img/JUGUETES TRADICIONALES.png
  63. BIN
      platforms/android/app/src/main/assets/www/img/LABORES EN AGUJA.png
  64. BIN
      platforms/android/app/src/main/assets/www/img/MADERA.png
  65. BIN
      platforms/android/app/src/main/assets/www/img/METAL.png
  66. BIN
      platforms/android/app/src/main/assets/www/img/PAPEL CARTÓN.png
  67. BIN
      platforms/android/app/src/main/assets/www/img/PAPEL.png
  68. BIN
      platforms/android/app/src/main/assets/www/img/PIEDRAS.png
  69. BIN
      platforms/android/app/src/main/assets/www/img/PORCELANICRÓN.png
  70. BIN
      platforms/android/app/src/main/assets/www/img/SEMILLAS.png
  71. BIN
      platforms/android/app/src/main/assets/www/img/TABACOS.png
  72. BIN
      platforms/android/app/src/main/assets/www/img/TEXTILES.png
  73. 315
    86
      platforms/android/app/src/main/assets/www/index.html
  74. 41
    0
      platforms/android/app/src/main/assets/www/instituto.html
  75. 321
    0
      platforms/android/app/src/main/assets/www/jquery/AUTHORS.txt
  76. 20
    0
      platforms/android/app/src/main/assets/www/jquery/LICENSE.txt
  77. 67
    0
      platforms/android/app/src/main/assets/www/jquery/README.md
  78. 14
    0
      platforms/android/app/src/main/assets/www/jquery/bower.json
  79. 399
    0
      platforms/android/app/src/main/assets/www/jquery/dist/core.js
  80. 10598
    0
      platforms/android/app/src/main/assets/www/jquery/dist/jquery.js
  81. 2
    0
      platforms/android/app/src/main/assets/www/jquery/dist/jquery.min.js
  82. 1
    0
      platforms/android/app/src/main/assets/www/jquery/dist/jquery.min.map
  83. 8495
    0
      platforms/android/app/src/main/assets/www/jquery/dist/jquery.slim.js
  84. 2
    0
      platforms/android/app/src/main/assets/www/jquery/dist/jquery.slim.min.js
  85. 1
    0
      platforms/android/app/src/main/assets/www/jquery/dist/jquery.slim.min.map
  86. 36
    0
      platforms/android/app/src/main/assets/www/jquery/external/sizzle/LICENSE.txt
  87. 2282
    0
      platforms/android/app/src/main/assets/www/jquery/external/sizzle/dist/sizzle.js
  88. 3
    0
      platforms/android/app/src/main/assets/www/jquery/external/sizzle/dist/sizzle.min.js
  89. 1
    0
      platforms/android/app/src/main/assets/www/jquery/external/sizzle/dist/sizzle.min.map
  90. 139
    0
      platforms/android/app/src/main/assets/www/jquery/package.json
  91. 14
    0
      platforms/android/app/src/main/assets/www/jquery/src/.eslintrc.json
  92. 858
    0
      platforms/android/app/src/main/assets/www/jquery/src/ajax.js
  93. 103
    0
      platforms/android/app/src/main/assets/www/jquery/src/ajax/jsonp.js
  94. 77
    0
      platforms/android/app/src/main/assets/www/jquery/src/ajax/load.js
  95. 30
    0
      platforms/android/app/src/main/assets/www/jquery/src/ajax/parseXML.js
  96. 74
    0
      platforms/android/app/src/main/assets/www/jquery/src/ajax/script.js
  97. 5
    0
      platforms/android/app/src/main/assets/www/jquery/src/ajax/var/location.js
  98. 5
    0
      platforms/android/app/src/main/assets/www/jquery/src/ajax/var/nonce.js
  99. 5
    0
      platforms/android/app/src/main/assets/www/jquery/src/ajax/var/rquery.js
  100. 0
    0
      platforms/android/app/src/main/assets/www/jquery/src/ajax/xhr.js

+ 1
- 0
platforms/android/app/src/main/assets/www/Server/AROMATIZACIÓN.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/BAMBÚ.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/BARRO.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/CARETAS.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/CRISTAL.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/CUERO.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/DESECHOS MARINOS.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/DULCES TÍPICOS.json View File

@@ -0,0 +1 @@
1
+[{"Nombre":"Daphne L. Labault Romero","Especificaciones":"Joyer\u00eda, Resina","Tel\u00e9fono 1":"(787) 671-3101","E-mail":"petalobydaphne@gmail.com","Municipio":"San Juan PR","id":0},{"Nombre":"El\u00ed J. David Cede\u00f1o","Especificaciones":"Cera, Figuras y simbolos indigenas, Im\u00e1genes Religiosas, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 795-2890","E-mail":"","Municipio":"Toa Baja PR","id":1},{"Nombre":"H\u00e9ctor L. Pe\u00f1a Gonz\u00e1lez","Especificaciones":"Cemento, S\u00edmbolos Patrios","Tel\u00e9fono 1":"","E-mail":"","Municipio":"","id":2},{"Nombre":"Nancy Laureano Figueroa","Especificaciones":"Cascarones  de frutas, Joyer\u00eda","Tel\u00e9fono 1":"(787) 451-9375","E-mail":"nancylaureano@yahoo.com","Municipio":"Bayam\u00f3n PR","id":3},{"Nombre":"Josefina Mart\u00ednez Campos","Especificaciones":"Cascarones de huevos, Figuras, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(939) 216-3500","E-mail":"yamanay3@gmail.com","Municipio":"Arecibo PR","id":4},{"Nombre":"Lizzette M. Santiago Agosto","Especificaciones":"Velas","Tel\u00e9fono 1":"(787) 214-3393","E-mail":"lizziesan622@gmail.com","Municipio":"Yabucoa PR","id":5},{"Nombre":"Luis G. S\u00e1nchez Cruz","Especificaciones":"Pique","Tel\u00e9fono 1":"(787) 412-0205","E-mail":"","Municipio":"Gurabo PR","id":6},{"Nombre":"Mar\u00eda M. Rivera V\u00e1zquez","Especificaciones":"Cabello (Pelo), Figuras","Tel\u00e9fono 1":"(787) 672-9872","E-mail":"","Municipio":"Salinas PR","id":7},{"Nombre":"Ram\u00f3n Buchamp","Especificaciones":"Cemento","Tel\u00e9fono 1":"(787) 831-1434","E-mail":"","Municipio":"Mayag\u00fcez PR","id":8},{"Nombre":"Ram\u00f3n F. Lugo Silva","Especificaciones":"","Tel\u00e9fono 1":"(787) 368-0582","E-mail":"mochoreciklarte@gmail.com","Municipio":"Ponce PR","id":9},{"Nombre":"Silvia Solorzano Cede\u00f1o","Especificaciones":"Resina","Tel\u00e9fono 1":"(787) 636-0073","E-mail":"","Municipio":"","id":10}]

+ 1
- 0
platforms/android/app/src/main/assets/www/Server/FIBRAS .json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/HIGÜERA.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/INSTRUMENTOS TÍPICOS.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/JUGUETES TRADICIONALES.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/LABORES EN AGUJA.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/MADERA.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/METAL.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/PAPEL CARTÓN.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/PIEDRAS.json View File

@@ -0,0 +1 @@
1
+[{"Nombre":"Andr\u00e9s Mel\u00e9ndez Cosme","Especificaciones":"Cuadros, Figuras, Placas, S\u00edmbolos","Tel\u00e9fono 1":"(787) 373-9225","E-mail":"talladepiedrasarte@gmail.com","Municipio":"Comer\u00edo PR","id":0},{"Nombre":"\u00c1ngel R. Medina Mart\u00ednez","Especificaciones":"Figuras y simbolos indigenas, Instrumentos de percusi\u00f3n, Maracas","Tel\u00e9fono 1":"(787) 635-6354","E-mail":"","Municipio":"Toa Alta PR","id":1},{"Nombre":"Carlos A. Ramos Camilo","Especificaciones":"","Tel\u00e9fono 1":"(787) 531-7358","E-mail":"","Municipio":"Trujillo Alto PR","id":2},{"Nombre":"Edgar Gand\u00eda Torres","Especificaciones":"Figuras y simbolos indigenas, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 315-0123","E-mail":"","Municipio":"San Juan PR","id":3},{"Nombre":"Eduardo G\u00f3mez","Especificaciones":"Dise\u00f1os, Figuras y simbolos indigenas, Quijotes, Reyes, S\u00edmbolos Patrios","Tel\u00e9fono 1":"","E-mail":"","Municipio":"Barranquitas PR","id":4},{"Nombre":"Evelyn M. Rivera Cancel","Especificaciones":"Figuras","Tel\u00e9fono 1":"(787) 884-4851","E-mail":"evelyn.rivera.cancel@gmail.com","Municipio":"Mayag\u00fcez PR","id":5},{"Nombre":"Hailie Rivera Ortiz","Especificaciones":"Figuras y simbolos indigenas, Muebles, S\u00edmbolos Patrios","Tel\u00e9fono 1":"","E-mail":"","Municipio":"Trujillo Alto PR","id":6},{"Nombre":"H\u00e9ctor de Le\u00f3n","Especificaciones":"Reyes, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 232-2314","E-mail":"eneidariosaponte@gmail.com","Municipio":"Florida PR","id":7},{"Nombre":"Jeannette Rosa Carrero","Especificaciones":"Figuras, Flores, Nacimientos, Reyes","Tel\u00e9fono 1":"(787) 299-7667","E-mail":"fifososa@gmail.com","Municipio":"Bayam\u00f3n PR","id":8},{"Nombre":"Jorge L. Col\u00f3n Reyes","Especificaciones":"Figuras y simbolos indigenas, Im\u00e1genes Religiosas, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 506-3388","E-mail":"","Municipio":"Barceloneta PR","id":9},{"Nombre":"Jos\u00e9 A. Rodr\u00edguez D\u00e1vila","Especificaciones":"Escultura, Figuras","Tel\u00e9fono 1":"(787) 502-7987","E-mail":"esculturasenpiedra@gmail.com","Municipio":"Salinas PR","id":10},{"Nombre":"Luoisa Torres Hern\u00e1ndez","Especificaciones":"","Tel\u00e9fono 1":"(787) 795-9147","E-mail":"","Municipio":"Toa Baja PR","id":11},{"Nombre":"Mar\u00eda S. del  Valle","Especificaciones":"","Tel\u00e9fono 1":"(787) 747-4229","E-mail":"","Municipio":"Caguas PR","id":12},{"Nombre":"Maritza de Jes\u00fas Vel\u00e1zquez","Especificaciones":"","Tel\u00e9fono 1":"(787) 815-1241","E-mail":"","Municipio":"","id":13},{"Nombre":"Teresa P\u00e9rez V\u00e1zquez","Especificaciones":"Cuadros, Figuras y simbolos indigenas, Im\u00e1genes Religiosas, Llaveros, Paisajes, Placas, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 951-0025","E-mail":"terearte518@gmail.com","Municipio":"Cabo Rojo PR","id":14},{"Nombre":"Marysel Cab\u00e1n Marrero","Especificaciones":"Cuadros","Tel\u00e9fono 1":"(787) 425-3938","E-mail":"marycm626@gmail.com","Municipio":"Cidra PR","id":15}]

+ 1
- 0
platforms/android/app/src/main/assets/www/Server/PORCELANICRÓN.json View File

@@ -0,0 +1 @@
1
+[{"Nombre":"Ada L. Robles Rivera","T\u00e9cnica":"Fabricantes, Manual","Especificaciones":"Figuras, Mu\u00f1ecas de Trapo","Tel\u00e9fono 1":"(787) 854-7446","E-mail":"","Municipio":"Manat\u00ed PR","id":0},{"Nombre":"Betzaida Ramos Rosado","T\u00e9cnica":"Esculpir","Especificaciones":"Figuras","Tel\u00e9fono 1":"(787) 202-5760","E-mail":"tallernuestropueblo@hotmail.com","Municipio":"San Sebast\u00edan PR","id":1},{"Nombre":"Carmen A. Rivera Acevedo","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"","E-mail":"","Municipio":"","id":2},{"Nombre":"Carmen E. Resto Col\u00f3n","T\u00e9cnica":"Esculpir","Especificaciones":"Figuras","Tel\u00e9fono 1":"","E-mail":"","Municipio":"","id":3},{"Nombre":"Carmen M. L\u00f3pez Cruz","T\u00e9cnica":"Manual","Especificaciones":"Figuras","Tel\u00e9fono 1":"(787) 439-4927","E-mail":"","Municipio":"Salinas PR","id":4},{"Nombre":"Casilda Negr\u00f3n Tejera","T\u00e9cnica":"Esculpir","Especificaciones":"Figuras","Tel\u00e9fono 1":"","E-mail":"","Municipio":"","id":5},{"Nombre":"Edna S. Malabet R\u00edos","T\u00e9cnica":"Dise\u00f1ar, Ensamblar, Manual","Especificaciones":"Joyer\u00eda","Tel\u00e9fono 1":"(787) 593-6932","E-mail":"sally227@gmail.com","Municipio":"Carolina PR","id":6},{"Nombre":"Elsa D. Berr\u00edos Padilla","T\u00e9cnica":"Al horno, Manual","Especificaciones":"Figuras, Im\u00e1genes Religiosas, Paisajes, Quijotes","Tel\u00e9fono 1":"(787) 857-9328","E-mail":"","Municipio":"Barranquitas PR","id":7},{"Nombre":"Evelyn R. Cintr\u00f3n V\u00e9lez","T\u00e9cnica":"Dise\u00f1ar, Ensamblar, Manual","Especificaciones":"Alambre, Joyer\u00eda","Tel\u00e9fono 1":"(787) 439-1547","E-mail":"","Municipio":"Guayanilla PR","id":8},{"Nombre":"Jonathan U. Ortiz Aponte","T\u00e9cnica":"Manual, Pintura","Especificaciones":"Aves","Tel\u00e9fono 1":"(787) 529-6202","E-mail":"","Municipio":"Carolina PR","id":9},{"Nombre":"Luisa Y. Candelaria Estrella","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 399-9001","E-mail":"iliremaria17@gmail.com","Municipio":"Carolina PR","id":10},{"Nombre":"Magdalena Gonz\u00e1lez Avil\u00e9s","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 231-6597","E-mail":"mgonzalezavilesriv@hotmail.com","Municipio":"Aguadilla PR","id":11},{"Nombre":"Norma Agr\u00f3n Santiago","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 877-6081","E-mail":"normasclay@yahoo.com","Municipio":"Moca PR","id":12},{"Nombre":"Virgen M. Rodr\u00edguez Rivera","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(939) 717-1028","E-mail":"","Municipio":"Yauco PR","id":13},{"Nombre":"Wilfredo Cab\u00e1n Vega","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 818-8662","E-mail":"laartesana01@yahoo.com","Municipio":"Moca PR","id":14},{"Nombre":"Zorimar D. Rivera Nieves","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 404-0543","E-mail":"zorimardenisse@gmail.com","Municipio":"San Juan PR","id":15},{"Nombre":"Rafael Cruz Collazo","T\u00e9cnica":"Dise\u00f1ar","Especificaciones":"Joyer\u00eda","Tel\u00e9fono 1":"(787) 315-3491","E-mail":"artesaniasguasabara3618@gmail.com","Municipio":"Utuado PR","id":16},{"Nombre":"Lydia Santiago Toledo","T\u00e9cnica":"Esculpir","Especificaciones":"Figuras","Tel\u00e9fono 1":"(787) 599-7653","E-mail":"lydia655@gmail.com","Municipio":"Lares PR","id":17},{"Nombre":"Ciryanis V\u00e1zquez Lezcano","T\u00e9cnica":"Dise\u00f1ar","Especificaciones":"Joyer\u00eda","Tel\u00e9fono 1":"(787) 452-4778","E-mail":"ciry.vazquez@gmail.com","Municipio":"Arecibo PR","id":18}]

+ 1
- 0
platforms/android/app/src/main/assets/www/Server/SEMILLAS.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/Server/TABACOS.json View File

@@ -0,0 +1 @@
1
+[{"Nombre":"\u00c1ngel Otero Cotto","Especificaciones":"Cigarros, Mascadura","Tel\u00e9fono 1":"(939) 350-4999","E-mail":"papiroscigars@gmail.com","Municipio":"Cidra PR","id":0},{"Nombre":"\u00c1ngel Otero Vicente","Especificaciones":"Cigarros, Mascadura","Tel\u00e9fono 1":"(787) 595-1431","E-mail":"papiroscigars@gmail.com","Municipio":"Cidra PR","id":1},{"Nombre":"Angelo Vel\u00e1zquez Santiago","Especificaciones":"Cigarros","Tel\u00e9fono 1":"(787) 396-0941","E-mail":"velazquezcigars@hotmail.com","Municipio":"Aguas Buenas PR","id":2},{"Nombre":"Carlos M. Del Valle Mel\u00e9ndez","Especificaciones":"Cigarros","Tel\u00e9fono 1":"(787) 380-9122","E-mail":"cdelvalle1229@yahoo.com","Municipio":"Gu\u00e1nica PR","id":3},{"Nombre":"Jos\u00e9 A. V\u00e9lez Burgos","Especificaciones":"Cigarros, Muebles, Restaurador","Tel\u00e9fono 1":"(787) 648-2858","E-mail":"velez.jose751@gmail.com","Municipio":"Yauco PR","id":4},{"Nombre":"Patricio A. Pe\u00f1a","Especificaciones":"","Tel\u00e9fono 1":"(787) 785-8619","E-mail":"","Municipio":"Bayam\u00f3n PR","id":5}]

+ 1
- 0
platforms/android/app/src/main/assets/www/Server/TEXTILES.json
File diff suppressed because it is too large
View File


+ 76
- 0
platforms/android/app/src/main/assets/www/Server/driveToJson.php View File

@@ -0,0 +1,76 @@
1
+<?php
2
+header('Content-type: application/json');
3
+ 
4
+
5
+ 
6
+// Function to convert CSV into associative array
7
+function csvToArray($file, $delimiter) { 
8
+  if (($handle = fopen($file, 'r')) !== FALSE) { 
9
+    $i = 0; 
10
+    while (($lineArray = fgetcsv($handle, 4000, $delimiter, '"')) !== FALSE) { 
11
+      for ($j = 0; $j < count($lineArray); $j++) { 
12
+        $arr[$i][$j] = $lineArray[$j]; 
13
+      } 
14
+      $i++; 
15
+    } 
16
+    fclose($handle); 
17
+  } 
18
+  return $arr; 
19
+} 
20
+ 
21
+function formatArray ($feed) {
22
+
23
+  $keys = array();
24
+  $newArray = array();
25
+  $data = csvToArray($feed, ',');
26
+ 
27
+  $count = count($data) - 1;
28
+ 
29
+  $labels = array_shift($data);  
30
+ 
31
+  foreach ($labels as $label) {
32
+    $keys[] = $label;
33
+  }
34
+ 
35
+  $keys[] = 'id';
36
+ 
37
+  for ($i = 0; $i < $count; $i++) {
38
+    $data[$i][] = $i;
39
+  }
40
+ 
41
+  for ($j = 0; $j < $count; $j++) {
42
+    $d = array_combine($keys, $data[$j]);
43
+    $newArray[$j] = $d;
44
+  }
45
+
46
+  return $newArray;
47
+
48
+}
49
+ 
50
+$feed = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQUspPunAmkZrtfhMgMvGYGTK_4ONsCnSoe6OcTFc-4ILRHTatdPIwgRx1eRM1qFTkYFMrvcx8OI4cv/pub?output=csv';
51
+
52
+$data = formatArray($feed);
53
+
54
+$info = json_encode($data);
55
+
56
+$infoAsJson = json_decode($info);
57
+
58
+
59
+
60
+$handle = fopen("renglones.json", 'w');
61
+fwrite($handle, $info);
62
+
63
+
64
+
65
+for ($i = 0; $i < count($infoAsJson); $i++) {
66
+  $renglon = formatArray($infoAsJson[$i]->Link);
67
+  $renglonInfo = json_encode($renglon);
68
+  $renglonAsJson = json_decode($renglonInfo);
69
+  
70
+  $my_file = $infoAsJson[$i]->Renglones . ".json";
71
+  $handle = fopen($my_file, 'w') or die ('Cannot open file');
72
+  fwrite($handle, $renglonInfo);
73
+
74
+}
75
+
76
+?>

+ 1
- 0
platforms/android/app/src/main/assets/www/Server/renglones.json
File diff suppressed because it is too large
View File


+ 72
- 0
platforms/android/app/src/main/assets/www/artesano.html View File

@@ -0,0 +1,72 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+	<title>Artesanos</title>
5
+
6
+	<script src="jquery/dist/jquery.min.js">
7
+	</script>
8
+
9
+
10
+</head>
11
+<body>
12
+
13
+	<ons-toolbar>
14
+  		<div class="left">
15
+    		<ons-back-button>Back</ons-back-button>
16
+  		</div>
17
+	</ons-toolbar>
18
+
19
+
20
+
21
+	<script type="text/javascript">
22
+	function getUrlVars() {
23
+    	var vars = [], hash;
24
+    	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
25
+    	for(var i = 0; i < hashes.length; i++)
26
+    	{
27
+        	hash = hashes[i].split('=');
28
+        	vars.push(hash[0]);
29
+        	vars[hash[0]] = hash[1];
30
+    	}
31
+    	return vars;
32
+	}
33
+
34
+	nombre = decodeURIComponent(getUrlVars()["nombre"]);
35
+	renglon = "json/MADERA.json";
36
+	
37
+
38
+	$.getJSON(renglon, function(json) {
39
+    	for (i = 0; i < json.length; i++) {
40
+    		if (json[i].Nombre == nombre) {
41
+    			break;
42
+    		}
43
+    	}
44
+
45
+    	var telefono = "Teléfono 1";
46
+    	var clickTel = (((json[i]["Teléfono 1"].replace('(', "")).replace(')', "")).replace('-', "")).replace(' ', "");
47
+
48
+    	var email = "E-mail";
49
+
50
+
51
+    	document.write("<h1 align='center'>" + json[i].Nombre + "</h1>");
52
+
53
+    	document.write("<h2 align='center'>" + json[i].Municipio + "</h1>");
54
+
55
+    	document.write("<h2 align='center'>" + json[i].Especificaciones + "</h2>");
56
+
57
+    	document.write("<a class='button' href='tel://" + clickTel + "'>" + "<h2 align='center'>" + json[i][telefono] + "</h2>" + "</a>");
58
+
59
+    	document.write("<a href='mailto:" + json[i][email] + "'>" + "<h2 align='center'>" + json[i][email] + "</h2>" + "</a>");
60
+
61
+
62
+
63
+	});
64
+
65
+
66
+
67
+
68
+	
69
+	</script>
70
+
71
+</body>
72
+</html>

+ 56
- 0
platforms/android/app/src/main/assets/www/css/file.css View File

@@ -0,0 +1,56 @@
1
+/* cyrillic-ext */
2
+@font-face {
3
+  font-family: 'Roboto Condensed';
4
+  font-style: normal;
5
+  font-weight: 400;
6
+  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVl2ZhZI2eCN5jzbjEETS9weq8-19-7DRs5.woff2) format('woff2');
7
+  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
8
+}
9
+/* cyrillic */
10
+@font-face {
11
+  font-family: 'Roboto Condensed';
12
+  font-style: normal;
13
+  font-weight: 400;
14
+  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVl2ZhZI2eCN5jzbjEETS9weq8-19a7DRs5.woff2) format('woff2');
15
+  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
16
+}
17
+/* greek-ext */
18
+@font-face {
19
+  font-family: 'Roboto Condensed';
20
+  font-style: normal;
21
+  font-weight: 400;
22
+  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVl2ZhZI2eCN5jzbjEETS9weq8-1967DRs5.woff2) format('woff2');
23
+  unicode-range: U+1F00-1FFF;
24
+}
25
+/* greek */
26
+@font-face {
27
+  font-family: 'Roboto Condensed';
28
+  font-style: normal;
29
+  font-weight: 400;
30
+  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVl2ZhZI2eCN5jzbjEETS9weq8-19G7DRs5.woff2) format('woff2');
31
+  unicode-range: U+0370-03FF;
32
+}
33
+/* vietnamese */
34
+@font-face {
35
+  font-family: 'Roboto Condensed';
36
+  font-style: normal;
37
+  font-weight: 400;
38
+  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVl2ZhZI2eCN5jzbjEETS9weq8-1927DRs5.woff2) format('woff2');
39
+  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
40
+}
41
+/* latin-ext */
42
+@font-face {
43
+  font-family: 'Roboto Condensed';
44
+  font-style: normal;
45
+  font-weight: 400;
46
+  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVl2ZhZI2eCN5jzbjEETS9weq8-19y7DRs5.woff2) format('woff2');
47
+  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
48
+}
49
+/* latin */
50
+@font-face {
51
+  font-family: 'Roboto Condensed';
52
+  font-style: normal;
53
+  font-weight: 400;
54
+  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVl2ZhZI2eCN5jzbjEETS9weq8-19K7DQ.woff2) format('woff2');
55
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
56
+}

+ 3
- 3
platforms/android/app/src/main/assets/www/css/searchbar1.css View File

@@ -1,11 +1,11 @@
1 1
 ons-toolbar ~ .page__content{
2
-    margin-top: 45px;
2
+    margin-top: 0px;
3 3
 }
4 4
 .search-bar {
5 5
     width: 100%;
6
-    position: fixed;
6
+    position: relative;
7 7
     display: block;
8
-    margin-top: -45px;
8
+    margin-top: 0px;
9 9
 }
10 10
 .after-search-bar {
11 11
     margin-top: -10px;

+ 1
- 0
platforms/android/app/src/main/assets/www/data/AROMATIZACIÓN.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/BAMBÚ.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/BARRO.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/CARETAS.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/CRISTAL.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/CUERO.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/DESECHOSMARINOS.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/DULCESTÍPICOS.json View File

@@ -0,0 +1 @@
1
+[{"Nombre":"Daphne L. Labault Romero","Especificaciones":"Joyer\u00eda, Resina","Tel\u00e9fono 1":"(787) 671-3101","E-mail":"petalobydaphne@gmail.com","Municipio":"San Juan PR","id":0},{"Nombre":"El\u00ed J. David Cede\u00f1o","Especificaciones":"Cera, Figuras y simbolos indigenas, Im\u00e1genes Religiosas, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 795-2890","E-mail":"","Municipio":"Toa Baja PR","id":1},{"Nombre":"H\u00e9ctor L. Pe\u00f1a Gonz\u00e1lez","Especificaciones":"Cemento, S\u00edmbolos Patrios","Tel\u00e9fono 1":"","E-mail":"","Municipio":"","id":2},{"Nombre":"Nancy Laureano Figueroa","Especificaciones":"Cascarones  de frutas, Joyer\u00eda","Tel\u00e9fono 1":"(787) 451-9375","E-mail":"nancylaureano@yahoo.com","Municipio":"Bayam\u00f3n PR","id":3},{"Nombre":"Josefina Mart\u00ednez Campos","Especificaciones":"Cascarones de huevos, Figuras, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(939) 216-3500","E-mail":"yamanay3@gmail.com","Municipio":"Arecibo PR","id":4},{"Nombre":"Lizzette M. Santiago Agosto","Especificaciones":"Velas","Tel\u00e9fono 1":"(787) 214-3393","E-mail":"lizziesan622@gmail.com","Municipio":"Yabucoa PR","id":5},{"Nombre":"Luis G. S\u00e1nchez Cruz","Especificaciones":"Pique","Tel\u00e9fono 1":"(787) 412-0205","E-mail":"","Municipio":"Gurabo PR","id":6},{"Nombre":"Mar\u00eda M. Rivera V\u00e1zquez","Especificaciones":"Cabello (Pelo), Figuras","Tel\u00e9fono 1":"(787) 672-9872","E-mail":"","Municipio":"Salinas PR","id":7},{"Nombre":"Ram\u00f3n Buchamp","Especificaciones":"Cemento","Tel\u00e9fono 1":"(787) 831-1434","E-mail":"","Municipio":"Mayag\u00fcez PR","id":8},{"Nombre":"Ram\u00f3n F. Lugo Silva","Especificaciones":"","Tel\u00e9fono 1":"(787) 368-0582","E-mail":"mochoreciklarte@gmail.com","Municipio":"Ponce PR","id":9},{"Nombre":"Silvia Solorzano Cede\u00f1o","Especificaciones":"Resina","Tel\u00e9fono 1":"(787) 636-0073","E-mail":"","Municipio":"","id":10}]

+ 1
- 0
platforms/android/app/src/main/assets/www/data/FIBRAS.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/HIGÜERA.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/INSTRUMENTOSTÍPICOS.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/JUGUETESTRADICIONALES.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/LABORESENAGUJA.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/MADERA.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/METAL.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/PAPELCARTÓN.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/PIEDRAS.json View File

@@ -0,0 +1 @@
1
+[{"Nombre":"Andr\u00e9s Mel\u00e9ndez Cosme","Especificaciones":"Cuadros, Figuras, Placas, S\u00edmbolos","Tel\u00e9fono 1":"(787) 373-9225","E-mail":"talladepiedrasarte@gmail.com","Municipio":"Comer\u00edo PR","id":0},{"Nombre":"\u00c1ngel R. Medina Mart\u00ednez","Especificaciones":"Figuras y simbolos indigenas, Instrumentos de percusi\u00f3n, Maracas","Tel\u00e9fono 1":"(787) 635-6354","E-mail":"","Municipio":"Toa Alta PR","id":1},{"Nombre":"Carlos A. Ramos Camilo","Especificaciones":"","Tel\u00e9fono 1":"(787) 531-7358","E-mail":"","Municipio":"Trujillo Alto PR","id":2},{"Nombre":"Edgar Gand\u00eda Torres","Especificaciones":"Figuras y simbolos indigenas, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 315-0123","E-mail":"","Municipio":"San Juan PR","id":3},{"Nombre":"Eduardo G\u00f3mez","Especificaciones":"Dise\u00f1os, Figuras y simbolos indigenas, Quijotes, Reyes, S\u00edmbolos Patrios","Tel\u00e9fono 1":"","E-mail":"","Municipio":"Barranquitas PR","id":4},{"Nombre":"Evelyn M. Rivera Cancel","Especificaciones":"Figuras","Tel\u00e9fono 1":"(787) 884-4851","E-mail":"evelyn.rivera.cancel@gmail.com","Municipio":"Mayag\u00fcez PR","id":5},{"Nombre":"Hailie Rivera Ortiz","Especificaciones":"Figuras y simbolos indigenas, Muebles, S\u00edmbolos Patrios","Tel\u00e9fono 1":"","E-mail":"","Municipio":"Trujillo Alto PR","id":6},{"Nombre":"H\u00e9ctor de Le\u00f3n","Especificaciones":"Reyes, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 232-2314","E-mail":"eneidariosaponte@gmail.com","Municipio":"Florida PR","id":7},{"Nombre":"Jeannette Rosa Carrero","Especificaciones":"Figuras, Flores, Nacimientos, Reyes","Tel\u00e9fono 1":"(787) 299-7667","E-mail":"fifososa@gmail.com","Municipio":"Bayam\u00f3n PR","id":8},{"Nombre":"Jorge L. Col\u00f3n Reyes","Especificaciones":"Figuras y simbolos indigenas, Im\u00e1genes Religiosas, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 506-3388","E-mail":"","Municipio":"Barceloneta PR","id":9},{"Nombre":"Jos\u00e9 A. Rodr\u00edguez D\u00e1vila","Especificaciones":"Escultura, Figuras","Tel\u00e9fono 1":"(787) 502-7987","E-mail":"esculturasenpiedra@gmail.com","Municipio":"Salinas PR","id":10},{"Nombre":"Luoisa Torres Hern\u00e1ndez","Especificaciones":"","Tel\u00e9fono 1":"(787) 795-9147","E-mail":"","Municipio":"Toa Baja PR","id":11},{"Nombre":"Mar\u00eda S. del  Valle","Especificaciones":"","Tel\u00e9fono 1":"(787) 747-4229","E-mail":"","Municipio":"Caguas PR","id":12},{"Nombre":"Maritza de Jes\u00fas Vel\u00e1zquez","Especificaciones":"","Tel\u00e9fono 1":"(787) 815-1241","E-mail":"","Municipio":"","id":13},{"Nombre":"Teresa P\u00e9rez V\u00e1zquez","Especificaciones":"Cuadros, Figuras y simbolos indigenas, Im\u00e1genes Religiosas, Llaveros, Paisajes, Placas, S\u00edmbolos Patrios","Tel\u00e9fono 1":"(787) 951-0025","E-mail":"terearte518@gmail.com","Municipio":"Cabo Rojo PR","id":14},{"Nombre":"Marysel Cab\u00e1n Marrero","Especificaciones":"Cuadros","Tel\u00e9fono 1":"(787) 425-3938","E-mail":"marycm626@gmail.com","Municipio":"Cidra PR","id":15}]

+ 1
- 0
platforms/android/app/src/main/assets/www/data/PORCELANICRÓN.json View File

@@ -0,0 +1 @@
1
+[{"Nombre":"Ada L. Robles Rivera","T\u00e9cnica":"Fabricantes, Manual","Especificaciones":"Figuras, Mu\u00f1ecas de Trapo","Tel\u00e9fono 1":"(787) 854-7446","E-mail":"","Municipio":"Manat\u00ed PR","id":0},{"Nombre":"Betzaida Ramos Rosado","T\u00e9cnica":"Esculpir","Especificaciones":"Figuras","Tel\u00e9fono 1":"(787) 202-5760","E-mail":"tallernuestropueblo@hotmail.com","Municipio":"San Sebast\u00edan PR","id":1},{"Nombre":"Carmen A. Rivera Acevedo","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"","E-mail":"","Municipio":"","id":2},{"Nombre":"Carmen E. Resto Col\u00f3n","T\u00e9cnica":"Esculpir","Especificaciones":"Figuras","Tel\u00e9fono 1":"","E-mail":"","Municipio":"","id":3},{"Nombre":"Carmen M. L\u00f3pez Cruz","T\u00e9cnica":"Manual","Especificaciones":"Figuras","Tel\u00e9fono 1":"(787) 439-4927","E-mail":"","Municipio":"Salinas PR","id":4},{"Nombre":"Casilda Negr\u00f3n Tejera","T\u00e9cnica":"Esculpir","Especificaciones":"Figuras","Tel\u00e9fono 1":"","E-mail":"","Municipio":"","id":5},{"Nombre":"Edna S. Malabet R\u00edos","T\u00e9cnica":"Dise\u00f1ar, Ensamblar, Manual","Especificaciones":"Joyer\u00eda","Tel\u00e9fono 1":"(787) 593-6932","E-mail":"sally227@gmail.com","Municipio":"Carolina PR","id":6},{"Nombre":"Elsa D. Berr\u00edos Padilla","T\u00e9cnica":"Al horno, Manual","Especificaciones":"Figuras, Im\u00e1genes Religiosas, Paisajes, Quijotes","Tel\u00e9fono 1":"(787) 857-9328","E-mail":"","Municipio":"Barranquitas PR","id":7},{"Nombre":"Evelyn R. Cintr\u00f3n V\u00e9lez","T\u00e9cnica":"Dise\u00f1ar, Ensamblar, Manual","Especificaciones":"Alambre, Joyer\u00eda","Tel\u00e9fono 1":"(787) 439-1547","E-mail":"","Municipio":"Guayanilla PR","id":8},{"Nombre":"Jonathan U. Ortiz Aponte","T\u00e9cnica":"Manual, Pintura","Especificaciones":"Aves","Tel\u00e9fono 1":"(787) 529-6202","E-mail":"","Municipio":"Carolina PR","id":9},{"Nombre":"Luisa Y. Candelaria Estrella","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 399-9001","E-mail":"iliremaria17@gmail.com","Municipio":"Carolina PR","id":10},{"Nombre":"Magdalena Gonz\u00e1lez Avil\u00e9s","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 231-6597","E-mail":"mgonzalezavilesriv@hotmail.com","Municipio":"Aguadilla PR","id":11},{"Nombre":"Norma Agr\u00f3n Santiago","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 877-6081","E-mail":"normasclay@yahoo.com","Municipio":"Moca PR","id":12},{"Nombre":"Virgen M. Rodr\u00edguez Rivera","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(939) 717-1028","E-mail":"","Municipio":"Yauco PR","id":13},{"Nombre":"Wilfredo Cab\u00e1n Vega","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 818-8662","E-mail":"laartesana01@yahoo.com","Municipio":"Moca PR","id":14},{"Nombre":"Zorimar D. Rivera Nieves","T\u00e9cnica":"","Especificaciones":"","Tel\u00e9fono 1":"(787) 404-0543","E-mail":"zorimardenisse@gmail.com","Municipio":"San Juan PR","id":15},{"Nombre":"Rafael Cruz Collazo","T\u00e9cnica":"Dise\u00f1ar","Especificaciones":"Joyer\u00eda","Tel\u00e9fono 1":"(787) 315-3491","E-mail":"artesaniasguasabara3618@gmail.com","Municipio":"Utuado PR","id":16},{"Nombre":"Lydia Santiago Toledo","T\u00e9cnica":"Esculpir","Especificaciones":"Figuras","Tel\u00e9fono 1":"(787) 599-7653","E-mail":"lydia655@gmail.com","Municipio":"Lares PR","id":17},{"Nombre":"Ciryanis V\u00e1zquez Lezcano","T\u00e9cnica":"Dise\u00f1ar","Especificaciones":"Joyer\u00eda","Tel\u00e9fono 1":"(787) 452-4778","E-mail":"ciry.vazquez@gmail.com","Municipio":"Arecibo PR","id":18}]

+ 1
- 0
platforms/android/app/src/main/assets/www/data/SEMILLAS.json
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/data/TABACOS.json View File

@@ -0,0 +1 @@
1
+[{"Nombre":"\u00c1ngel Otero Cotto","Especificaciones":"Cigarros, Mascadura","Tel\u00e9fono 1":"(939) 350-4999","E-mail":"papiroscigars@gmail.com","Municipio":"Cidra PR","id":0},{"Nombre":"\u00c1ngel Otero Vicente","Especificaciones":"Cigarros, Mascadura","Tel\u00e9fono 1":"(787) 595-1431","E-mail":"papiroscigars@gmail.com","Municipio":"Cidra PR","id":1},{"Nombre":"Angelo Vel\u00e1zquez Santiago","Especificaciones":"Cigarros","Tel\u00e9fono 1":"(787) 396-0941","E-mail":"velazquezcigars@hotmail.com","Municipio":"Aguas Buenas PR","id":2},{"Nombre":"Carlos M. Del Valle Mel\u00e9ndez","Especificaciones":"Cigarros","Tel\u00e9fono 1":"(787) 380-9122","E-mail":"cdelvalle1229@yahoo.com","Municipio":"Gu\u00e1nica PR","id":3},{"Nombre":"Jos\u00e9 A. V\u00e9lez Burgos","Especificaciones":"Cigarros, Muebles, Restaurador","Tel\u00e9fono 1":"(787) 648-2858","E-mail":"velez.jose751@gmail.com","Municipio":"Yauco PR","id":4},{"Nombre":"Patricio A. Pe\u00f1a","Especificaciones":"","Tel\u00e9fono 1":"(787) 785-8619","E-mail":"","Municipio":"Bayam\u00f3n PR","id":5}]

+ 1
- 0
platforms/android/app/src/main/assets/www/data/TEXTILES.json
File diff suppressed because it is too large
View File


+ 76
- 0
platforms/android/app/src/main/assets/www/data/driveToJson.php View File

@@ -0,0 +1,76 @@
1
+<?php
2
+header('Content-type: application/json');
3
+ 
4
+
5
+ 
6
+// Function to convert CSV into associative array
7
+function csvToArray($file, $delimiter) { 
8
+  if (($handle = fopen($file, 'r')) !== FALSE) { 
9
+    $i = 0; 
10
+    while (($lineArray = fgetcsv($handle, 4000, $delimiter, '"')) !== FALSE) { 
11
+      for ($j = 0; $j < count($lineArray); $j++) { 
12
+        $arr[$i][$j] = $lineArray[$j]; 
13
+      } 
14
+      $i++; 
15
+    } 
16
+    fclose($handle); 
17
+  } 
18
+  return $arr; 
19
+} 
20
+ 
21
+function formatArray ($feed) {
22
+
23
+  $keys = array();
24
+  $newArray = array();
25
+  $data = csvToArray($feed, ',');
26
+ 
27
+  $count = count($data) - 1;
28
+ 
29
+  $labels = array_shift($data);  
30
+ 
31
+  foreach ($labels as $label) {
32
+    $keys[] = $label;
33
+  }
34
+ 
35
+  $keys[] = 'id';
36
+ 
37
+  for ($i = 0; $i < $count; $i++) {
38
+    $data[$i][] = $i;
39
+  }
40
+ 
41
+  for ($j = 0; $j < $count; $j++) {
42
+    $d = array_combine($keys, $data[$j]);
43
+    $newArray[$j] = $d;
44
+  }
45
+
46
+  return $newArray;
47
+
48
+}
49
+ 
50
+$feed = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQUspPunAmkZrtfhMgMvGYGTK_4ONsCnSoe6OcTFc-4ILRHTatdPIwgRx1eRM1qFTkYFMrvcx8OI4cv/pub?output=csv';
51
+
52
+$data = formatArray($feed);
53
+
54
+$info = json_encode($data);
55
+
56
+$infoAsJson = json_decode($info);
57
+
58
+
59
+
60
+$handle = fopen("renglones.json", 'w');
61
+fwrite($handle, $info);
62
+
63
+
64
+
65
+for ($i = 0; $i < count($infoAsJson); $i++) {
66
+  $renglon = formatArray($infoAsJson[$i]->Link);
67
+  $renglonInfo = json_encode($renglon);
68
+  $renglonAsJson = json_decode($renglonInfo);
69
+  
70
+  $my_file = $infoAsJson[$i]->Renglones . ".json";
71
+  $handle = fopen($my_file, 'w') or die ('Cannot open file');
72
+  fwrite($handle, $renglonInfo);
73
+
74
+}
75
+
76
+?>

+ 1
- 0
platforms/android/app/src/main/assets/www/data/renglones.json
File diff suppressed because it is too large
View File


+ 145
- 0
platforms/android/app/src/main/assets/www/extract_files.js View File

@@ -0,0 +1,145 @@
1
+
2
+//Declare variables
3
+var path = "Server";
4
+var fs = require('fs');
5
+var files = fs.readdirSync(path);
6
+var filenames = [files.length];
7
+
8
+//Remove space from strings
9
+for(var i=0; i<files.length; i++)  
10
+	if(/\s/.test(files[i]))
11
+	   filenames[i] = files[i].replace(/\s/g, '');
12
+    else
13
+	   filenames[i] = files[i];
14
+
15
+//Extract json files to local folder
16
+for(var i=0; i<files.length; i++)   {
17
+
18
+	//Print filenames
19
+	//console.log(files[i] + " = "+filenames[i]);
20
+    
21
+    fs.copyFile(path+'/'+files[i], 'data/'+filenames[i], (err) => {
22
+		if (err) throw err;
23
+	});
24
+
25
+};
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+/*
46
+var xmlhttp = new XMLHttpRequest();
47
+var url = "http://136.145.231.34/";
48
+
49
+xmlhttp.onreadystatechange = function() {
50
+    if (this.readyState == 4 && this.status == 200) {
51
+        var myArr = JSON.parse(this.responseText);
52
+        myFunction(myArr);
53
+    }
54
+};
55
+xmlhttp.open("GET", url, true);
56
+xmlhttp.send();
57
+
58
+function myFunction(arr) {
59
+    var out = "";
60
+    var i;
61
+    for(i = 0; i < arr.length; i++) {
62
+        out += '<a href="' + arr[i].url + '">' +
63
+        arr[i].display + '</a><br>';
64
+    }
65
+    document.getElementById("id01").innerHTML = out;
66
+}
67
+
68
+
69
+src="http://code.jquery.com/jquery-1.11.0.min.js";
70
+
71
+(function() {
72
+          var URL = "/Json/";
73
+          $.getJSON( URL, {
74
+            format: "json"
75
+          })
76
+            .done(function( data ) {
77
+              $.each( data.items, function( i, item ) {
78
+              
79
+                //copyfile.js
80
+                const fs = require('fs');
81
+
82
+                // destination will be created or overwritten by default.
83
+                fs.copyFile('#.json', '/JsonFiles/#.json', (err) => {
84
+                  if (err) throw err;
85
+                  console.log('File was copied to destination');
86
+                });
87
+              
88
+                if ( i === 3 ) {
89
+                  return false;
90
+                }
91
+              });
92
+            });
93
+        })();
94
+
95
+
96
+*/
97
+
98
+/*
99
+$.ajax({
100
+  url: 'http://136.145.231.34',
101
+  data: data,
102
+  success: null,
103
+  dataType: "json"
104
+});
105
+
106
+
107
+
108
+
109
+$.get( "ajax/test.html", function( data ) {
110
+  $( ".result" ).html( data );
111
+  alert( "Load was performed." );
112
+});
113
+
114
+
115
+// Assign handlers immediately after making the request,
116
+// and remember the jqxhr object for this request
117
+var jqxhr = $.get( "AROMATIZACIÓN.json", function() {
118
+  alert( "success" );
119
+})
120
+  .done(function() {
121
+    alert( "second success" );
122
+  })
123
+  .fail(function() {
124
+    alert( "error" );
125
+  })
126
+  .always(function() {
127
+    alert( "finished" );
128
+  });
129
+ 
130
+// Perform other work here ...
131
+ 
132
+// Set another completion function for the request above
133
+jqxhr.always(function() {
134
+  alert( "second finished" );
135
+});
136
+
137
+
138
+
139
+ftp://ubuntu:BE#u3bFh@136.145.231.34/
140
+
141
+    host: '136.145.231.34',
142
+    username: 'ubuntu',
143
+    password: 'BE#u3bFh'
144
+	jquery get json
145
+*/

BIN
platforms/android/app/src/main/assets/www/img/AROMATIZACIÓN.png View File


BIN
platforms/android/app/src/main/assets/www/img/BAMBÚ.png View File


BIN
platforms/android/app/src/main/assets/www/img/BARRO.png View File


BIN
platforms/android/app/src/main/assets/www/img/CARETAS.png View File


BIN
platforms/android/app/src/main/assets/www/img/CRISTAL.png View File


BIN
platforms/android/app/src/main/assets/www/img/CUERO.png View File


BIN
platforms/android/app/src/main/assets/www/img/DESECHOS MARINOS.png View File


BIN
platforms/android/app/src/main/assets/www/img/DULCES TÍPICOS.png View File


BIN
platforms/android/app/src/main/assets/www/img/FIBRAS.png View File


BIN
platforms/android/app/src/main/assets/www/img/HIGÜERA.png View File


BIN
platforms/android/app/src/main/assets/www/img/INSTRUMENTOS TÍPICOS.png View File


BIN
platforms/android/app/src/main/assets/www/img/JUGUETES TRADICIONALES.png View File


BIN
platforms/android/app/src/main/assets/www/img/LABORES EN AGUJA.png View File


BIN
platforms/android/app/src/main/assets/www/img/MADERA.png View File


BIN
platforms/android/app/src/main/assets/www/img/METAL.png View File


BIN
platforms/android/app/src/main/assets/www/img/PAPEL CARTÓN.png View File


BIN
platforms/android/app/src/main/assets/www/img/PAPEL.png View File


BIN
platforms/android/app/src/main/assets/www/img/PIEDRAS.png View File


BIN
platforms/android/app/src/main/assets/www/img/PORCELANICRÓN.png View File


BIN
platforms/android/app/src/main/assets/www/img/SEMILLAS.png View File


BIN
platforms/android/app/src/main/assets/www/img/TABACOS.png View File


BIN
platforms/android/app/src/main/assets/www/img/TEXTILES.png View File


+ 315
- 86
platforms/android/app/src/main/assets/www/index.html View File

@@ -31,7 +31,9 @@
31 31
         <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; media-src *; img-src 'self' data: content:;">
32 32
         <!--these three for the calendar-->
33 33
         <link href="https://fonts.googleapis.com/css?family=Roboto+Condensed" rel="stylesheet">
34
+        <link href="css/robotocondensed.css" rel="stylesheet">
34 35
         <link rel="stylesheet" href="calendar_files/css/demo.css"/>
36
+        <link rel="stylesheet" href="css/file.css"/>
35 37
         <link rel="stylesheet" href="calendar_files/css/theme1.css"/>
36 38
         <!--this is for the search bar-->
37 39
         <link rel = "stylesheet" href = "css/searchbar1.css">
@@ -41,88 +43,309 @@
41 43
         <meta name="viewport" content="initial-scale=1, width=device-width, viewport-fit=cover">
42 44
         <link rel="stylesheet" type="text/css" href="css/index.css">
43 45
         <link rel="stylesheet" href="lib/OnsenUI/css/onsenui.css">
44
-        <link rel="stylesheet" href="lib/OnsenUI/css/onsen-css-components.min.css">
46
+        <link rel="stylesheet" href="lib/OnsenUI/css/onsen-css-components.min.css">    
45 47
         <script src="lib/OnsenUI/js/onsenui.min.js"></script>
48
+        <script src="js/jquery_.js"></script>
49
+
46 50
 
47 51
     </head>
48 52
     <body>
49
-        
50
-        <ons-navegator id="myNavigator">
51
-        <ons-page>
52
-            
53
+
54
+      <script type="text/javascript" src="js/saveLocal.js"></script>
55
+      
56
+        <ons-navigator swipeable animation="slide" id="myNavigator">
57
+           <ons-page>
53 58
             <ons-toolbar>
54
-                <div class="center">Cultura</div>
59
+                <div class="center">Instituto de Cultura</div>
55 60
             </ons-toolbar>
56
-
57
-
58 61
             <ons-tabbar swipeable position="auto">
59
-                <ons-tab page="home.html" label="Hogar" active></ons-tab>
60
-                <ons-tab page="artesania.html" label="Artesanias"></ons-tab>
62
+                <ons-tab page="home.html" label="Hogar"></ons-tab>
63
+                <ons-tab page="renglones.html" label="Artesanias"active></ons-tab>
61 64
                 <ons-tab page="ferias.html" label="Ferias"></ons-tab>
62 65
                 <ons-tab page="instituto.html" label="Instituto"></ons-tab>
63 66
             </ons-tabbar>
64 67
         </ons-page>
65
-        </ons-navegator>
68
+        </ons-navigator>
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+  <template id="artesanias.html">
100
+    <ons-page id="artesanias">
101
+
102
+      <ons-toolbar>
103
+        <div class="left"><ons-back-button>Atrás</ons-back-button></div>
104
+        <div class="center"></div>
105
+      </ons-toolbar>
106
+
107
+    <ons-pull-hook id="pull-hook" threshold-height="120px">
108
+      <ons-icon id="pull-hook-icon" size="22px" class="pull-hook-content" icon="fa-arrow-down"></ons-icon>
109
+    </ons-pull-hook>
110
+
111
+    <ons-list id="artesania-list" src="">
112
+      <ons-list-header>Artesanias</ons-list-header>
113
+    </ons-list>
114
+
115
+    <ons-list id="artesanos-list" src="">
116
+      <ons-list-header>Artesanos</ons-list-header>
117
+    </ons-list>
118
+
119
+    <script>
120
+
121
+      ons.getScriptPage().onInit = function () {
122
+        this.querySelector('ons-toolbar div.center').textContent = this.data.title;
123
+
124
+    //var File = this.data.title.toUpperCase() + '.json' ;
125
+    var Esp = this.data.esp.split(', ');
126
+    var artesanos_json = this.data.json;
127
+
128
+    //Convertir en mayuscula primera letra del string.
129
+    for(var i=0; i<Esp.length; i++) { 
130
+      Esp[i] = Esp[i].charAt(0).toUpperCase() + Esp[i].slice(1);
131
+    };
132
+
133
+    var pullHook = document.getElementById('pull-hook');
134
+    var icon = document.getElementById('pull-hook-icon');
135
+    pullHook.addEventListener('changestate', function (event) {
136
+      switch (event.state) {
137
+        case 'initial':
138
+          icon.setAttribute('icon', 'fa-arrow-down');
139
+          icon.removeAttribute('rotate');
140
+          icon.removeAttribute('spin');
141
+          break;
142
+        case 'preaction':
143
+          icon.setAttribute('icon', 'fa-arrow-down');
144
+          icon.setAttribute('rotate', '180');
145
+          icon.removeAttribute('spin');
146
+          break;
147
+        case 'action':
148
+          icon.setAttribute('icon', 'fa-spinner');
149
+          icon.removeAttribute('rotate');
150
+          icon.setAttribute('spin', true);
151
+          break;
152
+      } 
153
+    });
154
+
155
+    var getArtesania = function (num) {
156
+
157
+          var Artesanos = ``;
158
+
159
+          console.log('Filtrado de ',Esp[num])
160
+
161
+          var results = [];
162
+          var searchVal = "my Name";
163
+          for (var i=0 ; i < artesanos_json.length ; i++)
164
+          {
165
+              if (artesanos_json[i].Especificaciones.includes(Esp[num])) {
166
+                  results.push(artesanos_json[i]);
167
+              }
168
+          }
169
+
170
+          /*var arr1=artesanos_json.filter(function(item){
171
+              return item.Nombre=="Ana";       
172
+          });*/
173
+
174
+          for(var i=0; i<results.length; i++) {
175
+
176
+            //if(Esp[num] in artesanos_json.) {}
177
+            Artesanos=Artesanos+`<a id='home.html'>${results[i].Nombre} | ${results[i].Municipio}<br>`
178
+            //`<a id='home.html'>${Artesania.artesano} | ${Artesania.municipio}</a> `
179
+          }
180
+
181
+
182
+          return {
183
+            name: Esp[num],
184
+            artesan: Artesanos
185
+          };
186
+        };
187
+
188
+        var getData = function () {
189
+          const data = [];
190
+          for (var i = 0; i < Esp.length; i++) {
191
+            data.push(getArtesania(i));
192
+          }
193
+          return data;
194
+        };
195
+        var createArtesania = function (Artesania) {
196
+
197
+        //console.log('Devuelto elemento')
198
+
199
+            return ons.createElement(`
200
+              <ons-list-item expandable tappable>
201
+                <div class="center" >${Artesania.name}</div>
202
+                <div class="expandable-content"> Artesanos que trabajan con ${Artesania.name}:<br><br>${Artesania.artesan}</div>
203
+                </ons-list-item>` 
204
+          );
205
+        };
206
+                
207
+        var Artesanias = getData();
208
+
209
+        for (Art of Artesanias) {
210
+        
211
+          var Artesania = createArtesania(Art);
212
+          document.getElementById('artesania-list').appendChild(Artesania);
213
+        };
214
+        pullHook.onAction = function (done) {
215
+          
216
+        setTimeout(function() {
217
+            document.getElementById('artesania-list').appendChild(createArtesania(getArtesania()));
218
+            done();
219
+          }, 400);
220
+        }
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+        var createArtesano = function (Artesano) {
233
+
234
+            return ons.createElement(`
235
+              <ons-list-item expandable tappable>
236
+                <div class="center" >${Artesano.Nombre}</div>
237
+                <div class="expandable-content"> Municipio: ${Artesano.Municipio}<br>
238
+                                                 Tel\u00e9fono: ${Artesano["Tel\u00e9fono 1"]}<br>
239
+                                                 Correo Electr\u00f3nico: ${Artesano["E-mail"]}<br>
240
+                                                 Trabaja con: ${Artesano.Especificaciones}<br>
241
+                                                 </div>
242
+              </ons-list-item>` 
243
+          );
244
+        };
245
+
246
+        //var Artesanias = getData();
247
+        //artesanos_json
248
+
249
+        for (arte of artesanos_json) {
250
+        
251
+          var Artesano = createArtesano(arte);
252
+          document.getElementById('artesanos-list').appendChild(Artesano);
253
+        };
254
+        
255
+      };
256
+     </script>
257
+
258
+        <style>
259
+          .pull-hook-content {
260
+            color: #333;
261
+            transition: transform .25s ease-in-out;
262
+          }
263
+        </style>
264
+      </ons-page>
265
+    </template>
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
66 286
 
67 287
 
68 288
         <template id="home.html">
69
-            <ons-page id="Hogar">
289
+        <ons-page id="home">
70 290
                 <p style="text-align: center;">
71
-			     Pantalla Principal
291
+          Pagina Principal
72 292
                 </p>
73 293
             </ons-page>
74 294
         </template>
75 295
 
76
-        <template id="artesania.html">
77
-            <ons-page id="artesania">
78
-                
79
-                <div class="search-bar">
80
-                     <p style="text-align: center; margin-top: 10px;">
81
-                        <ons-search-input placeholder="Search" onchange="ons.notification.alert('Searched for: ' + this.value)" style="width: 96%; margin: 6px auto 6px auto;"></ons-search-input>
82
-                    </p>   
83
-                </div>
84
-      
85
-                <div>
86
-                <ons-scroller>
87
-                    <!--<table id="table" align="center">
88
-                        <tr>
89
-                            <th>Renglones</th>
90
-                            <th>Especificaciones</th>
91
-                        </tr>
92
-                    <script type="text/javascript" src="js/test.js"></script>      
93
-                    </table>     -->
94
-                    
95
-                    <ons-list>
96
-                    <ons-list-header>Renglones</ons-list-header>
97
-                    <ons-list-item><a href="madera.html">Madera</a></ons-list-item>
98
-                    <ons-list-item>Labores en aguja</ons-list-item>
99
-                    <ons-list-item>Textiles</ons-list-item>
100
-                    <ons-list-item>Barro</ons-list-item>
101
-                    <ons-list-item>Instrumentos Típicos</ons-list-item>
102
-                    <ons-list-item>Juguetes tradicionales</ons-list-item>
103
-                    <ons-list-item>Fibras</ons-list-item>
104
-                    <ons-list-item>Caretas</ons-list-item>
105
-                    <ons-list-item>Cuero</ons-list-item>
106
-                    <ons-list-item>Metal</ons-list-item>
107
-                    <ons-list-item>Piedras</ons-list-item>
108
-                    <ons-list-item>Papel</ons-list-item>
109
-                    <ons-list-item>Bambú</ons-list-item>
110
-                    <ons-list-item>Cristal</ons-list-item>
111
-                    <ons-list-item>Higüera</ons-list-item>
112
-                    <ons-list-item>Desechos Marinos</ons-list-item>
113
-                    <ons-list-item>Porcelanicrón</ons-list-item>
114
-                    <ons-list-item>Tabacos</ons-list-item>
115
-                    <ons-list-item>Semillas</ons-list-item>
116
-                    <ons-list-item>Aromatización</ons-list-item>
117
-                    <ons-list-item>Dulces Típicos</ons-list-item>
118
-                    </ons-list>
119
-                </ons-scroller>
120
-                </div>
121
-            </ons-page>
296
+
297
+
298
+        <template id="renglones.html">
299
+            <ons-page id="renglones">
300
+
301
+            <!--div class="search-bar">
302
+                 <p style="text-align: center; margin-top: 10px;">
303
+                    <ons-search-input placeholder="Search" onchange="ons.notification.alert('Searched for: ' + this.value)"
304
+           style="width: 96%; margin: 6px auto 6px auto;"></ons-search-input>
305
+                </p>   
306
+            </div-->
307
+
308
+            <ons-card id="list">
309
+              <script type="text/javascript" src="js/renglones.js"></script>
310
+            </ons-card>
311
+
312
+          <style>
313
+            .intro {
314
+        text-align: center;
315
+        padding: 20px;
316
+        margin-top: 30px;
317
+            }
318
+
319
+            ons-card {
320
+        cursor: pointer;
321
+        color: #333;
322
+            }
323
+
324
+            .card__title,
325
+            .card--material__title {
326
+        font-size: 15px;
327
+            }
328
+          </style>
329
+      </ons-page>
330
+
331
+    <!--script>
332
+    ons.getScriptPage().onInit = function () {
333
+    this.querySelector('ons-toolbar div.center').textContent = this.data.title;
334
+    var createArtesania = function (Artesania) {
335
+      return ons.createElement(`
336
+        <ons-list-item expandable tappable>
337
+        <div class="center" >${Artesania.name}</div>
338
+        <div class="expandable-content"> -Artesanos que trabajan con ${Artesania.name}- <br><br> Luis Lao | Naguabo 
339
+              <br> <a id='home.html'>Jorge Rivera | Naguabo</a> </div>
340
+        </ons-list-item>` );
341
+     document.getElementById('artesania-list').appendChild(createArtesania(getArtesania())); };
342
+    </script-->
343
+
344
+
122 345
         </template>
123 346
         
124 347
         <template id="ferias.html">
125
-            <ons-page id="Ferias">
348
+            <ons-page id="ferias">
126 349
                 
127 350
                 <div id = "caleandar" class = "calendar" style="margin-top: 50px;">
128 351
                     <script type="text/javascript" src="calendar_files/js/caleandar.js"></script>
@@ -132,41 +355,47 @@
132 355
         </template>
133 356
         
134 357
         <template id="instituto.html">
135
-            <ons-page id="Instituto">
358
+            <ons-page id="instituto">
136 359
                 <p style="text-align: center;">
137 360
 
138
-		<h1>Instituto de Cultura Puertorriqueña</h1> 
139
-		<h3>Ven, descubre lo que nuestra riqueza cultural puertorriqueña tiene para tí.<br> Disfrútala, es tu identidad.
140
-		</h3>
141
-
142
-		<body>
143
-		<br>
144
-		El Instituto de Cultura Puertorriqueña (ICP) tiene como misión investigar, conservar, promover y divulgar la cultura puertorriqueña en su diversidad y complejidad. Con la memoria y la promesa de la cultura, los distintos niveles, sectores, edades e intereses de la comunidad crean el conjunto de modos de vida, costumbres y manifestaciones artísticas que nos identifica como país. El ICP existe para preservar y divulgar estos saberes, difundir internacionalmente nuestro talento y enriquecer el amor a lo propio.
145
-		<br><br>
146
-		Nuestras tradiciones no son rígidos objetos de museo, sino actividades vivas en constante renovación y reapropiación, según van también desarrollándose nuevas tradiciones. El respeto a la diversidad, a lo híbrido, a lo apropiado y a lo replanteado también son parte esencial de esta institución que busca activamente la colaboración de todos en un quehacer que debe ser siempre compartido de la mano con su ingente diversidad.
147
-		<br><br>
148
-		Prof. Carlos R. Ruiz Cortés<br>
149
-		Director Ejecutivo<br>
150
-		Instituto de Cultura Puertorriqueña<br>
151
-		<br><br>
152
-        </body>
153
-		
361
+        <ons-toolbar>
362
+          <div class="left"><ons-back-button>Pagejjn 3</ons-back-button></div>
363
+          <div class="center"></div>
364
+        </ons-toolbar>
154 365
 
155
-		Visita nuestra <a href="https://www.icp.pr.gov/">Página Web</a> o síguenos en nuestras redes sociales: 
156
-		<a href="https://twitter.com/icppr"><img src="img/twitter.png" alt="Twitter" style="width:35px;height:35px;border:0;">
157
-		</a> 
158
-		<a href="https://facebook.com/icppr"><img src="img/facebook.png" alt="Facebook" style="width:35px;height:35px;border:0;">
159
-		</a> 
160
-		<a href="https://youtube.com/user/icppr"><img src="img/youtube.png" alt="Youtube" style="width:35px;height:35px;border:0;">
161
-		</a> 
162
-		<a href="https://instagram.com/icppr"><img src="img/instagram.png" alt="Instagram" style="width:35px;height:35px;border:0;">
163
-		</a> 
164 366
 
367
+    <h1>Instituto de Cultura Puertorriqueña</h1> 
368
+    <h3>Ven, descubre lo que nuestra riqueza cultural puertorriqueña tiene para tí.<br> Disfrútala, es tu identidad.
369
+    </h3>
165 370
 
371
+    <body>
372
+    <br>
373
+    El Instituto de Cultura Puertorriqueña (ICP) tiene como misión investigar, conservar, promover y divulgar la cultura puertorriqueña en su diversidad y complejidad. Con la memoria y la promesa de la cultura, los distintos niveles, sectores, edades e intereses de la comunidad crean el conjunto de modos de vida, costumbres y manifestaciones artísticas que nos identifica como país. El ICP existe para preservar y divulgar estos saberes, difundir internacionalmente nuestro talento y enriquecer el amor a lo propio.
374
+    <br><br>
375
+    Nuestras tradiciones no son rígidos objetos de museo, sino actividades vivas en constante renovación y reapropiación, según van también desarrollándose nuevas tradiciones. El respeto a la diversidad, a lo híbrido, a lo apropiado y a lo replanteado también son parte esencial de esta institución que busca activamente la colaboración de todos en un quehacer que debe ser siempre compartido de la mano con su ingente diversidad.
376
+    <br><br>
377
+    Prof. Carlos R. Ruiz Cortés<br>
378
+    Director Ejecutivo<br>
379
+    Instituto de Cultura Puertorriqueña<br>
380
+    <br><br>
381
+        </body>
382
+    
383
+
384
+    Visita nuestra <a href="https://www.icp.pr.gov/">Página Web</a> o síguenos en nuestras redes sociales: <br>
385
+    <a href="https://twitter.com/icppr"><img src="img/twitter.png" alt="Twitter" style="width:35px;height:35px;border:0;">
386
+    </a> 
387
+    <a href="https://facebook.com/icppr"><img src="img/facebook.png" alt="Facebook" style="width:35px;height:35px;border:0;">
388
+    </a> 
389
+    <a href="https://youtube.com/user/icppr"><img src="img/youtube.png" alt="Youtube" style="width:35px;height:35px;border:0;">
390
+    </a> 
391
+    <a href="https://instagram.com/icppr"><img src="img/instagram.png" alt="Instagram" style="width:35px;height:35px;border:0;">
392
+    </a> 
166 393
 
167 394
                 </p>
168 395
             </ons-page>
169 396
         </template>
397
+
398
+  <script src="js/load.js"></script>
170 399
         
171 400
         <script type="text/javascript" src="cordova.js"></script>
172 401
         <script type="text/javascript" src="js/index.js"></script>

+ 41
- 0
platforms/android/app/src/main/assets/www/instituto.html View File

@@ -0,0 +1,41 @@
1
+<html>
2
+<body>
3
+    
4
+    <ons-page id="Instituto">
5
+                <p style="text-align: center;">
6
+
7
+		<h1>Instituto de Cultura Puertorriqueña</h1> 
8
+		<h3>Ven, descubre lo que nuestra riqueza cultural puertorriqueña tiene para tí.<br> Disfrútala, es tu identidad.
9
+		</h3>
10
+
11
+		<body>
12
+		<br>
13
+		El Instituto de Cultura Puertorriqueña (ICP) tiene como misión investigar, conservar, promover y divulgar la cultura puertorriqueña en su diversidad y complejidad. Con la memoria y la promesa de la cultura, los distintos niveles, sectores, edades e intereses de la comunidad crean el conjunto de modos de vida, costumbres y manifestaciones artísticas que nos identifica como país. El ICP existe para preservar y divulgar estos saberes, difundir internacionalmente nuestro talento y enriquecer el amor a lo propio.
14
+		<br><br>
15
+		Nuestras tradiciones no son rígidos objetos de museo, sino actividades vivas en constante renovación y reapropiación, según van también desarrollándose nuevas tradiciones. El respeto a la diversidad, a lo híbrido, a lo apropiado y a lo replanteado también son parte esencial de esta institución que busca activamente la colaboración de todos en un quehacer que debe ser siempre compartido de la mano con su ingente diversidad.
16
+		<br><br>
17
+		Prof. Carlos R. Ruiz Cortés<br>
18
+		Director Ejecutivo<br>
19
+		Instituto de Cultura Puertorriqueña<br>
20
+		<br><br>
21
+        </body>
22
+		
23
+
24
+		Visita nuestra <a href="https://www.icp.pr.gov/">Página Web</a> o síguenos en nuestras redes sociales: 
25
+		<a href="https://twitter.com/icppr"><img src="img/twitter.png" alt="Twitter" style="width:35px;height:35px;border:0;">
26
+		</a> 
27
+		<a href="https://facebook.com/icppr"><img src="img/facebook.png" alt="Facebook" style="width:35px;height:35px;border:0;">
28
+		</a> 
29
+		<a href="https://youtube.com/user/icppr"><img src="img/youtube.png" alt="Youtube" style="width:35px;height:35px;border:0;">
30
+		</a> 
31
+		<a href="https://instagram.com/icppr"><img src="img/instagram.png" alt="Instagram" style="width:35px;height:35px;border:0;">
32
+		</a> 
33
+
34
+
35
+
36
+                </p>
37
+            </ons-page>
38
+    
39
+</body>
40
+
41
+</html>

+ 321
- 0
platforms/android/app/src/main/assets/www/jquery/AUTHORS.txt View File

@@ -0,0 +1,321 @@
1
+Authors ordered by first contribution.
2
+
3
+John Resig <jeresig@gmail.com>
4
+Gilles van den Hoven <gilles0181@gmail.com>
5
+Michael Geary <mike@geary.com>
6
+Stefan Petre <stefan.petre@gmail.com>
7
+Yehuda Katz <wycats@gmail.com>
8
+Corey Jewett <cj@syntheticplayground.com>
9
+Klaus Hartl <klaus.hartl@gmail.com>
10
+Franck Marcia <franck.marcia@gmail.com>
11
+Jörn Zaefferer <joern.zaefferer@gmail.com>
12
+Paul Bakaus <paul.bakaus@gmail.com>
13
+Brandon Aaron <brandon.aaron@gmail.com>
14
+Mike Alsup <malsup@gmail.com>
15
+Dave Methvin <dave.methvin@gmail.com>
16
+Ed Engelhardt <edengelhardt@gmail.com>
17
+Sean Catchpole <littlecooldude@gmail.com>
18
+Paul Mclanahan <pmclanahan@gmail.com>
19
+David Serduke <davidserduke@gmail.com>
20
+Richard D. Worth <rdworth@gmail.com>
21
+Scott González <scott.gonzalez@gmail.com>
22
+Ariel Flesler <aflesler@gmail.com>
23
+Jon Evans <jon@springyweb.com>
24
+TJ Holowaychuk <tj@vision-media.ca>
25
+Michael Bensoussan <mickey@seesmic.com>
26
+Robert Katić <robert.katic@gmail.com>
27
+Louis-Rémi Babé <lrbabe@gmail.com>
28
+Earle Castledine <mrspeaker@gmail.com>
29
+Damian Janowski <damian.janowski@gmail.com>
30
+Rich Dougherty <rich@rd.gen.nz>
31
+Kim Dalsgaard <kim@kimdalsgaard.com>
32
+Andrea Giammarchi <andrea.giammarchi@gmail.com>
33
+Mark Gibson <jollytoad@gmail.com>
34
+Karl Swedberg <kswedberg@gmail.com>
35
+Justin Meyer <justinbmeyer@gmail.com>
36
+Ben Alman <cowboy@rj3.net>
37
+James Padolsey <cla@padolsey.net>
38
+David Petersen <public@petersendidit.com>
39
+Batiste Bieler <batiste.bieler@gmail.com>
40
+Alexander Farkas <info@corrupt-system.de>
41
+Rick Waldron <waldron.rick@gmail.com>
42
+Filipe Fortes <filipe@fortes.com>
43
+Neeraj Singh <neerajdotname@gmail.com>
44
+Paul Irish <paul.irish@gmail.com>
45
+Iraê Carvalho <irae@irae.pro.br>
46
+Matt Curry <matt@pseudocoder.com>
47
+Michael Monteleone <michael@michaelmonteleone.net>
48
+Noah Sloan <noah.sloan@gmail.com>
49
+Tom Viner <github@viner.tv>
50
+Douglas Neiner <doug@dougneiner.com>
51
+Adam J. Sontag <ajpiano@ajpiano.com>
52
+Dave Reed <dareed@microsoft.com>
53
+Ralph Whitbeck <ralph.whitbeck@gmail.com>
54
+Carl Fürstenberg <azatoth@gmail.com>
55
+Jacob Wright <jacwright@gmail.com>
56
+J. Ryan Stinnett <jryans@gmail.com>
57
+unknown <Igen005@.upcorp.ad.uprr.com>
58
+temp01 <temp01irc@gmail.com>
59
+Heungsub Lee <h@subl.ee>
60
+Colin Snover <github.com@zetafleet.com>
61
+Ryan W Tenney <ryan@10e.us>
62
+Pinhook <contact@pinhooklabs.com>
63
+Ron Otten <r.j.g.otten@gmail.com>
64
+Jephte Clain <Jephte.Clain@univ-reunion.fr>
65
+Anton Matzneller <obhvsbypqghgc@gmail.com>
66
+Alex Sexton <AlexSexton@gmail.com>
67
+Dan Heberden <danheberden@gmail.com>
68
+Henri Wiechers <hwiechers@gmail.com>
69
+Russell Holbrook <russell.holbrook@patch.com>
70
+Julian Aubourg <aubourg.julian@gmail.com>
71
+Gianni Alessandro Chiappetta <gianni@runlevel6.org>
72
+Scott Jehl <scottjehl@gmail.com>
73
+James Burke <jrburke@gmail.com>
74
+Jonas Pfenniger <jonas@pfenniger.name>
75
+Xavi Ramirez <xavi.rmz@gmail.com>
76
+Jared Grippe <jared@deadlyicon.com>
77
+Sylvester Keil <sylvester@keil.or.at>
78
+Brandon Sterne <bsterne@mozilla.com>
79
+Mathias Bynens <mathias@qiwi.be>
80
+Timmy Willison <4timmywil@gmail.com>
81
+Corey Frang <gnarf37@gmail.com>
82
+Digitalxero <digitalxero>
83
+Anton Kovalyov <anton@kovalyov.net>
84
+David Murdoch <david@davidmurdoch.com>
85
+Josh Varner <josh.varner@gmail.com>
86
+Charles McNulty <cmcnulty@kznf.com>
87
+Jordan Boesch <jboesch26@gmail.com>
88
+Jess Thrysoee <jess@thrysoee.dk>
89
+Michael Murray <m@murz.net>
90
+Lee Carpenter <elcarpie@gmail.com>
91
+Alexis Abril <me@alexisabril.com>
92
+Rob Morgan <robbym@gmail.com>
93
+John Firebaugh <john_firebaugh@bigfix.com>
94
+Sam Bisbee <sam@sbisbee.com>
95
+Gilmore Davidson <gilmoreorless@gmail.com>
96
+Brian Brennan <me@brianlovesthings.com>
97
+Xavier Montillet <xavierm02.net@gmail.com>
98
+Daniel Pihlstrom <sciolist.se@gmail.com>
99
+Sahab Yazdani <sahab.yazdani+github@gmail.com>
100
+avaly <github-com@agachi.name>
101
+Scott Hughes <hi@scott-hughes.me>
102
+Mike Sherov <mike.sherov@gmail.com>
103
+Greg Hazel <ghazel@gmail.com>
104
+Schalk Neethling <schalk@ossreleasefeed.com>
105
+Denis Knauf <Denis.Knauf@gmail.com>
106
+Timo Tijhof <krinklemail@gmail.com>
107
+Steen Nielsen <swinedk@gmail.com>
108
+Anton Ryzhov <anton@ryzhov.me>
109
+Shi Chuan <shichuanr@gmail.com>
110
+Berker Peksag <berker.peksag@gmail.com>
111
+Toby Brain <tobyb@freshview.com>
112
+Matt Mueller <mattmuelle@gmail.com>
113
+Justin <drakefjustin@gmail.com>
114
+Daniel Herman <daniel.c.herman@gmail.com>
115
+Oleg Gaidarenko <markelog@gmail.com>
116
+Richard Gibson <richard.gibson@gmail.com>
117
+Rafaël Blais Masson <rafbmasson@gmail.com>
118
+cmc3cn <59194618@qq.com>
119
+Joe Presbrey <presbrey@gmail.com>
120
+Sindre Sorhus <sindresorhus@gmail.com>
121
+Arne de Bree <arne@bukkie.nl>
122
+Vladislav Zarakovsky <vlad.zar@gmail.com>
123
+Andrew E Monat <amonat@gmail.com>
124
+Oskari <admin@o-programs.com>
125
+Joao Henrique de Andrade Bruni <joaohbruni@yahoo.com.br>
126
+tsinha <tsinha@Anthonys-MacBook-Pro.local>
127
+Matt Farmer <matt@frmr.me>
128
+Trey Hunner <treyhunner@gmail.com>
129
+Jason Moon <jmoon@socialcast.com>
130
+Jeffery To <jeffery.to@gmail.com>
131
+Kris Borchers <kris.borchers@gmail.com>
132
+Vladimir Zhuravlev <private.face@gmail.com>
133
+Jacob Thornton <jacobthornton@gmail.com>
134
+Chad Killingsworth <chadkillingsworth@missouristate.edu>
135
+Nowres Rafid <nowres.rafed@gmail.com>
136
+David Benjamin <davidben@mit.edu>
137
+Uri Gilad <antishok@gmail.com>
138
+Chris Faulkner <thefaulkner@gmail.com>
139
+Elijah Manor <elijah.manor@gmail.com>
140
+Daniel Chatfield <chatfielddaniel@gmail.com>
141
+Nikita Govorov <nikita.govorov@gmail.com>
142
+Wesley Walser <waw325@gmail.com>
143
+Mike Pennisi <mike@mikepennisi.com>
144
+Markus Staab <markus.staab@redaxo.de>
145
+Dave Riddle <david@joyvuu.com>
146
+Callum Macrae <callum@lynxphp.com>
147
+Benjamin Truyman <bentruyman@gmail.com>
148
+James Huston <james@jameshuston.net>
149
+Erick Ruiz de Chávez <erickrdch@gmail.com>
150
+David Bonner <dbonner@cogolabs.com>
151
+Akintayo Akinwunmi <aakinwunmi@judge.com>
152
+MORGAN <morgan@morgangraphics.com>
153
+Ismail Khair <ismail.khair@gmail.com>
154
+Carl Danley <carldanley@gmail.com>
155
+Mike Petrovich <michael.c.petrovich@gmail.com>
156
+Greg Lavallee <greglavallee@wapolabs.com>
157
+Daniel Gálvez <dgalvez@editablething.com>
158
+Sai Lung Wong <sai.wong@huffingtonpost.com>
159
+Tom H Fuertes <TomFuertes@gmail.com>
160
+Roland Eckl <eckl.roland@googlemail.com>
161
+Jay Merrifield <fracmak@gmail.com>
162
+Allen J Schmidt Jr <cobrasoft@gmail.com>
163
+Jonathan Sampson <jjdsampson@gmail.com>
164
+Marcel Greter <marcel.greter@ocbnet.ch>
165
+Matthias Jäggli <matthias.jaeggli@gmail.com>
166
+David Fox <dfoxinator@gmail.com>
167
+Yiming He <yiminghe@gmail.com>
168
+Devin Cooper <cooper.semantics@gmail.com>
169
+Paul Ramos <paul.b.ramos@gmail.com>
170
+Rod Vagg <rod@vagg.org>
171
+Bennett Sorbo <bsorbo@gmail.com>
172
+Sebastian Burkhard <sebi.burkhard@gmail.com>
173
+Zachary Adam Kaplan <razic@viralkitty.com>
174
+nanto_vi <nanto@moon.email.ne.jp>
175
+nanto <nanto@moon.email.ne.jp>
176
+Danil Somsikov <danilasomsikov@gmail.com>
177
+Ryunosuke SATO <tricknotes.rs@gmail.com>
178
+Jean Boussier <jean.boussier@gmail.com>
179
+Adam Coulombe <me@adam.co>
180
+Andrew Plummer <plummer.andrew@gmail.com>
181
+Mark Raddatz <mraddatz@gmail.com>
182
+Isaac Z. Schlueter <i@izs.me>
183
+Karl Sieburg <ksieburg@yahoo.com>
184
+Pascal Borreli <pascal@borreli.com>
185
+Nguyen Phuc Lam <ruado1987@gmail.com>
186
+Dmitry Gusev <dmitry.gusev@gmail.com>
187
+Michał Gołębiowski-Owczarek <m.goleb@gmail.com>
188
+Li Xudong <istonelee@gmail.com>
189
+Steven Benner <admin@stevenbenner.com>
190
+Tom H Fuertes <tomfuertes@gmail.com>
191
+Renato Oliveira dos Santos <ros3@cin.ufpe.br>
192
+ros3cin <ros3@cin.ufpe.br>
193
+Jason Bedard <jason+jquery@jbedard.ca>
194
+Kyle Robinson Young <kyle@dontkry.com>
195
+Chris Talkington <chris@talkingtontech.com>
196
+Eddie Monge <eddie@eddiemonge.com>
197
+Terry Jones <terry@jon.es>
198
+Jason Merino <jasonmerino@gmail.com>
199
+Jeremy Dunck <jdunck@gmail.com>
200
+Chris Price <price.c@gmail.com>
201
+Guy Bedford <guybedford@gmail.com>
202
+Amey Sakhadeo <me@ameyms.com>
203
+Mike Sidorov <mikes.ekb@gmail.com>
204
+Anthony Ryan <anthonyryan1@gmail.com>
205
+Dominik D. Geyer <dominik.geyer@gmail.com>
206
+George Kats <katsgeorgeek@gmail.com>
207
+Lihan Li <frankieteardrop@gmail.com>
208
+Ronny Springer <springer.ronny@gmail.com>
209
+Chris Antaki <ChrisAntaki@gmail.com>
210
+Marian Sollmann <marian.sollmann@cargomedia.ch>
211
+njhamann <njhamann@gmail.com>
212
+Ilya Kantor <iliakan@gmail.com>
213
+David Hong <d.hong@me.com>
214
+John Paul <john@johnkpaul.com>
215
+Jakob Stoeck <jakob@pokermania.de>
216
+Christopher Jones <chris@cjqed.com>
217
+Forbes Lindesay <forbes@lindesay.co.uk>
218
+S. Andrew Sheppard <andrew@wq.io>
219
+Leonardo Balter <leonardo.balter@gmail.com>
220
+Roman Reiß <me@silverwind.io>
221
+Benjy Cui <benjytrys@gmail.com>
222
+Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com>
223
+John Hoven <hovenj@gmail.com>
224
+Philip Jägenstedt <philip@foolip.org>
225
+Christian Kosmowski <ksmwsk@gmail.com>
226
+Liang Peng <poppinlp@gmail.com>
227
+TJ VanToll <tj.vantoll@gmail.com>
228
+Senya Pugach <upisfree@outlook.com>
229
+Aurelio De Rosa <aurelioderosa@gmail.com>
230
+Nazar Mokrynskyi <nazar@mokrynskyi.com>
231
+Amit Merchant <bullredeyes@gmail.com>
232
+Jason Bedard <jason+github@jbedard.ca>
233
+Arthur Verschaeve <contact@arthurverschaeve.be>
234
+Dan Hart <danhart@notonthehighstreet.com>
235
+Bin Xin <rhyzix@gmail.com>
236
+David Corbacho <davidcorbacho@gmail.com>
237
+Veaceslav Grimalschi <grimalschi@yandex.ru>
238
+Daniel Husar <dano.husar@gmail.com>
239
+Frederic Hemberger <mail@frederic-hemberger.de>
240
+Ben Toews <mastahyeti@gmail.com>
241
+Aditya Raghavan <araghavan3@gmail.com>
242
+Victor Homyakov <vkhomyackov@gmail.com>
243
+Shivaji Varma <contact@shivajivarma.com>
244
+Nicolas HENRY <icewil@gmail.com>
245
+Anne-Gaelle Colom <coloma@westminster.ac.uk>
246
+George Mauer <gmauer@gmail.com>
247
+Leonardo Braga <leonardo.braga@gmail.com>
248
+Stephen Edgar <stephen@netweb.com.au>
249
+Thomas Tortorini <thomastortorini@gmail.com>
250
+Winston Howes <winstonhowes@gmail.com>
251
+Jon Hester <jon.d.hester@gmail.com>
252
+Alexander O'Mara <me@alexomara.com>
253
+Bastian Buchholz <buchholz.bastian@googlemail.com>
254
+Arthur Stolyar <nekr.fabula@gmail.com>
255
+Calvin Metcalf <calvin.metcalf@gmail.com>
256
+Mu Haibao <mhbseal@163.com>
257
+Richard McDaniel <rm0026@uah.edu>
258
+Chris Rebert <github@rebertia.com>
259
+Gabriel Schulhof <gabriel.schulhof@intel.com>
260
+Gilad Peleg <giladp007@gmail.com>
261
+Martin Naumann <martin@geekonaut.de>
262
+Marek Lewandowski <m.lewandowski@cksource.com>
263
+Bruno Pérel <brunoperel@gmail.com>
264
+Reed Loden <reed@reedloden.com>
265
+Daniel Nill <daniellnill@gmail.com>
266
+Yongwoo Jeon <yongwoo.jeon@navercorp.com>
267
+Sean Henderson <seanh.za@gmail.com>
268
+Richard Kraaijenhagen <stdin+git@riichard.com>
269
+Connor Atherton <c.liam.atherton@gmail.com>
270
+Gary Ye <garysye@gmail.com>
271
+Christian Grete <webmaster@christiangrete.com>
272
+Liza Ramo <liza.h.ramo@gmail.com>
273
+Julian Alexander Murillo <julian.alexander.murillo@gmail.com>
274
+Joelle Fleurantin <joasqueeniebee@gmail.com>
275
+Jae Sung Park <alberto.park@gmail.com>
276
+Jun Sun <klsforever@gmail.com>
277
+Josh Soref <apache@soref.com>
278
+Henry Wong <henryw4k@gmail.com>
279
+Jon Dufresne <jon.dufresne@gmail.com>
280
+Martijn W. van der Lee <martijn@vanderlee.com>
281
+Devin Wilson <dwilson6.github@gmail.com>
282
+Steve Mao <maochenyan@gmail.com>
283
+Zack Hall <zackhall@outlook.com>
284
+Bernhard M. Wiedemann <jquerybmw@lsmod.de>
285
+Todor Prikumov <tono_pr@abv.bg>
286
+Jha Naman <createnaman@gmail.com>
287
+William Robinet <william.robinet@conostix.com>
288
+Alexander Lisianoi <all3fox@gmail.com>
289
+Vitaliy Terziev <vitaliyterziev@gmail.com>
290
+Joe Trumbull <trumbull.j@gmail.com>
291
+Alexander K <xpyro@ya.ru>
292
+Damian Senn <jquery@topaxi.codes>
293
+Ralin Chimev <ralin.chimev@gmail.com>
294
+Felipe Sateler <fsateler@gmail.com>
295
+Christophe Tafani-Dereeper <christophetd@hotmail.fr>
296
+Manoj Kumar <nithmanoj@gmail.com>
297
+David Broder-Rodgers <broder93@gmail.com>
298
+Alex Louden <alex@louden.com>
299
+Alex Padilla <alexonezero@outlook.com>
300
+南漂一卒 <shiy007@qq.com>
301
+karan-96 <karanbatra96@gmail.com>
302
+Boom Lee <teabyii@gmail.com>
303
+Andreas Solleder <asol@num42.de>
304
+CDAGaming <cstack2011@yahoo.com>
305
+Pierre Spring <pierre@nelm.io>
306
+Shashanka Nataraj <shashankan.10@gmail.com>
307
+Erik Lax <erik@datahack.se>
308
+Matan Kotler-Berkowitz <205matan@gmail.com>
309
+Jordan Beland <jordan.beland@gmail.com>
310
+Henry Zhu <hi@henryzoo.com>
311
+Saptak Sengupta <saptak013@gmail.com>
312
+Nilton Cesar <niltoncms@gmail.com>
313
+basil.belokon <basil.belokon@gmail.com>
314
+tmybr11 <tomas.perone@gmail.com>
315
+Luis Emilio Velasco Sanchez <emibloque@gmail.com>
316
+Ed S <ejsanders@gmail.com>
317
+Bert Zhang <enbo@users.noreply.github.com>
318
+Andrei Fangli <andrei_fangli@outlook.com>
319
+Marja Hölttä <marja.holtta@gmail.com>
320
+abnud1 <ahmad13932013@hotmail.com>
321
+buddh4 <mail@jharrer.de>

+ 20
- 0
platforms/android/app/src/main/assets/www/jquery/LICENSE.txt View File

@@ -0,0 +1,20 @@
1
+Copyright JS Foundation and other contributors, https://js.foundation/
2
+
3
+Permission is hereby granted, free of charge, to any person obtaining
4
+a copy of this software and associated documentation files (the
5
+"Software"), to deal in the Software without restriction, including
6
+without limitation the rights to use, copy, modify, merge, publish,
7
+distribute, sublicense, and/or sell copies of the Software, and to
8
+permit persons to whom the Software is furnished to do so, subject to
9
+the following conditions:
10
+
11
+The above copyright notice and this permission notice shall be
12
+included in all copies or substantial portions of the Software.
13
+
14
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 67
- 0
platforms/android/app/src/main/assets/www/jquery/README.md View File

@@ -0,0 +1,67 @@
1
+# jQuery
2
+
3
+> jQuery is a fast, small, and feature-rich JavaScript library.
4
+
5
+For information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/).
6
+For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery).
7
+
8
+If upgrading, please see the [blog post for 3.4.1](https://blog.jquery.com/2019/05/01/jquery-3-4-1-triggering-focus-events-in-ie-and-finding-root-elements-in-ios-10/). This includes notable differences from the previous version and a more readable changelog.
9
+
10
+## Including jQuery
11
+
12
+Below are some of the most common ways to include jQuery.
13
+
14
+### Browser
15
+
16
+#### Script tag
17
+
18
+```html
19
+<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
20
+```
21
+
22
+#### Babel
23
+
24
+[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively.
25
+
26
+```js
27
+import $ from "jquery";
28
+```
29
+
30
+#### Browserify/Webpack
31
+
32
+There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this...
33
+
34
+```js
35
+var $ = require("jquery");
36
+```
37
+
38
+#### AMD (Asynchronous Module Definition)
39
+
40
+AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html).
41
+
42
+```js
43
+define(["jquery"], function($) {
44
+
45
+});
46
+```
47
+
48
+### Node
49
+
50
+To include jQuery in [Node](nodejs.org), first install with npm.
51
+
52
+```sh
53
+npm install jquery
54
+```
55
+
56
+For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes.
57
+
58
+```js
59
+require("jsdom").env("", function(err, window) {
60
+	if (err) {
61
+		console.error(err);
62
+		return;
63
+	}
64
+
65
+	var $ = require("jquery")(window);
66
+});
67
+```

+ 14
- 0
platforms/android/app/src/main/assets/www/jquery/bower.json View File

@@ -0,0 +1,14 @@
1
+{
2
+  "name": "jquery",
3
+  "main": "dist/jquery.js",
4
+  "license": "MIT",
5
+  "ignore": [
6
+    "package.json"
7
+  ],
8
+  "keywords": [
9
+    "jquery",
10
+    "javascript",
11
+    "browser",
12
+    "library"
13
+  ]
14
+}

+ 399
- 0
platforms/android/app/src/main/assets/www/jquery/dist/core.js View File

@@ -0,0 +1,399 @@
1
+/* global Symbol */
2
+// Defining this global in .eslintrc.json would create a danger of using the global
3
+// unguarded in another place, it seems safer to define global only for this module
4
+
5
+define( [
6
+	"./var/arr",
7
+	"./var/document",
8
+	"./var/getProto",
9
+	"./var/slice",
10
+	"./var/concat",
11
+	"./var/push",
12
+	"./var/indexOf",
13
+	"./var/class2type",
14
+	"./var/toString",
15
+	"./var/hasOwn",
16
+	"./var/fnToString",
17
+	"./var/ObjectFunctionString",
18
+	"./var/support",
19
+	"./var/isFunction",
20
+	"./var/isWindow",
21
+	"./core/DOMEval",
22
+	"./core/toType"
23
+], function( arr, document, getProto, slice, concat, push, indexOf,
24
+	class2type, toString, hasOwn, fnToString, ObjectFunctionString,
25
+	support, isFunction, isWindow, DOMEval, toType ) {
26
+
27
+"use strict";
28
+
29
+var
30
+	version = "3.4.1",
31
+
32
+	// Define a local copy of jQuery
33
+	jQuery = function( selector, context ) {
34
+
35
+		// The jQuery object is actually just the init constructor 'enhanced'
36
+		// Need init if jQuery is called (just allow error to be thrown if not included)
37
+		return new jQuery.fn.init( selector, context );
38
+	},
39
+
40
+	// Support: Android <=4.0 only
41
+	// Make sure we trim BOM and NBSP
42
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
43
+
44
+jQuery.fn = jQuery.prototype = {
45
+
46
+	// The current version of jQuery being used
47
+	jquery: version,
48
+
49
+	constructor: jQuery,
50
+
51
+	// The default length of a jQuery object is 0
52
+	length: 0,
53
+
54
+	toArray: function() {
55
+		return slice.call( this );
56
+	},
57
+
58
+	// Get the Nth element in the matched element set OR
59
+	// Get the whole matched element set as a clean array
60
+	get: function( num ) {
61
+
62
+		// Return all the elements in a clean array
63
+		if ( num == null ) {
64
+			return slice.call( this );
65
+		}
66
+
67
+		// Return just the one element from the set
68
+		return num < 0 ? this[ num + this.length ] : this[ num ];
69
+	},
70
+
71
+	// Take an array of elements and push it onto the stack
72
+	// (returning the new matched element set)
73
+	pushStack: function( elems ) {
74
+
75
+		// Build a new jQuery matched element set
76
+		var ret = jQuery.merge( this.constructor(), elems );
77
+
78
+		// Add the old object onto the stack (as a reference)
79
+		ret.prevObject = this;
80
+
81
+		// Return the newly-formed element set
82
+		return ret;
83
+	},
84
+
85
+	// Execute a callback for every element in the matched set.
86
+	each: function( callback ) {
87
+		return jQuery.each( this, callback );
88
+	},
89
+
90
+	map: function( callback ) {
91
+		return this.pushStack( jQuery.map( this, function( elem, i ) {
92
+			return callback.call( elem, i, elem );
93
+		} ) );
94
+	},
95
+
96
+	slice: function() {
97
+		return this.pushStack( slice.apply( this, arguments ) );
98
+	},
99
+
100
+	first: function() {
101
+		return this.eq( 0 );
102
+	},
103
+
104
+	last: function() {
105
+		return this.eq( -1 );
106
+	},
107
+
108
+	eq: function( i ) {
109
+		var len = this.length,
110
+			j = +i + ( i < 0 ? len : 0 );
111
+		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
112
+	},
113
+
114
+	end: function() {
115
+		return this.prevObject || this.constructor();
116
+	},
117
+
118
+	// For internal use only.
119
+	// Behaves like an Array's method, not like a jQuery method.
120
+	push: push,
121
+	sort: arr.sort,
122
+	splice: arr.splice
123
+};
124
+
125
+jQuery.extend = jQuery.fn.extend = function() {
126
+	var options, name, src, copy, copyIsArray, clone,
127
+		target = arguments[ 0 ] || {},
128
+		i = 1,
129
+		length = arguments.length,
130
+		deep = false;
131
+
132
+	// Handle a deep copy situation
133
+	if ( typeof target === "boolean" ) {
134
+		deep = target;
135
+
136
+		// Skip the boolean and the target
137
+		target = arguments[ i ] || {};
138
+		i++;
139
+	}
140
+
141
+	// Handle case when target is a string or something (possible in deep copy)
142
+	if ( typeof target !== "object" && !isFunction( target ) ) {
143
+		target = {};
144
+	}
145
+
146
+	// Extend jQuery itself if only one argument is passed
147
+	if ( i === length ) {
148
+		target = this;
149
+		i--;
150
+	}
151
+
152
+	for ( ; i < length; i++ ) {
153
+
154
+		// Only deal with non-null/undefined values
155
+		if ( ( options = arguments[ i ] ) != null ) {
156
+
157
+			// Extend the base object
158
+			for ( name in options ) {
159
+				copy = options[ name ];
160
+
161
+				// Prevent Object.prototype pollution
162
+				// Prevent never-ending loop
163
+				if ( name === "__proto__" || target === copy ) {
164
+					continue;
165
+				}
166
+
167
+				// Recurse if we're merging plain objects or arrays
168
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
169
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
170
+					src = target[ name ];
171
+
172
+					// Ensure proper type for the source value
173
+					if ( copyIsArray && !Array.isArray( src ) ) {
174
+						clone = [];
175
+					} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
176
+						clone = {};
177
+					} else {
178
+						clone = src;
179
+					}
180
+					copyIsArray = false;
181
+
182
+					// Never move original objects, clone them
183
+					target[ name ] = jQuery.extend( deep, clone, copy );
184
+
185
+				// Don't bring in undefined values
186
+				} else if ( copy !== undefined ) {
187
+					target[ name ] = copy;
188
+				}
189
+			}
190
+		}
191
+	}
192
+
193
+	// Return the modified object
194
+	return target;
195
+};
196
+
197
+jQuery.extend( {
198
+
199
+	// Unique for each copy of jQuery on the page
200
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
201
+
202
+	// Assume jQuery is ready without the ready module
203
+	isReady: true,
204
+
205
+	error: function( msg ) {
206
+		throw new Error( msg );
207
+	},
208
+
209
+	noop: function() {},
210
+
211
+	isPlainObject: function( obj ) {
212
+		var proto, Ctor;
213
+
214
+		// Detect obvious negatives
215
+		// Use toString instead of jQuery.type to catch host objects
216
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
217
+			return false;
218
+		}
219
+
220
+		proto = getProto( obj );
221
+
222
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
223
+		if ( !proto ) {
224
+			return true;
225
+		}
226
+
227
+		// Objects with prototype are plain iff they were constructed by a global Object function
228
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
229
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
230
+	},
231
+
232
+	isEmptyObject: function( obj ) {
233
+		var name;
234
+
235
+		for ( name in obj ) {
236
+			return false;
237
+		}
238
+		return true;
239
+	},
240
+
241
+	// Evaluates a script in a global context
242
+	globalEval: function( code, options ) {
243
+		DOMEval( code, { nonce: options && options.nonce } );
244
+	},
245
+
246
+	each: function( obj, callback ) {
247
+		var length, i = 0;
248
+
249
+		if ( isArrayLike( obj ) ) {
250
+			length = obj.length;
251
+			for ( ; i < length; i++ ) {
252
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
253
+					break;
254
+				}
255
+			}
256
+		} else {
257
+			for ( i in obj ) {
258
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
259
+					break;
260
+				}
261
+			}
262
+		}
263
+
264
+		return obj;
265
+	},
266
+
267
+	// Support: Android <=4.0 only
268
+	trim: function( text ) {
269
+		return text == null ?
270
+			"" :
271
+			( text + "" ).replace( rtrim, "" );
272
+	},
273
+
274
+	// results is for internal usage only
275
+	makeArray: function( arr, results ) {
276
+		var ret = results || [];
277
+
278
+		if ( arr != null ) {
279
+			if ( isArrayLike( Object( arr ) ) ) {
280
+				jQuery.merge( ret,
281
+					typeof arr === "string" ?
282
+					[ arr ] : arr
283
+				);
284
+			} else {
285
+				push.call( ret, arr );
286
+			}
287
+		}
288
+
289
+		return ret;
290
+	},
291
+
292
+	inArray: function( elem, arr, i ) {
293
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
294
+	},
295
+
296
+	// Support: Android <=4.0 only, PhantomJS 1 only
297
+	// push.apply(_, arraylike) throws on ancient WebKit
298
+	merge: function( first, second ) {
299
+		var len = +second.length,
300
+			j = 0,
301
+			i = first.length;
302
+
303
+		for ( ; j < len; j++ ) {
304
+			first[ i++ ] = second[ j ];
305
+		}
306
+
307
+		first.length = i;
308
+
309
+		return first;
310
+	},
311
+
312
+	grep: function( elems, callback, invert ) {
313
+		var callbackInverse,
314
+			matches = [],
315
+			i = 0,
316
+			length = elems.length,
317
+			callbackExpect = !invert;
318
+
319
+		// Go through the array, only saving the items
320
+		// that pass the validator function
321
+		for ( ; i < length; i++ ) {
322
+			callbackInverse = !callback( elems[ i ], i );
323
+			if ( callbackInverse !== callbackExpect ) {
324
+				matches.push( elems[ i ] );
325
+			}
326
+		}
327
+
328
+		return matches;
329
+	},
330
+
331
+	// arg is for internal usage only
332
+	map: function( elems, callback, arg ) {
333
+		var length, value,
334
+			i = 0,
335
+			ret = [];
336
+
337
+		// Go through the array, translating each of the items to their new values
338
+		if ( isArrayLike( elems ) ) {
339
+			length = elems.length;
340
+			for ( ; i < length; i++ ) {
341
+				value = callback( elems[ i ], i, arg );
342
+
343
+				if ( value != null ) {
344
+					ret.push( value );
345
+				}
346
+			}
347
+
348
+		// Go through every key on the object,
349
+		} else {
350
+			for ( i in elems ) {
351
+				value = callback( elems[ i ], i, arg );
352
+
353
+				if ( value != null ) {
354
+					ret.push( value );
355
+				}
356
+			}
357
+		}
358
+
359
+		// Flatten any nested arrays
360
+		return concat.apply( [], ret );
361
+	},
362
+
363
+	// A global GUID counter for objects
364
+	guid: 1,
365
+
366
+	// jQuery.support is not used in Core but other projects attach their
367
+	// properties to it so it needs to exist.
368
+	support: support
369
+} );
370
+
371
+if ( typeof Symbol === "function" ) {
372
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
373
+}
374
+
375
+// Populate the class2type map
376
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
377
+function( i, name ) {
378
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
379
+} );
380
+
381
+function isArrayLike( obj ) {
382
+
383
+	// Support: real iOS 8.2 only (not reproducible in simulator)
384
+	// `in` check used to prevent JIT error (gh-2145)
385
+	// hasOwn isn't used here due to false negatives
386
+	// regarding Nodelist length in IE
387
+	var length = !!obj && "length" in obj && obj.length,
388
+		type = toType( obj );
389
+
390
+	if ( isFunction( obj ) || isWindow( obj ) ) {
391
+		return false;
392
+	}
393
+
394
+	return type === "array" || length === 0 ||
395
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
396
+}
397
+
398
+return jQuery;
399
+} );

+ 10598
- 0
platforms/android/app/src/main/assets/www/jquery/dist/jquery.js
File diff suppressed because it is too large
View File


+ 2
- 0
platforms/android/app/src/main/assets/www/jquery/dist/jquery.min.js
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/jquery/dist/jquery.min.map
File diff suppressed because it is too large
View File


+ 8495
- 0
platforms/android/app/src/main/assets/www/jquery/dist/jquery.slim.js
File diff suppressed because it is too large
View File


+ 2
- 0
platforms/android/app/src/main/assets/www/jquery/dist/jquery.slim.min.js
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/jquery/dist/jquery.slim.min.map
File diff suppressed because it is too large
View File


+ 36
- 0
platforms/android/app/src/main/assets/www/jquery/external/sizzle/LICENSE.txt View File

@@ -0,0 +1,36 @@
1
+Copyright JS Foundation and other contributors, https://js.foundation/
2
+
3
+This software consists of voluntary contributions made by many
4
+individuals. For exact contribution history, see the revision history
5
+available at https://github.com/jquery/sizzle
6
+
7
+The following license applies to all parts of this software except as
8
+documented below:
9
+
10
+====
11
+
12
+Permission is hereby granted, free of charge, to any person obtaining
13
+a copy of this software and associated documentation files (the
14
+"Software"), to deal in the Software without restriction, including
15
+without limitation the rights to use, copy, modify, merge, publish,
16
+distribute, sublicense, and/or sell copies of the Software, and to
17
+permit persons to whom the Software is furnished to do so, subject to
18
+the following conditions:
19
+
20
+The above copyright notice and this permission notice shall be
21
+included in all copies or substantial portions of the Software.
22
+
23
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
27
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
+
31
+====
32
+
33
+All files located in the node_modules and external directories are
34
+externally maintained libraries used by this software which have their
35
+own licenses; we recommend you read them, as their terms may differ from
36
+the terms above.

+ 2282
- 0
platforms/android/app/src/main/assets/www/jquery/external/sizzle/dist/sizzle.js
File diff suppressed because it is too large
View File


+ 3
- 0
platforms/android/app/src/main/assets/www/jquery/external/sizzle/dist/sizzle.min.js
File diff suppressed because it is too large
View File


+ 1
- 0
platforms/android/app/src/main/assets/www/jquery/external/sizzle/dist/sizzle.min.map
File diff suppressed because it is too large
View File


+ 139
- 0
platforms/android/app/src/main/assets/www/jquery/package.json View File

@@ -0,0 +1,139 @@
1
+{
2
+  "_from": "jquery",
3
+  "_id": "jquery@3.4.1",
4
+  "_inBundle": false,
5
+  "_integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==",
6
+  "_location": "/jquery",
7
+  "_phantomChildren": {},
8
+  "_requested": {
9
+    "type": "tag",
10
+    "registry": true,
11
+    "raw": "jquery",
12
+    "name": "jquery",
13
+    "escapedName": "jquery",
14
+    "rawSpec": "",
15
+    "saveSpec": null,
16
+    "fetchSpec": "latest"
17
+  },
18
+  "_requiredBy": [
19
+    "#USER",
20
+    "/"
21
+  ],
22
+  "_resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
23
+  "_shasum": "714f1f8d9dde4bdfa55764ba37ef214630d80ef2",
24
+  "_spec": "jquery",
25
+  "_where": "/home/christian",
26
+  "author": {
27
+    "name": "JS Foundation and other contributors",
28
+    "url": "https://github.com/jquery/jquery/blob/3.4.1/AUTHORS.txt"
29
+  },
30
+  "bugs": {
31
+    "url": "https://github.com/jquery/jquery/issues"
32
+  },
33
+  "bundleDependencies": false,
34
+  "commitplease": {
35
+    "nohook": true,
36
+    "components": [
37
+      "Docs",
38
+      "Tests",
39
+      "Build",
40
+      "Support",
41
+      "Release",
42
+      "Core",
43
+      "Ajax",
44
+      "Attributes",
45
+      "Callbacks",
46
+      "CSS",
47
+      "Data",
48
+      "Deferred",
49
+      "Deprecated",
50
+      "Dimensions",
51
+      "Effects",
52
+      "Event",
53
+      "Manipulation",
54
+      "Offset",
55
+      "Queue",
56
+      "Selector",
57
+      "Serialize",
58
+      "Traversing",
59
+      "Wrap"
60
+    ],
61
+    "markerPattern": "^((clos|fix|resolv)(e[sd]|ing))|^(refs?)",
62
+    "ticketPattern": "^((Closes|Fixes) ([a-zA-Z]{2,}-)[0-9]+)|^(Refs? [^#])"
63
+  },
64
+  "dependencies": {},
65
+  "deprecated": false,
66
+  "description": "JavaScript library for DOM operations",
67
+  "devDependencies": {
68
+    "@babel/core": "7.3.3",
69
+    "@babel/plugin-transform-for-of": "7.2.0",
70
+    "commitplease": "3.2.0",
71
+    "core-js": "2.6.5",
72
+    "eslint-config-jquery": "1.0.1",
73
+    "grunt": "1.0.3",
74
+    "grunt-babel": "8.0.0",
75
+    "grunt-cli": "1.3.2",
76
+    "grunt-compare-size": "0.4.2",
77
+    "grunt-contrib-uglify": "3.4.0",
78
+    "grunt-contrib-watch": "1.1.0",
79
+    "grunt-eslint": "21.0.0",
80
+    "grunt-git-authors": "3.2.0",
81
+    "grunt-jsonlint": "1.1.0",
82
+    "grunt-karma": "3.0.1",
83
+    "grunt-newer": "1.3.0",
84
+    "grunt-npmcopy": "0.1.0",
85
+    "gzip-js": "0.3.2",
86
+    "husky": "1.3.1",
87
+    "insight": "0.10.1",
88
+    "jsdom": "13.2.0",
89
+    "karma": "4.0.1",
90
+    "karma-browserstack-launcher": "1.4.0",
91
+    "karma-chrome-launcher": "2.2.0",
92
+    "karma-firefox-launcher": "1.1.0",
93
+    "karma-ie-launcher": "1.0.0",
94
+    "karma-jsdom-launcher": "7.1.0",
95
+    "karma-qunit": "3.0.0",
96
+    "load-grunt-tasks": "4.0.0",
97
+    "native-promise-only": "0.8.1",
98
+    "promises-aplus-tests": "2.1.2",
99
+    "q": "1.5.1",
100
+    "qunit": "2.9.2",
101
+    "raw-body": "2.3.3",
102
+    "requirejs": "2.3.6",
103
+    "sinon": "2.3.7",
104
+    "sizzle": "2.3.4",
105
+    "strip-json-comments": "2.0.1",
106
+    "testswarm": "1.1.0",
107
+    "uglify-js": "3.4.7"
108
+  },
109
+  "homepage": "https://jquery.com",
110
+  "husky": {
111
+    "hooks": {
112
+      "commit-msg": "node node_modules/commitplease",
113
+      "pre-commit": "grunt lint:newer qunit_fixture"
114
+    }
115
+  },
116
+  "keywords": [
117
+    "jquery",
118
+    "javascript",
119
+    "browser",
120
+    "library"
121
+  ],
122
+  "license": "MIT",
123
+  "main": "dist/jquery.js",
124
+  "name": "jquery",
125
+  "repository": {
126
+    "type": "git",
127
+    "url": "git+https://github.com/jquery/jquery.git"
128
+  },
129
+  "scripts": {
130
+    "build": "npm install && grunt",
131
+    "jenkins": "npm run test:browserless",
132
+    "start": "grunt watch",
133
+    "test": "grunt && grunt test:slow && grunt karma:main",
134
+    "test:browser": "grunt && grunt karma:main",
135
+    "test:browserless": "grunt && grunt test:slow"
136
+  },
137
+  "title": "jQuery",
138
+  "version": "3.4.1"
139
+}

+ 14
- 0
platforms/android/app/src/main/assets/www/jquery/src/.eslintrc.json View File

@@ -0,0 +1,14 @@
1
+{
2
+	"root": true,
3
+
4
+	"extends": "../.eslintrc-browser.json",
5
+
6
+	"overrides": [
7
+		{
8
+			"files": "wrapper.js",
9
+			"globals": {
10
+				"jQuery": false
11
+			}
12
+		}
13
+	]
14
+}

+ 858
- 0
platforms/android/app/src/main/assets/www/jquery/src/ajax.js View File

@@ -0,0 +1,858 @@
1
+define( [
2
+	"./core",
3
+	"./var/document",
4
+	"./var/isFunction",
5
+	"./var/rnothtmlwhite",
6
+	"./ajax/var/location",
7
+	"./ajax/var/nonce",
8
+	"./ajax/var/rquery",
9
+
10
+	"./core/init",
11
+	"./ajax/parseXML",
12
+	"./event/trigger",
13
+	"./deferred",
14
+	"./serialize" // jQuery.param
15
+], function( jQuery, document, isFunction, rnothtmlwhite, location, nonce, rquery ) {
16
+
17
+"use strict";
18
+
19
+var
20
+	r20 = /%20/g,
21
+	rhash = /#.*$/,
22
+	rantiCache = /([?&])_=[^&]*/,
23
+	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
24
+
25
+	// #7653, #8125, #8152: local protocol detection
26
+	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
27
+	rnoContent = /^(?:GET|HEAD)$/,
28
+	rprotocol = /^\/\//,
29
+
30
+	/* Prefilters
31
+	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
32
+	 * 2) These are called:
33
+	 *    - BEFORE asking for a transport
34
+	 *    - AFTER param serialization (s.data is a string if s.processData is true)
35
+	 * 3) key is the dataType
36
+	 * 4) the catchall symbol "*" can be used
37
+	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
38
+	 */
39
+	prefilters = {},
40
+
41
+	/* Transports bindings
42
+	 * 1) key is the dataType
43
+	 * 2) the catchall symbol "*" can be used
44
+	 * 3) selection will start with transport dataType and THEN go to "*" if needed
45
+	 */
46
+	transports = {},
47
+
48
+	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
49
+	allTypes = "*/".concat( "*" ),
50
+
51
+	// Anchor tag for parsing the document origin
52
+	originAnchor = document.createElement( "a" );
53
+	originAnchor.href = location.href;
54
+
55
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
56
+function addToPrefiltersOrTransports( structure ) {
57
+
58
+	// dataTypeExpression is optional and defaults to "*"
59
+	return function( dataTypeExpression, func ) {
60
+
61
+		if ( typeof dataTypeExpression !== "string" ) {
62
+			func = dataTypeExpression;
63
+			dataTypeExpression = "*";
64
+		}
65
+
66
+		var dataType,
67
+			i = 0,
68
+			dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
69
+
70
+		if ( isFunction( func ) ) {
71
+
72
+			// For each dataType in the dataTypeExpression
73
+			while ( ( dataType = dataTypes[ i++ ] ) ) {
74
+
75
+				// Prepend if requested
76
+				if ( dataType[ 0 ] === "+" ) {
77
+					dataType = dataType.slice( 1 ) || "*";
78
+					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
79
+
80
+				// Otherwise append
81
+				} else {
82
+					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
83
+				}
84
+			}
85
+		}
86
+	};
87
+}
88
+
89
+// Base inspection function for prefilters and transports
90
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
91
+
92
+	var inspected = {},
93
+		seekingTransport = ( structure === transports );
94
+
95
+	function inspect( dataType ) {
96
+		var selected;
97
+		inspected[ dataType ] = true;
98
+		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
99
+			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
100
+			if ( typeof dataTypeOrTransport === "string" &&
101
+				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
102
+
103
+				options.dataTypes.unshift( dataTypeOrTransport );
104
+				inspect( dataTypeOrTransport );
105
+				return false;
106
+			} else if ( seekingTransport ) {
107
+				return !( selected = dataTypeOrTransport );
108
+			}
109
+		} );
110
+		return selected;
111
+	}
112
+
113
+	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
114
+}
115
+
116
+// A special extend for ajax options
117
+// that takes "flat" options (not to be deep extended)
118
+// Fixes #9887
119
+function ajaxExtend( target, src ) {
120
+	var key, deep,
121
+		flatOptions = jQuery.ajaxSettings.flatOptions || {};
122
+
123
+	for ( key in src ) {
124
+		if ( src[ key ] !== undefined ) {
125
+			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
126
+		}
127
+	}
128
+	if ( deep ) {
129
+		jQuery.extend( true, target, deep );
130
+	}
131
+
132
+	return target;
133
+}
134
+
135
+/* Handles responses to an ajax request:
136
+ * - finds the right dataType (mediates between content-type and expected dataType)
137
+ * - returns the corresponding response
138
+ */
139
+function ajaxHandleResponses( s, jqXHR, responses ) {
140
+
141
+	var ct, type, finalDataType, firstDataType,
142
+		contents = s.contents,
143
+		dataTypes = s.dataTypes;
144
+
145
+	// Remove auto dataType and get content-type in the process
146
+	while ( dataTypes[ 0 ] === "*" ) {
147
+		dataTypes.shift();
148
+		if ( ct === undefined ) {
149
+			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
150
+		}
151
+	}
152
+
153
+	// Check if we're dealing with a known content-type
154
+	if ( ct ) {
155
+		for ( type in contents ) {
156
+			if ( contents[ type ] && contents[ type ].test( ct ) ) {
157
+				dataTypes.unshift( type );
158
+				break;
159
+			}
160
+		}
161
+	}
162
+
163
+	// Check to see if we have a response for the expected dataType
164
+	if ( dataTypes[ 0 ] in responses ) {
165
+		finalDataType = dataTypes[ 0 ];
166
+	} else {
167
+
168
+		// Try convertible dataTypes
169
+		for ( type in responses ) {
170
+			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
171
+				finalDataType = type;
172
+				break;
173
+			}
174
+			if ( !firstDataType ) {
175
+				firstDataType = type;
176
+			}
177
+		}
178
+
179
+		// Or just use first one
180
+		finalDataType = finalDataType || firstDataType;
181
+	}
182
+
183
+	// If we found a dataType
184
+	// We add the dataType to the list if needed
185
+	// and return the corresponding response
186
+	if ( finalDataType ) {
187
+		if ( finalDataType !== dataTypes[ 0 ] ) {
188
+			dataTypes.unshift( finalDataType );
189
+		}
190
+		return responses[ finalDataType ];
191
+	}
192
+}
193
+
194
+/* Chain conversions given the request and the original response
195
+ * Also sets the responseXXX fields on the jqXHR instance
196
+ */
197
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
198
+	var conv2, current, conv, tmp, prev,
199
+		converters = {},
200
+
201
+		// Work with a copy of dataTypes in case we need to modify it for conversion
202
+		dataTypes = s.dataTypes.slice();
203
+
204
+	// Create converters map with lowercased keys
205
+	if ( dataTypes[ 1 ] ) {
206
+		for ( conv in s.converters ) {
207
+			converters[ conv.toLowerCase() ] = s.converters[ conv ];
208
+		}
209
+	}
210
+
211
+	current = dataTypes.shift();
212
+
213
+	// Convert to each sequential dataType
214
+	while ( current ) {
215
+
216
+		if ( s.responseFields[ current ] ) {
217
+			jqXHR[ s.responseFields[ current ] ] = response;
218
+		}
219
+
220
+		// Apply the dataFilter if provided
221
+		if ( !prev && isSuccess && s.dataFilter ) {
222
+			response = s.dataFilter( response, s.dataType );
223
+		}
224
+
225
+		prev = current;
226
+		current = dataTypes.shift();
227
+
228
+		if ( current ) {
229
+
230
+			// There's only work to do if current dataType is non-auto
231
+			if ( current === "*" ) {
232
+
233
+				current = prev;
234
+
235
+			// Convert response if prev dataType is non-auto and differs from current
236
+			} else if ( prev !== "*" && prev !== current ) {
237
+
238
+				// Seek a direct converter
239
+				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
240
+
241
+				// If none found, seek a pair
242
+				if ( !conv ) {
243
+					for ( conv2 in converters ) {
244
+
245
+						// If conv2 outputs current
246
+						tmp = conv2.split( " " );
247
+						if ( tmp[ 1 ] === current ) {
248
+
249
+							// If prev can be converted to accepted input
250
+							conv = converters[ prev + " " + tmp[ 0 ] ] ||
251
+								converters[ "* " + tmp[ 0 ] ];
252
+							if ( conv ) {
253
+
254
+								// Condense equivalence converters
255
+								if ( conv === true ) {
256
+									conv = converters[ conv2 ];
257
+
258
+								// Otherwise, insert the intermediate dataType
259
+								} else if ( converters[ conv2 ] !== true ) {
260
+									current = tmp[ 0 ];
261
+									dataTypes.unshift( tmp[ 1 ] );
262
+								}
263
+								break;
264
+							}
265
+						}
266
+					}
267
+				}
268
+
269
+				// Apply converter (if not an equivalence)
270
+				if ( conv !== true ) {
271
+
272
+					// Unless errors are allowed to bubble, catch and return them
273
+					if ( conv && s.throws ) {
274
+						response = conv( response );
275
+					} else {
276
+						try {
277
+							response = conv( response );
278
+						} catch ( e ) {
279
+							return {
280
+								state: "parsererror",
281
+								error: conv ? e : "No conversion from " + prev + " to " + current
282
+							};
283
+						}
284
+					}
285
+				}
286
+			}
287
+		}
288
+	}
289
+
290
+	return { state: "success", data: response };
291
+}
292
+
293
+jQuery.extend( {
294
+
295
+	// Counter for holding the number of active queries
296
+	active: 0,
297
+
298
+	// Last-Modified header cache for next request
299
+	lastModified: {},
300
+	etag: {},
301
+
302
+	ajaxSettings: {
303
+		url: location.href,
304
+		type: "GET",
305
+		isLocal: rlocalProtocol.test( location.protocol ),
306
+		global: true,
307
+		processData: true,
308
+		async: true,
309
+		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
310
+
311
+		/*
312
+		timeout: 0,
313
+		data: null,
314
+		dataType: null,
315
+		username: null,
316
+		password: null,
317
+		cache: null,
318
+		throws: false,
319
+		traditional: false,
320
+		headers: {},
321
+		*/
322
+
323
+		accepts: {
324
+			"*": allTypes,
325
+			text: "text/plain",
326
+			html: "text/html",
327
+			xml: "application/xml, text/xml",
328
+			json: "application/json, text/javascript"
329
+		},
330
+
331
+		contents: {
332
+			xml: /\bxml\b/,
333
+			html: /\bhtml/,
334
+			json: /\bjson\b/
335
+		},
336
+
337
+		responseFields: {
338
+			xml: "responseXML",
339
+			text: "responseText",
340
+			json: "responseJSON"
341
+		},
342
+
343
+		// Data converters
344
+		// Keys separate source (or catchall "*") and destination types with a single space
345
+		converters: {
346
+
347
+			// Convert anything to text
348
+			"* text": String,
349
+
350
+			// Text to html (true = no transformation)
351
+			"text html": true,
352
+
353
+			// Evaluate text as a json expression
354
+			"text json": JSON.parse,
355
+
356
+			// Parse text as xml
357
+			"text xml": jQuery.parseXML
358
+		},
359
+
360
+		// For options that shouldn't be deep extended:
361
+		// you can add your own custom options here if
362
+		// and when you create one that shouldn't be
363
+		// deep extended (see ajaxExtend)
364
+		flatOptions: {
365
+			url: true,
366
+			context: true
367
+		}
368
+	},
369
+
370
+	// Creates a full fledged settings object into target
371
+	// with both ajaxSettings and settings fields.
372
+	// If target is omitted, writes into ajaxSettings.
373
+	ajaxSetup: function( target, settings ) {
374
+		return settings ?
375
+
376
+			// Building a settings object
377
+			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
378
+
379
+			// Extending ajaxSettings
380
+			ajaxExtend( jQuery.ajaxSettings, target );
381
+	},
382
+
383
+	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
384
+	ajaxTransport: addToPrefiltersOrTransports( transports ),
385
+
386
+	// Main method
387
+	ajax: function( url, options ) {
388
+
389
+		// If url is an object, simulate pre-1.5 signature
390
+		if ( typeof url === "object" ) {
391
+			options = url;
392
+			url = undefined;
393
+		}
394
+
395
+		// Force options to be an object
396
+		options = options || {};
397
+
398
+		var transport,
399
+
400
+			// URL without anti-cache param
401
+			cacheURL,
402
+
403
+			// Response headers
404
+			responseHeadersString,
405
+			responseHeaders,
406
+
407
+			// timeout handle
408
+			timeoutTimer,
409
+
410
+			// Url cleanup var
411
+			urlAnchor,
412
+
413
+			// Request state (becomes false upon send and true upon completion)
414
+			completed,
415
+
416
+			// To know if global events are to be dispatched
417
+			fireGlobals,
418
+
419
+			// Loop variable
420
+			i,
421
+
422
+			// uncached part of the url
423
+			uncached,
424
+
425
+			// Create the final options object
426
+			s = jQuery.ajaxSetup( {}, options ),
427
+
428
+			// Callbacks context
429
+			callbackContext = s.context || s,
430
+
431
+			// Context for global events is callbackContext if it is a DOM node or jQuery collection
432
+			globalEventContext = s.context &&
433
+				( callbackContext.nodeType || callbackContext.jquery ) ?
434
+					jQuery( callbackContext ) :
435
+					jQuery.event,
436
+
437
+			// Deferreds
438
+			deferred = jQuery.Deferred(),
439
+			completeDeferred = jQuery.Callbacks( "once memory" ),
440
+
441
+			// Status-dependent callbacks
442
+			statusCode = s.statusCode || {},
443
+
444
+			// Headers (they are sent all at once)
445
+			requestHeaders = {},
446
+			requestHeadersNames = {},
447
+
448
+			// Default abort message
449
+			strAbort = "canceled",
450
+
451
+			// Fake xhr
452
+			jqXHR = {
453
+				readyState: 0,
454
+
455
+				// Builds headers hashtable if needed
456
+				getResponseHeader: function( key ) {
457
+					var match;
458
+					if ( completed ) {
459
+						if ( !responseHeaders ) {
460
+							responseHeaders = {};
461
+							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
462
+								responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
463
+									( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
464
+										.concat( match[ 2 ] );
465
+							}
466
+						}
467
+						match = responseHeaders[ key.toLowerCase() + " " ];
468
+					}
469
+					return match == null ? null : match.join( ", " );
470
+				},
471
+
472
+				// Raw string
473
+				getAllResponseHeaders: function() {
474
+					return completed ? responseHeadersString : null;
475
+				},
476
+
477
+				// Caches the header
478
+				setRequestHeader: function( name, value ) {
479
+					if ( completed == null ) {
480
+						name = requestHeadersNames[ name.toLowerCase() ] =
481
+							requestHeadersNames[ name.toLowerCase() ] || name;
482
+						requestHeaders[ name ] = value;
483
+					}
484
+					return this;
485
+				},
486
+
487
+				// Overrides response content-type header
488
+				overrideMimeType: function( type ) {
489
+					if ( completed == null ) {
490
+						s.mimeType = type;
491
+					}
492
+					return this;
493
+				},
494
+
495
+				// Status-dependent callbacks
496
+				statusCode: function( map ) {
497
+					var code;
498
+					if ( map ) {
499
+						if ( completed ) {
500
+
501
+							// Execute the appropriate callbacks
502
+							jqXHR.always( map[ jqXHR.status ] );
503
+						} else {
504
+
505
+							// Lazy-add the new callbacks in a way that preserves old ones
506
+							for ( code in map ) {
507
+								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
508
+							}
509
+						}
510
+					}
511
+					return this;
512
+				},
513
+
514
+				// Cancel the request
515
+				abort: function( statusText ) {
516
+					var finalText = statusText || strAbort;
517
+					if ( transport ) {
518
+						transport.abort( finalText );
519
+					}
520
+					done( 0, finalText );
521
+					return this;
522
+				}
523
+			};
524
+
525
+		// Attach deferreds
526
+		deferred.promise( jqXHR );
527
+
528
+		// Add protocol if not provided (prefilters might expect it)
529
+		// Handle falsy url in the settings object (#10093: consistency with old signature)
530
+		// We also use the url parameter if available
531
+		s.url = ( ( url || s.url || location.href ) + "" )
532
+			.replace( rprotocol, location.protocol + "//" );
533
+
534
+		// Alias method option to type as per ticket #12004
535
+		s.type = options.method || options.type || s.method || s.type;
536
+
537
+		// Extract dataTypes list
538
+		s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
539
+
540
+		// A cross-domain request is in order when the origin doesn't match the current origin.
541
+		if ( s.crossDomain == null ) {
542
+			urlAnchor = document.createElement( "a" );
543
+
544
+			// Support: IE <=8 - 11, Edge 12 - 15
545
+			// IE throws exception on accessing the href property if url is malformed,
546
+			// e.g. http://example.com:80x/
547
+			try {
548
+				urlAnchor.href = s.url;
549
+
550
+				// Support: IE <=8 - 11 only
551
+				// Anchor's host property isn't correctly set when s.url is relative
552
+				urlAnchor.href = urlAnchor.href;
553
+				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
554
+					urlAnchor.protocol + "//" + urlAnchor.host;
555
+			} catch ( e ) {
556
+
557
+				// If there is an error parsing the URL, assume it is crossDomain,
558
+				// it can be rejected by the transport if it is invalid
559
+				s.crossDomain = true;
560
+			}
561
+		}
562
+
563
+		// Convert data if not already a string
564
+		if ( s.data && s.processData && typeof s.data !== "string" ) {
565
+			s.data = jQuery.param( s.data, s.traditional );
566
+		}
567
+
568
+		// Apply prefilters
569
+		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
570
+
571
+		// If request was aborted inside a prefilter, stop there
572
+		if ( completed ) {
573
+			return jqXHR;
574
+		}
575
+
576
+		// We can fire global events as of now if asked to
577
+		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
578
+		fireGlobals = jQuery.event && s.global;
579
+
580
+		// Watch for a new set of requests
581
+		if ( fireGlobals && jQuery.active++ === 0 ) {
582
+			jQuery.event.trigger( "ajaxStart" );
583
+		}
584
+
585
+		// Uppercase the type
586
+		s.type = s.type.toUpperCase();
587
+
588
+		// Determine if request has content
589
+		s.hasContent = !rnoContent.test( s.type );
590
+
591
+		// Save the URL in case we're toying with the If-Modified-Since
592
+		// and/or If-None-Match header later on
593
+		// Remove hash to simplify url manipulation
594
+		cacheURL = s.url.replace( rhash, "" );
595
+
596
+		// More options handling for requests with no content
597
+		if ( !s.hasContent ) {
598
+
599
+			// Remember the hash so we can put it back
600
+			uncached = s.url.slice( cacheURL.length );
601
+
602
+			// If data is available and should be processed, append data to url
603
+			if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
604
+				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
605
+
606
+				// #9682: remove data so that it's not used in an eventual retry
607
+				delete s.data;
608
+			}
609
+
610
+			// Add or update anti-cache param if needed
611
+			if ( s.cache === false ) {
612
+				cacheURL = cacheURL.replace( rantiCache, "$1" );
613
+				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
614
+			}
615
+
616
+			// Put hash and anti-cache on the URL that will be requested (gh-1732)
617
+			s.url = cacheURL + uncached;
618
+
619
+		// Change '%20' to '+' if this is encoded form body content (gh-2658)
620
+		} else if ( s.data && s.processData &&
621
+			( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
622
+			s.data = s.data.replace( r20, "+" );
623
+		}
624
+
625
+		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
626
+		if ( s.ifModified ) {
627
+			if ( jQuery.lastModified[ cacheURL ] ) {
628
+				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
629
+			}
630
+			if ( jQuery.etag[ cacheURL ] ) {
631
+				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
632
+			}
633
+		}
634
+
635
+		// Set the correct header, if data is being sent
636
+		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
637
+			jqXHR.setRequestHeader( "Content-Type", s.contentType );
638
+		}
639
+
640
+		// Set the Accepts header for the server, depending on the dataType
641
+		jqXHR.setRequestHeader(
642
+			"Accept",
643
+			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
644
+				s.accepts[ s.dataTypes[ 0 ] ] +
645
+					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
646
+				s.accepts[ "*" ]
647
+		);
648
+
649
+		// Check for headers option
650
+		for ( i in s.headers ) {
651
+			jqXHR.setRequestHeader( i, s.headers[ i ] );
652
+		}
653
+
654
+		// Allow custom headers/mimetypes and early abort
655
+		if ( s.beforeSend &&
656
+			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
657
+
658
+			// Abort if not done already and return
659
+			return jqXHR.abort();
660
+		}
661
+
662
+		// Aborting is no longer a cancellation
663
+		strAbort = "abort";
664
+
665
+		// Install callbacks on deferreds
666
+		completeDeferred.add( s.complete );
667
+		jqXHR.done( s.success );
668
+		jqXHR.fail( s.error );
669
+
670
+		// Get transport
671
+		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
672
+
673
+		// If no transport, we auto-abort
674
+		if ( !transport ) {
675
+			done( -1, "No Transport" );
676
+		} else {
677
+			jqXHR.readyState = 1;
678
+
679
+			// Send global event
680
+			if ( fireGlobals ) {
681
+				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
682
+			}
683
+
684
+			// If request was aborted inside ajaxSend, stop there
685
+			if ( completed ) {
686
+				return jqXHR;
687
+			}
688
+
689
+			// Timeout
690
+			if ( s.async && s.timeout > 0 ) {
691
+				timeoutTimer = window.setTimeout( function() {
692
+					jqXHR.abort( "timeout" );
693
+				}, s.timeout );
694
+			}
695
+
696
+			try {
697
+				completed = false;
698
+				transport.send( requestHeaders, done );
699
+			} catch ( e ) {
700
+
701
+				// Rethrow post-completion exceptions
702
+				if ( completed ) {
703
+					throw e;
704
+				}
705
+
706
+				// Propagate others as results
707
+				done( -1, e );
708
+			}
709
+		}
710
+
711
+		// Callback for when everything is done
712
+		function done( status, nativeStatusText, responses, headers ) {
713
+			var isSuccess, success, error, response, modified,
714
+				statusText = nativeStatusText;
715
+
716
+			// Ignore repeat invocations
717
+			if ( completed ) {
718
+				return;
719
+			}
720
+
721
+			completed = true;
722
+
723
+			// Clear timeout if it exists
724
+			if ( timeoutTimer ) {
725
+				window.clearTimeout( timeoutTimer );
726
+			}
727
+
728
+			// Dereference transport for early garbage collection
729
+			// (no matter how long the jqXHR object will be used)
730
+			transport = undefined;
731
+
732
+			// Cache response headers
733
+			responseHeadersString = headers || "";
734
+
735
+			// Set readyState
736
+			jqXHR.readyState = status > 0 ? 4 : 0;
737
+
738
+			// Determine if successful
739
+			isSuccess = status >= 200 && status < 300 || status === 304;
740
+
741
+			// Get response data
742
+			if ( responses ) {
743
+				response = ajaxHandleResponses( s, jqXHR, responses );
744
+			}
745
+
746
+			// Convert no matter what (that way responseXXX fields are always set)
747
+			response = ajaxConvert( s, response, jqXHR, isSuccess );
748
+
749
+			// If successful, handle type chaining
750
+			if ( isSuccess ) {
751
+
752
+				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
753
+				if ( s.ifModified ) {
754
+					modified = jqXHR.getResponseHeader( "Last-Modified" );
755
+					if ( modified ) {
756
+						jQuery.lastModified[ cacheURL ] = modified;
757
+					}
758
+					modified = jqXHR.getResponseHeader( "etag" );
759
+					if ( modified ) {
760
+						jQuery.etag[ cacheURL ] = modified;
761
+					}
762
+				}
763
+
764
+				// if no content
765
+				if ( status === 204 || s.type === "HEAD" ) {
766
+					statusText = "nocontent";
767
+
768
+				// if not modified
769
+				} else if ( status === 304 ) {
770
+					statusText = "notmodified";
771
+
772
+				// If we have data, let's convert it
773
+				} else {
774
+					statusText = response.state;
775
+					success = response.data;
776
+					error = response.error;
777
+					isSuccess = !error;
778
+				}
779
+			} else {
780
+
781
+				// Extract error from statusText and normalize for non-aborts
782
+				error = statusText;
783
+				if ( status || !statusText ) {
784
+					statusText = "error";
785
+					if ( status < 0 ) {
786
+						status = 0;
787
+					}
788
+				}
789
+			}
790
+
791
+			// Set data for the fake xhr object
792
+			jqXHR.status = status;
793
+			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
794
+
795
+			// Success/Error
796
+			if ( isSuccess ) {
797
+				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
798
+			} else {
799
+				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
800
+			}
801
+
802
+			// Status-dependent callbacks
803
+			jqXHR.statusCode( statusCode );
804
+			statusCode = undefined;
805
+
806
+			if ( fireGlobals ) {
807
+				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
808
+					[ jqXHR, s, isSuccess ? success : error ] );
809
+			}
810
+
811
+			// Complete
812
+			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
813
+
814
+			if ( fireGlobals ) {
815
+				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
816
+
817
+				// Handle the global AJAX counter
818
+				if ( !( --jQuery.active ) ) {
819
+					jQuery.event.trigger( "ajaxStop" );
820
+				}
821
+			}
822
+		}
823
+
824
+		return jqXHR;
825
+	},
826
+
827
+	getJSON: function( url, data, callback ) {
828
+		return jQuery.get( url, data, callback, "json" );
829
+	},
830
+
831
+	getScript: function( url, callback ) {
832
+		return jQuery.get( url, undefined, callback, "script" );
833
+	}
834
+} );
835
+
836
+jQuery.each( [ "get", "post" ], function( i, method ) {
837
+	jQuery[ method ] = function( url, data, callback, type ) {
838
+
839
+		// Shift arguments if data argument was omitted
840
+		if ( isFunction( data ) ) {
841
+			type = type || callback;
842
+			callback = data;
843
+			data = undefined;
844
+		}
845
+
846
+		// The url can be an options object (which then must have .url)
847
+		return jQuery.ajax( jQuery.extend( {
848
+			url: url,
849
+			type: method,
850
+			dataType: type,
851
+			data: data,
852
+			success: callback
853
+		}, jQuery.isPlainObject( url ) && url ) );
854
+	};
855
+} );
856
+
857
+return jQuery;
858
+} );

+ 103
- 0
platforms/android/app/src/main/assets/www/jquery/src/ajax/jsonp.js View File

@@ -0,0 +1,103 @@
1
+define( [
2
+	"../core",
3
+	"../var/isFunction",
4
+	"./var/nonce",
5
+	"./var/rquery",
6
+	"../ajax"
7
+], function( jQuery, isFunction, nonce, rquery ) {
8
+
9
+"use strict";
10
+
11
+var oldCallbacks = [],
12
+	rjsonp = /(=)\?(?=&|$)|\?\?/;
13
+
14
+// Default jsonp settings
15
+jQuery.ajaxSetup( {
16
+	jsonp: "callback",
17
+	jsonpCallback: function() {
18
+		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
19
+		this[ callback ] = true;
20
+		return callback;
21
+	}
22
+} );
23
+
24
+// Detect, normalize options and install callbacks for jsonp requests
25
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
26
+
27
+	var callbackName, overwritten, responseContainer,
28
+		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
29
+			"url" :
30
+			typeof s.data === "string" &&
31
+				( s.contentType || "" )
32
+					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
33
+				rjsonp.test( s.data ) && "data"
34
+		);
35
+
36
+	// Handle iff the expected data type is "jsonp" or we have a parameter to set
37
+	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
38
+
39
+		// Get callback name, remembering preexisting value associated with it
40
+		callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
41
+			s.jsonpCallback() :
42
+			s.jsonpCallback;
43
+
44
+		// Insert callback into url or form data
45
+		if ( jsonProp ) {
46
+			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
47
+		} else if ( s.jsonp !== false ) {
48
+			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
49
+		}
50
+
51
+		// Use data converter to retrieve json after script execution
52
+		s.converters[ "script json" ] = function() {
53
+			if ( !responseContainer ) {
54
+				jQuery.error( callbackName + " was not called" );
55
+			}
56
+			return responseContainer[ 0 ];
57
+		};
58
+
59
+		// Force json dataType
60
+		s.dataTypes[ 0 ] = "json";
61
+
62
+		// Install callback
63
+		overwritten = window[ callbackName ];
64
+		window[ callbackName ] = function() {
65
+			responseContainer = arguments;
66
+		};
67
+
68
+		// Clean-up function (fires after converters)
69
+		jqXHR.always( function() {
70
+
71
+			// If previous value didn't exist - remove it
72
+			if ( overwritten === undefined ) {
73
+				jQuery( window ).removeProp( callbackName );
74
+
75
+			// Otherwise restore preexisting value
76
+			} else {
77
+				window[ callbackName ] = overwritten;
78
+			}
79
+
80
+			// Save back as free
81
+			if ( s[ callbackName ] ) {
82
+
83
+				// Make sure that re-using the options doesn't screw things around
84
+				s.jsonpCallback = originalSettings.jsonpCallback;
85
+
86
+				// Save the callback name for future use
87
+				oldCallbacks.push( callbackName );
88
+			}
89
+
90
+			// Call if it was a function and we have a response
91
+			if ( responseContainer && isFunction( overwritten ) ) {
92
+				overwritten( responseContainer[ 0 ] );
93
+			}
94
+
95
+			responseContainer = overwritten = undefined;
96
+		} );
97
+
98
+		// Delegate to script
99
+		return "script";
100
+	}
101
+} );
102
+
103
+} );

+ 77
- 0
platforms/android/app/src/main/assets/www/jquery/src/ajax/load.js View File

@@ -0,0 +1,77 @@
1
+define( [
2
+	"../core",
3
+	"../core/stripAndCollapse",
4
+	"../var/isFunction",
5
+	"../core/parseHTML",
6
+	"../ajax",
7
+	"../traversing",
8
+	"../manipulation",
9
+	"../selector"
10
+], function( jQuery, stripAndCollapse, isFunction ) {
11
+
12
+"use strict";
13
+
14
+/**
15
+ * Load a url into a page
16
+ */
17
+jQuery.fn.load = function( url, params, callback ) {
18
+	var selector, type, response,
19
+		self = this,
20
+		off = url.indexOf( " " );
21
+
22
+	if ( off > -1 ) {
23
+		selector = stripAndCollapse( url.slice( off ) );
24
+		url = url.slice( 0, off );
25
+	}
26
+
27
+	// If it's a function
28
+	if ( isFunction( params ) ) {
29
+
30
+		// We assume that it's the callback
31
+		callback = params;
32
+		params = undefined;
33
+
34
+	// Otherwise, build a param string
35
+	} else if ( params && typeof params === "object" ) {
36
+		type = "POST";
37
+	}
38
+
39
+	// If we have elements to modify, make the request
40
+	if ( self.length > 0 ) {
41
+		jQuery.ajax( {
42
+			url: url,
43
+
44
+			// If "type" variable is undefined, then "GET" method will be used.
45
+			// Make value of this field explicit since
46
+			// user can override it through ajaxSetup method
47
+			type: type || "GET",
48
+			dataType: "html",
49
+			data: params
50
+		} ).done( function( responseText ) {
51
+
52
+			// Save response for use in complete callback
53
+			response = arguments;
54
+
55
+			self.html( selector ?
56
+
57
+				// If a selector was specified, locate the right elements in a dummy div
58
+				// Exclude scripts to avoid IE 'Permission Denied' errors
59
+				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
60
+
61
+				// Otherwise use the full result
62
+				responseText );
63
+
64
+		// If the request succeeds, this function gets "data", "status", "jqXHR"
65
+		// but they are ignored because response was set above.
66
+		// If it fails, this function gets "jqXHR", "status", "error"
67
+		} ).always( callback && function( jqXHR, status ) {
68
+			self.each( function() {
69
+				callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
70
+			} );
71
+		} );
72
+	}
73
+
74
+	return this;
75
+};
76
+
77
+} );

+ 30
- 0
platforms/android/app/src/main/assets/www/jquery/src/ajax/parseXML.js View File

@@ -0,0 +1,30 @@
1
+define( [
2
+	"../core"
3
+], function( jQuery ) {
4
+
5
+"use strict";
6
+
7
+// Cross-browser xml parsing
8
+jQuery.parseXML = function( data ) {
9
+	var xml;
10
+	if ( !data || typeof data !== "string" ) {
11
+		return null;
12
+	}
13
+
14
+	// Support: IE 9 - 11 only
15
+	// IE throws on parseFromString with invalid input.
16
+	try {
17
+		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
18
+	} catch ( e ) {
19
+		xml = undefined;
20
+	}
21
+
22
+	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
23
+		jQuery.error( "Invalid XML: " + data );
24
+	}
25
+	return xml;
26
+};
27
+
28
+return jQuery.parseXML;
29
+
30
+} );

+ 74
- 0
platforms/android/app/src/main/assets/www/jquery/src/ajax/script.js View File

@@ -0,0 +1,74 @@
1
+define( [
2
+	"../core",
3
+	"../var/document",
4
+	"../ajax"
5
+], function( jQuery, document ) {
6
+
7
+"use strict";
8
+
9
+// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
10
+jQuery.ajaxPrefilter( function( s ) {
11
+	if ( s.crossDomain ) {
12
+		s.contents.script = false;
13
+	}
14
+} );
15
+
16
+// Install script dataType
17
+jQuery.ajaxSetup( {
18
+	accepts: {
19
+		script: "text/javascript, application/javascript, " +
20
+			"application/ecmascript, application/x-ecmascript"
21
+	},
22
+	contents: {
23
+		script: /\b(?:java|ecma)script\b/
24
+	},
25
+	converters: {
26
+		"text script": function( text ) {
27
+			jQuery.globalEval( text );
28
+			return text;
29
+		}
30
+	}
31
+} );
32
+
33
+// Handle cache's special case and crossDomain
34
+jQuery.ajaxPrefilter( "script", function( s ) {
35
+	if ( s.cache === undefined ) {
36
+		s.cache = false;
37
+	}
38
+	if ( s.crossDomain ) {
39
+		s.type = "GET";
40
+	}
41
+} );
42
+
43
+// Bind script tag hack transport
44
+jQuery.ajaxTransport( "script", function( s ) {
45
+
46
+	// This transport only deals with cross domain or forced-by-attrs requests
47
+	if ( s.crossDomain || s.scriptAttrs ) {
48
+		var script, callback;
49
+		return {
50
+			send: function( _, complete ) {
51
+				script = jQuery( "<script>" )
52
+					.attr( s.scriptAttrs || {} )
53
+					.prop( { charset: s.scriptCharset, src: s.url } )
54
+					.on( "load error", callback = function( evt ) {
55
+						script.remove();
56
+						callback = null;
57
+						if ( evt ) {
58
+							complete( evt.type === "error" ? 404 : 200, evt.type );
59
+						}
60
+					} );
61
+
62
+				// Use native DOM manipulation to avoid our domManip AJAX trickery
63
+				document.head.appendChild( script[ 0 ] );
64
+			},
65
+			abort: function() {
66
+				if ( callback ) {
67
+					callback();
68
+				}
69
+			}
70
+		};
71
+	}
72
+} );
73
+
74
+} );

+ 5
- 0
platforms/android/app/src/main/assets/www/jquery/src/ajax/var/location.js View File

@@ -0,0 +1,5 @@
1
+define( function() {
2
+	"use strict";
3
+
4
+	return window.location;
5
+} );

+ 5
- 0
platforms/android/app/src/main/assets/www/jquery/src/ajax/var/nonce.js View File

@@ -0,0 +1,5 @@
1
+define( function() {
2
+	"use strict";
3
+
4
+	return Date.now();
5
+} );

+ 5
- 0
platforms/android/app/src/main/assets/www/jquery/src/ajax/var/rquery.js View File

@@ -0,0 +1,5 @@
1
+define( function() {
2
+	"use strict";
3
+
4
+	return ( /\?/ );
5
+} );

+ 0
- 0
platforms/android/app/src/main/assets/www/jquery/src/ajax/xhr.js View File


Some files were not shown because too many files changed in this diff