⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
invoice
/
node_modules
/
jsbarcode
/
src
/
help
/
View File Name :
getRenderProperties.js
/* global HTMLImageElement */ /* global HTMLCanvasElement */ /* global SVGElement */ import getOptionsFromElement from "./getOptionsFromElement.js"; import renderers from "../renderers"; import {InvalidElementException} from "../exceptions/exceptions.js"; // Takes an element and returns an object with information about how // it should be rendered // This could also return an array with these objects // { // element: The element that the renderer should draw on // renderer: The name of the renderer // afterRender (optional): If something has to done after the renderer // completed, calls afterRender (function) // options (optional): Options that can be defined in the element // } function getRenderProperties(element){ // If the element is a string, query select call again if(typeof element === "string"){ return querySelectedRenderProperties(element); } // If element is array. Recursivly call with every object in the array else if(Array.isArray(element)){ var returnArray = []; for(let i = 0; i < element.length; i++){ returnArray.push(getRenderProperties(element[i])); } return returnArray; } // If element, render on canvas and set the uri as src else if(typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLImageElement){ return newCanvasRenderProperties(element); } // If SVG else if( (element && element.nodeName && element.nodeName.toLowerCase() === 'svg') || (typeof SVGElement !== 'undefined' && element instanceof SVGElement) ){ return { element: element, options: getOptionsFromElement(element), renderer: renderers.SVGRenderer }; } // If canvas (in browser) else if(typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLCanvasElement){ return { element: element, options: getOptionsFromElement(element), renderer: renderers.CanvasRenderer }; } // If canvas (in node) else if(element && element.getContext){ return { element: element, renderer: renderers.CanvasRenderer }; } else if(element && typeof element === 'object' && !element.nodeName) { return { element: element, renderer: renderers.ObjectRenderer }; } else{ throw new InvalidElementException(); } } function querySelectedRenderProperties(string){ var selector = document.querySelectorAll(string); if(selector.length === 0){ return undefined; } else{ let returnArray = []; for(let i = 0; i < selector.length; i++){ returnArray.push(getRenderProperties(selector[i])); } return returnArray; } } function newCanvasRenderProperties(imgElement){ var canvas = document.createElement('canvas'); return { element: canvas, options: getOptionsFromElement(imgElement), renderer: renderers.CanvasRenderer, afterRender: function(){ imgElement.setAttribute("src", canvas.toDataURL()); } }; } export default getRenderProperties;