11import * as signalR from "@aspnet/signalr" ;
22
33var connection = null ;
4+ var isConnected = false ;
45export function Init ( ) {
56 //Connect Button Events
67 var connectBtnClass = document . getElementsByClassName ( 'connectbtn' ) ;
@@ -9,7 +10,7 @@ export function Init() {
910 function ( ) {
1011 console . log ( 'btn connect' ) ;
1112 OnConnect ( ) ;
12- } ,
13+ } ,
1314 false ) ;
1415 }
1516
@@ -35,6 +36,59 @@ export function Init() {
3536 }
3637
3738 NotConnected ( ) ;
39+
40+ Test ( ) ;
41+
42+ }
43+
44+ export function Test ( ) {
45+
46+ var navLinkClass = document . getElementsByClassName ( 'nav-link' ) ;
47+ for ( var i = 0 ; i < navLinkClass . length ; i ++ ) {
48+ navLinkClass [ i ] . addEventListener ( 'click' ,
49+ function ( ) {
50+ //debugger;
51+ console . log ( this . getAttribute ( 'data-tab-type' ) ) ;
52+ OnTabChange ( this . getAttribute ( 'data-tab-type' ) ) ;
53+ } ,
54+ false ) ;
55+ }
56+ }
57+
58+ export function OnTabChange ( tabName ) {
59+ if ( tabName == 'basic' ) {
60+ document . getElementById ( 'protocol-support' ) . style = 'display:none' ;
61+
62+ }
63+ else {
64+ if ( isConnected ) {
65+ document . getElementById ( 'protocol-support' ) . style = 'display:block' ;
66+ }
67+ }
68+ }
69+
70+ export function AddArguments ( ) {
71+
72+ //Add Arguments Button Events
73+ var addArgBtnClass = document . getElementsByClassName ( 'btn-add-argument' ) ;
74+ for ( var i = 0 ; i < addArgBtnClass . length ; i ++ ) {
75+ addArgBtnClass [ i ] . addEventListener ( 'click' ,
76+ function ( ) {
77+
78+ var parentDiv = document . getElementsByClassName ( 'method-arguments' ) ;
79+
80+ for ( var i = 0 ; i < parentDiv . length ; i ++ ) {
81+ var inputTxtElement = document . createElement ( 'textarea' ) ;
82+ inputTxtElement . setAttribute ( "row" , "1" ) ;
83+ inputTxtElement . setAttribute ( "value" , "" ) ;
84+ inputTxtElement . setAttribute ( "class" , "form-control req-arg" ) ;
85+ inputTxtElement . setAttribute ( "placeholder" , "Request Payload" ) ;
86+ parentDiv [ i ] . appendChild ( inputTxtElement ) ;
87+ parentDiv [ i ] . append ( document . createElement ( 'br' ) )
88+ }
89+ } ,
90+ false ) ;
91+ }
3892}
3993
4094export function NotConnected ( ) {
@@ -77,8 +131,8 @@ export function OnConnect() {
77131 var url = document . getElementById ( "inputUrl" ) . value ;
78132 connectToServer ( url ) ;
79133
80-
81134 console . log ( "OnConnect" ) ;
135+ isConnected = true ;
82136 var onConnectClass = document . getElementsByClassName ( 'onconnect' ) ;
83137 for ( var i = 0 ; i < onConnectClass . length ; i ++ ) {
84138 onConnectClass [ i ] . style . display = "block" ;
@@ -91,6 +145,8 @@ export function OnConnect() {
91145 connection . on ( "ReceiveData" , function ( data ) {
92146 document . querySelector ( "#inputResponseData" ) . value += JSON . stringify ( data ) + '\n' ;
93147 } ) ;
148+
149+ AddArguments ( ) ;
94150}
95151
96152export function DisableElementByClassName ( className ) {
@@ -111,6 +167,7 @@ export function EnableElementByClassName(className) {
111167
112168export function OnDisConnect ( ) {
113169 console . log ( "OnDisConnect" ) ;
170+ isConnected = false ;
114171 Disconnect ( ) ;
115172 var onDisConnectClass = document . getElementsByClassName ( 'disconnectbtn' ) ;
116173 var addEventOnDisconnect = function ( ) {
@@ -138,12 +195,24 @@ export function Disconnect() {
138195
139196export function SendPayload ( ) {
140197
141- var methodName = document . getElementById ( "inputServerMethod" ) . value
198+ var methodName = document . getElementById ( "inputServerMethod" ) . value ;
142199 var c = new Array ( ) ;
143- var data = JSON . parse ( document . getElementById ( "inputRequestData" ) . value ) ;
144- c . push ( data ) ;
200+ //var data = JSON.parse(document.getElementById("inputRequestData").value);
201+ var argsTextAreaClass = document . getElementsByClassName ( 'req-arg' ) ;
202+ debugger ;
203+ for ( var i = 0 ; i < argsTextAreaClass . length ; i ++ ) {
204+
205+ if ( argsTextAreaClass [ i ] . value !== "" ) {
206+
207+ //Star from Here
208+ //Support different type of data format
209+ //c.push(JSON.parse(argsTextAreaClass[i].value));
210+ c . push ( argsTextAreaClass [ i ] . value ) ;
211+ }
212+ }
213+
145214
146- connection . invoke ( methodName , data )
215+ connection . invoke ( methodName , ... c )
147216 . catch ( function ( err ) {
148217 return console . log ( err ) ;
149218 } ) ;
0 commit comments