@sassoftware/viya-serverjs 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/.env +4 -4
  2. package/.env.proxy +4 -3
  3. package/.env.server +5 -4
  4. package/Dockerfile +3 -3
  5. package/cli.js +2 -2
  6. package/lib/config.js +62 -62
  7. package/lib/handlers/logon.js +39 -39
  8. package/lib/handlers/proxyMapUri.js +49 -75
  9. package/lib/handlers/setCookies.js +73 -72
  10. package/lib/iService.js +401 -401
  11. package/lib/plugins/appCookie.js +98 -98
  12. package/lib/plugins/setDefaultRoutes.js +272 -222
  13. package/lib/plugins/setupAuth.js +68 -67
  14. package/package.json +1 -1
  15. package/public/index.html +8 -2
  16. package/public/indexProxy.html +1 -0
  17. package/server.js +5 -116
  18. package/src/handlers/proxyMapUri.js +2 -30
  19. package/src/handlers/setCookies.js +3 -1
  20. package/src/iService.js +1 -0
  21. package/src/plugins/appCookie.js +3 -3
  22. package/src/plugins/setDefaultRoutes.js +7 -3
  23. package/src/plugins/setupAuth.js +3 -1
  24. package/{packages/examples/app/certs/tls.sh → tls/viyatls.sh} +0 -2
  25. package/packages/core/config.js +0 -86
  26. package/packages/core/handlers/appCallback.js +0 -40
  27. package/packages/core/handlers/codeAuth.js +0 -31
  28. package/packages/core/handlers/decodeJwt.js +0 -11
  29. package/packages/core/handlers/favicon.js +0 -24
  30. package/packages/core/handlers/getApp.js +0 -41
  31. package/packages/core/handlers/getApp2.js +0 -26
  32. package/packages/core/handlers/getUser.js +0 -20
  33. package/packages/core/handlers/index.js +0 -36
  34. package/packages/core/handlers/keepAlive.js +0 -54
  35. package/packages/core/handlers/keepAlive2.js +0 -13
  36. package/packages/core/handlers/logon.js +0 -24
  37. package/packages/core/handlers/logout.js +0 -43
  38. package/packages/core/handlers/proxyMapUri.js +0 -53
  39. package/packages/core/handlers/proxyOnResponse.js +0 -12
  40. package/packages/core/handlers/reactDev.js +0 -30
  41. package/packages/core/handlers/setCookies.js +0 -78
  42. package/packages/core/iService.js +0 -369
  43. package/packages/core/index.js +0 -249
  44. package/packages/core/parseDocker.js +0 -33
  45. package/packages/core/plugins/SASauth.js +0 -79
  46. package/packages/core/plugins/appCookie.js +0 -49
  47. package/packages/core/plugins/setContext.js +0 -34
  48. package/packages/core/plugins/setDefaultRoutes.js +0 -262
  49. package/packages/core/plugins/setupAuth.js +0 -48
  50. package/packages/core/plugins/setupUserRoutes.js +0 -48
  51. package/packages/core/plugins/token.js +0 -10
  52. package/packages/core/schemes/SASTokenScheme.js +0 -43
  53. package/packages/core/visionIndex.html +0 -24
  54. package/packages/examples/apitest/.env +0 -11
  55. package/packages/examples/apitest/.eslintrc.json +0 -42
  56. package/packages/examples/apitest/Dockerfile +0 -41
  57. package/packages/examples/apitest/api.js +0 -88
  58. package/packages/examples/apitest/appenv.js +0 -6
  59. package/packages/examples/apitest/docker-compose.yml +0 -10
  60. package/packages/examples/apitest/package.json +0 -19
  61. package/packages/examples/apitest/public/data/Cluster_SDOH1.sas +0 -182
  62. package/packages/examples/apitest/public/data/Cluster_SDOH6.sas +0 -180
  63. package/packages/examples/apitest/public/data/LeNet_snzrle.astore +0 -0
  64. package/packages/examples/apitest/public/data/NeuralNetwork_High_med.sas +0 -2409
  65. package/packages/examples/apitest/public/data/NeuralNetwork_high_med1.sas +0 -2409
  66. package/packages/examples/apitest/public/data/ast/GBlocalcopy.sasast +0 -0
  67. package/packages/examples/apitest/public/data/ast/LeNet_snzrle.astore +0 -0
  68. package/packages/examples/apitest/public/data/ast/gb_IrisGB.sasast +0 -0
  69. package/packages/examples/apitest/public/data/ast/paysimsvdd.sasast +0 -0
  70. package/packages/examples/apitest/public/data/ast/svmlocalcopy.sasast +0 -0
  71. package/packages/examples/apitest/public/data/cars.csv +0 -429
  72. package/packages/examples/apitest/public/data/cluster_test2.sas7bdat +0 -0
  73. package/packages/examples/apitest/public/data/cmdList.txt +0 -15
  74. package/packages/examples/apitest/public/data/gradBoost.sashdat +0 -0
  75. package/packages/examples/apitest/public/data/iris.csv +0 -151
  76. package/packages/examples/apitest/public/data/model1.sas7bdat +0 -0
  77. package/packages/examples/apitest/public/favicon.ico +0 -0
  78. package/packages/examples/apitest/public/index.html +0 -316
  79. package/packages/examples/apitest/public/index2.html +0 -102
  80. package/packages/examples/apitest/public/logon.html +0 -42
  81. package/packages/examples/apitest/public/myapp/secondary.html +0 -1
  82. package/packages/examples/apitest/public/myapp/test.js +0 -2
  83. package/packages/examples/apitest/public/onlogoff.html +0 -53
  84. package/packages/examples/apitest/start.sh +0 -15
  85. package/packages/examples/app/.env +0 -32
  86. package/packages/examples/app/.envProxy +0 -19
  87. package/packages/examples/app/.envimpl +0 -12
  88. package/packages/examples/app/.eslintrc.json +0 -42
  89. package/packages/examples/app/Dockerfile +0 -42
  90. package/packages/examples/app/appenv.js +0 -6
  91. package/packages/examples/app/certs/ca.crt +0 -19
  92. package/packages/examples/app/certs/tls.crt +0 -25
  93. package/packages/examples/app/certs/tls.key +0 -28
  94. package/packages/examples/app/docker-compose.yml +0 -12
  95. package/packages/examples/app/index.js +0 -15
  96. package/packages/examples/app/package.json +0 -20
  97. package/packages/examples/app/public/casread.html +0 -324
  98. package/packages/examples/app/public/data/Cluster_SDOH1.sas +0 -182
  99. package/packages/examples/app/public/data/Cluster_SDOH6.sas +0 -180
  100. package/packages/examples/app/public/data/LeNet_snzrle.astore +0 -0
  101. package/packages/examples/app/public/data/NeuralNetwork_High_med.sas +0 -2409
  102. package/packages/examples/app/public/data/NeuralNetwork_high_med1.sas +0 -2409
  103. package/packages/examples/app/public/data/ast/GBlocalcopy.sasast +0 -0
  104. package/packages/examples/app/public/data/ast/LeNet_snzrle.astore +0 -0
  105. package/packages/examples/app/public/data/ast/gb_IrisGB.sasast +0 -0
  106. package/packages/examples/app/public/data/ast/paysimsvdd.sasast +0 -0
  107. package/packages/examples/app/public/data/ast/svmlocalcopy.sasast +0 -0
  108. package/packages/examples/app/public/data/cars.csv +0 -429
  109. package/packages/examples/app/public/data/cluster_test2.sas7bdat +0 -0
  110. package/packages/examples/app/public/data/cmdList.txt +0 -15
  111. package/packages/examples/app/public/data/gradBoost.sashdat +0 -0
  112. package/packages/examples/app/public/data/iris.csv +0 -151
  113. package/packages/examples/app/public/data/model1.sas7bdat +0 -0
  114. package/packages/examples/app/public/favicon.ico +0 -0
  115. package/packages/examples/app/public/index.html +0 -332
  116. package/packages/examples/app/public/indexProxy.html +0 -346
  117. package/packages/examples/app/public/indextest.html +0 -316
  118. package/packages/examples/app/public/logon.html +0 -44
  119. package/packages/examples/app/public/micburger.html +0 -345
  120. package/packages/examples/app/public/micburger.txt.html +0 -311
  121. package/packages/examples/app/public/myapp/secondary.html +0 -1
  122. package/packages/examples/app/public/myapp/test.js +0 -2
  123. package/packages/examples/app/public/sara.txt +0 -345
  124. package/packages/examples/app/public/testva2.html +0 -311
  125. package/packages/examples/app/startup.sh +0 -15
  126. package/packages/examples/appdocker/.env +0 -21
  127. package/packages/examples/appdocker/.envProxy +0 -22
  128. package/packages/examples/appdocker/.envimpl +0 -12
  129. package/packages/examples/appdocker/.eslintrc.json +0 -42
  130. package/packages/examples/appdocker/Dockerfile +0 -43
  131. package/packages/examples/appdocker/appenv.js +0 -6
  132. package/packages/examples/appdocker/certs/ca.crt +0 -19
  133. package/packages/examples/appdocker/certs/tls.crt +0 -25
  134. package/packages/examples/appdocker/certs/tls.key +0 -28
  135. package/packages/examples/appdocker/certs/tls.sh +0 -5
  136. package/packages/examples/appdocker/docker-compose.yml +0 -12
  137. package/packages/examples/appdocker/index.js +0 -15
  138. package/packages/examples/appdocker/package.json +0 -20
  139. package/packages/examples/appdocker/public/data/Cluster_SDOH1.sas +0 -182
  140. package/packages/examples/appdocker/public/data/Cluster_SDOH6.sas +0 -180
  141. package/packages/examples/appdocker/public/data/LeNet_snzrle.astore +0 -0
  142. package/packages/examples/appdocker/public/data/NeuralNetwork_High_med.sas +0 -2409
  143. package/packages/examples/appdocker/public/data/NeuralNetwork_high_med1.sas +0 -2409
  144. package/packages/examples/appdocker/public/data/ast/GBlocalcopy.sasast +0 -0
  145. package/packages/examples/appdocker/public/data/ast/LeNet_snzrle.astore +0 -0
  146. package/packages/examples/appdocker/public/data/ast/gb_IrisGB.sasast +0 -0
  147. package/packages/examples/appdocker/public/data/ast/paysimsvdd.sasast +0 -0
  148. package/packages/examples/appdocker/public/data/ast/svmlocalcopy.sasast +0 -0
  149. package/packages/examples/appdocker/public/data/cars.csv +0 -429
  150. package/packages/examples/appdocker/public/data/cluster_test2.sas7bdat +0 -0
  151. package/packages/examples/appdocker/public/data/cmdList.txt +0 -15
  152. package/packages/examples/appdocker/public/data/gradBoost.sashdat +0 -0
  153. package/packages/examples/appdocker/public/data/iris.csv +0 -151
  154. package/packages/examples/appdocker/public/data/model1.sas7bdat +0 -0
  155. package/packages/examples/appdocker/public/favicon.ico +0 -0
  156. package/packages/examples/appdocker/public/index.html +0 -346
  157. package/packages/examples/appdocker/public/indexProxy.html +0 -346
  158. package/packages/examples/appdocker/public/indextest.html +0 -316
  159. package/packages/examples/appdocker/public/logon.html +0 -44
  160. package/packages/examples/appdocker/public/myapp/secondary.html +0 -1
  161. package/packages/examples/appdocker/public/myapp/test.js +0 -2
  162. package/packages/examples/appdocker/startup.sh +0 -15
  163. package/packages/examples/apptest/.env +0 -28
  164. package/packages/examples/apptest/.envProxy +0 -22
  165. package/packages/examples/apptest/.envimpl +0 -12
  166. package/packages/examples/apptest/.eslintrc.json +0 -42
  167. package/packages/examples/apptest/Dockerfile +0 -44
  168. package/packages/examples/apptest/appDir/app1/design.html +0 -350
  169. package/packages/examples/apptest/appDir/app1/index.html +0 -353
  170. package/packages/examples/apptest/appDir/index.html +0 -350
  171. package/packages/examples/apptest/appenv.js +0 -6
  172. package/packages/examples/apptest/docker-compose.yml +0 -12
  173. package/packages/examples/apptest/index.js +0 -444
  174. package/packages/examples/apptest/package.json +0 -24
  175. package/packages/examples/apptest/public/casread2.html +0 -321
  176. package/packages/examples/apptest/public/data/Cluster_SDOH1.sas +0 -182
  177. package/packages/examples/apptest/public/data/Cluster_SDOH6.sas +0 -180
  178. package/packages/examples/apptest/public/data/LeNet_snzrle.astore +0 -0
  179. package/packages/examples/apptest/public/data/NeuralNetwork_High_med.sas +0 -2409
  180. package/packages/examples/apptest/public/data/NeuralNetwork_high_med1.sas +0 -2409
  181. package/packages/examples/apptest/public/data/ast/GBlocalcopy.sasast +0 -0
  182. package/packages/examples/apptest/public/data/ast/LeNet_snzrle.astore +0 -0
  183. package/packages/examples/apptest/public/data/ast/gb_IrisGB.sasast +0 -0
  184. package/packages/examples/apptest/public/data/ast/paysimsvdd.sasast +0 -0
  185. package/packages/examples/apptest/public/data/ast/svmlocalcopy.sasast +0 -0
  186. package/packages/examples/apptest/public/data/cars.csv +0 -429
  187. package/packages/examples/apptest/public/data/cluster_test2.sas7bdat +0 -0
  188. package/packages/examples/apptest/public/data/cmdList.txt +0 -15
  189. package/packages/examples/apptest/public/data/gradBoost.sashdat +0 -0
  190. package/packages/examples/apptest/public/data/iris.csv +0 -151
  191. package/packages/examples/apptest/public/data/model1.sas7bdat +0 -0
  192. package/packages/examples/apptest/public/design.html +0 -349
  193. package/packages/examples/apptest/public/favicon.ico +0 -0
  194. package/packages/examples/apptest/public/help.html +0 -1
  195. package/packages/examples/apptest/public/index.html +0 -353
  196. package/packages/examples/apptest/public/index2.html +0 -353
  197. package/packages/examples/apptest/public/indexProxy.html +0 -346
  198. package/packages/examples/apptest/public/indextest.html +0 -316
  199. package/packages/examples/apptest/public/logon.html +0 -44
  200. package/packages/examples/apptest/public/myapp/q.html +0 -349
  201. package/packages/examples/apptest/public/myapp/secondary.html +0 -1
  202. package/packages/examples/apptest/public/myapp/test.js +0 -2
  203. package/packages/examples/apptest/public/push1.html +0 -187
  204. package/packages/examples/apptest/startup.sh +0 -15
  205. package/packages/examples/apptesti/.env +0 -13
  206. package/packages/examples/apptesti/.eslintrc.json +0 -42
  207. package/packages/examples/apptesti/Dockerfile +0 -42
  208. package/packages/examples/apptesti/appenv.js +0 -6
  209. package/packages/examples/apptesti/certs/ca.crt +0 -19
  210. package/packages/examples/apptesti/certs/tls.crt +0 -25
  211. package/packages/examples/apptesti/certs/tls.key +0 -28
  212. package/packages/examples/apptesti/certs/tls.sh +0 -5
  213. package/packages/examples/apptesti/docker-compose.yml +0 -12
  214. package/packages/examples/apptesti/index.js +0 -7
  215. package/packages/examples/apptesti/package.json +0 -20
  216. package/packages/examples/apptesti/public/data/Cluster_SDOH1.sas +0 -182
  217. package/packages/examples/apptesti/public/data/Cluster_SDOH6.sas +0 -180
  218. package/packages/examples/apptesti/public/data/LeNet_snzrle.astore +0 -0
  219. package/packages/examples/apptesti/public/data/NeuralNetwork_High_med.sas +0 -2409
  220. package/packages/examples/apptesti/public/data/NeuralNetwork_high_med1.sas +0 -2409
  221. package/packages/examples/apptesti/public/data/ast/GBlocalcopy.sasast +0 -0
  222. package/packages/examples/apptesti/public/data/ast/LeNet_snzrle.astore +0 -0
  223. package/packages/examples/apptesti/public/data/ast/gb_IrisGB.sasast +0 -0
  224. package/packages/examples/apptesti/public/data/ast/paysimsvdd.sasast +0 -0
  225. package/packages/examples/apptesti/public/data/ast/svmlocalcopy.sasast +0 -0
  226. package/packages/examples/apptesti/public/data/cars.csv +0 -429
  227. package/packages/examples/apptesti/public/data/cluster_test2.sas7bdat +0 -0
  228. package/packages/examples/apptesti/public/data/cmdList.txt +0 -15
  229. package/packages/examples/apptesti/public/data/gradBoost.sashdat +0 -0
  230. package/packages/examples/apptesti/public/data/iris.csv +0 -151
  231. package/packages/examples/apptesti/public/data/model1.sas7bdat +0 -0
  232. package/packages/examples/apptesti/public/favicon.ico +0 -0
  233. package/packages/examples/apptesti/public/index.html +0 -346
  234. package/packages/examples/apptesti/public/indexProxy.html +0 -346
  235. package/packages/examples/apptesti/public/indextest.html +0 -316
  236. package/packages/examples/apptesti/public/logon.html +0 -44
  237. package/packages/examples/apptesti/public/main.html +0 -346
  238. package/packages/examples/apptesti/public/myapp/secondary.html +0 -1
  239. package/packages/examples/apptesti/public/myapp/test.js +0 -2
  240. package/packages/examples/apptesti/startup.sh +0 -15
  241. package/packages/examples/basic/.env +0 -10
  242. package/packages/examples/basic/.eslintrc.json +0 -42
  243. package/packages/examples/basic/Dockerfile +0 -41
  244. package/packages/examples/basic/api.js +0 -88
  245. package/packages/examples/basic/appenv.js +0 -6
  246. package/packages/examples/basic/docker-compose.yml +0 -10
  247. package/packages/examples/basic/package.json +0 -19
  248. package/packages/examples/basic/public/data/Cluster_SDOH1.sas +0 -182
  249. package/packages/examples/basic/public/data/Cluster_SDOH6.sas +0 -180
  250. package/packages/examples/basic/public/data/LeNet_snzrle.astore +0 -0
  251. package/packages/examples/basic/public/data/NeuralNetwork_High_med.sas +0 -2409
  252. package/packages/examples/basic/public/data/NeuralNetwork_high_med1.sas +0 -2409
  253. package/packages/examples/basic/public/data/ast/GBlocalcopy.sasast +0 -0
  254. package/packages/examples/basic/public/data/ast/LeNet_snzrle.astore +0 -0
  255. package/packages/examples/basic/public/data/ast/gb_IrisGB.sasast +0 -0
  256. package/packages/examples/basic/public/data/ast/paysimsvdd.sasast +0 -0
  257. package/packages/examples/basic/public/data/ast/svmlocalcopy.sasast +0 -0
  258. package/packages/examples/basic/public/data/cars.csv +0 -429
  259. package/packages/examples/basic/public/data/cluster_test2.sas7bdat +0 -0
  260. package/packages/examples/basic/public/data/cmdList.txt +0 -15
  261. package/packages/examples/basic/public/data/gradBoost.sashdat +0 -0
  262. package/packages/examples/basic/public/data/iris.csv +0 -151
  263. package/packages/examples/basic/public/data/model1.sas7bdat +0 -0
  264. package/packages/examples/basic/public/favicon.ico +0 -0
  265. package/packages/examples/basic/public/index.html +0 -29
  266. package/packages/examples/basic/public/index2.html +0 -102
  267. package/packages/examples/basic/public/logon.html +0 -42
  268. package/packages/examples/basic/public/myapp/secondary.html +0 -1
  269. package/packages/examples/basic/public/myapp/test.js +0 -2
  270. package/packages/examples/basic/public/onlogoff.html +0 -53
  271. package/packages/examples/basic/start.sh +0 -15
  272. package/packages/examples/proxytest/.env +0 -23
  273. package/packages/examples/proxytest/.envimpl +0 -11
  274. package/packages/examples/proxytest/.eslintrc.json +0 -42
  275. package/packages/examples/proxytest/Dockerfile +0 -42
  276. package/packages/examples/proxytest/appenv.js +0 -6
  277. package/packages/examples/proxytest/docker-compose.yml +0 -12
  278. package/packages/examples/proxytest/index.js +0 -57
  279. package/packages/examples/proxytest/package.json +0 -18
  280. package/packages/examples/proxytest/public/data/Cluster_SDOH1.sas +0 -182
  281. package/packages/examples/proxytest/public/data/Cluster_SDOH6.sas +0 -180
  282. package/packages/examples/proxytest/public/data/LeNet_snzrle.astore +0 -0
  283. package/packages/examples/proxytest/public/data/NeuralNetwork_High_med.sas +0 -2409
  284. package/packages/examples/proxytest/public/data/NeuralNetwork_high_med1.sas +0 -2409
  285. package/packages/examples/proxytest/public/data/ast/GBlocalcopy.sasast +0 -0
  286. package/packages/examples/proxytest/public/data/ast/LeNet_snzrle.astore +0 -0
  287. package/packages/examples/proxytest/public/data/ast/gb_IrisGB.sasast +0 -0
  288. package/packages/examples/proxytest/public/data/ast/paysimsvdd.sasast +0 -0
  289. package/packages/examples/proxytest/public/data/ast/svmlocalcopy.sasast +0 -0
  290. package/packages/examples/proxytest/public/data/cars.csv +0 -429
  291. package/packages/examples/proxytest/public/data/cluster_test2.sas7bdat +0 -0
  292. package/packages/examples/proxytest/public/data/cmdList.txt +0 -15
  293. package/packages/examples/proxytest/public/data/gradBoost.sashdat +0 -0
  294. package/packages/examples/proxytest/public/data/iris.csv +0 -151
  295. package/packages/examples/proxytest/public/data/model1.sas7bdat +0 -0
  296. package/packages/examples/proxytest/public/favicon.ico +0 -0
  297. package/packages/examples/proxytest/public/index.html +0 -357
  298. package/packages/examples/proxytest/public/index.js +0 -57
  299. package/packages/examples/proxytest/public/indextest.html +0 -316
  300. package/packages/examples/proxytest/public/logon.html +0 -44
  301. package/packages/examples/proxytest/public/main.html +0 -357
  302. package/packages/examples/proxytest/public/myapp/secondary.html +0 -1
  303. package/packages/examples/proxytest/public/myapp/test.js +0 -2
  304. package/packages/examples/proxytest/public/restaf.js +0 -2461
  305. package/packages/examples/proxytest/public/restaf.min.js +0 -11
  306. package/packages/examples/proxytest/public/sas/iris.txt +0 -10
  307. package/packages/examples/proxytest/startup.sh +0 -15
  308. package/public/casread2.html +0 -321
  309. package/public/design.html +0 -350
  310. package/public/display.html +0 -354
  311. package/public/index2.html +0 -353
  312. package/public/indextest.html +0 -316
  313. package/public/logon.html +0 -44
  314. package/public/myapp/q.html +0 -349
  315. package/public/myapp/secondary.html +0 -1
  316. package/public/myapp/test.js +0 -2
  317. package/public/push1.html +0 -187
