Browse Source

Rename PropertyInteger > PropertyNumber

up-style-manager
Artur Arseniev 4 years ago
parent
commit
5a766884f2
  1. 30
      src/style_manager/model/Properties.js
  2. 19
      src/style_manager/model/PropertyNumber.js
  3. 2
      src/style_manager/model/PropertySlider.js
  4. 10
      src/style_manager/view/PropertyColorView.js
  5. 2
      src/style_manager/view/PropertyNumberView.js
  6. 6
      src/style_manager/view/PropertySliderView.js
  7. 12
      test/specs/style_manager/model/Models.js
  8. 26
      test/specs/style_manager/view/PropertyIntegerView.js

30
src/style_manager/model/Properties.js

@ -13,8 +13,8 @@ import PropertyRadio from './PropertyRadio';
import PropertyRadioView from './../view/PropertyRadioView';
import PropertySlider from './PropertySlider';
import PropertySliderView from './../view/PropertySliderView';
import PropertyInteger from './PropertyInteger';
import PropertyIntegerView from './../view/PropertyIntegerView';
import PropertyNumber from './PropertyNumber';
import PropertyNumberView from './../view/PropertyNumberView';
import PropertyView from './../view/PropertyView';
export default Backbone.Collection.extend(TypeableCollection).extend({
@ -29,7 +29,7 @@ export default Backbone.Collection.extend(TypeableCollection).extend({
if (value && value.type == 'stack') {
return value;
}
}
},
},
{
id: 'composite',
@ -39,7 +39,7 @@ export default Backbone.Collection.extend(TypeableCollection).extend({
if (value && value.type == 'composite') {
return value;
}
}
},
},
{
id: 'file',
@ -49,7 +49,7 @@ export default Backbone.Collection.extend(TypeableCollection).extend({
if (value && value.type == 'file') {
return value;
}
}
},
},
{
id: 'color',
@ -59,7 +59,7 @@ export default Backbone.Collection.extend(TypeableCollection).extend({
if (value && value.type == 'color') {
return value;
}
}
},
},
{
id: 'select',
@ -69,7 +69,7 @@ export default Backbone.Collection.extend(TypeableCollection).extend({
if (value && value.type == 'select') {
return value;
}
}
},
},
{
id: 'radio',
@ -79,7 +79,7 @@ export default Backbone.Collection.extend(TypeableCollection).extend({
if (value && value.type == 'radio') {
return value;
}
}
},
},
{
id: 'slider',
@ -89,17 +89,17 @@ export default Backbone.Collection.extend(TypeableCollection).extend({
if (value && value.type == 'slider') {
return value;
}
}
},
},
{
id: 'integer',
model: PropertyInteger,
view: PropertyIntegerView,
model: PropertyNumber,
view: PropertyNumberView,
isType(value) {
if (value && value.type == 'integer') {
return value;
}
}
},
},
{
id: 'base',
@ -108,8 +108,8 @@ export default Backbone.Collection.extend(TypeableCollection).extend({
isType(value) {
value.type = 'base';
return value;
}
}
},
},
],
deepClone() {
@ -145,5 +145,5 @@ export default Backbone.Collection.extend(TypeableCollection).extend({
let result = '';
this.each(model => (result += `${model.getFullValue()} `));
return result.trim();
}
},
});

19
src/style_manager/model/PropertyInteger.js → src/style_manager/model/PropertyNumber.js

