perfect-gui 3.0.3 → 3.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/package.json +1 -1
- package/src/index.js +17 -12
- package/test/src/js/basics.js +1 -1
- package/test/src/js/folders.js +4 -0
package/README.md
CHANGED
|
@@ -91,14 +91,16 @@ gui.image('Click this', 'path/to/image', () => {
|
|
|
91
91
|
|
|
92
92
|
```javascript
|
|
93
93
|
// Simple slider, only returns a value to the callback
|
|
94
|
-
//
|
|
94
|
+
// min parameter is optional, default is 0
|
|
95
|
+
// max parameter is optional, default is 1
|
|
96
|
+
// step parameter is optional, default is (max - min) * 0.01
|
|
95
97
|
gui.slider('Slide this', { value: 5, min: 0, max: 10, step: .1 }, value => {
|
|
96
98
|
console.log('Slider value : ' + value);
|
|
97
99
|
});
|
|
98
100
|
|
|
99
101
|
// Object-based slider, automatically updates the value of the object property.
|
|
100
102
|
// Directly updating the property will also update the slider.
|
|
101
|
-
//
|
|
103
|
+
// callback is optional
|
|
102
104
|
gui.slider('Slide this', { object: foo, prop: 'bar', min: 0, max: 10, step: .1 });
|
|
103
105
|
```
|
|
104
106
|
</td></tr>
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -10,6 +10,8 @@ export default class GUI {
|
|
|
10
10
|
this.position_type = 'fixed';
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
this.propReferences = [];
|
|
14
|
+
|
|
13
15
|
if ( options.isFolder ) {
|
|
14
16
|
this._folderConstructor(options.folderOptions);
|
|
15
17
|
return;
|
|
@@ -77,8 +79,6 @@ export default class GUI {
|
|
|
77
79
|
if (options.closed) this.toggleClose();
|
|
78
80
|
|
|
79
81
|
this.folders = [];
|
|
80
|
-
|
|
81
|
-
this.propReferences = [];
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
_folderConstructor(folderOptions) {
|
|
@@ -221,16 +221,14 @@ export default class GUI {
|
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
slider (text, sliderParams, callback) {
|
|
224
|
-
this._checkMandatoryParams({
|
|
225
|
-
min: 'number',
|
|
226
|
-
max: 'number',
|
|
227
|
-
}, sliderParams);
|
|
228
|
-
|
|
229
224
|
let isObject = false;
|
|
230
225
|
let propReferenceIndex = null;
|
|
231
226
|
let object;
|
|
232
227
|
let prop;
|
|
233
|
-
|
|
228
|
+
|
|
229
|
+
const min = sliderParams.min ?? 0;
|
|
230
|
+
const max = sliderParams.max ?? 1;
|
|
231
|
+
const step = sliderParams.step || (max - min) / 100;
|
|
234
232
|
|
|
235
233
|
if ( typeof sliderParams.value == 'number' ) {
|
|
236
234
|
this._checkMandatoryParams({
|
|
@@ -261,8 +259,8 @@ export default class GUI {
|
|
|
261
259
|
class: 'p-gui__slider-ctrl',
|
|
262
260
|
customAttributes: {
|
|
263
261
|
type: 'range',
|
|
264
|
-
min
|
|
265
|
-
max
|
|
262
|
+
min,
|
|
263
|
+
max,
|
|
266
264
|
step,
|
|
267
265
|
value: isObject ? object[prop] : sliderParams.value
|
|
268
266
|
}
|
|
@@ -480,8 +478,15 @@ export default class GUI {
|
|
|
480
478
|
this.imageContainer = null;
|
|
481
479
|
|
|
482
480
|
let className = 'p-gui__folder';
|
|
483
|
-
|
|
484
|
-
if (
|
|
481
|
+
|
|
482
|
+
if (this.folders.length == 0) {
|
|
483
|
+
className += ' p-gui__folder--first';
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
if (closed) {
|
|
487
|
+
className += ' p-gui__folder--closed';
|
|
488
|
+
}
|
|
489
|
+
|
|
485
490
|
let container = this._createElement({
|
|
486
491
|
class: className
|
|
487
492
|
});
|
package/test/src/js/basics.js
CHANGED
package/test/src/js/folders.js
CHANGED
|
@@ -15,6 +15,10 @@ export default function folders() {
|
|
|
15
15
|
element.style.backgroundColor = getRandomColor();
|
|
16
16
|
});
|
|
17
17
|
|
|
18
|
+
folder_1.slider("Size", { value: 1 }, value => {
|
|
19
|
+
element.style.transform = `scale(${value})`;
|
|
20
|
+
});
|
|
21
|
+
|
|
18
22
|
let folder_2 = gui.folder('Folder 2 (closed)', { closed: true });
|
|
19
23
|
|
|
20
24
|
folder_2.button("Random color", () => {
|