Skip to content

Commit 3304a67

Browse files
committed
Use dataserializers, make datawidgets optional
1 parent 56fa518 commit 3304a67

File tree

7 files changed

+15
-17
lines changed

7 files changed

+15
-17
lines changed

js/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"dependencies": {
2727
"@jupyter-widgets/base": "^1.0.0",
2828
"bluebird": "^3.4.3",
29-
"jupyter-datawidgets": "^2.0.0",
29+
"jupyter-dataserializers": "^1.0.0",
3030
"three": "^0.87.1",
3131
"underscore": "^1.8.3"
3232
}

js/scripts/prop-types.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ function ArrayBufferType(arrayType, shapeConstraint) {
319319
this.arrayType = arrayType;
320320
this.shapeConstraint = shapeConstraint;
321321
this.defaultValue = null;
322-
this.serializer = 'datawidgets.data_union_serialization';
322+
this.serializer = 'dataserializers.data_union_serialization';
323323
}
324324
_.extend(ArrayBufferType.prototype, BaseType.prototype, {
325325
getTraitlet: function() {

js/scripts/templates/js_wrapper.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
var _ = require('underscore');
77
var THREE = require('three');
88
var widgets = require('@jupyter-widgets/base');
9-
var datawidgets = require('jupyter-datawidgets');
9+
var dataserializers = require('jupyter-dataserializers');
1010

1111
var {{ superClass.modelName }} = require('{{ superClass.requirePath }}').{{ superClass.modelName }};
1212

js/src/_base/Three.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var widgets = require("@jupyter-widgets/base");
33
var Promise = require('bluebird');
44
var $ = require('jquery');
55
var ndarray = require('ndarray');
6-
var datawidgets = require('jupyter-datawidgets');
6+
var dataserializers = require('jupyter-dataserializers');
77

88
var THREE = require('three');
99

@@ -139,7 +139,7 @@ var ThreeModel = widgets.WidgetModel.extend({
139139

140140
// Handle changes in data widgets/union properties
141141
this.datawidget_properties.forEach(function(propName) {
142-
datawidgets.listenToUnion(this, propName, this.onChildChanged.bind(this), false);
142+
dataserializers.listenToUnion(this, propName, this.onChildChanged.bind(this), false);
143143
}, this);
144144

145145
this.on('change', this.onChange, this);

js/src/core/BufferAttribute.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var _ = require('underscore');
2-
var datawidgets = require('jupyter-datawidgets');
2+
var dataserializers = require('jupyter-dataserializers');
33
var ndarray = require('ndarray');
44
var THREE = require('three');
55
var BufferAttributeAutogen = require('./BufferAttribute.autogen').BufferAttributeModel;
@@ -15,7 +15,7 @@ var BufferAttributeModel = BufferAttributeAutogen.extend({
1515
},
1616

1717
decodeData() {
18-
var rawData = datawidgets.getArrayFromUnion(this.get('array'));
18+
var rawData = dataserializers.getArray(this.get('array'));
1919
var itemSize = rawData.dimension === 1 ? 1 : rawData.shape[rawData.dimension - 1];
2020

2121
var data = this.convertArrayBufferModelToThree(rawData, 'array');
@@ -57,11 +57,8 @@ var BufferAttributeModel = BufferAttributeAutogen.extend({
5757
var modelNDArray = this.get('array');
5858
if (modelNDArray) {
5959
// 1. / 2.
60-
if (modelNDArray instanceof datawidgets.NDArrayModel) {
61-
modelNDArray.get('array').data.set(attributeData);
62-
} else {
63-
modelNDArray.data.set(attributeData);
64-
}
60+
var rawData = dataserializers.getArray(modelNDArray);
61+
rawData.data.set(attributeData);
6562
} else {
6663
// 3. / 4.
6764
this.set('array', ndarray(attributeData, [this.obj.count, this.obj.itemSize]));

js/src/textures/DataTexture.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var _ = require('underscore');
2-
var datawidgets = require('jupyter-datawidgets');
2+
var dataserializers = require('jupyter-dataserializers');
33
var ndarray = require('ndarray');
44
var THREE = require('three');
55
var DataTextureBase = require('./DataTexture.autogen').DataTextureModel;
@@ -15,7 +15,7 @@ var DataTextureModel = DataTextureBase.extend({
1515
},
1616

1717
decodeData() {
18-
var rawData = datawidgets.getArrayFromUnion(this.get('data'));
18+
var rawData = dataserializers.getArray(this.get('data'));
1919
if (rawData.dimension < 2 || rawData.dimension > 3) {
2020
throw Error('DataTexture data dimensions need to be 2 or 3, got:', rawData.dimension)
2121
}
@@ -69,15 +69,16 @@ var DataTextureModel = DataTextureBase.extend({
6969
var imageRecord = this.obj.image;
7070
var modelNDArray = this.get('data');
7171
if (modelNDArray) {
72-
modelNDArray.data.set(imageRecord.data);
72+
var rawData = dataserializers.getArray(modelNDArray);
73+
rawData.data.set(imageRecord.data);
7374
} else {
7475
this.set('data', ndarray(imageRecord.data, [imageRecord.width, imageRecord.height]));
7576
}
7677
},
7778

7879
}, {
7980
serializers: _.extend({
80-
data: datawidgets.data_union_serialization,
81+
data: dataserializers.data_union_serialization,
8182
}, DataTextureBase.serializers),
8283
});
8384

js/webpack.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const path = require('path');
22

3-
var externals = ['@jupyter-widgets/base', 'jupyter-datawidgets', 'three'];
3+
var externals = ['@jupyter-widgets/base', 'three'];
44

55
module.exports = [
66
{

0 commit comments

Comments
 (0)