You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by kd...@apache.org on 2019/11/03 16:13:04 UTC

[skywalking-rocketbot-ui] 01/02: topology to enhance honeycomb button

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

kdump pushed a commit to branch topology_to_enhance_honeycomb_button
in repository https://gitbox.apache.org/repos/asf/skywalking-rocketbot-ui.git

commit 43eba9b691a62764a6a45eb84924511f52b0d8a9
Author: x22x22 <ro...@gmail.com>
AuthorDate: Mon Nov 4 00:12:40 2019 +0800

    topology to enhance honeycomb button
---
 src/utils/cssHelper.ts | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/src/utils/cssHelper.ts b/src/utils/cssHelper.ts
new file mode 100644
index 0000000..d6ea1ae
--- /dev/null
+++ b/src/utils/cssHelper.ts
@@ -0,0 +1,67 @@
+export interface CssMatrix {
+  a: number;
+  b: number;
+  c: number;
+  d: number;
+  tx: number;
+  ty: number;
+}
+
+export interface CssTranslate {
+  x: number;
+  y: number;
+}
+
+class CssHelper {
+  matrixSerialization(matrixString: string): CssMatrix {
+    const matrixArray = matrixString.replace('matrix(', '')
+    .replace(')', '').split(',');
+    // const matrixNumberArray = [];
+    const matrixNumberArray = matrixArray.map((value) => {
+      return parseFloat(value);
+    });
+    return {
+      a: matrixNumberArray[0],
+      b: matrixNumberArray[1],
+      c: matrixNumberArray[2],
+      d: matrixNumberArray[3],
+      tx: matrixNumberArray[4],
+      ty: matrixNumberArray[5],
+    };
+  }
+
+  translateDeserialization(translate: CssTranslate) {
+    let translateString = '';
+    const translateEntries = Object.entries(translate);
+    translateEntries.forEach(value => {
+      translateString += value[1] + ',';
+    });
+    translateString = translateString.slice(0, translateString.length - 1);
+    return `translate(${translateString})`;
+  }
+
+  translateSerialization(translateString: string): CssTranslate {
+    const translateArray = translateString.replace('translate(', '')
+    .replace(')', '').split(',');
+    // const translateNumberArray = [];
+    const translateNumberArray = translateArray.map((value) => {
+      return parseFloat(value);
+    });
+    return {
+      x: translateNumberArray[0],
+      y: translateNumberArray[1],
+    };
+  }
+
+  matrixDeserialization(cssMatrix: CssMatrix) {
+    let matrixString = '';
+    const matrixEntries = Object.entries(cssMatrix);
+    matrixEntries.forEach(value => {
+      matrixString += value[1] + ',';
+    });
+    matrixString = matrixString.slice(0, matrixString.length - 1);
+    return `matrix(${matrixString})`;
+  }
+}
+
+export default new CssHelper();