Browse Source

Bugfix / parameters with value

master
Safet Purkovic 4 years ago
parent
commit
7a02355120

+ 27
- 10
src/core.js View File

@@ -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);
}

+ 18
- 0
src/parameters/no-value-parameter.js View File

@@ -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}]`);
}
}

+ 38
- 0
src/parameters/one-value-parameter.js View File

@@ -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;
}
}
}

+ 1
- 2
src/parameters/parameter.js View File

@@ -13,7 +13,6 @@ export class Param
checkSelector(selector) {
return (this.selectors.indexOf(selector.toLowerCase()) > -1);
}
calculateValue(value){
this.value = value;
fillTargets(){
}
}

+ 10
- 8
src/parameters/parameters.js View File

@@ -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"])
];
}


+ 2
- 2
src/transforms-factory.js View File

@@ -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")){

Loading…
Cancel
Save