@xmobitea/gn-server 2.1.1 → 2.3.0

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 (204) hide show
  1. package/GNconfig.debug.json +30 -27
  2. package/dist/GN-app-api/handler/controller/handler/authenticate/LoginBaseRequestHandler.d.ts +1 -1
  3. package/dist/GN-app-api/handler/controller/handler/authenticate/LoginByGameCenterRequestHandler.d.ts +24 -0
  4. package/dist/GN-app-api/handler/controller/handler/authenticate/LoginByGooglePlayGameServiceRequestHandler.d.ts +19 -0
  5. package/dist/GN-app-api/handler/controller/handler/authenticate/RegisterAccountRequestHandler.d.ts +1 -6
  6. package/dist/GN-app-api/handler/controller/handler/authenticate/model/InfoRequestParam.d.ts +1 -0
  7. package/dist/GN-app-api/handler/controller/handler/base/RequestHandler.d.ts +1 -1
  8. package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetCreateLeaderboardRequestHandler.d.ts +23 -0
  9. package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetCurrencyLogRequestHandler.d.ts +22 -0
  10. package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetFriendStatisticsLeaderboardRequestHandler.d.ts +2 -1
  11. package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetStatisticsLeaderboardRequestHandler.d.ts +1 -0
  12. package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetStatisticsLogRequestHandler.d.ts +22 -0
  13. package/dist/GN-app-api/handler/controller/handler/characterPlayer/SetPlayerCurrencyRequestHandler.d.ts +1 -0
  14. package/dist/GN-app-api/handler/controller/handler/characterPlayer/SetPlayerStatisticsRequestHandler.d.ts +1 -0
  15. package/dist/GN-app-api/handler/controller/handler/characterPlayer/model/PlayerDataParam.d.ts +0 -1
  16. package/dist/GN-app-api/handler/controller/handler/cloudScript/ExecuteFunctionRequestHandler.d.ts +1 -1
  17. package/dist/GN-app-api/handler/controller/handler/content/GetContentDataRequestHandler.d.ts +1 -1
  18. package/dist/GN-app-api/handler/controller/handler/content/GetFileUploadInfoListRequestHandler.d.ts +0 -1
  19. package/dist/GN-app-api/handler/controller/handler/dashboard/GetAnalyticsRequestHandler.d.ts +22 -0
  20. package/dist/GN-app-api/handler/controller/handler/dashboard/GetBackupStatisticsLeaderboardVersionRequestHandler.d.ts +18 -0
  21. package/dist/GN-app-api/handler/controller/handler/dashboard/GetEventCallbackCloudScriptRequestHandler.d.ts +15 -0
  22. package/dist/GN-app-api/handler/controller/handler/dashboard/GetServerGameDataRequestHandler.d.ts +34 -0
  23. package/dist/GN-app-api/handler/controller/handler/dashboard/GetServerLogRequestHandler.d.ts +2 -0
  24. package/dist/GN-app-api/handler/controller/handler/dashboard/GetUsernameAdminAccountRequestHandler.d.ts +16 -0
  25. package/dist/GN-app-api/handler/controller/handler/dashboard/GrantSecretInfoRequestHandler.d.ts +4 -1
  26. package/dist/GN-app-api/handler/controller/handler/dashboard/ResetStatisticsLeaderboardRequestHandler.d.ts +20 -0
  27. package/dist/GN-app-api/handler/controller/handler/dashboard/SetEventCallbackCloudScriptRequestHandler.d.ts +17 -0
  28. package/dist/GN-app-api/handler/controller/handler/dashboard/SetMasterGameSettingsRequestHandler.d.ts +4 -0
  29. package/dist/GN-app-api/handler/controller/handler/dashboard/model/AuthenticatePermissionRulesParam.d.ts +2 -0
  30. package/dist/GN-app-api/handler/controller/handler/dashboard/model/CharacterPlayerPermissionRulesParam.d.ts +3 -0
  31. package/dist/GN-app-api/handler/controller/handler/dashboard/model/ContentPermissionRulesParam.d.ts +2 -2
  32. package/dist/GN-app-api/handler/controller/handler/dashboard/model/CurrencySettingsParam.d.ts +2 -0
  33. package/dist/GN-app-api/handler/controller/handler/dashboard/model/EmailSettingsParam.d.ts +4 -0
  34. package/dist/GN-app-api/handler/controller/handler/dashboard/model/GamePlayerPermissionRulesParam.d.ts +3 -0
  35. package/dist/GN-app-api/handler/controller/handler/dashboard/model/GroupPermissionRulesParam.d.ts +3 -0
  36. package/dist/GN-app-api/handler/controller/handler/dashboard/model/InventoryPermissionRulesParam.d.ts +2 -0
  37. package/dist/GN-app-api/handler/controller/handler/dashboard/model/MasterAdminPermissionRulesParam.d.ts +6 -0
  38. package/dist/GN-app-api/handler/controller/handler/dashboard/model/MasterPlayerPermissionRulesParam.d.ts +16 -0
  39. package/dist/GN-app-api/handler/controller/handler/dashboard/model/MatchmakingQueueSettingsParam.d.ts +4 -0
  40. package/dist/GN-app-api/handler/controller/handler/dashboard/model/MultiplayerPermissionRulesParam.d.ts +2 -0
  41. package/dist/GN-app-api/handler/controller/handler/dashboard/model/PushNotificationSettingsParam.d.ts +5 -0
  42. package/dist/GN-app-api/handler/controller/handler/dashboard/model/StatisticsSettingsParam.d.ts +3 -0
  43. package/dist/GN-app-api/handler/controller/handler/dashboard/model/StoreInventoryPermissionRulesParam.d.ts +3 -0
  44. package/dist/GN-app-api/handler/controller/handler/dashboard/model/TagSettingsParam.d.ts +1 -0
  45. package/dist/GN-app-api/handler/controller/handler/dashboard/model/ThirtPartyAppleSettingsParam.d.ts +3 -0
  46. package/dist/GN-app-api/handler/controller/handler/dashboard/model/ThirtPartyGameCenterSettingsParam.d.ts +3 -0
  47. package/dist/GN-app-api/handler/controller/handler/dashboard/model/ThirtPartyGooglePlayGameSettingsParam.d.ts +6 -0
  48. package/dist/GN-app-api/handler/controller/handler/dashboard/model/ThirtPartyGoogleSettingsParam.d.ts +3 -3
  49. package/dist/GN-app-api/handler/controller/handler/dashboard/model/ThirtPartyParam.d.ts +4 -0
  50. package/dist/GN-app-api/handler/controller/handler/gamePlayer/GetCreateLeaderboardRequestHandler.d.ts +22 -0
  51. package/dist/GN-app-api/handler/controller/handler/gamePlayer/GetCurrencyLogRequestHandler.d.ts +22 -0
  52. package/dist/GN-app-api/handler/controller/handler/gamePlayer/GetFriendStatisticsLeaderboardRequestHandler.d.ts +2 -1
  53. package/dist/GN-app-api/handler/controller/handler/gamePlayer/GetStatisticsLeaderboardRequestHandler.d.ts +1 -0
  54. package/dist/GN-app-api/handler/controller/handler/gamePlayer/GetStatisticsLogRequestHandler.d.ts +22 -0
  55. package/dist/GN-app-api/handler/controller/handler/gamePlayer/SetPlayerCurrencyRequestHandler.d.ts +1 -0
  56. package/dist/GN-app-api/handler/controller/handler/gamePlayer/SetPlayerStatisticsRequestHandler.d.ts +1 -0
  57. package/dist/GN-app-api/handler/controller/handler/gamePlayer/model/PlayerDataParam.d.ts +0 -1
  58. package/dist/GN-app-api/handler/controller/handler/group/GetCreateLeaderboardRequestHandler.d.ts +22 -0
  59. package/dist/GN-app-api/handler/controller/handler/group/GetCurrencyLogRequestHandler.d.ts +22 -0
  60. package/dist/GN-app-api/handler/controller/handler/group/GetStatisticsLeaderboardRequestHandler.d.ts +1 -0
  61. package/dist/GN-app-api/handler/controller/handler/group/GetStatisticsLogRequestHandler.d.ts +22 -0
  62. package/dist/GN-app-api/handler/controller/handler/group/GroupBaseRequestHandler.d.ts +1 -1
  63. package/dist/GN-app-api/handler/controller/handler/group/SetGroupCurrencyRequestHandler.d.ts +1 -0
  64. package/dist/GN-app-api/handler/controller/handler/group/SetGroupStatisticsRequestHandler.d.ts +1 -0
  65. package/dist/GN-app-api/handler/controller/handler/group/model/GroupDataParam.d.ts +0 -1
  66. package/dist/GN-app-api/handler/controller/handler/inventory/GetCreateLeaderboardRequestHandler.d.ts +22 -0
  67. package/dist/GN-app-api/handler/controller/handler/inventory/GetStatisticsLeaderboardRequestHandler.d.ts +1 -0
  68. package/dist/GN-app-api/handler/controller/handler/inventory/GetStatisticsLogRequestHandler.d.ts +22 -0
  69. package/dist/GN-app-api/handler/controller/handler/inventory/SetItemStatisticsRequestHandler.d.ts +1 -0
  70. package/dist/GN-app-api/handler/controller/handler/inventory/model/ItemDataParam.d.ts +0 -1
  71. package/dist/GN-app-api/handler/controller/handler/masterPlayer/AddPushNotificationRequestHandler.d.ts +20 -0
  72. package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetCreateLeaderboardRequestHandler.d.ts +22 -0
  73. package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetCurrencyLogRequestHandler.d.ts +22 -0
  74. package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetLastLoginLeaderboardRequestHandler.d.ts +22 -0
  75. package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetPlayersWithGameCenterRequestHandler.d.ts +20 -0
  76. package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetPlayersWithGooglePlayGameServiceRequestHandler.d.ts +20 -0
  77. package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetPushNotificationRequestHandler.d.ts +18 -0
  78. package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetStatisticsLeaderboardRequestHandler.d.ts +1 -0
  79. package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetStatisticsLogRequestHandler.d.ts +22 -0
  80. package/dist/GN-app-api/handler/controller/handler/masterPlayer/LinkGameCenterRequestHandler.d.ts +25 -0
  81. package/dist/GN-app-api/handler/controller/handler/masterPlayer/LinkGooglePlayGameServiceRequestHandler.d.ts +20 -0
  82. package/dist/GN-app-api/handler/controller/handler/masterPlayer/MasterPlayerBaseRequestHandler.d.ts +1 -0
  83. package/dist/GN-app-api/handler/controller/handler/masterPlayer/RemovePushNotificationRequestHandler.d.ts +19 -0
  84. package/dist/GN-app-api/handler/controller/handler/masterPlayer/SendEmailRequestHandler.d.ts +20 -0
  85. package/dist/GN-app-api/handler/controller/handler/masterPlayer/SendPushNotificationRequestHandler.d.ts +25 -0
  86. package/dist/GN-app-api/handler/controller/handler/masterPlayer/SendSocketOperationEventRequestHandler.d.ts +22 -0
  87. package/dist/GN-app-api/handler/controller/handler/masterPlayer/SetPlayerCurrencyRequestHandler.d.ts +1 -0
  88. package/dist/GN-app-api/handler/controller/handler/masterPlayer/SetPlayerStatisticsRequestHandler.d.ts +1 -0
  89. package/dist/GN-app-api/handler/controller/handler/masterPlayer/UnlinkGameCenterRequestHandler.d.ts +19 -0
  90. package/dist/GN-app-api/handler/controller/handler/masterPlayer/UnlinkGooglePlayGameServiceRequestHandler.d.ts +19 -0
  91. package/dist/GN-app-api/handler/controller/handler/masterPlayer/model/InfoRequestParam.d.ts +1 -0
  92. package/dist/GN-app-api/handler/controller/handler/multiplayer/GetAllMatchRequestHandler.d.ts +20 -0
  93. package/dist/GN-app-api/handler/controller/handler/multiplayer/GetAllMatchmakingTicketRequestHandler.d.ts +21 -0
  94. package/dist/GN-app-api/handler/controller/handler/multiplayer/MatchmakingHandler.d.ts +2 -2
  95. package/dist/GN-app-api/handler/controller/handler/storeInventory/BuyStoreItemRequestHandler.d.ts +1 -0
  96. package/dist/GN-app-api/handler/controller/handler/storeInventory/GetCreateLeaderboardRequestHandler.d.ts +22 -0
  97. package/dist/GN-app-api/handler/controller/handler/storeInventory/GetStoreLogRequestHandler.d.ts +22 -0
  98. package/dist/GN-app-api/handler/controller/handler/storeInventory/GrantStoreItemRequestHandler.d.ts +1 -0
  99. package/dist/GN-app-api/handler/controller/handler/storeInventory/PresentStoreItemRequestHandler.d.ts +21 -0
  100. package/dist/GN-app-api/handler/controller/handler/storeInventory/SetStoreItemInformationRequestHandler.d.ts +8 -8
  101. package/dist/GN-app-api/handler/controller/handler/storeInventory/ValidateAppleAppStoreReceiptRequestHandler.d.ts +1 -0
  102. package/dist/GN-app-api/handler/controller/handler/storeInventory/ValidateFacebookStoreReceiptRequestHandler.d.ts +1 -0
  103. package/dist/GN-app-api/handler/controller/handler/storeInventory/ValidateGooglePlayStoreReceiptRequestHandler.d.ts +1 -0
  104. package/dist/GN-app-api/handler/controller/handler/storeInventory/model/InAppPurchaseParam.d.ts +4 -3
  105. package/dist/GN-app-api/service/AnalyticsService.d.ts +4 -2
  106. package/dist/GN-app-api/service/AppleService.d.ts +16 -4
  107. package/dist/GN-app-api/service/CloudScriptService.d.ts +14 -2
  108. package/dist/GN-app-api/service/CountryIPDetailService.d.ts +11 -0
  109. package/dist/GN-app-api/service/EventCallbackService.d.ts +103 -0
  110. package/dist/GN-app-api/service/GameCenterService.d.ts +19 -0
  111. package/dist/GN-app-api/service/GenericService.d.ts +3 -2
  112. package/dist/GN-app-api/service/GooglePlayGameService.d.ts +21 -0
  113. package/dist/GN-app-api/service/IAnalyticsService.d.ts +13 -2
  114. package/dist/GN-app-api/service/ICloudScriptService.d.ts +3 -1
  115. package/dist/GN-app-api/service/ICountryIPDetailService.d.ts +20 -0
  116. package/dist/GN-app-api/service/IGameCenterService.d.ts +13 -0
  117. package/dist/GN-app-api/service/IGenericService.d.ts +6 -3
  118. package/dist/GN-app-api/service/IGooglePlayGameService.d.ts +5 -0
  119. package/dist/GN-common/constant/Commands.d.ts +1 -0
  120. package/dist/GN-common/constant/OperationCode.d.ts +29 -0
  121. package/dist/GN-common/constant/enumType/OwnerType.d.ts +2 -1
  122. package/dist/GN-common/constant/enumType/PushPlatformType.d.ts +4 -0
  123. package/dist/GN-common/constant/enumType/StoreReceiveType.d.ts +7 -0
  124. package/dist/GN-common/constant/errorCode/GNErrorCode.d.ts +2 -0
  125. package/dist/GN-common/constant/parameterCode/GNParameterCode.d.ts +120 -1
  126. package/dist/GN-common/entity/SecretInfo.d.ts +48 -1
  127. package/dist/GN-common/helper/StringUtility.d.ts +1 -1
  128. package/dist/GN-library/xcachedata/lib/xCacheData.d.ts +1 -0
  129. package/dist/GN-library/xconfig/lib/xConfig.d.ts +2 -1
  130. package/dist/GN-library/xdatabase/lib/entity/pro/ExternalItem.d.ts +10 -0
  131. package/dist/GN-library/xdatabase/lib/entity/pro/IPDetailItem.d.ts +5 -0
  132. package/dist/GN-library/xdatabase/lib/entity/pro/MasterPlayer.d.ts +13 -0
  133. package/dist/GN-library/xdatabase/lib/entity/pro/MongoObject.d.ts +2 -0
  134. package/dist/GN-library/xdatabase/lib/entity/pro/PushNotificationItem.d.ts +5 -0
  135. package/dist/GN-library/xdatabase/lib/entity/pro/StoreInventory.d.ts +1 -0
  136. package/dist/GN-library/xdatabase/lib/entity/pro/findOptions/MasterPlayerFindOptions.d.ts +2 -0
  137. package/dist/GN-library/xdatabase/lib/entity/pro/masterAdmin/MasterGameSettings.d.ts +10 -0
  138. package/dist/GN-library/xdatabase/lib/xDatabase.d.ts +113 -10
  139. package/dist/GN-library/xdebug/lib/xDebug.d.ts +1 -0
  140. package/dist/GN-library/xmail/lib/xMail.d.ts +3 -1
  141. package/dist/GN-library/xnotification/lib/xPushNotification.d.ts +27 -0
  142. package/dist/GN-library/xsettings/lib/entity/xCurrencySettings.d.ts +2 -0
  143. package/dist/GN-library/xsettings/lib/entity/xEmailSettings.d.ts +4 -0
  144. package/dist/GN-library/xsettings/lib/entity/xPushNotificationSettings.d.ts +5 -0
  145. package/dist/GN-library/xsettings/lib/entity/xStatisticsSettings.d.ts +3 -0
  146. package/dist/GN-library/xsettings/lib/entity/xTagSettings.d.ts +1 -0
  147. package/dist/GN-library/xsettings/lib/entity/xThirtPartySettings.d.ts +12 -0
  148. package/dist/GN-startup/DefaultApplicationStartup.d.ts +1 -2
  149. package/dist/GN-startup/HttpApp.d.ts +0 -3
  150. package/dist/GN-startup/ServerApplication.d.ts +0 -4
  151. package/dist/GN-startup/cloudScript/eventCallbackCloudScriptData.json +1818 -0
  152. package/dist/GN-startup/cloudScript/templateCloudScript.ts +567 -0
  153. package/dist/GN-startup/cloudScript/templateEventCallback.ts +798 -0
  154. package/dist/GN-startup/middleware/AntiDdosMiddleware.d.ts +4 -1
  155. package/dist/GN-startup/middleware/ApiMiddleware.d.ts +1 -0
  156. package/dist/GN-startup/routes/AdminAppHandler.d.ts +0 -31
  157. package/dist/GN-startup/settings/DDosSettings.d.ts +3 -0
  158. package/dist/GN-startup/settings/OtherSettings.d.ts +6 -0
  159. package/dist/GNServer.d.ts +30 -4
  160. package/dist/index.d.ts +144 -6
  161. package/dist/index.js +21329 -6740
  162. package/gn.sh +7 -10
  163. package/package.json +24 -27
  164. package/syncCode.js +341 -341
  165. package/syncCodeVer2.js +176 -0
  166. package/dist/GN-startup/cloudScript/template.ts +0 -126
  167. package/dist/GN-startup/routes/www/public/admin/debug-common.js +0 -1233
  168. package/dist/GN-startup/routes/www/public/admin/index-common.js +0 -217
  169. package/dist/GN-startup/routes/www/public/admin/log-common.js +0 -52
  170. package/dist/GN-startup/routes/www/public/admin/signin-common.js +0 -35
  171. package/dist/GN-startup/routes/www/public/assets/demo/chart-area-demo.js +0 -54
  172. package/dist/GN-startup/routes/www/public/assets/demo/chart-bar-demo.js +0 -46
  173. package/dist/GN-startup/routes/www/public/assets/demo/chart-pie-demo.js +0 -16
  174. package/dist/GN-startup/routes/www/public/assets/demo/datatables-demo.js +0 -4
  175. package/dist/GN-startup/routes/www/public/assets/img/error-404-monochrome.svg +0 -1
  176. package/dist/GN-startup/routes/www/public/css/styles.css +0 -11701
  177. package/dist/GN-startup/routes/www/public/favicon.ico +0 -0
  178. package/dist/GN-startup/routes/www/public/favicon.png +0 -0
  179. package/dist/GN-startup/routes/www/public/js/scripts.js +0 -26
  180. package/dist/GN-startup/routes/www/views/101.ejs +0 -21
  181. package/dist/GN-startup/routes/www/views/401.ejs +0 -25
  182. package/dist/GN-startup/routes/www/views/403.ejs +0 -21
  183. package/dist/GN-startup/routes/www/views/404.ejs +0 -25
  184. package/dist/GN-startup/routes/www/views/500.ejs +0 -25
  185. package/dist/GN-startup/routes/www/views/admin/change-password.ejs +0 -46
  186. package/dist/GN-startup/routes/www/views/admin/debug.ejs +0 -14
  187. package/dist/GN-startup/routes/www/views/admin/index.ejs +0 -28
  188. package/dist/GN-startup/routes/www/views/admin/log.ejs +0 -16
  189. package/dist/GN-startup/routes/www/views/admin/signin.ejs +0 -56
  190. package/dist/GN-startup/routes/www/views/layout.ejs +0 -8
  191. package/dist/GN-startup/routes/www/views/partials/areachart.ejs +0 -9
  192. package/dist/GN-startup/routes/www/views/partials/areachartccu.ejs +0 -9
  193. package/dist/GN-startup/routes/www/views/partials/barchart.ejs +0 -9
  194. package/dist/GN-startup/routes/www/views/partials/barcharttotal.ejs +0 -9
  195. package/dist/GN-startup/routes/www/views/partials/common/footer.ejs +0 -14
  196. package/dist/GN-startup/routes/www/views/partials/common/head.ejs +0 -11
  197. package/dist/GN-startup/routes/www/views/partials/dau.ejs +0 -41
  198. package/dist/GN-startup/routes/www/views/partials/debugboard.ejs +0 -90
  199. package/dist/GN-startup/routes/www/views/partials/description.ejs +0 -20
  200. package/dist/GN-startup/routes/www/views/partials/logtable.ejs +0 -50
  201. package/dist/GN-startup/routes/www/views/partials/piechart.ejs +0 -7
  202. package/dist/GN-startup/routes/www/views/partials/sidenav.ejs +0 -83
  203. package/dist/GN-startup/routes/www/views/partials/topnav.ejs +0 -53
  204. package/dist/GN-startup/settings/MailSettings.d.ts +0 -22
