-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
area-web-jsIssues related to JavaScript support for Dart Web, including DDC, dart2js, and JS interop.Issues related to JavaScript support for Dart Web, including DDC, dart2js, and JS interop.web-js-interopIssues that impact all js interopIssues that impact all js interop
Description
I'm currently building a small web application with AngularDart and Fabric.js, and I have many fabric event callbaks that I need to pass Dart functions that will be called by these events and within these functions I change variables of the component class, and these variables are linked to the html elements of the template, but changes to variables are not being reflected in the elements
void initFabric() {
canvas = Canvas(canvasEl);
stage = Rect(
jsify({
'left':
(canvas.width / 2) - ((currentWidth * (stage?.scaleX ?? 1)) / 2),
'top': 50,
'width': currentWidth,
'height': currentHeight,
'fill': '#fff',
'lockMovementY': true,
'lockMovementX': true,
'selectable': false,
'hoverCursor': 'default',
}),
);
canvas.add(stage);
num zoom = 1;
canvas.on('mouse:wheel', allowInterop((opt) {
final deltaY = opt.e.deltaY;
final mousePoint = canvas.getPointer(opt.e, true);
zoom = canvas.getZoom();
zoom *= pow(0.999, deltaY);
if (zoom > 20) zoom = 20;
if (zoom < 0.01) zoom = 0.01;
canvas.zoomToPoint(Point(mousePoint.x, mousePoint.y), zoom);
opt.e.preventDefault();
opt.e.stopPropagation();
}));
canvas.on('selection:created', allowInterop((obj) {
//change detection doesn't work
onSelectObject(obj);
}));
canvas.on('selection:updated', allowInterop((obj) {
//change detection doesn't work
onSelectObject(obj);
}));
canvas.on('selection:cleared', allowInterop((event) {
//change detection doesn't work
onUnSelectObject(event);
}));
}
void onUnSelectObject(event) {
//change current width of stage (valid drawing area)
//change detection doesn't work
currentWidth = stage!.getScaledWidth();
currentHeight = stage!.getScaledHeight();
}
void onSelectObject(event) {
//change detection doesn't work
final activeObj = canvas.getActiveObject();
final scaledWidth = activeObj.getScaledWidth();
final scaledHeight = activeObj.getScaledHeight();
currentWidth = scaledWidth;
currentHeight = scaledHeight;
}
angulardart-community/angular#69
Dart SDK version: 3.2.1 (stable) (Wed Nov 22 08:59:13 2023 +0000) on "windows_x64"
Metadata
Metadata
Assignees
Labels
area-web-jsIssues related to JavaScript support for Dart Web, including DDC, dart2js, and JS interop.Issues related to JavaScript support for Dart Web, including DDC, dart2js, and JS interop.web-js-interopIssues that impact all js interopIssues that impact all js interop
Type
Projects
Status
No status