Bläddra i källkod

Codefixed for simple targeting

master
Safet Purkovic 4 år sedan
förälder
incheckning
c233a32c4b

+ 7
- 19
src/core.js Visa fil

@@ -1,7 +1,6 @@
import {TransformsFactory} from "./transforms-factory";
import parameters from "./parameters/parameters";
import $ from 'jquery';
import { NoValueParameter } from "./parameters/no-value-parameter";

function core(){

@@ -12,7 +11,9 @@ function core(){
// atribute parameters
// code = ' '
for(let i = 0; i < parametars.length; i++){
parametars[i].fillTargets();
parametars[i].targets = $(`[code*="${parametars[i].code}"]`);
// console.log("Results for " + `[code*="${parametars[i].code}"]`)
// console.log(parametars[i].targets);
}

@@ -31,30 +32,17 @@ function core(){
for(let i=0;i<par.targets.length;i++)
{
const transformFactory = new TransformsFactory();
console.log(par.targets[i]); // Namerno ostavljeno zbog demonstracije problema
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);
}
const transform = transformFactory.produce(par.code,par.targets[i],par.selectors);
transforms.push(transform);
}
});

// perform transform
for(let i = 0; i < transforms.length; i++){
const transform = transforms[i];
if(transform.validate()){
transform.execute();
}
}
// print
// prepare print (optioning)

+ 0
- 18
src/parameters/no-value-parameter.js Visa fil

@@ -1,18 +0,0 @@
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
- 38
src/parameters/one-value-parameter.js Visa fil

@@ -1,38 +0,0 @@
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;
}
}
}

+ 7
- 8
src/parameters/parameter.js Visa fil

@@ -3,16 +3,15 @@ export class Param
{
constructor(code,selectors)
{
// br-removecolumn
this.code = code;
// br-removecolumn-2
this.codeFull='';
// true
this.codeHaveVars;
// table
this.selectors = selectors;
// <table></table>,<table></table>...]
this.targets = [];
this.value = null;
}
// 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(){
}
}

+ 10
- 10
src/parameters/parameters.js Visa fil

@@ -1,19 +1,19 @@
import { NoValueParameter } from "./no-value-parameter";
import { OneValueParameter } from "./one-value-parameter";
import { Param } from "./parameter";


const parameters = () =>
{
// var parametarsFiles = readeFiles('/parameters');
// parametarsFiles.map(p => new Param(p));
return [
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"])
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"])
];
}


+ 2
- 5
src/transformations/border-color-transformation/border-color-transformation.js Visa fil

@@ -3,15 +3,12 @@ import {Transform} from "../transform";
import $ from "jquery";