@@ -1,1233 +0,0 @@
1
- window.onload = (event) => {
2
- var gnServerSettings = new GN.GNServerSettings();
3
- window.gnServerSettings = gnServerSettings;
4
-
5
- var gnRequests = [];
6
- window.gnRequests = gnRequests;
7
-
8
- var gnOperationNameDict = {};
9
- window.gnOperationNameDict = gnOperationNameDict;
10
-
11
- var gnParametersDict = {};
12
- window.gnParametersDict = gnParametersDict;
13
-
14
- var gnEventNameDict = {};
15
- window.gnEventNameDict = gnEventNameDict;
16
-
17
- var gnReturnCodeDict = {};
18
- window.gnReturnCodeDict = gnReturnCodeDict;
19
-
20
- var gnInvalidMemberTypeDict = {};
21
- window.gnInvalidMemberTypeDict = gnInvalidMemberTypeDict;
22
-
23
- initDebugSupport();
24
- init();
25
- };
26
-
27
-
28
- function gnConnectSocket() {
29
- GN.GNNetwork.connectSocket(() => {
30
- console.log("connect success");
31
- });
32
- }
33
-
34
- function gnDisconnectSocket() {
35
- GN.GNNetwork.disconnectSocket(() => {
36
- console.log("disconnect success");
37
- });
38
- }
39
-
40
- function onOperationCodeDropdownValueChange() {
41
- let operationCode = document.getElementById("operationCodeDropdown").value;
42
-
43
- let panelParameters = document.getElementById("panelParameters");
44
- panelParameters.innerHTML = "";
45
-
46
- let gnParameters = gnParametersDict[operationCode];
47
- for (let i = 0; i < gnParameters.length; i++) {
48
- let gnParameter = gnParameters[i];
49
-
50
- let div0 = document.createElement("div");
51
- div0.classList.add("mb-3");
52
- div0.id = "row" + i;
53
-
54
- let div1 = document.createElement("div");
55
- div1.classList.add("row");
56
-
57
- let div1a = document.createElement("div");
58
- div1a.classList.add("col-12");
59
- div1a.classList.add("col-md-3");
60
-
61
- let divSelect1a = document.createElement("select");
62
- divSelect1a.classList.add("select-container");
63
- divSelect1a.classList.add("form-select");
64
- divSelect1a.id = "parameterCodeRow" + i + "Dropdown";
65
- divSelect1a.disabled = true;
66
-
67
- let divOption1a = document.createElement("option");
68
- divOption1a.value = gnParameter.parameterCode;
69
- divOption1a.selected = true;
70
- divOption1a.innerText = gnParameter.parameterName;
71
- divSelect1a.appendChild(divOption1a);
72
-
73
- div1a.appendChild(divSelect1a);
74
-
75
- let div1b = document.createElement("div");
76
- div1b.classList.add("col-12");
77
- div1b.classList.add("col-md-2");
78
-
79
- let divSelect1b = document.createElement("select");
80
- divSelect1b.classList.add("select-container");
81
- divSelect1b.classList.add("form-select");
82
- divSelect1b.id = "typeRow" + i + "Dropdown";
83
-
84
- let option0 = document.createElement("option");
85
- option0.value = "0";
86
- option0.innerText = "String";
87
- divSelect1b.appendChild(option0);
88
-
89
- let option1 = document.createElement("option");
90
- option1.value = "1";
91
- option1.innerText = "Number";
92
- divSelect1b.appendChild(option1);
93
-
94
- let option2 = document.createElement("option");
95
- option2.value = "2";
96
- option2.innerText = "Boolean";
97
- divSelect1b.appendChild(option2);
98
-
99
- let option3 = document.createElement("option");
100
- option3.value = "3";
101
- option3.innerText = "GNHashtable";
102
- divSelect1b.appendChild(option3);
103
-
104
- let option4 = document.createElement("option");
105
- option4.value = "4";
106
- option4.innerText = "GNArray";
107
- divSelect1b.appendChild(option4);
108
-
109
- if (gnParameter.parameterType != 0) {
110
- divSelect1b.disabled = true;
111
- }
112
- else {
113
- divSelect1b.setAttribute("onchange", "onTypeDropdownChange('" + i + "')");
114
- }
115
-
116
- div1b.appendChild(divSelect1b);
117
-
118
- let div1c = document.createElement("div");
119
- div1c.classList.add("col-12");
120
-
121
- if (gnParameter.parameterIsOptional) {
122
- div1c.classList.add("col-md-6");
123
- }
124
- else {
125
- div1c.classList.add("col-md-7");
126
- }
127
-
128
- let divOptional = document.createElement("div");
129
- divOptional.classList.add("col-12");
130
- divOptional.classList.add("col-md-1");
131
-
132
- let panelRowA = document.createElement("div");
133
- panelRowA.id = "panelRow" + i + "a";
134
- div1c.appendChild(panelRowA);
135
-
136
- let panelRowB = document.createElement("div");
137
- panelRowB.id = "panelRow" + i + "b";
138
-
139
- if (gnParameter.parameterType == 0 || gnParameter.parameterType == 2) {
140
- option0.selected = true;
141
- divSelect1b.value = "0";
142
- }
143
- else if (gnParameter.parameterType == 1) {
144
- option1.selected = true;
145
- divSelect1b.value = "1";
146
- }
147
- else if (gnParameter.parameterType == 3) {
148
- option2.selected = true;
149
- divSelect1b.value = "2";
150
- }
151
- else if (gnParameter.parameterType == 4) {
152
- option3.selected = true;
153
- divSelect1b.value = "3";
154
- }
155
- else if (gnParameter.parameterType == 5) {
156
- option4.selected = true;
157
- divSelect1b.value = "4";
158
- }
159
-
160
- div1.appendChild(div1a);
161
- div1.appendChild(div1b);
162
- div1.appendChild(div1c);
163
-
164
- if (gnParameter.parameterIsOptional) {
165
- let removeElementButton = document.createElement("button");
166
- removeElementButton.style = "margin-top: 3px; width: 50px;";
167
- removeElementButton.classList.add("btn");
168
- removeElementButton.classList.add("btn-outline-secondary");
169
- removeElementButton.classList.add("btn-sm");
170
- removeElementButton.setAttribute("onclick", "removeGNDataElement('" + i + "')");
171
- removeElementButton.innerText = "-";
172
- removeElementButton.id = "removeRow" + i + "Button";
173
- divOptional.appendChild(removeElementButton);
174
-
175
- div1.appendChild(divOptional);
176
- }
177
-
178
- div1.appendChild(panelRowB);
179
-
180
- div0.appendChild(div1);
181
-
182
- panelParameters.appendChild(div0);
183
-
184
- onTypeDropdownChange(i);
185
- }
186
- }
187
-
188
- function onTypeDropdownChange(rowId) {
189
- let value = document.getElementById("typeRow" + rowId + "Dropdown").value;
190
-
191
- if (value == "0") {
192
- let panelRow = document.getElementById("panelRow" + rowId + "a");
193
- panelRow.innerHTML = "";
194
-
195
- let inputField = document.createElement("input");
196
- inputField.classList.add("input-height");
197
- inputField.classList.add("form-control");
198
- inputField.type = "text";
199
- inputField.placeholder = "Value as string";
200
- inputField.id = "valueRow" + rowId + "Field";
201
-
202
- panelRow.appendChild(inputField);
203
- }
204
- else if (value == "1") {
205
- let panelRow = document.getElementById("panelRow" + rowId + "a");
206
- panelRow.innerHTML = "";
207
-
208
- let inputField = document.createElement("input");
209
- inputField.classList.add("input-height");
210
- inputField.classList.add("form-control");
211
- inputField.type = "number";
212
- inputField.placeholder = "Value as number";
213
- inputField.id = "valueRow" + rowId + "Field";
214
-
215
- panelRow.appendChild(inputField);
216
- }
217
- else if (value == "2") {
218
- let panelRow = document.getElementById("panelRow" + rowId + "a");
219
- panelRow.innerHTML = "";
220
-
221
- let checkBoxField = document.createElement("input");
222
- checkBoxField.type = "checkbox";
223
- checkBoxField.placeholder = "Value as boolean";
224
- checkBoxField.style = "margin-top: 6px; height: 26px; width: 26px;";
225
- checkBoxField.id = "valueRow" + rowId + "Toggle";
226
-
227
- panelRow.appendChild(checkBoxField);
228
- }
229
- else if (value == "3") {
230
- let panelRow = document.getElementById("panelRow" + rowId + "a");
231
- panelRow.innerHTML = "";
232
-
233
- let divRow = document.createElement("div");
234
- divRow.classList.add("row");
235
-
236
- let divElement0 = document.createElement("div");
237
- divElement0.classList.add("col-12");
238
- divElement0.classList.add("col-md-4");
239
- let button = document.createElement("button");
240
- button.classList.add("btn");
241
- button.classList.add("btn-outline-success");
242
- button.classList.add("mt-1");
243
- button.classList.add("btn-sm");
244
- button.innerHTML = "+ Key Pair Value";
245
- button.style = "width: 128px !important;";
246
- button.setAttribute("onClick", "addKeyPairValue('" + rowId + "')");
247
- divElement0.appendChild(button);
248
-
249
- let divElement1 = document.createElement("div");
250
- divElement1.classList.add("col-12");
251
- divElement1.classList.add("col-md-2");
252
- let inputField = document.createElement("input");
253
- inputField.classList.add("input-height");
254
- inputField.classList.add("form-control");
255
- inputField.style = "text-align:center; width: 78px !important;";
256
- inputField.type = "number";
257
- inputField.placeholder = "Value as number";
258
- inputField.id = "valueRow" + rowId + "Field";
259
- inputField.value = 0;
260
- inputField.disabled = true;
261
- divElement1.appendChild(inputField);
262
-
263
- divRow.appendChild(divElement0);
264
- divRow.appendChild(divElement1);
265
- panelRow.appendChild(divRow);
266
-
267
- panelRow = document.getElementById("panelRow" + rowId + "b");
268
- panelRow.innerHTML = "";
269
-
270
- let div1b = document.createElement("div");
271
- div1b.classList.add("mb-1");
272
- div1b.style = "display: flex;";
273
-
274
- let div1c = document.createElement("div");
275
- div1c.style = "padding-left: 40px; flex: 1;";
276
- div1c.id = "valueRow" + rowId + "GNData";
277
- div1b.appendChild(div1c);
278
-
279
- panelRow.appendChild(div1b);
280
- }
281
- else if (value == "4") {
282
- let panelRow = document.getElementById("panelRow" + rowId + "a");
283
- panelRow.innerHTML = "";
284
-
285
- let divRow = document.createElement("div");
286
- divRow.classList.add("row");
287
-
288
- let divElement0 = document.createElement("div");
289
- divElement0.classList.add("col-12");
290
- divElement0.classList.add("col-md-4");
291
- let button = document.createElement("button");
292
- button.classList.add("btn");
293
- button.classList.add("btn-outline-success");
294
- button.classList.add("mt-1");
295
- button.classList.add("btn-sm");
296
- button.innerHTML = "+ Value";
297
- button.style = "width: 128px !important;";
298
- button.setAttribute("onClick", "addValue('" + rowId + "')");
299
- divElement0.appendChild(button);
300
-
301
- let divElement1 = document.createElement("div");
302
- divElement1.classList.add("col-12");
303
- divElement1.classList.add("col-md-2");
304
- let inputField = document.createElement("input");
305
- inputField.classList.add("input-height");
306
- inputField.classList.add("form-control");
307
- inputField.style = "text-align:center; width: 78px !important;";
308
- inputField.type = "number";
309
- inputField.placeholder = "Value as number";
310
- inputField.id = "valueRow" + rowId + "Field";
311
- inputField.value = 0;
312
- inputField.disabled = true;
313
- divElement1.appendChild(inputField);
314
-
315
- divRow.appendChild(divElement0);
316
- divRow.appendChild(divElement1);
317
- panelRow.appendChild(divRow);
318
-
319
- panelRow = document.getElementById("panelRow" + rowId + "b");
320
- panelRow.innerHTML = "";
321
-
322
- let div1b = document.createElement("div");
323
- div1b.classList.add("mb-1");
324
- div1b.style = "display: flex;";
325
-
326
- let div1c = document.createElement("div");
327
- div1c.style = "padding-left: 40px; flex: 1;";
328
- div1c.id = "valueRow" + rowId + "GNData";
329
- div1b.appendChild(div1c);
330
-
331
- panelRow.appendChild(div1b);
332
- }
333
- }
334
-
335
- function addKeyPairValue(rowId) {
336
- let inputField = document.getElementById("valueRow" + rowId + "Field");
337
- let endRowId = rowId + "." + Number.parseInt(inputField.value);
338
-
339
- let valueRow = document.getElementById("valueRow" + rowId + "GNData");
340
-
341
- let elementDivRow = document.createElement("div");
342
- elementDivRow.classList.add("mt-1");
343
- elementDivRow.id = "row" + endRowId;
344
-
345
- let divRow = document.createElement("div");
346
- divRow.classList.add("row");
347
-
348
- let divElement0 = document.createElement("div");
349
- divElement0.classList.add("col-12");
350
- divElement0.classList.add("col-md-3");
351
- let parameterCodeField0 = document.createElement("input");
352
- parameterCodeField0.classList.add("input-height");
353
- parameterCodeField0.classList.add("form-control");
354
- parameterCodeField0.style = "height: 40px;";
355
- parameterCodeField0.type = "text";
356
- parameterCodeField0.placeholder = "ParameterCode";
357
- parameterCodeField0.id = "parameterCodeRow" + endRowId + "Field";
358
- divElement0.appendChild(parameterCodeField0);
359
-
360
- let divElement1 = document.createElement("div");
361
- divElement1.classList.add("col-12");
362
- divElement1.classList.add("col-md-2");
363
- let divSelect1 = document.createElement("select");
364
- divSelect1.classList.add("select-container");
365
- divSelect1.classList.add("form-select");
366
- divSelect1.id = "typeRow" + endRowId + "Dropdown";
367
- divSelect1.setAttribute("onchange", "onTypeDropdownChange('" + endRowId + "')");
368
-
369
- let option0 = document.createElement("option");
370
- option0.value = "0";
371
- option0.selected = true;
372
- option0.innerText = "String";
373
- divSelect1.appendChild(option0);
374
-
375
- let option1 = document.createElement("option");
376
- option1.value = "1";
377
- option1.innerText = "Number";
378
- divSelect1.appendChild(option1);
379
-
380
- let option2 = document.createElement("option");
381
- option2.value = "2";
382
- option2.innerText = "Boolean";
383
- divSelect1.appendChild(option2);
384
-
385
- let option3 = document.createElement("option");
386
- option3.value = "3";
387
- option3.innerText = "GNHashtable";
388
- divSelect1.appendChild(option3);
389
-
390
- let option4 = document.createElement("option");
391
- option4.value = "4";
392
- option4.innerText = "GNArray";
393
- divSelect1.appendChild(option4);
394
-
395
- divElement1.appendChild(divSelect1);
396
-
397
- let divElement2 = document.createElement("div");
398
- divElement2.classList.add("col-12");
399
- divElement2.classList.add("col-md-6");
400
- let divPanelRowA = document.createElement("div");
401
- divPanelRowA.id = "panelRow" + endRowId + "a";
402
-
403
- let inputFieldA = document.createElement("input");
404
- inputFieldA.classList.add("input-height");
405
- inputFieldA.classList.add("form-control");
406
- inputFieldA.type = "text";
407
- inputFieldA.placeholder = "Value as string";
408
- inputFieldA.id = "valueRow" + endRowId + "Field";
409
- divPanelRowA.appendChild(inputFieldA);
410
- divElement2.appendChild(divPanelRowA);
411
-
412
- let divElement3 = document.createElement("div");
413
- divElement3.classList.add("col-12");
414
- divElement3.classList.add("col-md-1");
415
- let removeElementButton = document.createElement("button");
416
- removeElementButton.style = "margin-top: 3px; width: 50px;";
417
- removeElementButton.classList.add("btn");
418
- removeElementButton.classList.add("btn-outline-secondary");
419
- removeElementButton.classList.add("btn-sm");
420
- removeElementButton.setAttribute("onclick", "removeGNDataElement('" + endRowId + "')");
421
- removeElementButton.innerText = "-";
422
- removeElementButton.id = "removeRow" + endRowId + "Button";
423
- divElement3.appendChild(removeElementButton);
424
-
425
- let divElement4 = document.createElement("div");
426
- divElement4.id = "panelRow" + endRowId + "b";
427
-
428
- divRow.appendChild(divElement0);
429
- divRow.appendChild(divElement1);
430
- divRow.appendChild(divElement2);
431
- divRow.appendChild(divElement3);
432
- divRow.appendChild(divElement4);
433
-
434
- elementDivRow.appendChild(divRow);
435
- valueRow.appendChild(elementDivRow);
436
-
437
- inputField.value = Number.parseInt(inputField.value) + 1;
438
- }
439
-
440
- function addValue(rowId) {
441
- let inputField = document.getElementById("valueRow" + rowId + "Field");
442
- let elementId = Number.parseInt(inputField.value);
443
- let endRowId = rowId + "." + elementId;
444
-
445
- let valueRow = document.getElementById("valueRow" + rowId + "GNData");
446
- let elementDivRow = document.createElement("div");
447
- elementDivRow.classList.add("mt-1");
448
- elementDivRow.id = "row" + endRowId;
449
-
450
- let divRow = document.createElement("div");
451
- divRow.classList.add("row");
452
-
453
- let divElement0 = document.createElement("div");
454
- divElement0.classList.add("col-12");
455
- divElement0.classList.add("col-md-3");
456
-
457
- let elementIndexSpan0 = document.createElement("span");
458
- elementIndexSpan0.style = "line-height: 40px;";
459
- elementIndexSpan0.innerText = Number.parseInt(inputField.value) + ".";
460
- elementIndexSpan0.id = "elementIdRow" + endRowId;
461
- divElement0.appendChild(elementIndexSpan0);
462
-
463
- let divElement1 = document.createElement("div");
464
- divElement1.classList.add("col-12");
465
- divElement1.classList.add("col-md-2");
466
- let divSelect1 = document.createElement("select");
467
- divSelect1.classList.add("select-container");
468
- divSelect1.classList.add("form-select");
469
- divSelect1.id = "typeRow" + endRowId + "Dropdown";
470
- divSelect1.setAttribute("onchange", "onTypeDropdownChange('" + endRowId + "')");
471
-
472
- let option0 = document.createElement("option");
473
- option0.value = "0";
474
- option0.selected = true;
475
- option0.innerText = "String";
476
- divSelect1.appendChild(option0);
477
-
478
- let option1 = document.createElement("option");
479
- option1.value = "1";
480
- option1.innerText = "Number";
481
- divSelect1.appendChild(option1);
482
-
483
- let option2 = document.createElement("option");
484
- option2.value = "2";
485
- option2.innerText = "Boolean";
486
- divSelect1.appendChild(option2);
487
-
488
- let option3 = document.createElement("option");
489
- option3.value = "3";
490
- option3.innerText = "GNHashtable";
491
- divSelect1.appendChild(option3);
492
-
493
- let option4 = document.createElement("option");
494
- option4.value = "4";
495
- option4.innerText = "GNArray";
496
- divSelect1.appendChild(option4);
497
-
498
- divElement1.appendChild(divSelect1);
499
-
500
- let divElement2 = document.createElement("div");
501
- divElement2.classList.add("col-12");
502
- divElement2.classList.add("col-md-6");
503
- let divPanelRowA = document.createElement("div");
504
- divPanelRowA.id = "panelRow" + endRowId + "a";
505
-
506
- let inputFieldA = document.createElement("input");
507
- inputFieldA.classList.add("input-height");
508
- inputFieldA.classList.add("form-control");
509
- inputFieldA.type = "text";
510
- inputFieldA.placeholder = "Value as string";
511
- inputFieldA.id = "valueRow" + endRowId + "Field";
512
- divPanelRowA.appendChild(inputFieldA);
513
- divElement2.appendChild(divPanelRowA);
514
-
515
- let divElement3 = document.createElement("div");
516
- divElement3.classList.add("col-12");
517
- divElement3.classList.add("col-md-1");
518
- let removeElementButton = document.createElement("button");
519
- removeElementButton.style = "margin-top: 3px; width: 50px;";
520
- removeElementButton.classList.add("btn");
521
- removeElementButton.classList.add("btn-outline-secondary");
522
- removeElementButton.classList.add("btn-sm");
523
- removeElementButton.setAttribute("onclick", "removeGNDataElement('" + endRowId + "')");
524
- removeElementButton.innerText = "-";
525
- removeElementButton.id = "removeRow" + endRowId + "Button";
526
- divElement3.appendChild(removeElementButton);
527
-
528
- let divElement4 = document.createElement("div");
529
- divElement4.id = "panelRow" + endRowId + "b";
530
-
531
- divRow.appendChild(divElement0);
532
- divRow.appendChild(divElement1);
533
- divRow.appendChild(divElement2);
534
- divRow.appendChild(divElement3);
535
- divRow.appendChild(divElement4);
536
-
537
- elementDivRow.appendChild(divRow);
538
- valueRow.appendChild(elementDivRow);
539
-
540
- inputField.value = Number.parseInt(inputField.value) + 1;
541
- }
542
-
543
- function removeGNDataElement(rowId) {
544
- let parentRowId = "";
545
- let rowIdSpl = rowId.split(".");
546
- let lastRowId = 0;
547
- for (let i = 0; i < rowIdSpl.length; i++) {
548
- if (i < rowIdSpl.length - 2) {
549
- parentRowId += rowIdSpl[i] + ".";
550
- }
551
- else if (i < rowIdSpl.length - 1) {
552
- parentRowId += rowIdSpl[i];
553
- }
554
- else if (i = rowIdSpl.length - 1) {
555
- lastRowId = Number.parseInt(rowIdSpl[i]);
556
- }
557
- }
558
-
559
- if (parentRowId) {
560
- let inputField = document.getElementById("valueRow" + parentRowId + "Field");
561
- inputField.value = Number.parseInt(inputField.value) - 1;
562
- }
563
-
564
- let elementDivRow = document.getElementById("row" + rowId);
565
- elementDivRow.remove();
566
-
567
- while (true) {
568
- let endRowId = parentRowId + "." + (lastRowId + 1);
569
-
570
- elementDivRow = document.getElementById("row" + endRowId);
571
- if (elementDivRow == null) break;
572
-
573
- let finalEndRowId = parentRowId + "." + lastRowId;
574
-
575
- replaceRowId(lastRowId, endRowId, finalEndRowId);
576
-
577
- lastRowId += 1;
578
- }
579
- }
580
-
581
- function replaceRowId(lastRowId, endRowId, finalEndRowId) {
582
- let elementDivRow = document.getElementById("row" + endRowId);
583
- elementDivRow.id = "row" + finalEndRowId;
584
-
585
- let parameterCodeField0 = document.getElementById("parameterCodeRow" + endRowId + "Field");
586
- if (parameterCodeField0 != null) {
587
- parameterCodeField0.id = "parameterCodeRow" + finalEndRowId + "Field";
588
- }
589
-
590
- let elementIndexSpan0 = document.getElementById("elementIdRow" + endRowId);
591
- if (elementIndexSpan0 != null) {
592
- elementIndexSpan0.innerText = lastRowId + ".";
593
- elementIndexSpan0.id = "elementIdRow" + finalEndRowId;
594
- }
595
-
596
- let divSelect1 = document.getElementById("typeRow" + endRowId + "Dropdown");
597
- divSelect1.id = "typeRow" + finalEndRowId + "Dropdown";
598
- divSelect1.setAttribute("onchange", "onTypeDropdownChange('" + finalEndRowId + "')");
599
-
600
- let removeElementButton = document.getElementById("removeRow" + endRowId + "Button");
601
- removeElementButton.id = "removeRow" + finalEndRowId + "Button";
602
- removeElementButton.setAttribute("onclick", "removeGNDataElement('" + finalEndRowId + "')");
603
-
604
- let inputFieldA = document.getElementById("valueRow" + endRowId + "Field");
605
- if (inputFieldA != null) {
606
- inputFieldA.id = "valueRow" + finalEndRowId + "Field";
607
- }
608
-
609
- let divPanelRowA = document.getElementById("panelRow" + endRowId + "a");
610
- divPanelRowA.id = "panelRow" + finalEndRowId + "a";
611
-
612
- let divPanelRowB = document.getElementById("panelRow" + endRowId + "b");
613
- divPanelRowB.id = "panelRow" + finalEndRowId + "b";
614
-
615
- if (divSelect1.value == "3" || divSelect1.value == "4") {
616
- let finalLastRowId = 0;
617
-
618
- while (true) {
619
- let endRowId2 = endRowId + "." + finalLastRowId;
620
- elementDivRow = document.getElementById("row" + endRowId2);
621
- if (elementDivRow == null) break;
622
-
623
- let finalEndRowId2 = finalEndRowId + "." + finalLastRowId;
624
- replaceRowId(finalLastRowId, endRowId2, finalEndRowId2);
625
-
626
- finalLastRowId += 1;
627
- }
628
- }
629
- }
630
-
631
- function init() {
632
- initGNServer();
633
- loadLastAuthToken();
634
- checkSocketEnable();
635
- checkHttpEnable();
636
-
637
- initOperationCodeDropdown();
638
- onOperationCodeDropdownValueChange();
639
- }
640
-
641
- function initGNServer() {
642
- GN.GNNetwork.init(gnServerSettings);
643
-
644
- GN.GNNetwork.setOnEventHandler(operationEvent => {
645
- onOperationEvent(operationEvent);
646
- });
647
- }
648
-
649
- function checkSocketEnable() {
650
- let panelSocket = document.getElementById("panelSocket");
651
-
652
- if (GN.GNNetwork.gnServerSettings.useSocket) {
653
- panelSocket.style = "";
654
-
655
- subscriberSocketConnect();
656
- }
657
- else {
658
- panelSocket.style = "display: none;";
659
- }
660
- }
661
-
662
- function checkHttpEnable() {
663
- let panelHttpButton = document.getElementById("panelHttpButton");
664
-
665
- if (GN.GNNetwork.gnServerSettings.useHttp) {
666
- panelHttpButton.style = "";
667
- }
668
- else {
669
- panelHttpButton.style = "display: none;";
670
- }
671
- }
672
-
673
- function subscriberSocketConnect() {
674
- let panelSocket = document.getElementById("panelSocket");
675
- let panelSocketButton = document.getElementById("panelSocketButton");
676
-
677
- if (GN.GNNetwork.gnServerSettings.useSocket) {
678
- GN.GNNetwork.subscriberOnConnectHandler(() => {
679
- checkGNSocketStatus();
680
- });
681
-
682
- GN.GNNetwork.subscriberOnDisconnectHandler(() => {
683
- checkGNSocketStatus();
684
- });
685
-
686
- checkGNSocketStatus();
687
-
688
- panelSocket.style = "";
689
- panelSocketButton.style = "";
690
- }
691
- else {
692
-
693
- panelSocket.style = "display: none;";
694
- panelSocketButton.style = "display: none;";
695
- }
696
- }
697
-
698
- function loadLastAuthToken() {
699
- let authTokenField = document.getElementById("authTokenField");
700
- authTokenField.value = GN.GNNetwork.getAuthToken();
701
- }
702
-
703
- function checkGNSocketStatus() {
704
- let panelSocketDisconnected = document.getElementById("panelSocketDisconnected");
705
- let panelSocketConnected = document.getElementById("panelSocketConnected");
706
- let sendViaSocketBtn = document.getElementById("sendViaSocketBtn");
707
-
708
- if (GN.GNNetwork.isSocketConnected()) {
709
- panelSocketDisconnected.style = "display: none;";
710
- panelSocketConnected.style = "";
711
-
712
- let socketIdField = document.getElementById("socketIdField");
713
- socketIdField.value = GN.GNNetwork.getSocketSId();
714
-
715
- sendViaSocketBtn.style = "";
716
- }
717
- else {
718
- panelSocketDisconnected.style = "";
719
- panelSocketConnected.style = "display: none;";
720
-
721
- sendViaSocketBtn.style = "display: none;";
722
- }
723
- }
724
-
725
- function initOperationCodeDropdown() {
726
- let operationCodeDropdown = document.getElementById("operationCodeDropdown");
727
- operationCodeDropdown.innerHTML = "";
728
-
729
- for (let i = 0; i < gnRequests.length; i++) {
730
- let gnRequest = gnRequests[i];
731
-
732
- let option = document.createElement("option");
733
- option.value = gnRequest.operationCode;
734
- option.innerText = gnRequest.operationName + " " + gnRequest.operationCode;
735
-
736
- operationCodeDropdown.appendChild(option);
737
-
738
- gnParametersDict[gnRequest.operationCode.toString()] = gnRequest.gnParameters;
739
- gnOperationNameDict[gnRequest.operationCode.toString()] = gnRequest.operationName;
740
- }
741
- }
742
-
743
- function getOperationRequest() {
744
- let operationCodeDropdown = document.getElementById("operationCodeDropdown");
745
- let isEncryptedToggle = document.getElementById("isEncryptedToggle");
746
- let authTokenField = document.getElementById("authTokenField");
747
-
748
- if (GN.GNNetwork.getAuthToken() != authTokenField.value)
749
- GN.GNNetwork.setAuthToken(authTokenField.value);
750
-
751
- let operationCode = Number.parseInt(operationCodeDropdown.value);
752
-
753
- let request = new GN.OperationRequest(operationCode, isEncryptedToggle.checked);
754
- let parameters = new GN.GNHashtable();
755
-
756
- let gnParameters = gnParametersDict[operationCode];
757
- for (let i = 0; i < gnParameters.length; i++) {
758
- let gnParameter = gnParameters[i];
759
- let rowId = i;
760
- let typeDropdown = document.getElementById("typeRow" + rowId + "Dropdown");
761
- if (typeDropdown == null) continue;
762
-
763
- let type = typeDropdown.value;
764
- parameters.add(gnParameter.parameterCode, getValueOfRow(type, i));
765
-
766
- // code
767
- // "parameterCode": field.code,
768
- // "parameterName": field.name,
769
- // "parameterType": <number>field.gnFieldType,
770
- // "parameterIsOptional": field.isOptional
771
- }
772
-
773
- request.setParameters(parameters);
774
-
775
- return request;
776
- }
777
-
778
- function getValueOfRow(value, rowId) {
779
- if (value == "0") {
780
- let inputField = document.getElementById("valueRow" + rowId + "Field");
781
-
782
- return inputField.value;
783
- }
784
- else if (value == "1") {
785
- let inputField = document.getElementById("valueRow" + rowId + "Field");
786
-
787
- if (inputField.value) return Number.parseInt(inputField.value);
788
- return null;
789
- }
790
- else if (value == "2") {
791
- let checkBoxField = document.getElementById("valueRow" + rowId + "Toggle");
792
-
793
- return checkBoxField.checked;
794
- }
795
- else if (value == "3") {
796
- let gnHashtable = new GN.GNHashtable();
797
-
798
- let parentRowId = rowId;
799
- let lastRowId = 0;
800
- while (true) {
801
- let endRowId = parentRowId + "." + lastRowId;
802
-
803
- let typeDropdown = document.getElementById("typeRow" + endRowId + "Dropdown");
804
- if (typeDropdown == null) break;
805
-
806
- let parameterCodeField = document.getElementById("parameterCodeRow" + endRowId + "Field");
807
- let value = parameterCodeField.value;
808
-
809
- if (!value) {
810
- alert("A parameters at row does not has value " + endRowId);
811
- return;
812
- }
813
-
814
- let endType = typeDropdown.value;
815
- gnHashtable.add(value, getValueOfRow(endType, endRowId));
816
-
817
- lastRowId++;
818
- }
819
-
820
- return gnHashtable;
821
- }
822
- else if (value == "4") {
823
- let gnArray = new GN.GNArray();
824
-
825
- let parentRowId = rowId;
826
- let lastRowId = 0;
827
- while (true) {
828
- let endRowId = parentRowId + "." + lastRowId;
829
-
830
- let typeDropdown = document.getElementById("typeRow" + endRowId + "Dropdown");
831
- if (typeDropdown == null) break;
832
-
833
- let endType = typeDropdown.value;
834
- gnArray.add(getValueOfRow(endType, endRowId));
835
-
836
- lastRowId++;
837
- }
838
-
839
- return gnArray;
840
- }
841
- }
842
-
843
- function sendViaHttp() {
844
- let request = getOperationRequest();
845
-
846
- GN.GNNetwork.sendViaHttp(request, response => {
847
- onOperationResponse(response);
848
-
849
- loadLastAuthToken();
850
- });
851
- }
852
-
853
- function sendViaSocket() {
854
- let request = getOperationRequest();
855
-
856
- GN.GNNetwork.sendViaSocket(request, response => {
857
- onOperationResponse(response);
858
-
859
- loadLastAuthToken();
860
- });
861
- }
862
-
863
- function onOperationResponse(operationResponse) {
864
- let parameters = operationResponse.getParameters();
865
-
866
- let panelOperationResponse = document.getElementById("panelOperationResponse");
867
- panelOperationResponse.innerHTML = "";
868
-
869
- let divRow = document.createElement("div");
870
- divRow.classList.add("row");
871
-
872
- let div0 = document.createElement("div");
873
- div0.classList.add("col-12");
874
- div0.classList.add("col-md-4");
875
- let div0a = document.createElement("label");
876
- div0a.classList.add("form-control");
877
-
878
- let operationCode = operationResponse.getOperationCode();
879
- div0a.innerText = gnOperationNameDict[operationCode];
880
- div0.appendChild(div0a);
881
-
882
- let div1 = document.createElement("div");
883
- div1.classList.add("col-12");
884
- div1.classList.add("col-md-4");
885
- let div1a = document.createElement("label");
886
- div1a.classList.add("form-control");
887
- let returnCode = operationResponse.getReturnCode();
888
- div1a.innerText = "ReturnCode: " + gnReturnCodeDict[returnCode.toString()];
889
- div1.appendChild(div1a);
890
-
891
- let div2 = document.createElement("div");
892
- div2.classList.add("col-12");
893
- div2.classList.add("col-md-4");
894
-
895
- let div3 = document.createElement("div");
896
-
897
- if (returnCode == GN.ReturnCode.Ok) {
898
- let div2a = document.createElement("label");
899
- div2a.classList.add("form-control");
900
- div2a.innerText = "ErrorCode: " + parameters.getNumber("E");
901
- div2.appendChild(div2a);
902
-
903
- let keys = Object.keys(parameters.dict);
904
- for (let i = 0; i < keys.length; i++) {
905
- let key = keys[i];
906
-
907
- if (key == "E") continue;
908
- let value = parameters.getObject(key);
909
-
910
- div3.appendChild(createResponseElementFromGNHashtable(key, value));
911
- }
912
- }
913
- else if (returnCode == GN.ReturnCode.InvalidRequestParameters) {
914
- let invalidMembers = operationResponse.getInvalidMembers();
915
-
916
- if (invalidMembers.length != 0) {
917
- let invalidMember = invalidMembers[0];
918
-
919
- let div2a = document.createElement("label");
920
- div2a.classList.add("form-control");
921
- let gnParameters = gnParametersDict[operationCode];
922
- let gnParameter = gnParameters.find(x => x.parameterCode == invalidMember.code);
923
- let parameterName = gnParameter != null ? gnParameter.parameterName : invalidMember.code;
924
-
925
- div2a.innerText = "InvalidMember: " + parameterName + " " + gnInvalidMemberTypeDict[invalidMember.invalidMemberType.toString()];
926
- div2.appendChild(div2a);
927
- }
928
- }
929
- else {
930
-
931
- }
932
-
933
- divRow.appendChild(div0);
934
- divRow.appendChild(div1);
935
- divRow.appendChild(div2);
936
- divRow.appendChild(div3);
937
-
938
- panelOperationResponse.appendChild(divRow);
939
- }
940
-
941
- function onOperationEvent(operationEvent) {
942
- let parameters = operationEvent.getParameters();
943
-
944
- let panelOperationEvent = document.getElementById("panelOperationEvent");
945
- panelOperationEvent.innerHTML = "";
946
-
947
- let divRow = document.createElement("div");
948
- divRow.classList.add("row");
949
-
950
- let div0 = document.createElement("div");
951
- div0.classList.add("col-12");
952
- div0.classList.add("col-md-4");
953
- let div0a = document.createElement("label");
954
- div0a.classList.add("form-control");
955
-
956
- div0a.innerText = gnEventNameDict[operationEvent.getEventCode()];
957
- div0.appendChild(div0a);
958
-
959
- let div3 = document.createElement("div");
960
-
961
- if (parameters != null) {
962
- let keys = Object.keys(parameters.dict);
963
- for (let i = 0; i < keys.length; i++) {
964
- let key = keys[i];
965
-
966
- if (key == "E") continue;
967
- let value = parameters.getObject(key);
968
-
969
- div3.appendChild(createResponseElementFromGNHashtable(key, value));
970
- }
971
- }
972
-
973
- divRow.appendChild(div0);
974
- divRow.appendChild(div3);
975
-
976
- panelOperationEvent.appendChild(divRow);
977
- }
978
-
979
- function createResponseElementFromGNHashtable(key, value) {
980
- let div = document.createElement("div");
981
- div.classList.add("mt-1");
982
-
983
- let divRow = document.createElement("div");
984
- divRow.classList.add("row");
985
-
986
- let divRow0 = document.createElement("div");
987
- divRow0.classList.add("col-12");
988
- divRow0.classList.add("col-md-2");
989
- let label = document.createElement("label");
990
- label.classList.add("form-control");
991
- label.innerText = key;
992
- divRow0.appendChild(label);
993
-
994
- let divRow1 = document.createElement("div");
995
- divRow1.classList.add("col-12");
996
- divRow1.classList.add("col-md-2");
997
- let typeSpan = document.createElement("span");
998
- typeSpan.style = "line-height: 40px;";
999
- divRow1.appendChild(typeSpan);
1000
-
1001
- let divRow2 = document.createElement("div");
1002
- divRow2.classList.add("col-12");
1003
-
1004
- if (value == null) {
1005
- let span = document.createElement("span");
1006
- span.style = "line-height: 40px;";
1007
- span.innerText = "null";
1008
-
1009
- divRow2.appendChild(span);
1010
- divRow2.classList.add("col-md-8");
1011
-
1012
- typeSpan.innerText = "Unknown";
1013
- }
1014
- else {
1015
- let typeOfValue = typeof value;
1016
-
1017
- if (typeOfValue == "string") {
1018
- let inputField = document.createElement("input");
1019
- inputField.classList.add("input-height");
1020
- inputField.classList.add("form-control");
1021
- inputField.type = "text";
1022
- inputField.value = value;
1023
- inputField.disabled = true;
1024
-
1025
- divRow2.appendChild(inputField);
1026
- divRow2.classList.add("col-md-8");
1027
-
1028
- typeSpan.innerText = "String";
1029
- }
1030
- else if (typeOfValue == "number") {
1031
- let span = document.createElement("span");
1032
- span.style = "line-height: 40px;";
1033
- span.innerText = value;
1034
-
1035
- divRow2.appendChild(span);
1036
- divRow2.classList.add("col-md-8");
1037
-
1038
- typeSpan.innerText = "Number";
1039
- }
1040
- else if (typeOfValue == "boolean") {
1041
- let checkBoxField = document.createElement("input");
1042
- checkBoxField.type = "checkbox";
1043
- checkBoxField.style = "margin-top: 6px; height: 26px; width: 26px;";
1044
- checkBoxField.value = value;
1045
- checkBoxField.disabled = true;
1046
-
1047
- if (value)
1048
- checkBoxField.checked = true;
1049
-
1050
- divRow2.appendChild(checkBoxField);
1051
- divRow2.classList.add("col-md-8");
1052
-
1053
- typeSpan.innerText = "Boolean";
1054
- }
1055
- else if (value instanceof GN.GNHashtable) {
1056
- let divHashtable0 = document.createElement("div");
1057
- divHashtable0.style = "padding-left: 40px; flex: 1;";
1058
-
1059
- let keys = Object.keys(value.dict);
1060
- for (let i = 0; i < keys.length; i++) {
1061
- let childKey = keys[i];
1062
- let childValue = value.getObject(childKey);
1063
-
1064
- divHashtable0.appendChild(createResponseElementFromGNHashtable(childKey, childValue));
1065
- }
1066
-
1067
- divRow2.appendChild(divHashtable0);
1068
- divRow2.classList.add("mb-1");
1069
- divRow2.style = "display: flex;";
1070
-
1071
- typeSpan.innerText = "GNHashtable";
1072
- }
1073
- else if (value instanceof GN.GNArray) {
1074
- let divArray0 = document.createElement("div");
1075
- divArray0.style = "padding-left: 40px; flex: 1;";
1076
-
1077
- for (let i = 0; i < value.array.length; i++) {
1078
- let childValue = value.getObject(i);
1079
-
1080
- divArray0.appendChild(createResponseElementFromGNArray(i, childValue));
1081
- }
1082
-
1083
- divRow2.appendChild(divArray0);
1084
- divRow2.classList.add("mb-1");
1085
- divRow2.style = "display: flex;";
1086
-
1087
- typeSpan.innerText = "GNArray";
1088
- }
1089
- }
1090
-
1091
- divRow.appendChild(divRow0);
1092
- divRow.appendChild(divRow1);
1093
- divRow.appendChild(divRow2);
1094
-
1095
- div.appendChild(divRow);
1096
-
1097
- return div;
1098
- }
1099
-
1100
- function createResponseElementFromGNArray(id, value) {
1101
- let div = document.createElement("div");
1102
- div.classList.add("mt-1");
1103
-
1104
- let divRow = document.createElement("div");
1105
- divRow.classList.add("row");
1106
-
1107
- let divRow0 = document.createElement("div");
1108
- divRow0.classList.add("col-12");
1109
- divRow0.classList.add("col-md-2");
1110
- let span = document.createElement("span");
1111
- span.style = "line-height: 40px;";
1112
- span.innerText = id + ".";
1113
- divRow0.appendChild(span);
1114
-
1115
- let divRow1 = document.createElement("div");
1116
- divRow1.classList.add("col-12");
1117
- divRow1.classList.add("col-md-2");
1118
- let typeSpan = document.createElement("span");
1119
- typeSpan.style = "line-height: 40px;";
1120
- divRow1.appendChild(typeSpan);
1121
-
1122
- let divRow2 = document.createElement("div");
1123
- divRow2.classList.add("col-12");
1124
-
1125
- if (value == null) {
1126
- let span = document.createElement("span");
1127
- span.style = "line-height: 40px;";
1128
- span.innerText = "null";
1129
-
1130
- divRow2.appendChild(span);
1131
- divRow2.classList.add("col-md-8");
1132
-
1133
- typeSpan.innerText = "Unknown";
1134
- }
1135
- else {
1136
- let typeOfValue = typeof value;
1137
-
1138
- if (typeOfValue == "string") {
1139
- let inputField = document.createElement("input");
1140
- inputField.classList.add("input-height");
1141
- inputField.classList.add("form-control");
1142
- inputField.type = "text";
1143
- inputField.value = value;
1144
- inputField.disabled = true;
1145
-
1146
- divRow2.appendChild(inputField);
1147
- divRow2.classList.add("col-md-8");
1148
-
1149
- typeSpan.innerText = "String";
1150
- }
1151
- else if (typeOfValue == "number") {
1152
- let span = document.createElement("span");
1153
- span.style = "line-height: 40px;";
1154
- span.innerText = value;
1155
-
1156
- divRow2.appendChild(span);
1157
- divRow2.classList.add("col-md-8");
1158
-
1159
- typeSpan.innerText = "Number";
1160
- }
1161
- else if (typeOfValue == "boolean") {
1162
- let checkBoxField = document.createElement("input");
1163
- checkBoxField.type = "checkbox";
1164
- checkBoxField.style = "margin-top: 6px; height: 26px; width: 26px;";
1165
- checkBoxField.value = value;
1166
- checkBoxField.disabled = true;
1167
-
1168
- if (value)
1169
- checkBoxField.checked = true;
1170
-
1171
- divRow2.appendChild(checkBoxField);
1172
- divRow2.classList.add("col-md-8");
1173
-
1174
- typeSpan.innerText = "Boolean";
1175
- }
1176
- else if (value instanceof GN.GNHashtable) {
1177
- let divHashtable0 = document.createElement("div");
1178
- divHashtable0.style = "padding-left: 40px; flex: 1;";
1179
-
1180
- let keys = Object.keys(value.dict);
1181
- for (let i = 0; i < keys.length; i++) {
1182
- let childKey = keys[i];
1183
- let childValue = value.getObject(childKey);
1184
-
1185
- divHashtable0.appendChild(createResponseElementFromGNHashtable(childKey, childValue));
1186
- }
1187
-
1188
- divRow2.appendChild(divHashtable0);
1189
- divRow2.classList.add("mb-1");
1190
- divRow2.style = "display: flex;";
1191
-
1192
- typeSpan.innerText = "GNHashtable";
1193
- }
1194
- else if (value instanceof GN.GNArray) {
1195
- let divArray0 = document.createElement("div");
1196
- divArray0.style = "padding-left: 40px; flex: 1;";
1197
-
1198
- for (let i = 0; i < value.array.length; i++) {
1199
- let childValue = value.getObject(i);
1200
-
1201
- divArray0.appendChild(createResponseElementFromGNArray(i, childValue));
1202
- }
1203
-
1204
- divRow2.appendChild(divArray0);
1205
- divRow2.classList.add("mb-1");
1206
- divRow2.style = "display: flex;";
1207
-
1208
- typeSpan.innerText = "GNArray";
1209
- }
1210
- }
1211
-
1212
- divRow.appendChild(divRow0);
1213
- divRow.appendChild(divRow1);
1214
- divRow.appendChild(divRow2);
1215
-
1216
- div.appendChild(divRow);
1217
-
1218
- return div;
1219
- }
1220
-
1221
- function clearParameters() {
1222
- onOperationCodeDropdownValueChange();
1223
- }
1224
-
1225
- function clearOperationResponse() {
1226
- let panelOperationResponse = document.getElementById("panelOperationResponse");
1227
- panelOperationResponse.innerHTML = "";
1228
- }
1229
-
1230
- function clearOperationEvent() {
1231
- let panelOperationEvent = document.getElementById("panelOperationEvent");
1232
- panelOperationEvent.innerHTML = "";
1233
- }