You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.js 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import {TransformsFactory} from "./src/transforms-factory";
  2. import contracts from "./src/parameters/contracts";
  3. import $ from 'jquery';
  4. // import './src/PDFEngine.css';
  5. // (() =>
  6. // {
  7. // core();
  8. // })()
  9. export class PDFEngine {
  10. constructor() {
  11. this.transforms = [];
  12. }
  13. execute()
  14. {
  15. // scrape contracts
  16. const parametars = contracts();
  17. // Get targets from HTML DOM
  18. // atribute contracts
  19. // code = ' '
  20. for (let i = 0; i < parametars.length; i++) {
  21. parametars[i].targets = $(`[code*="${parametars[i].code}"]`);
  22. }
  23. // css class contracts
  24. // TODO Igor
  25. // for (let i = 0; i < parametars.length; i++) {
  26. // const param = parametars[i];
  27. // param.targets = $(`.${param.code}`);
  28. // Init transform
  29. parametars.forEach(par => {
  30. for (let i = 0; i < par.targets.length; i++) {
  31. const transformFactory = new TransformsFactory();
  32. const transform = transformFactory.produce(par.code, par.targets[i], par.selectors);
  33. this.transforms.push(transform);
  34. }
  35. });
  36. // perform transform
  37. for (let i = 0; i < this.transforms.length; i++) {
  38. const transform = this.transforms[i];
  39. if (transform.validate()) {
  40. transform.execute();
  41. }
  42. }
  43. // print
  44. // prepare print (optioning)
  45. // print
  46. // window.print();
  47. // for(let i = 0; i < transforms.length; i++){
  48. // const transform = transforms[i];
  49. // transform.rolback();
  50. // }
  51. }
  52. update(model) {
  53. this.transforms.push(model.transform);
  54. }
  55. }