| import {TransformsFactory} from "./transforms-factory"; | import {TransformsFactory} from "./transforms-factory"; | ||||
| import parameters from "./parameters/parameters"; | import parameters from "./parameters/parameters"; | ||||
| import $ from 'jquery'; | import $ from 'jquery'; | ||||
| import { NoValueParameter } from "./parameters/no-value-parameter"; | |||||
| function core(){ | function core(){ | ||||
| const parametars = parameters(); | const parametars = parameters(); | ||||
| // Izvlacenje targets iz DOM strane | // Izvlacenje targets iz DOM strane | ||||
| // atribute parameters | // atribute parameters | ||||
| // 1 atribut: | |||||
| // code = ' ' | |||||
| // code = ' ' | |||||
| for(let i = 0; i < parametars.length; i++){ | for(let i = 0; i < parametars.length; i++){ | ||||
| const param = parametars[i]; | const param = parametars[i]; | ||||
| param.targets = $(`[code=${param.code}]`); | |||||
| if(parametars[i] instanceof NoValueParameter) | |||||
| { | |||||
| param.targets = $(`[code=${param.code}]`); | |||||
| console.log(param.targets); | |||||
| } | |||||
| else | |||||
| { | |||||
| parametars[i].calculateValue(); | |||||
| } | |||||
| } | } | ||||
| // br-removecolumn-15 | |||||
| // br-removecolumn-2 | |||||
| // TODO regex find by attr | |||||
| // css class parameters | // css class parameters | ||||
| // TODO | |||||
| // TODO Igor | |||||
| // for (let i = 0; i < parametars.length; i++) { | |||||
| // const param = parametars[i]; | |||||
| // param.targets = $(`.${param.code}`); | |||||
| // inicijalizacija transformacija | // inicijalizacija transformacija | ||||
| let transforms = []; | let transforms = []; | ||||
| for(let i=0;i<par.targets.length;i++) | for(let i=0;i<par.targets.length;i++) | ||||
| { | { | ||||
| const transformFactory = new TransformsFactory(); | const transformFactory = new TransformsFactory(); | ||||
| const selector = (par.targets[i]).tagName; | |||||
| const value = (par.targets[i]).getAttribute("val"); | |||||
| par.value = value; | |||||
| console.log(par.targets[i]); | |||||
| let selector = (par.targets[i]).tagName; | |||||
| // Problem koji je izbio kod value i no value | |||||
| if(selector === undefined) | |||||
| selector =(par.targets[i][0]).tagName; | |||||
| // Provera da li selector odgovara listi selektora za taj code | // Provera da li selector odgovara listi selektora za taj code | ||||
| if(par.checkSelector(selector)) | if(par.checkSelector(selector)) | ||||
| { | { | ||||
| try{ | |||||
| const arrayCode = (par.targets[i][0].getAttribute("code")).split('-'); | |||||
| if(arrayCode.length > 2) | |||||
| par.value = arrayCode[2]; | |||||
| } | |||||
| catch{} | |||||
| const transform = transformFactory.produce(par.code, par.targets[i], par.value); | const transform = transformFactory.produce(par.code, par.targets[i], par.value); | ||||
| transforms.push(transform); | transforms.push(transform); | ||||
| } | } |
| import { Param } from "./parameter"; | |||||
| import $ from 'jquery'; | |||||
| export class NoValueParameter extends Param | |||||
| { | |||||
| constructor(code,selectors) | |||||
| { | |||||
| super(code,selectors); | |||||
| } | |||||
| // Check for selector exists in array of selectors | |||||
| // If exists return true, else return false | |||||
| checkSelector(selector) { | |||||
| return (this.selectors.indexOf(selector.toLowerCase()) > -1); | |||||
| } | |||||
| fillTargets(){ | |||||
| this.targets = $(`[code=${this.code}]`); | |||||
| } | |||||
| } |
| import { Param } from "./parameter"; | |||||
| import $ from 'jquery'; | |||||
| export class OneValueParameter extends Param | |||||
| { | |||||
| constructor(code,selectors) | |||||
| { | |||||
| super(code,selectors); | |||||
| } | |||||
| // Check for selector exists in array of selectors | |||||
| // If exists return true, else return false | |||||
| checkSelector(selector) { | |||||
| return (this.selectors.indexOf(selector.toLowerCase()) > -1); | |||||
| } | |||||
| fillTargets(){ | |||||
| let code = ""; | |||||
| for(let j = 0;j < this.selectors.length;j++){ | |||||
| let thisCode = this.code; | |||||
| let targets=[]; | |||||
| const result = ($(this.selectors[j]) | |||||
| .filter(function() { | |||||
| if(this.hasAttribute("code")){ | |||||
| const regex = new RegExp(`^(${thisCode}-)([0-9])+$`,'g'); | |||||
| code = this.getAttribute("code"); | |||||
| const arrayThisCode = thisCode.split('-'); | |||||
| const arrayCode = code.split('-'); | |||||
| if(arrayThisCode[0] == arrayCode[0] && arrayThisCode[1] == arrayCode[1]) | |||||
| { | |||||
| targets.push($(`${this.tagName.toLowerCase()}[code=${code}]`)); | |||||
| } | |||||
| return this.getAttribute("code").match(regex); | |||||
| } | |||||
| return false; | |||||
| })); | |||||
| if(result.length > 0) | |||||
| this.targets = targets; | |||||
| } | |||||
| } | |||||
| } |
| checkSelector(selector) { | checkSelector(selector) { | ||||
| return (this.selectors.indexOf(selector.toLowerCase()) > -1); | return (this.selectors.indexOf(selector.toLowerCase()) > -1); | ||||
| } | } | ||||
| calculateValue(value){ | |||||
| this.value = value; | |||||
| fillTargets(){ | |||||
| } | } | ||||
| } | } |
| import { NoValueParameter } from "./no-value-parameter"; | |||||
| import { OneValueParameter } from "./one-value-parameter"; | |||||
| import { Param } from "./parameter"; | import { Param } from "./parameter"; | ||||
| const parameters = () => | const parameters = () => | ||||
| { | { | ||||
| return [ | return [ | ||||
| new Param("br-size",["p","span"]), | |||||
| new Param("br-shownumberrows",["table"]), | |||||
| new Param("br-removerow",["table"]), | |||||
| new Param("br-removeheader",["table"]), | |||||
| new Param("br-removecolumn",["table"]), | |||||
| new Param("br-hide",["table","p","span"]), | |||||
| new Param("br-color",["h1","p","h4"]), | |||||
| new Param("br-bordercolor",["table","div"]) | |||||
| new NoValueParameter("br-size",["p","span"]), | |||||
| new OneValueParameter("br-shownumberrows",["table"]), | |||||
| new OneValueParameter("br-removerow",["table"]), | |||||
| new NoValueParameter("br-removeheader",["table"]), | |||||
| new OneValueParameter("br-removecolumn",["table"]), | |||||
| new NoValueParameter("br-hide",["table","p","span"]), | |||||
| new NoValueParameter("br-color",["h1","p","h4"]), | |||||
| new NoValueParameter("br-bordercolor",["table","div"]) | |||||
| ]; | ]; | ||||
| } | } | ||||
| import { RemoveTableRowTransform } from "./transformations/remove-table-row-transform"; | import { RemoveTableRowTransform } from "./transformations/remove-table-row-transform"; | ||||
| import { ShowNumberRowsTransformation } from "./transformations/show-number-rows-transformation"; | import { ShowNumberRowsTransformation } from "./transformations/show-number-rows-transformation"; | ||||
| import { BorderColorTransform } from "./transformations/border-color-transformation/border-color-transformation"; | import { BorderColorTransform } from "./transformations/border-color-transformation/border-color-transformation"; | ||||
| import { RemoveTableHeaderTransform } from "./transformations/remove-table-header-transform"; | |||||
| export class TransformsFactory{ | export class TransformsFactory{ | ||||
| produce(code,object,value) | produce(code,object,value) | ||||
| { | { | ||||
| } else if(code === ("br-removerow")){ | } else if(code === ("br-removerow")){ | ||||
| return new RemoveTableRowTransform(object,value); | return new RemoveTableRowTransform(object,value); | ||||
| } else if(code === ("br-removeheader")){ | } else if(code === ("br-removeheader")){ | ||||
| return new RemoveTableRowTransform(object,0); | |||||
| return new RemoveTableHeaderTransform(object); | |||||
| } else if(code === ("br-shownumberrows")){ | } else if(code === ("br-shownumberrows")){ | ||||
| return new ShowNumberRowsTransformation(object,value); | return new ShowNumberRowsTransformation(object,value); | ||||
| } else if(code === ("br-bordercolor")){ | } else if(code === ("br-bordercolor")){ |