| @@ -1,6 +1,7 @@ | |||
| import {TransformsFactory} from "./transforms-factory"; | |||
| import parameters from "./parameters/parameters"; | |||
| import $ from 'jquery'; | |||
| import { NoValueParameter } from "./parameters/no-value-parameter"; | |||
| function core(){ | |||
| @@ -9,20 +10,28 @@ function core(){ | |||
| const parametars = parameters(); | |||
| // Izvlacenje targets iz DOM strane | |||
| // atribute parameters | |||
| // 1 atribut: | |||
| // code = ' ' | |||
| // code = ' ' | |||
| for(let i = 0; i < parametars.length; 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 | |||
| // TODO | |||
| // TODO Igor | |||
| // for (let i = 0; i < parametars.length; i++) { | |||
| // const param = parametars[i]; | |||
| // param.targets = $(`.${param.code}`); | |||
| // inicijalizacija transformacija | |||
| let transforms = []; | |||
| @@ -31,12 +40,20 @@ function core(){ | |||
| for(let i=0;i<par.targets.length;i++) | |||
| { | |||
| 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 | |||
| 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); | |||
| transforms.push(transform); | |||
| } | |||
| @@ -0,0 +1,18 @@ | |||
| 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}]`); | |||
| } | |||
| } | |||
| @@ -0,0 +1,38 @@ | |||
| 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; | |||
| } | |||
| } | |||
| } | |||
| @@ -13,7 +13,6 @@ export class Param | |||
| checkSelector(selector) { | |||
| return (this.selectors.indexOf(selector.toLowerCase()) > -1); | |||
| } | |||
| calculateValue(value){ | |||
| this.value = value; | |||
| fillTargets(){ | |||
| } | |||
| } | |||
| @@ -1,17 +1,19 @@ | |||
| import { NoValueParameter } from "./no-value-parameter"; | |||
| import { OneValueParameter } from "./one-value-parameter"; | |||
| import { Param } from "./parameter"; | |||
| const parameters = () => | |||
| { | |||
| 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"]) | |||
| ]; | |||
| } | |||
| @@ -5,7 +5,7 @@ import { RemoveTableColumnTransform } from "./transformations/remove-table-colum | |||
| import { RemoveTableRowTransform } from "./transformations/remove-table-row-transform"; | |||
| import { ShowNumberRowsTransformation } from "./transformations/show-number-rows-transformation"; | |||
| import { BorderColorTransform } from "./transformations/border-color-transformation/border-color-transformation"; | |||
| import { RemoveTableHeaderTransform } from "./transformations/remove-table-header-transform"; | |||
| export class TransformsFactory{ | |||
| produce(code,object,value) | |||
| { | |||
| @@ -22,7 +22,7 @@ export class TransformsFactory{ | |||
| } else if(code === ("br-removerow")){ | |||
| return new RemoveTableRowTransform(object,value); | |||
| } else if(code === ("br-removeheader")){ | |||
| return new RemoveTableRowTransform(object,0); | |||
| return new RemoveTableHeaderTransform(object); | |||
| } else if(code === ("br-shownumberrows")){ | |||
| return new ShowNumberRowsTransformation(object,value); | |||
| } else if(code === ("br-bordercolor")){ | |||