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 <[email protected]> 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();
