This is an automated email from the ASF dual-hosted git repository.

urfree pushed a commit to branch matrix-page
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git

commit a71872ef5702a1373e227f5132c0bf97be0e0f25
Author: Li Li <[email protected]>
AuthorDate: Wed Apr 12 14:33:23 2023 +0800

    update
    
    Signed-off-by: Li Li <[email protected]>
---
 data/matrix.js      | 485 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/pages/matrix.js |  31 +---
 2 files changed, 491 insertions(+), 25 deletions(-)

diff --git a/data/matrix.js b/data/matrix.js
index aa1046ab6d2..a007b873313 100644
--- a/data/matrix.js
+++ b/data/matrix.js
@@ -401,7 +401,486 @@ module.exports = {
       "NET(C#/F#/VB)": 2,
     },
   ],
-  consumer: [],
-  reader: [],
-  tableview: [],
+  consumer: [
+    {
+      Feature: "ACK",
+      Children: [
+        {
+          Feature: "Batch-Index ACK",
+          Java: 2,
+          "C++": 0,
+          Go: 0,
+          Python: 0,
+          Nodejs: 0,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "ACK Timeout",
+          Java: 2,
+          "C++": 2,
+          Go: 0,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "NACK",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "NACK Backoff",
+          Java: 2,
+          "C++": 0,
+          Go: 0,
+          Python: 0,
+          Nodejs: 0,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 0,
+        },
+      ],
+    },
+    {
+      Feature: "Batching",
+      Java: 2,
+      "C++": 2,
+      Go: 2,
+      Python: 2,
+      Nodejs: 2,
+      "C#/DotPulsar": 2,
+      Websocket: 2,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Chunking",
+      Java: 2,
+      "C++": 2,
+      Go: 2,
+      Python: 2,
+      Nodejs: 2,
+      "C#/DotPulsar": 0,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Seek",
+      Children: [
+        {
+          Feature: "by timestamp",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 2,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "by messageID",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 0,
+          "C#/DotPulsar": 2,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "Inclusive/Non-inclusive",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 0,
+          "C#/DotPulsar": 2,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+      ],
+    },
+    {
+      Feature: "Subscription type",
+      Java: 2,
+      "C++": 2,
+      Go: 2,
+      Python: 2,
+      Nodejs: 2,
+      "C#/DotPulsar": 2,
+      Websocket: 2,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Subscription mode",
+      Java: 2,
+      "C++": 0,
+      Go: 2,
+      Python: 0,
+      Nodejs: 0,
+      "C#/DotPulsar": 0,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Retry letter topic",
+      Java: 2,
+      "C++": 0,
+      Go: 2,
+      Python: 0,
+      Nodejs: 0,
+      "C#/DotPulsar": 0,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Dead letter topic",
+      Java: 2,
+      "C++": 0,
+      Go: 2,
+      Python: 0,
+      Nodejs: 0,
+      "C#/DotPulsar": 0,
+      Websocket: 2,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Compression",
+      Children: [
+        {
+          Feature: "LZ4",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 2,
+          Websocket: 2,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "ZLIB",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 2,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "ZSTD",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 2,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "SNAPPY",
+          Java: 2,
+          "C++": 2,
+          Go: 0,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 2,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+      ],
+    },
+    {
+      Feature: "Compaction",
+      Java: 2,
+      "C++": 2,
+      Go: 2,
+      Python: 2,
+      Nodejs: 2,
+      "C#/DotPulsar": 2,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Schema",
+      Children: [
+        {
+          Feature: "Primitive",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 2,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "Avro",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "JSON",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 2,
+          Nodejs: 2,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "Protobuf",
+          Java: 2,
+          "C++": 2,
+          Go: 2,
+          Python: 0,
+          Nodejs: 0,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "Protobuf-native",
+          Java: 0,
+          "C++": 0,
+          Go: 0,
+          Python: 0,
+          Nodejs: 0,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "Native avro",
+          Java: 0,
+          "C++": 0,
+          Go: 0,
+          Python: 0,
+          Nodejs: 0,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 0,
+        },
+        {
+          Feature: "KeyValue",
+          Java: 2,
+          "C++": 2,
+          Go: 0,
+          Python: 0,
+          Nodejs: 0,
+          "C#/DotPulsar": 0,
+          Websocket: 2,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+        {
+          Feature: "Autoschema",
+          Java: 2,
+          "C++": 0,
+          Go: 0,
+          Python: 0,
+          Nodejs: 0,
+          "C#/DotPulsar": 0,
+          Websocket: 0,
+          REST: 0,
+          "NET(C#/F#/VB)": 2,
+        },
+      ],
+    },
+    {
+      Feature: "End-to-end encryption",
+      Java: 2,
+      "C++": 2,
+      Go: 2,
+      Python: 2,
+      Nodejs: 2,
+      "C#/DotPulsar": 2,
+      Websocket: 2,
+      REST: 2,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Transaction",
+      Java: 2,
+      "C++": 0,
+      Go: 0,
+      Python: 0,
+      Nodejs: 0,
+      "C#/DotPulsar": 0,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+  ],
+  reader: [
+    {
+      Feature: "Batching",
+      Java: 2,
+      "C++": 2,
+      Go: 2,
+      Python: 2,
+      Nodejs: 2,
+      "C#/DotPulsar": 2,
+      Websocket: 2,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Chunking",
+      Java: 2,
+      "C++": 0,
+      Go: 2,
+      Python: 0,
+      Nodejs: 0,
+      "C#/DotPulsar": 0,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Seek",
+      Java: 2,
+      "C++": 2,
+      Go: 2,
+      Python: 1,
+      Nodejs: 1,
+      "C#/DotPulsar": 2,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Compression",
+      Java: 2,
+      "C++": 2,
+      Go: 1,
+      Python: 2,
+      Nodejs: 2,
+      "C#/DotPulsar": 2,
+      Websocket: 1,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Compaction",
+      Java: 2,
+      "C++": 2,
+      Go: 2,
+      Python: 2,
+      Nodejs: 2,
+      "C#/DotPulsar": 2,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+    {
+      Feature: "Schema",
+      Java: 2,
+      "C++": 1,
+      Go: 1,
+      Python: 1,
+      Nodejs: 1,
+      "C#/DotPulsar": 1,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 1,
+    },
+    {
+      Feature: "End-to-end encryption",
+      Java: 2,
+      "C++": 2,
+      Go: 2,
+      Python: 2,
+      Nodejs: 0,
+      "C#/DotPulsar": 0,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 2,
+    },
+  ],
+  tableview: [
+    {
+      Feature: "Compaction",
+      Java: 2,
+      "C++": 0,
+      Go: 2,
+      Python: 2,
+      Nodejs: 0,
+      "C#/DotPulsar": 0,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 0,
+    },
+    {
+      Feature: "Schema",
+      Java: 1,
+      "C++": 0,
+      Go: 1,
+      Python: 0,
+      Nodejs: 0,
+      "C#/DotPulsar": 0,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 1,
+    },
+    {
+      Feature: "Listener",
+      Java: 2,
+      "C++": 0,
+      Go: 2,
+      Python: 0,
+      Nodejs: 0,
+      "C#/DotPulsar": 0,
+      Websocket: 0,
+      REST: 0,
+      "NET(C#/F#/VB)": 0,
+    },
+  ],
 };
diff --git a/src/pages/matrix.js b/src/pages/matrix.js
index 921351ea3a5..627f4a8288d 100644
--- a/src/pages/matrix.js
+++ b/src/pages/matrix.js
@@ -85,12 +85,11 @@ const genCount = (values) => {
 
 const titles = ["Client", "Producer", "Consumer", "Reader", "TableView"];
 const getHeight = (values, index) => {
-  console.log("h-[" + genCount(values) * 50 + "px]");
   if (index === 0) return "h-[700px]";
   if (index === 1) return "h-[950px]";
-  if (index === 2) return "h-[700px]";
-  if (index === 3) return "h-[700px]";
-  if (index === 4) return "h-[700px]";
+  if (index === 2) return "h-[1450px]";
+  if (index === 3) return "h-[400px]";
+  if (index === 4) return "h-[200px]";
   return "h-[700px]";
 };
 
@@ -126,28 +125,16 @@ export default function Matrix() {
     <Layout>
       <div className="tailwind">
         <div className="my-12 container">
-          {/* <div className="mb-8">
-            <div className="font-bold text-xl mb-4">Client</div>
-            <div className={clsx("w-full", getHeigh(client))}>
-              <AutoResizer>
-                {({ width, height }) => (
-                  <BaseTable
-                    fixed
-                    width={width}
-                    height={height}
-                    columns={fixedColumns}
-                    data={genData(client)}
-                    rowRenderer={rowRenderer}
-                  />
-                )}
-              </AutoResizer>
-            </div>
-          </div> */}
           {[client, producer, consumer, reader, tableview].map(
             (values, index) => {
               return (
                 <div className="mb-8" key={index}>
-                  <div className="font-bold text-xl mb-4">{titles[index]}</div>
+                  <div
+                    id={titles[index].toLowerCase()}
+                    className="font-bold text-xl mb-4"
+                  >
+                    {titles[index]}
+                  </div>
                   <div className={`w-full ${getHeight(values, index)}`}>
                     <AutoResizer>
                       {({ width, height }) => (

Reply via email to