@sassoftware/viya-serverjs 0.2.2 → 0.2.4

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 (314) 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/handlers/proxyMapUri.js +4 -30
  7. package/lib/handlers/setCookies.js +7 -6
  8. package/lib/plugins/appCookie.js +3 -3
  9. package/lib/plugins/setDefaultRoutes.js +78 -53
  10. package/lib/plugins/setupAuth.js +2 -1
  11. package/package.json +1 -1
  12. package/public/index.html +8 -2
  13. package/public/indexProxy.html +1 -0
  14. package/server.js +5 -116
  15. package/src/handlers/proxyMapUri.js +2 -30
  16. package/src/handlers/setCookies.js +3 -1
  17. package/src/iService.js +1 -0
  18. package/src/plugins/appCookie.js +3 -3
  19. package/src/plugins/setDefaultRoutes.js +7 -14
  20. package/src/plugins/setupAuth.js +3 -1
  21. package/{packages/examples/app/certs/tls.sh → tls/viyatls.sh} +0 -2
  22. package/packages/core/config.js +0 -86
  23. package/packages/core/handlers/appCallback.js +0 -40
  24. package/packages/core/handlers/codeAuth.js +0 -31
  25. package/packages/core/handlers/decodeJwt.js +0 -11
  26. package/packages/core/handlers/favicon.js +0 -24
  27. package/packages/core/handlers/getApp.js +0 -41
  28. package/packages/core/handlers/getApp2.js +0 -26
  29. package/packages/core/handlers/getUser.js +0 -20
  30. package/packages/core/handlers/index.js +0 -36
  31. package/packages/core/handlers/keepAlive.js +0 -54
  32. package/packages/core/handlers/keepAlive2.js +0 -13
  33. package/packages/core/handlers/logon.js +0 -24
  34. package/packages/core/handlers/logout.js +0 -43
  35. package/packages/core/handlers/proxyMapUri.js +0 -53
  36. package/packages/core/handlers/proxyOnResponse.js +0 -12
  37. package/packages/core/handlers/reactDev.js +0 -30
  38. package/packages/core/handlers/setCookies.js +0 -78
  39. package/packages/core/iService.js +0 -369
  40. package/packages/core/index.js +0 -249
  41. package/packages/core/parseDocker.js +0 -33
  42. package/packages/core/plugins/SASauth.js +0 -79
  43. package/packages/core/plugins/appCookie.js +0 -49
  44. package/packages/core/plugins/setContext.js +0 -34
  45. package/packages/core/plugins/setDefaultRoutes.js +0 -262
  46. package/packages/core/plugins/setupAuth.js +0 -48
  47. package/packages/core/plugins/setupUserRoutes.js +0 -48
  48. package/packages/core/plugins/token.js +0 -10
  49. package/packages/core/schemes/SASTokenScheme.js +0 -43
  50. package/packages/core/visionIndex.html +0 -24
  51. package/packages/examples/apitest/.env +0 -11
  52. package/packages/examples/apitest/.eslintrc.json +0 -42
  53. package/packages/examples/apitest/Dockerfile +0 -41
  54. package/packages/examples/apitest/api.js +0 -88
  55. package/packages/examples/apitest/appenv.js +0 -6
  56. package/packages/examples/apitest/docker-compose.yml +0 -10
  57. package/packages/examples/apitest/package.json +0 -19
  58. package/packages/examples/apitest/public/data/Cluster_SDOH1.sas +0 -182
  59. package/packages/examples/apitest/public/data/Cluster_SDOH6.sas +0 -180
  60. package/packages/examples/apitest/public/data/LeNet_snzrle.astore +0 -0
  61. package/packages/examples/apitest/public/data/NeuralNetwork_High_med.sas +0 -2409
  62. package/packages/examples/apitest/public/data/NeuralNetwork_high_med1.sas +0 -2409
  63. package/packages/examples/apitest/public/data/ast/GBlocalcopy.sasast +0 -0
  64. package/packages/examples/apitest/public/data/ast/LeNet_snzrle.astore +0 -0
  65. package/packages/examples/apitest/public/data/ast/gb_IrisGB.sasast +0 -0
  66. package/packages/examples/apitest/public/data/ast/paysimsvdd.sasast +0 -0
  67. package/packages/examples/apitest/public/data/ast/svmlocalcopy.sasast +0 -0
  68. package/packages/examples/apitest/public/data/cars.csv +0 -429
  69. package/packages/examples/apitest/public/data/cluster_test2.sas7bdat +0 -0
  70. package/packages/examples/apitest/public/data/cmdList.txt +0 -15
  71. package/packages/examples/apitest/public/data/gradBoost.sashdat +0 -0
  72. package/packages/examples/apitest/public/data/iris.csv +0 -151
  73. package/packages/examples/apitest/public/data/model1.sas7bdat +0 -0
  74. package/packages/examples/apitest/public/favicon.ico +0 -0
  75. package/packages/examples/apitest/public/index.html +0 -316
  76. package/packages/examples/apitest/public/index2.html +0 -102
  77. package/packages/examples/apitest/public/logon.html +0 -42
  78. package/packages/examples/apitest/public/myapp/secondary.html +0 -1
  79. package/packages/examples/apitest/public/myapp/test.js +0 -2
  80. package/packages/examples/apitest/public/onlogoff.html +0 -53
  81. package/packages/examples/apitest/start.sh +0 -15
  82. package/packages/examples/app/.env +0 -32
  83. package/packages/examples/app/.envProxy +0 -19
  84. package/packages/examples/app/.envimpl +0 -12
  85. package/packages/examples/app/.eslintrc.json +0 -42
  86. package/packages/examples/app/Dockerfile +0 -42
  87. package/packages/examples/app/appenv.js +0 -6
  88. package/packages/examples/app/certs/ca.crt +0 -19
  89. package/packages/examples/app/certs/tls.crt +0 -25
  90. package/packages/examples/app/certs/tls.key +0 -28
  91. package/packages/examples/app/docker-compose.yml +0 -12
  92. package/packages/examples/app/index.js +0 -15
  93. package/packages/examples/app/package.json +0 -20
  94. package/packages/examples/app/public/casread.html +0 -324
  95. package/packages/examples/app/public/data/Cluster_SDOH1.sas +0 -182
  96. package/packages/examples/app/public/data/Cluster_SDOH6.sas +0 -180
  97. package/packages/examples/app/public/data/LeNet_snzrle.astore +0 -0
  98. package/packages/examples/app/public/data/NeuralNetwork_High_med.sas +0 -2409
  99. package/packages/examples/app/public/data/NeuralNetwork_high_med1.sas +0 -2409
  100. package/packages/examples/app/public/data/ast/GBlocalcopy.sasast +0 -0
  101. package/packages/examples/app/public/data/ast/LeNet_snzrle.astore +0 -0
  102. package/packages/examples/app/public/data/ast/gb_IrisGB.sasast +0 -0
  103. package/packages/examples/app/public/data/ast/paysimsvdd.sasast +0 -0
  104. package/packages/examples/app/public/data/ast/svmlocalcopy.sasast +0 -0
  105. package/packages/examples/app/public/data/cars.csv +0 -429
  106. package/packages/examples/app/public/data/cluster_test2.sas7bdat +0 -0
  107. package/packages/examples/app/public/data/cmdList.txt +0 -15
  108. package/packages/examples/app/public/data/gradBoost.sashdat +0 -0
  109. package/packages/examples/app/public/data/iris.csv +0 -151
  110. package/packages/examples/app/public/data/model1.sas7bdat +0 -0
  111. package/packages/examples/app/public/favicon.ico +0 -0
  112. package/packages/examples/app/public/index.html +0 -332
  113. package/packages/examples/app/public/indexProxy.html +0 -346
  114. package/packages/examples/app/public/indextest.html +0 -316
  115. package/packages/examples/app/public/logon.html +0 -44
  116. package/packages/examples/app/public/micburger.html +0 -345
  117. package/packages/examples/app/public/micburger.txt.html +0 -311
  118. package/packages/examples/app/public/myapp/secondary.html +0 -1
  119. package/packages/examples/app/public/myapp/test.js +0 -2
  120. package/packages/examples/app/public/sara.txt +0 -345
  121. package/packages/examples/app/public/testva2.html +0 -311
  122. package/packages/examples/app/startup.sh +0 -15
  123. package/packages/examples/appdocker/.env +0 -21
  124. package/packages/examples/appdocker/.envProxy +0 -22
  125. package/packages/examples/appdocker/.envimpl +0 -12
  126. package/packages/examples/appdocker/.eslintrc.json +0 -42
  127. package/packages/examples/appdocker/Dockerfile +0 -43
  128. package/packages/examples/appdocker/appenv.js +0 -6
  129. package/packages/examples/appdocker/certs/ca.crt +0 -19
  130. package/packages/examples/appdocker/certs/tls.crt +0 -25
  131. package/packages/examples/appdocker/certs/tls.key +0 -28
  132. package/packages/examples/appdocker/certs/tls.sh +0 -5
  133. package/packages/examples/appdocker/docker-compose.yml +0 -12
  134. package/packages/examples/appdocker/index.js +0 -15
  135. package/packages/examples/appdocker/package.json +0 -20
  136. package/packages/examples/appdocker/public/data/Cluster_SDOH1.sas +0 -182
  137. package/packages/examples/appdocker/public/data/Cluster_SDOH6.sas +0 -180
  138. package/packages/examples/appdocker/public/data/LeNet_snzrle.astore +0 -0
  139. package/packages/examples/appdocker/public/data/NeuralNetwork_High_med.sas +0 -2409
  140. package/packages/examples/appdocker/public/data/NeuralNetwork_high_med1.sas +0 -2409
  141. package/packages/examples/appdocker/public/data/ast/GBlocalcopy.sasast +0 -0
  142. package/packages/examples/appdocker/public/data/ast/LeNet_snzrle.astore +0 -0
  143. package/packages/examples/appdocker/public/data/ast/gb_IrisGB.sasast +0 -0
  144. package/packages/examples/appdocker/public/data/ast/paysimsvdd.sasast +0 -0
  145. package/packages/examples/appdocker/public/data/ast/svmlocalcopy.sasast +0 -0
  146. package/packages/examples/appdocker/public/data/cars.csv +0 -429
  147. package/packages/examples/appdocker/public/data/cluster_test2.sas7bdat +0 -0
  148. package/packages/examples/appdocker/public/data/cmdList.txt +0 -15
  149. package/packages/examples/appdocker/public/data/gradBoost.sashdat +0 -0
  150. package/packages/examples/appdocker/public/data/iris.csv +0 -151
  151. package/packages/examples/appdocker/public/data/model1.sas7bdat +0 -0
  152. package/packages/examples/appdocker/public/favicon.ico +0 -0
  153. package/packages/examples/appdocker/public/index.html +0 -346
  154. package/packages/examples/appdocker/public/indexProxy.html +0 -346
  155. package/packages/examples/appdocker/public/indextest.html +0 -316
  156. package/packages/examples/appdocker/public/logon.html +0 -44
  157. package/packages/examples/appdocker/public/myapp/secondary.html +0 -1
  158. package/packages/examples/appdocker/public/myapp/test.js +0 -2
  159. package/packages/examples/appdocker/startup.sh +0 -15
  160. package/packages/examples/apptest/.env +0 -28
  161. package/packages/examples/apptest/.envProxy +0 -22
  162. package/packages/examples/apptest/.envimpl +0 -12
  163. package/packages/examples/apptest/.eslintrc.json +0 -42
  164. package/packages/examples/apptest/Dockerfile +0 -44
  165. package/packages/examples/apptest/appDir/app1/design.html +0 -350
  166. package/packages/examples/apptest/appDir/app1/index.html +0 -353
  167. package/packages/examples/apptest/appDir/index.html +0 -350
  168. package/packages/examples/apptest/appenv.js +0 -6
  169. package/packages/examples/apptest/docker-compose.yml +0 -12
  170. package/packages/examples/apptest/index.js +0 -444
  171. package/packages/examples/apptest/package.json +0 -24
  172. package/packages/examples/apptest/public/casread2.html +0 -321
  173. package/packages/examples/apptest/public/data/Cluster_SDOH1.sas +0 -182
  174. package/packages/examples/apptest/public/data/Cluster_SDOH6.sas +0 -180
  175. package/packages/examples/apptest/public/data/LeNet_snzrle.astore +0 -0
  176. package/packages/examples/apptest/public/data/NeuralNetwork_High_med.sas +0 -2409
  177. package/packages/examples/apptest/public/data/NeuralNetwork_high_med1.sas +0 -2409
  178. package/packages/examples/apptest/public/data/ast/GBlocalcopy.sasast +0 -0
  179. package/packages/examples/apptest/public/data/ast/LeNet_snzrle.astore +0 -0
  180. package/packages/examples/apptest/public/data/ast/gb_IrisGB.sasast +0 -0
  181. package/packages/examples/apptest/public/data/ast/paysimsvdd.sasast +0 -0
  182. package/packages/examples/apptest/public/data/ast/svmlocalcopy.sasast +0 -0
  183. package/packages/examples/apptest/public/data/cars.csv +0 -429
  184. package/packages/examples/apptest/public/data/cluster_test2.sas7bdat +0 -0
  185. package/packages/examples/apptest/public/data/cmdList.txt +0 -15
  186. package/packages/examples/apptest/public/data/gradBoost.sashdat +0 -0
  187. package/packages/examples/apptest/public/data/iris.csv +0 -151
  188. package/packages/examples/apptest/public/data/model1.sas7bdat +0 -0
  189. package/packages/examples/apptest/public/design.html +0 -349
  190. package/packages/examples/apptest/public/favicon.ico +0 -0
  191. package/packages/examples/apptest/public/help.html +0 -1
  192. package/packages/examples/apptest/public/index.html +0 -353
  193. package/packages/examples/apptest/public/index2.html +0 -353
  194. package/packages/examples/apptest/public/indexProxy.html +0 -346
  195. package/packages/examples/apptest/public/indextest.html +0 -316
  196. package/packages/examples/apptest/public/logon.html +0 -44
  197. package/packages/examples/apptest/public/myapp/q.html +0 -349
  198. package/packages/examples/apptest/public/myapp/secondary.html +0 -1
  199. package/packages/examples/apptest/public/myapp/test.js +0 -2
  200. package/packages/examples/apptest/public/push1.html +0 -187
  201. package/packages/examples/apptest/startup.sh +0 -15
  202. package/packages/examples/apptesti/.env +0 -13
  203. package/packages/examples/apptesti/.eslintrc.json +0 -42
  204. package/packages/examples/apptesti/Dockerfile +0 -42
  205. package/packages/examples/apptesti/appenv.js +0 -6
  206. package/packages/examples/apptesti/certs/ca.crt +0 -19
  207. package/packages/examples/apptesti/certs/tls.crt +0 -25
  208. package/packages/examples/apptesti/certs/tls.key +0 -28
  209. package/packages/examples/apptesti/certs/tls.sh +0 -5
  210. package/packages/examples/apptesti/docker-compose.yml +0 -12
  211. package/packages/examples/apptesti/index.js +0 -7
  212. package/packages/examples/apptesti/package.json +0 -20
  213. package/packages/examples/apptesti/public/data/Cluster_SDOH1.sas +0 -182
  214. package/packages/examples/apptesti/public/data/Cluster_SDOH6.sas +0 -180
  215. package/packages/examples/apptesti/public/data/LeNet_snzrle.astore +0 -0
  216. package/packages/examples/apptesti/public/data/NeuralNetwork_High_med.sas +0 -2409
  217. package/packages/examples/apptesti/public/data/NeuralNetwork_high_med1.sas +0 -2409
  218. package/packages/examples/apptesti/public/data/ast/GBlocalcopy.sasast +0 -0
  219. package/packages/examples/apptesti/public/data/ast/LeNet_snzrle.astore +0 -0
  220. package/packages/examples/apptesti/public/data/ast/gb_IrisGB.sasast +0 -0
  221. package/packages/examples/apptesti/public/data/ast/paysimsvdd.sasast +0 -0
  222. package/packages/examples/apptesti/public/data/ast/svmlocalcopy.sasast +0 -0
  223. package/packages/examples/apptesti/public/data/cars.csv +0 -429
  224. package/packages/examples/apptesti/public/data/cluster_test2.sas7bdat +0 -0
  225. package/packages/examples/apptesti/public/data/cmdList.txt +0 -15
  226. package/packages/examples/apptesti/public/data/gradBoost.sashdat +0 -0
  227. package/packages/examples/apptesti/public/data/iris.csv +0 -151
  228. package/packages/examples/apptesti/public/data/model1.sas7bdat +0 -0
  229. package/packages/examples/apptesti/public/favicon.ico +0 -0
  230. package/packages/examples/apptesti/public/index.html +0 -346
  231. package/packages/examples/apptesti/public/indexProxy.html +0 -346
  232. package/packages/examples/apptesti/public/indextest.html +0 -316
  233. package/packages/examples/apptesti/public/logon.html +0 -44
  234. package/packages/examples/apptesti/public/main.html +0 -346
  235. package/packages/examples/apptesti/public/myapp/secondary.html +0 -1
  236. package/packages/examples/apptesti/public/myapp/test.js +0 -2
  237. package/packages/examples/apptesti/startup.sh +0 -15
  238. package/packages/examples/basic/.env +0 -10
  239. package/packages/examples/basic/.eslintrc.json +0 -42
  240. package/packages/examples/basic/Dockerfile +0 -41
  241. package/packages/examples/basic/api.js +0 -88
  242. package/packages/examples/basic/appenv.js +0 -6
  243. package/packages/examples/basic/docker-compose.yml +0 -10
  244. package/packages/examples/basic/package.json +0 -19
  245. package/packages/examples/basic/public/data/Cluster_SDOH1.sas +0 -182
  246. package/packages/examples/basic/public/data/Cluster_SDOH6.sas +0 -180
  247. package/packages/examples/basic/public/data/LeNet_snzrle.astore +0 -0
  248. package/packages/examples/basic/public/data/NeuralNetwork_High_med.sas +0 -2409
  249. package/packages/examples/basic/public/data/NeuralNetwork_high_med1.sas +0 -2409
  250. package/packages/examples/basic/public/data/ast/GBlocalcopy.sasast +0 -0
  251. package/packages/examples/basic/public/data/ast/LeNet_snzrle.astore +0 -0
  252. package/packages/examples/basic/public/data/ast/gb_IrisGB.sasast +0 -0
  253. package/packages/examples/basic/public/data/ast/paysimsvdd.sasast +0 -0
  254. package/packages/examples/basic/public/data/ast/svmlocalcopy.sasast +0 -0
  255. package/packages/examples/basic/public/data/cars.csv +0 -429
  256. package/packages/examples/basic/public/data/cluster_test2.sas7bdat +0 -0
  257. package/packages/examples/basic/public/data/cmdList.txt +0 -15
  258. package/packages/examples/basic/public/data/gradBoost.sashdat +0 -0
  259. package/packages/examples/basic/public/data/iris.csv +0 -151
  260. package/packages/examples/basic/public/data/model1.sas7bdat +0 -0
  261. package/packages/examples/basic/public/favicon.ico +0 -0
  262. package/packages/examples/basic/public/index.html +0 -29
  263. package/packages/examples/basic/public/index2.html +0 -102
  264. package/packages/examples/basic/public/logon.html +0 -42
  265. package/packages/examples/basic/public/myapp/secondary.html +0 -1
  266. package/packages/examples/basic/public/myapp/test.js +0 -2
  267. package/packages/examples/basic/public/onlogoff.html +0 -53
  268. package/packages/examples/basic/start.sh +0 -15
  269. package/packages/examples/proxytest/.env +0 -23
  270. package/packages/examples/proxytest/.envimpl +0 -11
  271. package/packages/examples/proxytest/.eslintrc.json +0 -42
  272. package/packages/examples/proxytest/Dockerfile +0 -42
  273. package/packages/examples/proxytest/appenv.js +0 -6
  274. package/packages/examples/proxytest/docker-compose.yml +0 -12
  275. package/packages/examples/proxytest/index.js +0 -57
  276. package/packages/examples/proxytest/package.json +0 -18
  277. package/packages/examples/proxytest/public/data/Cluster_SDOH1.sas +0 -182
  278. package/packages/examples/proxytest/public/data/Cluster_SDOH6.sas +0 -180
  279. package/packages/examples/proxytest/public/data/LeNet_snzrle.astore +0 -0
  280. package/packages/examples/proxytest/public/data/NeuralNetwork_High_med.sas +0 -2409
  281. package/packages/examples/proxytest/public/data/NeuralNetwork_high_med1.sas +0 -2409
  282. package/packages/examples/proxytest/public/data/ast/GBlocalcopy.sasast +0 -0
  283. package/packages/examples/proxytest/public/data/ast/LeNet_snzrle.astore +0 -0
  284. package/packages/examples/proxytest/public/data/ast/gb_IrisGB.sasast +0 -0
  285. package/packages/examples/proxytest/public/data/ast/paysimsvdd.sasast +0 -0
  286. package/packages/examples/proxytest/public/data/ast/svmlocalcopy.sasast +0 -0
  287. package/packages/examples/proxytest/public/data/cars.csv +0 -429
  288. package/packages/examples/proxytest/public/data/cluster_test2.sas7bdat +0 -0
  289. package/packages/examples/proxytest/public/data/cmdList.txt +0 -15
  290. package/packages/examples/proxytest/public/data/gradBoost.sashdat +0 -0
  291. package/packages/examples/proxytest/public/data/iris.csv +0 -151
  292. package/packages/examples/proxytest/public/data/model1.sas7bdat +0 -0
  293. package/packages/examples/proxytest/public/favicon.ico +0 -0
  294. package/packages/examples/proxytest/public/index.html +0 -357
  295. package/packages/examples/proxytest/public/index.js +0 -57
  296. package/packages/examples/proxytest/public/indextest.html +0 -316
  297. package/packages/examples/proxytest/public/logon.html +0 -44
  298. package/packages/examples/proxytest/public/main.html +0 -357
  299. package/packages/examples/proxytest/public/myapp/secondary.html +0 -1
  300. package/packages/examples/proxytest/public/myapp/test.js +0 -2
  301. package/packages/examples/proxytest/public/restaf.js +0 -2461
  302. package/packages/examples/proxytest/public/restaf.min.js +0 -11
  303. package/packages/examples/proxytest/public/sas/iris.txt +0 -10
  304. package/packages/examples/proxytest/startup.sh +0 -15
  305. package/public/casread2.html +0 -321
  306. package/public/design.html +0 -350
  307. package/public/display.html +0 -354
  308. package/public/index2.html +0 -353
  309. package/public/indextest.html +0 -316
  310. package/public/logon.html +0 -44
  311. package/public/myapp/q.html +0 -349
  312. package/public/myapp/secondary.html +0 -1
  313. package/public/myapp/test.js +0 -2
  314. 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;