@ -3,24 +3,23 @@ import Property from './Property';
import InputNumber from 'domain_abstract/ui/InputNumber';
import { hasWin } from 'utils/mixins';
/**
* @typedef PropertyNumber
* @property {Array<String>} units Array of units, eg. ['px', '%']
* @property {Number} min Minimum value.
* @property {Number} max Maximum value.
* @property {Number} step Step value.
*
*/
export default class PropertyNumber extends Property {
defaults() {
return {
...Property.getDefaults(),
// Array of units, eg. ['px', '%']
units: [],
// Selected unit, eg. 'px'
unit: '',
// Integer value steps
step: 1,
// Minimum value
min: '',
// Maximum value
max: '',
step: 1,
};
}

2
src/style_manager/model/PropertySlider.js

@ -1,4 +1,4 @@
import Property from './PropertyInteger';
import Property from './PropertyNumber';
export default Property.extend({
defaults: {

10
src/style_manager/view/PropertyColorView.js

@ -1,14 +1,14 @@
import PropertyIntegerView from './PropertyIntegerView';
import PropertyNumberView from './PropertyNumberView';
import InputColor from 'domain_abstract/ui/InputColor';
export default PropertyIntegerView.extend({
export default PropertyNumberView.extend({
setValue(value, opts = {}) {
opts = { ...opts, silent: 1 };
this.inputInst.setValue(value, opts);
},
remove() {
PropertyIntegerView.prototype.remove.apply(this, arguments);
PropertyNumberView.prototype.remove.apply(this, arguments);
const inp = this.inputInst;
inp && inp.remove && inp.remove();
['inputInst', '$color'].forEach(i => (this[i] = {}));
@ -20,7 +20,7 @@ export default PropertyIntegerView.extend({
const inputColor = new InputColor({
target: this.target,
model: this.model,
ppfx
ppfx,
});
const input = inputColor.render();
this.el.querySelector(`.${ppfx}fields`).appendChild(input.el);
@ -29,5 +29,5 @@ export default PropertyIntegerView.extend({
this.input = this.$input.get(0);
this.inputInst = input;
}
}
},
});

2
src/style_manager/view/PropertyIntegerView.js → src/style_manager/view/PropertyNumberView.js

@ -42,5 +42,5 @@ export default PropertyView.extend({
PropertyView.prototype.clearCached.apply(this, arguments);
this.unit = null;
this.$unit = null;
}
},
});

6
src/style_manager/view/PropertySliderView.js

@ -1,4 +1,4 @@
import Property from './PropertyIntegerView';
import Property from './PropertyNumberView';
export default Property.extend({
events() {
@ -6,7 +6,7 @@ export default Property.extend({
...Property.prototype.events,
'change [type=range]': 'inputValueChanged',
'input [type=range]': 'inputValueChangedSoft',
change: ''
change: '',
};
},
@ -62,5 +62,5 @@ export default Property.extend({
clearCached() {
Property.prototype.clearCached.apply(this, arguments);
this.slider = null;
}
},
});

12
test/specs/style_manager/model/Models.js

@ -1,7 +1,7 @@
import Sector from 'style_manager/model/Sector';
import Sectors from 'style_manager/model/Sectors';
import Property from 'style_manager/model/Property';
import PropertyInteger from 'style_manager/model/PropertyInteger';
import PropertyNumber from 'style_manager/model/PropertyNumber';
import Properties from 'style_manager/model/Properties';
import Layer from 'style_manager/model/Layer';
import Layers from 'style_manager/model/Layers';
@ -165,11 +165,11 @@ describe('Property', () => {
});
});
describe('PropertyInteger', () => {
describe('PropertyNumber', () => {
var obj;
beforeEach(() => {
obj = new PropertyInteger({ units: ['px', 'deg'] });
obj = new PropertyNumber({ units: ['px', 'deg'] });
});
afterEach(() => {
@ -182,7 +182,7 @@ describe('PropertyInteger', () => {
});
test('parse input value with function', () => {
obj = new PropertyInteger({
obj = new PropertyNumber({
units: ['px', 'deg'],
functionName: 'test',
});
@ -191,14 +191,14 @@ describe('PropertyInteger', () => {
});
test('parse input value with min', () => {
obj = new PropertyInteger({ units: ['px'], min: 10 });
obj = new PropertyNumber({ units: ['px'], min: 10 });
const result = { value: 10, unit: 'px' };
expect(obj.parseValue('1px')).toEqual(result);
expect(obj.parseValue('15px')).toEqual({ value: 15, unit: 'px' });
});
test('parse input value with max', () => {
obj = new PropertyInteger({ units: ['px'], max: 100 });
obj = new PropertyNumber({ units: ['px'], max: 100 });
const result = { value: 100, unit: 'px' };
expect(obj.parseValue('200px')).toEqual(result);
expect(obj.parseValue('95px')).toEqual({ value: 95, unit: 'px' });

26
test/specs/style_manager/view/PropertyIntegerView.js

@ -1,11 +1,11 @@
import Backbone from 'backbone';
import PropertyIntegerView from 'style_manager/view/PropertyIntegerView';
import PropertyInteger from 'style_manager/model/PropertyInteger';
import PropertyNumberView from 'style_manager/view/PropertyNumberView';
import PropertyNumber from 'style_manager/model/PropertyNumber';
import Component from 'dom_components/model/Component';
import Editor from 'editor/model/Editor';
import DomComponents from 'dom_components';
describe('PropertyIntegerView', () => {
describe('PropertyNumberView', () => {
let em;
let dcomp;
let compOpts;
@ -32,14 +32,14 @@ describe('PropertyIntegerView', () => {
propTarget = { ...Backbone.Events };
target = new Component({}, compOpts);
component = new Component({}, compOpts);
model = new PropertyInteger({
model = new PropertyNumber({
units,
property: propName
property: propName,
});
propTarget.model = component;
view = new PropertyIntegerView({
view = new PropertyNumberView({
model,
propTarget
propTarget,
});
document.body.innerHTML = '<div id="fixtures"></div>';
fixtures = document.body.firstChild;
@ -123,9 +123,9 @@ describe('PropertyIntegerView', () => {
describe('With target setted', () => {
beforeEach(() => {
target.model = component;
view = new PropertyIntegerView({
view = new PropertyNumberView({
model,
propTarget: target
propTarget: target,
});
fixtures.innerHTML = '';
view.render();
@ -159,16 +159,16 @@ describe('PropertyIntegerView', () => {
describe('Init property', () => {
beforeEach(() => {
component = new Component();
model = new PropertyInteger({
model = new PropertyNumber({
units,
property: propName,
defaults: intValue,
min: minValue,
max: maxValue,
unit: units[1]
unit: units[1],
});
view = new PropertyIntegerView({
model
view = new PropertyNumberView({
model,
});
fixtures.innerHTML = '';
view.render();

Loading…
Cancel
Save