export class BorderColorTransform extends Transform {
constructor(object){
super();
this.object = object;
constructor(param){
super(param);
}

execute(){
$(this.object).addClass("border-red");
}

rolback(){
$(this.object).removeClass("border-red");
}

+ 2
- 4
src/transformations/color-transformation/color-transforamtion.js Visa fil

@@ -3,11 +3,9 @@ import {Transform} from "../transform";
import $ from "jquery";

export class ColorTransform extends Transform {
constructor(object){
super();
this.object = object;
constructor(param){
super(param);
}

execute(){
$(this.object).addClass("color-transform");
}

+ 2
- 2
src/transformations/color-transformation/color-transformation.css Visa fil

@@ -1,5 +1,5 @@
/* @media print { */
@media print {
.color-transform{
color: blue;
}
/* } */
}

+ 2
- 5
src/transformations/hide-transform.js Visa fil

@@ -2,17 +2,14 @@ import {Transform} from "./transform";
import $ from "jquery";

export class HideTransform extends Transform {
constructor(object){
super();
this.object = object;
constructor(param){
super(param);
}

execute(){
// Zbog !important u CSS React app morali smo odraditi na ovaj nacin
$(this.object).attr("style", "display: none !important");
// $(this.object).hide();
}

rolback(){
$(this.object).show();
}

+ 3
- 5
src/transformations/remove-table-column-transform.js Visa fil

@@ -3,14 +3,12 @@ import $ from 'jquery';

export class RemoveTableColumnTransform extends Transform
{
constructor(object,column)
constructor(param)
{
super();
this.object = object;
this.column = column;
super(param);
}
execute(){
const column = this.column;
const column = this.value;
// (`${this.object}`).find("tbody").find("tr").each(function () {
(($(this.object).find("thead")).find("tr")).find("th").eq(column).remove();
($(this.object).find("tbody")).find("tr").each(function () {

+ 2
- 3
src/transformations/remove-table-header-transform.js Visa fil

@@ -3,10 +3,9 @@ import $ from 'jquery';

export class RemoveTableHeaderTransform extends Transform
{
constructor(object)
constructor(param)
{
super();
this.object = object;
super(param);
}
execute(){
// ($(this.object).find("tbody")).find("tr").eq(this.row).remove();

+ 3
- 5
src/transformations/remove-table-row-transform.js Visa fil

@@ -3,14 +3,12 @@ import $ from 'jquery';

export class RemoveTableRowTransform extends Transform
{
constructor(object,row)
constructor(param)
{
super();
this.object = object;
this.row = row;
super(param);
}
execute(){
const row = this.row;
const row = this.value;
// ($(this.object).find("tbody")).find("tr").eq(this.row).remove();
$(this.object).find("tbody").each(function () {
$(this).find('tr').eq(row).remove();

+ 4
- 6
src/transformations/show-number-rows-transformation.js Visa fil

@@ -3,14 +3,12 @@ import $ from 'jquery';

export class ShowNumberRowsTransformation extends Transform
{
constructor(object,rows)
constructor(param)
{
super();
this.object = object;
this.rows = rows;
super(param);
}
execute(){
const rows = this.rows;
const rows = this.value;
const count = ($(this.object).find("tbody")).children('tr').length;
$this.object.find("tbody").each(function () {
for(let i=rows;i<count;i++)
@@ -20,7 +18,7 @@ export class ShowNumberRowsTransformation extends Transform
});
};
rolback(){
const rows = this.rows;
const rows = this.value;
const count = ($(this.object).find("tbody")).children('tr').length;
$this.object.find("tbody").each(function () {
for(let i=rows;i<count;i++)

+ 14
- 0
src/transformations/transform.js Visa fil

@@ -1,4 +1,18 @@
export class Transform{
constructor(param)
{
this.object = param.object;
this.selectors = param.selectors;
this.selector = this.object.tagName;
const arrayCode = this.object.getAttribute("code").split('-');
if(arrayCode.length > 2)
{
this.value = arrayCode[2];
}
}
validate(){
return (this.selectors.indexOf(this.selector.toLowerCase()) > -1);
};
execute(){};
rolback(){};
}

+ 9
- 8
src/transforms-factory.js Visa fil

@@ -7,26 +7,27 @@ import { ShowNumberRowsTransformation } from "./transformations/show-number-rows
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)
produce(code,object,selectors)
{
if(code == null){
return null;
}
const param = {code: code, object: object, selectors: selectors};
if(code === ("br-hide")){
// Ovo ne sme nikako preko atributa
return new HideTransform(object);
return new HideTransform(param);
} else if(code === ("br-color")){
return new ColorTransform(object);
return new ColorTransform(param);
} else if(code === ("br-removecolumn")){
return new RemoveTableColumnTransform(object,value);
return new RemoveTableColumnTransform(param);
} else if(code === ("br-removerow")){
return new RemoveTableRowTransform(object,value);
return new RemoveTableRowTransform(param);
} else if(code === ("br-removeheader")){
return new RemoveTableHeaderTransform(object);
return new RemoveTableHeaderTransform(param);
} else if(code === ("br-shownumberrows")){
return new ShowNumberRowsTransformation(object,value);
return new ShowNumberRowsTransformation(param);
} else if(code === ("br-bordercolor")){
return new BorderColorTransform(object);
return new BorderColorTransform(param);
}
return null;
}

Laddar…
Avbryt
Spara