@@ -1,2 +0,0 @@
1
- let hello ='hello';
2
- console.log(hello);
@@ -1,187 +0,0 @@
1
- <html lang="en"><head>
2
- <meta charset="utf-8">
3
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
4
- <title>appBuilder</title>
5
-
6
- <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
7
- <script src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
8
- <script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
9
- <script async="" src="https://cdn.developer.sas.com/packages/va-report-components/latest/dist/umd/va-report-components.js"></script>
10
-
11
- <script type="text/javascript" src="https://unpkg.com/@sassoftware/react-app-builder"></script>
12
-
13
- <script type="text/javascript" src="https://unpkg.com/@sassoftware/smart-controls-mui"></script>
14
- <script>
15
- debugger;
16
- let LOGONPAYLOAD = {
17
- host: "https://viya.kumar-zv1-azure-nginx-84560a6e.unx.sas.com",
18
- authType: "server",
19
- appName: "appBuilder",
20
- };
21
- const urlParams = new URLSearchParams(window.location.search);
22
- debugger;
23
- console.log(urlParams);
24
- let APPENV={};
25
- urlParams.forEach((value, key) => {
26
- console.log(key, value);
27
- APPENV[key.toUpperCase()] = value;
28
- })
29
- if (APPENV.HOST != null) {
30
- LOGONPAYLOAD.host = APPENV.HOST;
31
- }
32
- let USERCONTROLS = {
33
- controls: smartControls.controls,
34
- defaultControls: {
35
- numeric: 'Input',
36
- char: 'InputText',
37
- }
38
- };
39
- let userData = {};
40
-
41
- let APPCONFIG = {
42
- sasServer: "viya",
43
- source: "cas",
44
- saveLocation: 'local',/* only valid value is 'local'. github is coming */
45
- logonPayload: LOGONPAYLOAD, /* logon information or null */
46
- computeContext: "",
47
- sessionID: null, /* an existing sessionID or null - for react component scenario*/
48
- table: null, /* only for building forms for a table */
49
- model: null, /* only for building forms for a model */
50
- callbacks: null,
51
- proxyServer: null,
52
- passContext: "YES",
53
- userData: {},
54
- USERCONTROLS: "https://unpkg.com/@sassoftware/smart-controls-mui",
55
- USERCONTROLSVAR: "smartControls",
56
- USERCONTROLSPACKAGE: "@sassoftware/smart-controls-mui",
57
- };
58
- </script>
59
- <script type="text/babel">
60
- function _display(viewMode) {
61
- console.log(reactAppBuilder);
62
- let MAINENTRY=(viewMode === 'design') ? reactAppBuilder.DesignApp : reactAppBuilder.DisplayApp;
63
- const createRoot = ReactDOM.createRoot;
64
- const container = document.getElementById('container1');
65
- const root = createRoot(container);
66
- let style = {};
67
- root.render(
68
- <MAINENTRY form={FORM} userControls={USERCONTROLS} appConfig={APPCONFIG} htmlTemplate={PAGESOURCE} style={style}/>
69
- );
70
- }
71
- </script>
72
-
73
- <script>
74
- function _setup (viewMode) {
75
- _display(viewMode);
76
- }
77
-
78
- </script>
79
-
80
- <!--------------------------------------------------------------------------------------------------->
81
- <!-- PAGESOURCE is used as the html for the output -------------------------------------------------->
82
- <!-- By default this uses the current html --------------------------------------------------------->
83
- <!-- You can replace PAGESOURCE with your custom HTML ----------------------------------------------->
84
- <!--------------------------------------------------------------------------------------------------->
85
-
86
- <script>
87
- let PAGESOURCE = document.documentElement.outerHTML;
88
- </script></head>
89
- <body onload="_display('design')">
90
- <script type="text/javascript">
91
- function getForm() {
92
- return { version:1,
93
- label:"push1.form",
94
- viewType:"form",
95
- source:"cas",
96
- table:null,
97
- byvars:[ ],
98
- preamble:null,
99
- sessionID:null,
100
- userSessionID:null,
101
- servers:null,
102
- computeContext:"SAS Job Execution compute context",
103
- casServerName:"cas-shared-default",
104
- serverContext:undefined,
105
- initialFetch:{ qs:{ start:0,
106
- limit:1,
107
- format:false,
108
- where:"",
109
- includeIndex:true } },
110
- customColumns:{ _c1:{ Column:"_c1",
111
- Label:"_c1",
112
- Type:"number",
113
- FormattedLength:12,
114
- value:0 } },
115
- editControl:{ autoSave:true,
116
- autoSaveTable:true,
117
- handlers:{ initApp:async (appEnv) => {
118
- return {
119
- statusCode: 0,
120
- msg: ' '
121
- };
122
- },
123
- init:async (data, rowno, appEnv) => data,
124
- main:async (data, rowno, appEnv) => data,
125
- term:async (data, rowno, appEnv) => data } },
126
- viewerOptions:{ show:[ ],
127
- drop:[ ],
128
- disabled:[ "_index_" ],
129
- cellStyles:{},
130
- userMenus:{},
131
- domLayout:"autoHeight",
132
- agGridTheme:"ag-theme-alpine-custom" },
133
- formControl:{ version:"v3",
134
- status:"saved",
135
- drop:[ ],
136
- show:[ ],
137
- defaultComponent:"Input",
138
- itemCounter:1,
139
- currentItems:[ "_c1" ],
140
- items:[ { x:60,
141
- y:62.727272033691406,
142
- width:200,
143
- height:30,
144
- backgroundColor:"none",
145
- touchAction:"None",
146
- zIndex:2,
147
- position:"absolute",
148
- id:1,
149
- name:"_c1" } ],
150
- visuals:[ { id:1,
151
- name:"_c1",
152
- component:"Input",
153
- label:"Input",
154
- hide:false,
155
- custom:true,
156
- props:{ name:"_c1",
157
- type:"number",
158
- value:0,
159
- label:"_c1",
160
- length:12,
161
- dataProps:"",
162
- onEdit:"",
163
- props:"{ name:\" \",\n label:\"\",\n align:\"right\" }",
164
- "export":false,
165
- visible:true,
166
- handlerType:"sync",
167
- handlers:{ props:(data,name, row, appEnv) => {return { name:" ",
168
- label:"",
169
- align:"right" };},
170
- dataProps:null,
171
- onEdit:null } },
172
- propDetails:{},
173
- grow:"horizontal" } ],
174
- style:{ height:761.491455078125,
175
- width:906.3635864257812,
176
- overflow:"hidden",
177
- border:"1px",
178
- resize:"both",
179
- borderStyle:"solid",
180
- borderColor:"black" } } }};
181
- </script>
182
- <script>
183
- let FORM=getForm();
184
- // let MAINENTRY=reactAppBuilder.DesignApp;
185
- </script>
186
- <div id="container1" class="main" > </div>
187
- </body></html>
@@ -1,15 +0,0 @@
1
- #
2
- # Azure wants to prefix the app env
3
- # Use this to set the env that this server expects
4
-
5
- # https://docs.microsoft.com/en-us/azure/app-service/reference-app-settings?tabs=kudu%2Cdotnet
6
- env | grep APPSETTING_
7
-
8
- if [[ ! -z "$APPSETTING_VIYA_SERVER" ]];
9
- then
10
- export VIYA_SERVER=$APPSETTING_VIYA_SERVER
11
- echo VIYA SERVER= $VIYA_SERVER
12
- else
13
- echo "No custom application overrides"
14
- fi
15
- node index.js
@@ -1,13 +0,0 @@
1
- VIYA_SERVER=
2
-
3
- APPHOST=localhost
4
- APPPORT=8080
5
- AUTHFLOW=implicit
6
- APPNAME=frameapp
7
- CLIENTID=frameappi
8
- APPENTRY=index.html
9
- REDIRECT_ENTRY=main.html
10
- CLIENTSECRET=
11
- # USETOKEN=NO
12
- # NAMESPACE=viya
13
-
@@ -1,42 +0,0 @@
1
- {
2
- "root": true,
3
- "env": {
4
- "browser": true,
5
- "node": true,
6
- "es6": true
7
- },
8
- "parser": "@babel/eslint-parser",
9
- "extends": ["eslint:recommended", "prettier"],
10
- "parserOptions": {
11
- "requireConfigFile": false,
12
- "babelOptions": {"configFile": "./.babelrc"},
13
- "ecmaVersion": 6,
14
- "sourceType": "module",
15
- "ecmaFeatures": {
16
- "jsx": true
17
- }
18
- },
19
- "rules": {
20
- "key-spacing": [
21
- 2,
22
- {
23
- "align": "colon"
24
- }
25
- ],
26
- "jsx-quotes": [2, "prefer-double"],
27
- "no-console": 0,
28
- "no-unused-vars": [
29
- 1,
30
- {
31
- "args": "none"
32
- }
33
- ],
34
- "no-debugger": 0,
35
- "react/prop-types": 0,
36
- "array-bracket-spacing": [2, "never"],
37
- "space-in-parens": [2, "never"],
38
- "space-before-function-paren": [2, "always"],
39
- "semi": [2, "always"],
40
- "no-prototype-builtins": 0
41
- }
42
- }
@@ -1,42 +0,0 @@
1
- FROM node:12.16.1-alpine
2
- LABEL maintainer="deva.kumar@sas.com"
3
- WORKDIR /usr/src/app
4
- COPY . .
5
- # COPY package*.json ./
6
- RUN npm install
7
- # RUN npm run build
8
-
9
- # will auto change to localhost in non-docker environments
10
- ENV APPHOST=0.0.0.0
11
- ENV PORT=8080
12
- EXPOSE $PORT
13
- #######################################################################
14
- # You can override these(but in container leave APPHOST as shown below)
15
- ########################################################################
16
-
17
- # set this the same as EXPOSE here and override in env or as -p option in dockerrun
18
- # ENV APPPORT=8080
19
-
20
- ENV APPNAME=viyaapp
21
- # ENV AUTHFLOW=code
22
- # ENV CLIENTID=clientapp
23
- # ENV CLIENTSECRET=secret
24
- # ENV HAPIDEBUG=YES
25
- # ENV LOGLEVEL=info
26
- # ENV USETOKEN=YES
27
-
28
- #sample setup for creating a temporary cert and key
29
- ENV TLS_CREATE="C:US,ST:NC,L:Cary,O:SAS Institute,OU:STO,CN:localhost"
30
-
31
- # You can specify your own cet and key
32
- # ENV TLS_CERT=../../../certs/cert64.cer
33
- # ENV TLS_KEY=../../../certs/pubkey64.pem
34
-
35
- # Samesite specification
36
- ENV SAMESITE=None,secure
37
-
38
- # If your Viya instance still has a unsigned certificate set this value prior to invoking the server
39
- ENV NODE_TLS_REJECT_UNAUTHORIZED=0
40
-
41
- #####################################################################
42
- CMD ["npm", "run", "indocker"]
@@ -1,6 +0,0 @@
1
- /* eslint-disable */
2
- let app = {
3
- x: 1
4
- };
5
- return app;
6
-
@@ -1,19 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDIjCCAgqgAwIBAgIIXK9uCGkAZEcwDQYJKoZIhvcNAQELBQAwLzEtMCsGA1UE
3
- AxMkU0FTIFZpeWEgb3BlbnNzbCBSb290IENBIENlcnRpZmljYXRlMB4XDTIzMDkw
4
- NTEyMTE1M1oXDTI4MDkwNDEyMjY1M1owLzEtMCsGA1UEAxMkU0FTIFZpeWEgb3Bl
5
- bnNzbCBSb290IENBIENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
6
- MIIBCgKCAQEAosmo1/yW04reIhucI7PXSjnRdYioQUWI62f2ohaW6hARgUhT1HUx
7
- 93LCpSq8zpgRuHAfAtNgeCKIKhM+GIDSqiNxsHAVljblrIKiS0lPfPmV0NFE2FMF
8
- eUtQldqEjGOeYH4Wf6AR/hDr1X1ar0nbzJU/GoNA5yvV8Quk4aZsM6slnkm9jmwu
9
- 7AyCyT+Ms6CMFBuWR17+tf/H4Sacyp0GX9kpNKtWZ6eSUn/vzsFG6gyqbxWUwcAk
10
- bTXX6EyP1STtHiQ4xEKO2DkYDFKt8rFkKouCybH/iFwszMfs40AGzsOldj8CqECe
11
- R3eem5Lyz7bK9HO9AwrAK4dg6qiQNBThCQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC
12
- AqQwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUlRRx1PVwUxylneMHIE69ttRL
13
- OFgwDQYJKoZIhvcNAQELBQADggEBACb6bxKMjfnj3rN2teZVl3mV4kVWV9bewIiU
14
- mFHrXIqvEhO2BsZoMNz27xQ2WmiwVgZiCb7QEYclx0ypTuEMiJAyaJZG5ogMy292
15
- KhPvEqj+suTEKBIdsNc6IliuC+/Wfd0u45w/2sIGQi9ySo1oNyB6QeBaja0PHb5w
16
- 1JiXTk0wnYOhaPu+0J4mGvSwOmMcFkJpur40NjBWAjenPxnMGrBCjA/KTCaqEQ+O
17
- lMiQHt7J7rJrPhAs3uA4hxhDR+CbaWIxPUNrHkbZzakMiUpw8RVdY3U5bYrjc6fV
18
- +x1hJWiqRW4CDMCwmaD0byL95og9vBL7si78NUsP8MnecGdqWAE=
19
- -----END CERTIFICATE-----
@@ -1,25 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIEJzCCAw+gAwIBAgIIa5XRpEFkiJowDQYJKoZIhvcNAQELBQAwLzEtMCsGA1UE
3
- AxMkU0FTIFZpeWEgb3BlbnNzbCBSb290IENBIENlcnRpZmljYXRlMB4XDTIzMTAx
4
- NDEwNTE1OVoXDTI1MTAxMzExMDY1OVowHjEcMBoGA1UEAxMTc2FzLWNvbnN1bC1z
5
- ZXJ2ZXItMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBcqa39TogJ
6
- n57iGMYQ2dPvKt0ueLNaW70w1qBBb4CWeFclwcAhJQ7EHgvrdSfR7WGfoCe2E9nI
7
- g2lTabLT1CJnTeTEg9JqKywfzRooF8sSTeW1Sjjz/TXtAxJW/UfoKqUSRRQcjeNC
8
- LCshWx0YQCew+T7gWwCu6+L39l5EwP20WGV0vtZlNPm8wGJf14MuLd9Pltzps0Sx
9
- WGk/OWr3yrwBC21+9wdI77aPh9zAgD31tbUAeGMrCTpY3oWuI8vKlo9kDOoiXAjv
10
- bIVLhzU4HqL/cgwl9dRSTmq00N8qd/jReBjloJl4Vta/7hWxkJmwH4XPYYhFQe+b
11
- hW9RMMTKNucCAwEAAaOCAVYwggFSMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAU
12
- BggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFCb35V252QMYv87u/lrBgCSJ
13
- QTKeMB8GA1UdIwQYMBaAFJUUcdT1cFMcpZ3jByBOvbbUSzhYMIHgBgNVHREEgdgw
14
- gdWCIGFrcy1zdGF0ZWZ1bC0yMTkzODE2NS12bXNzMDAwMDBzgglsb2NhbGhvc3SC
15
- EXNhcy1jb25zdWwtc2VydmVyghNzYXMtY29uc3VsLXNlcnZlci0wgkVzYXMtY29u
16
- c3VsLXNlcnZlci0wLnNhcy1jb25zdWwtc2VydmVyLWludGVybmFsLnZpeWEuc3Zj
17
- LmNsdXN0ZXIubG9jYWyCH3hhYXMtODQ3ODQ4ODQ1MTEuZW5nYWdlLnNhcy5jb22H
18
- BAoAAlKHBAr0BTOHBH8AAAGHBMCoAAgwDQYJKoZIhvcNAQELBQADggEBAHK0ua95
19
- 58zfmBIqt50REsUHZ8prLd/UKKwfJpUYC8blK8sHV/t3w5CvjUEHLdA4SFvYRpXB
20
- Nfhb4Hepe9zg9jANon4coWxNpbKBSLx8CTombylfqEjCtnVsl6dNWC4s6e+sHrZe
21
- o8Uc687G7g1IkN/Aw7BO/aPoZA5U5rl4uZdmVg/wIbkdaAKjMR3Z86ykamNsCIp2
22
- aCXsCO8wSurG+upczsnBqYCBtX3F5EhE5BUsEgq8c5op7Gx5CAJ2KN/pL76i2JL2
23
- h7mHfNqQZoFSypp2d4U3GLLb92gxoQosbQrnX8vCI9m9OlKOJzooMI4uP838nwxf
24
- GyfP+QhQCMDGc+A=
25
- -----END CERTIFICATE-----
@@ -1,28 +0,0 @@
1
- -----BEGIN PRIVATE KEY-----
2
- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQXKmt/U6ICZ+e
3
- 4hjGENnT7yrdLnizWlu9MNagQW+AlnhXJcHAISUOxB4L63Un0e1hn6AnthPZyINp
4
- U2my09QiZ03kxIPSaissH80aKBfLEk3ltUo48/017QMSVv1H6CqlEkUUHI3jQiwr
5
- IVsdGEAnsPk+4FsAruvi9/ZeRMD9tFhldL7WZTT5vMBiX9eDLi3fT5bc6bNEsVhp
6
- Pzlq98q8AQttfvcHSO+2j4fcwIA99bW1AHhjKwk6WN6FriPLypaPZAzqIlwI72yF
7
- S4c1OB6i/3IMJfXUUk5qtNDfKnf40XgY5aCZeFbWv+4VsZCZsB+Fz2GIRUHvm4Vv
8
- UTDEyjbnAgMBAAECggEAANgmI9/tC684lac9Lr8lTkFESHxPlJ3oHrDb1KYhhNNy
9
- stH+NJKtz58UHTv3K21sxvl/DDfcz01CR6Mgdzznp03AJg4sF7ieIZjtrbMHCRV8
10
- VVL2meQyE8SUP5t9xvk/KLTw9dznMAD/EkCHWdlCmCaUubKlC8Kps3jA54pRNnX4
11
- U3n17CGpaawAw6IWpynoqWeZfO6hV35FyAzrJ/+oT2/r1ySf7k+V7n+XHfjz+K42
12
- Zp0mUGtvZe0nFYvzMnFpUkxvcSXarIzD/+/FMtkJnFh5GDzKRAf0kQSWSqLL31rZ
13
- 6dope8cYUhMnfAH+y+qYFohMSAMkFvfmHIfJCX5OyQKBgQDt/UtwFSV4A1la3X7F
14
- lVek1r6xbkmWto4G+w6gGB3IiyhAQ7JT4AjGjQ6+8HUQwq9ntslJl85+3hHNTHV9
15
- QV/6FBr4V91wW88FB9ruD6jw//Qyv4I74LRp34eAFQTWn7klnE3ZrGQVqPNgC+Aa
16
- cQ2VChUBjMeZsJWe6zLeQ92bWwKBgQDgIWDVNQysqqk1Hvqu8vFIAh4DWmfwGBSY
17
- CfOrlLfVnqcWtAX9jVhwaf+SZhldG0CUh4fzB+thzRSn5BWk7Cdcc4hmol77Qs4T
18
- XJyI2iSQJGi9cagPpBVmA+/f7d3OpWBcRkNQR4v3V1em8fIC+12LdolBP/Ah4APl
19
- RqmMn5OEZQKBgQDnq7wk5qDr3C6+soF267M+xsEpTdga+6j0iK6rD+7mSviq3nuZ
20
- BKzmQ2hIXSFIaIyBpMD7f+jHPXwM4tI4VUyNz8aVXEs21liHaCcpuVrXCAJ66Exp
21
- 54sYyT1JZKyqFSARyb9LF3LyVt5b8BN/CfCT1hWuxZGEPg7YfdKt5VizowKBgQCk
22
- YZaliKztDpXfcgMlwOSZjYP5rZrBise/4rymQQK7WArwKcSi+8G7YOKiuuMrWEt7
23
- JBPfeRV3u3PE1xHQzarosYt+yuOioJKHvMrJzEQ4u5teJje+kPdoxMZvlAO0BbKw
24
- uo+wF2leVN7igFyhNz6ahKuSAZTbI3N3+uVrT7ZfyQKBgE/9OiCsqmcPUvy4dT6o
25
- sCXHFTPii54vZLvL3/GhfJUPW21+XHuLrwhsi8MbRU5Wk51409noY3W8h41TPPFV
26
- r2HirPAxW4Om3AhsWo1522pVt/nXxm0OT59ICAENIvYE56EX4UjwVlFxkSEcL8Jz
27
- FSnXxmP5vCQXGx09r3Rd025y
28
- -----END PRIVATE KEY-----
@@ -1,5 +0,0 @@
1
- kubectl cp $(kubectl get pod | grep "sas-consul-server-0" | awk -F" " '{print $1}'):security/ca.crt ./ca.crt
2
-
3
- kubectl cp $(kubectl get pod | grep "sas-consul-server-0" | awk -F" " '{print $1}'):security/tls.crt ./tls.crt
4
-
5
- kubectl cp $(kubectl get pod | grep "sas-consul-server-0" | awk -F" " '{print $1}'):security/tls.key ./tls.key
@@ -1,12 +0,0 @@
1
- version: "3.8"
2
- services:
3
- viyaapp:
4
- build: .
5
- restart: always
6
- ports:
7
- - 8080:8080
8
- environment:
9
- - VIYA_SERVER=$V1
10
- - APPNAME=viyaapp
11
- - DEBUG=
12
-
@@ -1,7 +0,0 @@
1
- /*
2
- * Copyright © 2019, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.
3
- * SPDX-License-Identifier: Apache-2.0
4
- */
5
- const api = require('./api');
6
- let server = require('@sassoftware/viya-apiserverjs');
7
- server.icli (api);
@@ -1,20 +0,0 @@
1
- {
2
- "name": "apptest",
3
- "version": "2.0.1",
4
- "description": "",
5
- "main": "app.js",
6
- "scripts": {
7
- "start": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node index.js --env=./.env --docker=./Dockerfile",
8
- "starti": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node index.js --env=./.envimpl --docker=./Dockerfile",
9
- "proxy": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node index.js --env=./.envproxy --docker=./Dockerfile",
10
-
11
- "debug": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node --inspect-brk index.js --env=./.env --docker=./Dockerfile",
12
- "indocker": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node index.js"
13
- },
14
- "keywords": [],
15
- "author": "",
16
- "license": "ISC",
17
- "dependencies": {
18
- "cross-env": ">=7.0.0"
19
- }
20
- }
@@ -1,182 +0,0 @@
1
- /*--------------------------------------------------
2
- The options statement below should be placed
3
- before the data step when submitting this code.
4
- --------------------------------------------------*/
5
- /*options VALIDMEMNAME=EXTEND VALIDVARNAME=ANY;*/
6
- /*------------------------------------------
7
- Generated SAS Scoring Code
8
- Date : 02Jul2019:21:19:56
9
- Locale : en_US
10
- Model Type : Cluster
11
- Interval variable: SDOH_PMU(SDOH1 Physically Mentally Unhealthy)
12
- Interval variable: SDOH_Per_Adults_Bachelors(SDOH2 Education)
13
- Interval variable: SDOH_Unemployment_Rate(SDOH4 Unemployment Rate)
14
- Interval variable: SDOH_Median_Household_Income(SDOH3 Median Household Income)
15
- ------------------------------------------*/
16
-
17
-
18
- length _WARN_ $4;
19
- label _WARN_ = 'Warnings';
20
- label _CLUSTER_ID_ = 'Cluster ID';
21
- label _DISTANCE_ = 'Distance to Centroid';
22
-
23
- _i_ = 0;
24
- _j_ = 0;
25
- _k_ = 0;
26
- _l_ = 0;
27
- _dist_ = 0;
28
- _minDist_ = 0;
29
- _found_ = 0;
30
- _unknown_ = 0;
31
- _unknownflag_ = 0;
32
- _intMindist2cntr_ = 0;
33
- _missingflag4Int_ = 0;
34
- _numberOfIntVars_ = 4;
35
- _minDistInt_ = 0;
36
- label _STANDARDIZED_DISTANCE_ = 'Standardized Distance to Centroid';
37
-
38
- drop _i_;
39
- drop _j_;
40
- drop _k_;
41
- drop _l_;
42
- drop _dist_;
43
- drop _minDist_;
44
- drop _minDistInt_;
45
- drop _unknown_;
46
- drop _unknownflag_;
47
- drop _found_;
48
- drop _intMindist2cntr_;
49
- drop _missingflag4Int_;
50
- drop _numberOfIntVars_;
51
- drop _minDistInt_;
52
-
53
- array _intVals_67{4} _temporary_;
54
- array _intStdVals_67{4} _temporary_;
55
- array _intVars_67[4] _temporary_;
56
- _intVars_67[1] =
57
- SDOH_PMU;
58
- _intVars_67[2] =
59
- SDOH_Per_Adults_Bachelors;
60
- _intVars_67[3] =
61
- SDOH_Unemployment_Rate;
62
- _intVars_67[4] =
63
- SDOH_Median_Household_Income;
64
- array _cntrcoordsInt_67{4,4} _temporary_ (
65
- 5.6752109618776
66
- 34.574068577069
67
- 5.5249572649573
68
- 65162.262238794
69
- 6.1728412355737
70
- 28.076500921419
71
- 8.4815044247788
72
- 50250.811599193
73
- 5.5563377592335
74
- 27.69585347275
75
- 3.586724137931
76
- 55456.199169472
77
- 7.1425816544567
78
- 23.193113163492
79
- 5.9483653846154
80
- 45013.481439879
81
- );
82
- array _stdcntrcoordsInt_67 {4,4} _temporary_ (
83
- -0.545947986801
84
- 1.2465170251288
85
- -0.140043320021
86
- 1.2424484776721
87
- 0.080847377302
88
- -0.09555849286
89
- 1.0754374093924
90
- -0.456774851619
91
- -0.695675960102
92
- -0.17418139437
93
- -0.936879929639
94
- 0.1364012391051
95
- 1.3022939633885
96
- -1.104224427884
97
- 0.0340260867236
98
- -1.053590936451
99
- );
100
- array _stdscaleInt_67 {4} _temporary_ (
101
- 0.7939278147152
102
- 4.8414322208822
103
- 2.4324097357342
104
- 8775.4507500947
105
- );
106
- array _stdcenterInt_67 {4} _temporary_ (
107
- 6.1086542539869
108
- 28.539140887732
109
- 5.8656
110
- 54259.216813453
111
- );
112
-
113
- *************** check missing interval value ******************;
114
- _missingflag4Int_ = 0;
115
- do _i_ = 1 to _numberOfIntVars_ until(_missingflag4Int_);
116
- if missing( _intVars_67[_i_] ) then
117
- _missingflag4Int_ = 1;
118
- end;
119
-
120
- if (_missingflag4Int_ = 1) then
121
- substr(_WARN_, 1, 1) = 'M';
122
- ********** prepare interval variable values *********;
123
- do _i_ = 1 to _numberOfIntVars_;
124
- if missing (_intVars_67[_i_] ) then do;
125
- _intVals_67[_i_] = .;
126
- _intStdVals_67[_i_] = .;
127
- end; else do;
128
- if missing (_stdscaleInt_67[_i_] ) then do;
129
- _intStdVals_67[_i_] = ( _intVars_67[_i_] - _stdcenterInt_67[_i_]);
130
- end; else do;
131
- _intStdVals_67[_i_] = ( _intVars_67[_i_] - _stdcenterInt_67[_i_])
132
- / _stdscaleInt_67[_i_];
133
- end;
134
- _intVals_67[_i_] = _intVars_67[_i_];
135
- end;
136
- end;
137
- ****************** find the closest cluster ******************;
138
- if _missingflag4Int_ > 0 then
139
- do;
140
- _CLUSTER_ID_ = .;
141
- _DISTANCE_ = .;
142
- _minDistInt_ = .;
143
- _STANDARDIZED_DISTANCE_ = .;
144
- end;
145
- else
146
- do;
147
- _CLUSTER_ID_ = .;
148
- _minDist_ = 8.988465674E307;
149
- do _i_=1 to 4;
150
- _intMindist2cntr_ = 0;
151
- do _j_=1 to 4;
152
- _dist_ = _intStdVals_67{_j_} - _stdcntrcoordsInt_67{_i_,_j_};
153
- _dist_ = _dist_ ** 2;
154
- _intMindist2cntr_ = _intMindist2cntr_ + _dist_;
155
- end;
156
- _intMindist2cntr_ = _intMindist2cntr_ ** 0.5;
157
- if( _minDist_ > _intMindist2cntr_) then do;
158
- _CLUSTER_ID_ = _i_;
159
- _minDist_ = _intMindist2cntr_;
160
- end;
161
- _STANDARDIZED_DISTANCE_ = _minDist_;
162
- end;
163
- _DISTANCE_ = 8.988465674E307;
164
- _i_ = _CLUSTER_ID_;
165
- _intMindist2cntr_ = 0;
166
- do _j_=1 to 4;
167
- _dist_ = _intVals_67{_j_} - _cntrcoordsInt_67{_i_,_j_};
168
- _dist_ = _dist_ ** 2;
169
- _intMindist2cntr_ = _intMindist2cntr_ + _dist_;
170
- end;
171
- _intMindist2cntr_ = _intMindist2cntr_ ** 0.5;
172
- _DISTANCE_ = _intMindist2cntr_;
173
- end;
174
-
175
- if (MISSING('_CLUSTER_ID_'n))then _CLUSTER_ID_ = -1; /*------------------------------------------*/
176
- drop '_CLUSTER_ID_'n '_DISTANCE_'n '_WARN_'n '_STANDARDIZED_DISTANCE_'n;
177
- '_CLUSTER_ID__67'n='_CLUSTER_ID_'n;
178
- '_DISTANCE__67'n='_DISTANCE_'n;
179
- '_WARN__67'n='_WARN_'n;
180
- '_STANDARDIZED_DISTANCE__67'n='_STANDARDIZED_DISTANCE_'n;
181
- /*------------------------------------------*/
182
- run;