removing a property validation
diff --git a/player/js/utils/PropertyFactory.js b/player/js/utils/PropertyFactory.js
index bbc89d7..eac9500 100644
--- a/player/js/utils/PropertyFactory.js
+++ b/player/js/utils/PropertyFactory.js
@@ -415,19 +415,7 @@
function getProp(elem,data,type, mult, container) {
var p;
- if(data.a === 0){
- if(type === 0) {
- p = new ValueProperty(elem,data,mult, container);
- } else {
- p = new MultiDimensionalProperty(elem,data, mult, container);
- }
- } else if(data.a === 1){
- if(type === 0) {
- p = new KeyframedValueProperty(elem,data,mult, container);
- } else {
- p = new KeyframedMultidimensionalProperty(elem,data, mult, container);
- }
- } else if(!data.k.length){
+ if(!data.k.length){
p = new ValueProperty(elem,data, mult, container);
}else if(typeof(data.k[0]) === 'number'){
p = new MultiDimensionalProperty(elem,data, mult, container);
diff --git a/player/js/utils/TransformProperty.js b/player/js/utils/TransformProperty.js
index 0fc0861..e49279e 100644
--- a/player/js/utils/TransformProperty.js
+++ b/player/js/utils/TransformProperty.js
@@ -90,7 +90,7 @@
}
this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));
}
- if(this.data.p.s){
+ if(this.data.p && this.data.p.s){
if(this.data.p.z) {
this.v.translate(this.px.v, this.py.v, -this.pz.v);
} else {
@@ -158,18 +158,16 @@
this.pre = new Matrix();
this.appliedTransformations = 0;
this.initDynamicPropertyContainer(container || elem);
- if(data.p.s){
+ if(data.p && data.p.s){
this.px = PropertyFactory.getProp(elem,data.p.x,0,0,this);
this.py = PropertyFactory.getProp(elem,data.p.y,0,0,this);
if(data.p.z){
this.pz = PropertyFactory.getProp(elem,data.p.z,0,0,this);
}
}else{
- this.p = PropertyFactory.getProp(elem,data.p,1,0,this);
+ this.p = PropertyFactory.getProp(elem,data.p || {k:[0,0,0]},1,0,this);
}
- if(data.r) {
- this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);
- } else if(data.rx) {
+ if(data.rx) {
this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);
this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);
this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);
@@ -182,17 +180,15 @@
this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this);
//sh Indicates it needs to be capped between -180 and 180
this.or.sh = true;
+ } else {
+ this.r = PropertyFactory.getProp(elem, data.r || {k: 0}, 0, degToRads, this);
}
if(data.sk){
this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);
this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);
}
- if(data.a) {
- this.a = PropertyFactory.getProp(elem,data.a,1,0,this);
- }
- if(data.s) {
- this.s = PropertyFactory.getProp(elem,data.s,1,0.01,this);
- }
+ this.a = PropertyFactory.getProp(elem,data.a || {k:[0,0,0]},1,0,this);
+ this.s = PropertyFactory.getProp(elem,data.s || {k:[100,100,100]},1,0.01,this);
// Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.
if(data.o){
this.o = PropertyFactory.getProp(elem,data.o,0,0.01,elem);
diff --git a/player/js/utils/shapes/ShapeProperty.js b/player/js/utils/shapes/ShapeProperty.js
index 9a40918..34dd68d 100644
--- a/player/js/utils/shapes/ShapeProperty.js
+++ b/player/js/utils/shapes/ShapeProperty.js
@@ -472,7 +472,7 @@
if(type === 3 || type === 4){
var dataProp = type === 3 ? data.pt : data.ks;
var keys = dataProp.k;
- if(dataProp.a === 1 || keys.length){
+ if(keys.length){
prop = new KeyframedShapeProperty(elem, data, type);
}else{
prop = new ShapeProperty(elem, data, type);