| 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).toLowerCase(); | |||||
| const selector = (par.targets[i]).tagName; | |||||
| const value = (par.targets[i]).getAttribute("val"); | |||||
| par.value = value; | |||||
| // 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)) | ||||
| { | { | ||||
| const transform = transformFactory.produce(par.code, par.targets[i]); | |||||
| const transform = transformFactory.produce(par.code, par.targets[i], par.value); | |||||
| transforms.push(transform); | transforms.push(transform); | ||||
| } | } | ||||
| } | } |
| import { Param } from "./parameter"; | |||||
| export class BorderColorParam extends Param | |||||
| { | |||||
| constructor(){ | |||||
| super(); | |||||
| this.code = "br-bordercolor"; | |||||
| this.selectors = ["table","div"]; | |||||
| } | |||||
| } | |||||
| import { Param } from "./parameter"; | |||||
| export class ColorParam extends Param { | |||||
| constructor() { | |||||
| super(); | |||||
| this.code = "br-color", | |||||
| this.selectors = ["h1", "h4", "p"]; | |||||
| } | |||||
| } |
| import { Param } from "./parameter"; | |||||
| export class HideParam extends Param | |||||
| { | |||||
| constructor(){ | |||||
| super(); | |||||
| this.code = "br-hide"; | |||||
| this.selectors = ["table","p","span"]; | |||||
| } | |||||
| } |
| export class Param | export class Param | ||||
| { | { | ||||
| constructor() | |||||
| constructor(code,selectors) | |||||
| { | { | ||||
| this.code = ""; | |||||
| this.selectors = []; | |||||
| this.code = code; | |||||
| this.selectors = selectors; | |||||
| this.targets = []; | this.targets = []; | ||||
| this.value = null; | this.value = null; | ||||
| } | } | ||||
| // Check for selector exists in array of selectors | // Check for selector exists in array of selectors | ||||
| // If exists return true, else return false | // If exists return true, else return false | ||||
| checkSelector(selector) { | checkSelector(selector) { | ||||
| return (this.selectors.indexOf(selector) > -1); | |||||
| return (this.selectors.indexOf(selector.toLowerCase()) > -1); | |||||
| } | |||||
| calculateValue(value){ | |||||
| this.value = value; | |||||
| } | } | ||||
| } | } |
| import { BorderColorParam } from "./border-color-parameter"; | |||||
| import { ColorParam } from "./color-parameter"; | |||||
| import { HideParam } from "./hide-parameter"; | |||||
| import { RemoveColumnParam } from "./remove-column-parameter"; | |||||
| import { RemoveHeaderParam } from "./remove-header-parameter"; | |||||
| import { RemoveRowParam } from "./remove-row-parameter"; | |||||
| import { ShowNumberRowsParam } from "./show-number-rows-parameters"; | |||||
| import { SizeParam } from "./size-parameter"; | |||||
| import { Param } from "./parameter"; | |||||
| const parameters = () => | const parameters = () => | ||||
| { | { | ||||
| return [ | return [ | ||||
| new BorderColorParam(), | |||||
| new ColorParam(), | |||||
| new HideParam(), | |||||
| new RemoveColumnParam(), | |||||
| new RemoveHeaderParam(), | |||||
| new RemoveRowParam(), | |||||
| new ShowNumberRowsParam(), | |||||
| new SizeParam() | |||||
| 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"]) | |||||
| ]; | ]; | ||||
| } | } | ||||
| import { Param } from "./parameter"; | |||||
| export class RemoveColumnParam extends Param | |||||
| { | |||||
| constructor(){ | |||||
| super(); | |||||
| this.code = "br-removecolumn-1"; | |||||
| this.selectors = ["table"]; | |||||
| this.value = +(this.code.split('-')[2]); | |||||
| } | |||||
| } |
| import { Param } from "./parameter"; | |||||
| export class RemoveHeaderParam extends Param | |||||
| { | |||||
| constructor(){ | |||||
| super(); | |||||
| this.code = "br-removeheader"; | |||||
| this.selectors = ["table"]; | |||||
| } | |||||
| } |
| import { Param } from "./parameter"; | |||||
| export class RemoveRowParam extends Param | |||||
| { | |||||
| constructor(){ | |||||
| super(); | |||||
| this.code = "br-removerow-1"; | |||||
| this.selectors = ["table"]; | |||||
| this.value = +(this.code.split('-')[2]); | |||||
| } | |||||
| } |
| import { Param } from "./parameter"; | |||||
| export class ShowNumberRowsParam extends Param | |||||
| { | |||||
| constructor(){ | |||||
| super(); | |||||
| this.code = "br-shownumberrows-4"; | |||||
| this.selectors = ["table"]; | |||||
| this.value = +(this.code.split('-')[2]); | |||||
| } | |||||
| } |
| import { Param } from "./parameter"; | |||||
| export class SizeParam extends Param | |||||
| { | |||||
| constructor(){ | |||||
| super(); | |||||
| this.code = "br-size-15"; | |||||
| this.selectors = ["p","span"]; | |||||
| this.value = +(this.code.split('-')[2]); | |||||
| } | |||||
| } |
| export class RemoveTableColumnTransform extends Transform | export class RemoveTableColumnTransform extends Transform | ||||
| { | { | ||||
| constructor(selector,column) | |||||
| constructor(object,column) | |||||
| { | { | ||||
| super(); | super(); | ||||
| this.selector = selector; | |||||
| this.object = object; | |||||
| this.column = column; | this.column = column; | ||||
| } | } | ||||
| execute(){ | execute(){ | ||||
| const column = this.column; | const column = this.column; | ||||
| $(`${this.selector} > tbody > tr`).each(function () { | |||||
| $(`${this.object} > tbody > tr`).each(function () { | |||||
| $(this).find('td').eq(column).remove(); | $(this).find('td').eq(column).remove(); | ||||
| }); | }); | ||||
| $(`${this.selector} > thead > tr`).each(function () { | |||||
| $(`${this.object} > thead > tr`).each(function () { | |||||
| $(this).find('th').eq(column).remove(); | $(this).find('th').eq(column).remove(); | ||||
| }); | }); | ||||
| }; | }; |
| import { BorderColorTransform } from "./transformations/border-color-transformation/border-color-transformation"; | import { BorderColorTransform } from "./transformations/border-color-transformation/border-color-transformation"; | ||||
| export class TransformsFactory{ | export class TransformsFactory{ | ||||
| produce(code,object) | |||||
| produce(code,object,value) | |||||
| { | { | ||||
| const arrayCode = code.split('-'); | |||||
| code = `${arrayCode[0]}-${arrayCode[1]}`; | |||||
| if(code == null){ | if(code == null){ | ||||
| return null; | return null; | ||||
| } | } | ||||
| } else if(code === ("br-color")){ | } else if(code === ("br-color")){ | ||||
| return new ColorTransform(object); | return new ColorTransform(object); | ||||
| } else if(code === ("br-removecolumn")){ | } else if(code === ("br-removecolumn")){ | ||||
| return new RemoveTableColumnTransform(object,arrayCode[2]); | |||||
| return new RemoveTableColumnTransform(object,value); | |||||
| } else if(code === ("br-removerow")){ | } else if(code === ("br-removerow")){ | ||||
| return new RemoveTableRowTransform(`${object} > tbody`,arrayCode[2]); | |||||
| return new RemoveTableRowTransform(`${object} > tbody`,value); | |||||
| } else if(code === ("br-removeheader")){ | } else if(code === ("br-removeheader")){ | ||||
| return new RemoveTableRowTransform(`${object} > thead`,0); | return new RemoveTableRowTransform(`${object} > thead`,0); | ||||
| } else if(code === ("br-shownumberrows")){ | } else if(code === ("br-shownumberrows")){ | ||||
| return new ShowNumberRowsTransformation(object,arrayCode[2]); | |||||
| return new ShowNumberRowsTransformation(object,value); | |||||
| } else if(code === ("br-bordercolor")){ | } else if(code === ("br-bordercolor")){ | ||||
| return new BorderColorTransform(object); | return new BorderColorTransform(object); | ||||
| } | } |