import {TransformsFactory} from "./src/transforms-factory"; import contracts from "./src/parameters/contracts"; import $ from 'jquery'; import core from "./src/core"; // const PDFEngine = () => // { // core(); // } // export default PDFEngine export class PDFEngine { constructor() { this.transforms = []; } execute() { // core(); // scrape contracts const parametars = contracts(); // Get targets from HTML DOM // atribute contracts // code = ' ' for (let i = 0; i < parametars.length; i++) { parametars[i].targets = $(`[code*="${parametars[i].code}"]`); } // css class contracts // TODO Igor // for (let i = 0; i < parametars.length; i++) { // const param = parametars[i]; // param.targets = $(`.${param.code}`); // Init transform parametars.forEach(par => { for (let i = 0; i < par.targets.length; i++) { const transformFactory = new TransformsFactory(); const transform = transformFactory.produce(par.code, par.targets[i], par.selectors); this.transforms.push(transform); } }); // perform transform for (let i = 0; i < this.transforms.length; i++) { const transform = this.transforms[i]; if (transform.validate()) { transform.execute(); } } // print // prepare print (optioning) // print window.print(); for(let i = 0; i < this.transforms.length; i++){ setTimeout(() => { const transform = this.transforms[i]; transform.rolback(); }, 2000); } } update(model) { this.transforms.push(model.transform); } }