private void FinishClientRenderBlock(RenderMethodBuilder renderMethodBuilder, ref int sharedLines) { renderMethodBuilder.AddMarkupContent(sharedLines++, "\r\n") .CloseElement() .AddMarkupContent(sharedLines++, "\r\n") .CloseElement(); }
private void StartSharedRenderBlock(RenderMethodBuilder renderMethodBuilder, ref int sharedLines) { renderMethodBuilder.AddMarkupContent(sharedLines++, "<style>\r\n .hidden {\r\n visibility: collapse;\r\n height: 0px;\r\n padding: 0px !important;\r\n }\r\n\r\n .visible {\r\n visibility: visible;\r\n height: 100%;\r\n transition: height 5s;\r\n }\r\n\r\n .clients {\r\n display: grid;\r\n grid-row-gap: 40px;\r\n }\r\n\r\n .clientHeader {\r\n font-weight: bold;\r\n display: inline;\r\n }\r\n\r\n .clientDescription {\r\n display: inline;\r\n }\r\n\r\n .clientMethods {\r\n margin-top: 20px;\r\n display: grid;\r\n grid-row-gap: 20px;\r\n }\r\n\r\n .methodData {\r\n border-radius: 5px;\r\n border: 1px solid;\r\n }\r\n\r\n .methodData.unaryCall {\r\n background: rgba(60, 145, 230, 0.1);\r\n border-color: rgba(60, 145, 230, 1);\r\n }\r\n\r\n .methodData.unaryCall .methodBody {\r\n border-color: rgba(60, 145, 230, 1);\r\n }\r\n\r\n .methodData.clientStreaming {\r\n background: rgba(159, 211, 86, 0.1);\r\n border-color: rgba(159, 211, 86, 1);\r\n }\r\n\r\n .methodData.clientStreaming .methodBody {\r\n border-color: rgba(159, 211, 86, 1);\r\n }\r\n\r\n .methodData.serverStreaming {\r\n background: rgba(255, 190, 11, 0.1);\r\n border-color: rgba(255, 190, 11, 1);\r\n }\r\n\r\n .methodData.serverStreaming .methodBody {\r\n border-color: rgba(255, 190, 11, 1);\r\n }\r\n\r\n .methodData.duplexStreaming {\r\n background: rgba(251, 86, 7, 0.1);\r\n border-color: rgba(251, 86, 7, 1);\r\n }\r\n\r\n .methodData.duplexStreaming .methodBody {\r\n border-color: rgba(251, 86, 7, 1);\r\n }\r\n\r\n .methodHeader {\r\n cursor: pointer;\r\n display: inline-block;\r\n width: 100%;\r\n }\r\n\r\n .methodType {\r\n text-transform: uppercase;\r\n text-align: center;\r\n width: 200px;\r\n color: whitesmoke;\r\n border-radius: 5px;\r\n display: inherit;\r\n margin: 5px;\r\n padding: 5px;\r\n }\r\n\r\n .methodType.unaryCall {\r\n background-color: rgba(60, 145, 230, 1);\r\n }\r\n\r\n .methodType.clientStreaming {\r\n background-color: rgba(159, 211, 86, 1);\r\n }\r\n\r\n .methodType.serverStreaming {\r\n background-color: rgba(255, 190, 11, 1);\r\n }\r\n\r\n .methodType.duplexStreaming {\r\n background-color: rgba(251, 86, 7, 1);\r\n }\r\n\r\n .methodDescription {\r\n display: inherit;\r\n }\r\n\r\n .methodBody {\r\n padding: 20px;\r\n display: grid;\r\n border-top: 1px solid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n grid-template-rows: 200px 50px 200px;\r\n grid-row-gap: 20px;\r\n grid-column-gap: 20px;\r\n }\r\n\r\n .requestLabel {\r\n grid-row-start: 1;\r\n grid-row-end: 2;\r\n grid-column-start: 1;\r\n grid-column-end: 2;\r\n }\r\n\r\n .requestValue {\r\n grid-row-start: 1;\r\n grid-row-end: 2;\r\n grid-column-start: 2;\r\n grid-column-end: 4;\r\n border-radius: 5px;\r\n border: 1px solid;\r\n }\r\n\r\n .requestValue.unaryCall {\r\n border-color: rgba(60, 145, 230, 1);\r\n }\r\n\r\n .requestValue.clientStreaming {\r\n border-color: rgba(159, 211, 86, 1);\r\n }\r\n\r\n .requestValue.serverStreaming {\r\n border-color: rgba(255, 190, 11, 1);\r\n }\r\n\r\n .requestValue.duplexStreaming {\r\n border-color: rgba(251, 86, 7, 1);\r\n }\r\n\r\n .requestButton {\r\n grid-row-start: 2;\r\n grid-row-end: 3;\r\n text-align: center;\r\n text-transform: uppercase;\r\n border: none;\r\n color: white;\r\n border-radius: 5px;\r\n }\r\n\r\n .requestButton.execute {\r\n grid-column-start: 1;\r\n grid-column-end: 2;\r\n }\r\n\r\n .requestButton.clear {\r\n grid-column-start: 2;\r\n grid-column-end: 3;\r\n }\r\n\r\n .requestButton.cancel {\r\n grid-column-start: 3;\r\n grid-column-end: 4;\r\n }\r\n\r\n .requestButton.unaryCall {\r\n background-color: rgba(60, 145, 230, 1);\r\n }\r\n\r\n .requestButton.clientStreaming {\r\n background-color: rgba(159, 211, 86, 1);\r\n }\r\n\r\n .requestButton.serverStreaming {\r\n background-color: rgba(255, 190, 11, 1);\r\n }\r\n\r\n .requestButton.duplexStreaming {\r\n background-color: rgba(251, 86, 7, 1);\r\n }\r\n\r\n .responseLabel {\r\n grid-row-start: 3;\r\n grid-row-end: 4;\r\n grid-column-start: 1;\r\n grid-column-end: 2;\r\n }\r\n\r\n .responseValue {\r\n grid-row-start: 3;\r\n grid-row-end: 4;\r\n grid-column-start: 2;\r\n grid-column-end: 4;\r\n background-color: white;\r\n border-radius: 5px;\r\n border: 1px solid;\r\n }\r\n\r\n .responseValue.unaryCall {\r\n border-color: rgba(60, 145, 230, 1);\r\n }\r\n\r\n .responseValue.clientStreaming {\r\n border-color: rgba(159, 211, 86, 1);\r\n }\r\n\r\n .responseValue.serverStreaming {\r\n border-color: rgba(255, 190, 11, 1);\r\n }\r\n\r\n .responseValue.duplexStreaming {\r\n border-color: rgba(251, 86, 7, 1);\r\n }\r\n</style>\r\n\r\n") .OpenElement(sharedLines++, "div") .AddAttribute(sharedLines++, "class", "clients") .AddMarkupContent(sharedLines++, "\r\n"); }