@ni/nimble-components 22.1.1 → 23.0.1
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/dist/all-components-bundle.js +280 -210
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +3428 -3424
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/theme-provider/design-token-comments.js +24 -16
- package/dist/esm/theme-provider/design-token-comments.js.map +1 -1
- package/dist/esm/theme-provider/design-token-names.d.ts +1 -1
- package/dist/esm/theme-provider/design-token-names.js +25 -16
- package/dist/esm/theme-provider/design-token-names.js.map +1 -1
- package/dist/esm/theme-provider/design-tokens.d.ts +3 -2
- package/dist/esm/theme-provider/design-tokens.js +5 -3
- package/dist/esm/theme-provider/design-tokens.js.map +1 -1
- package/dist/esm/wafer-map/index.d.ts +13 -6
- package/dist/esm/wafer-map/index.js +33 -16
- package/dist/esm/wafer-map/index.js.map +1 -1
- package/dist/esm/wafer-map/modules/data-manager.js +1 -1
- package/dist/esm/wafer-map/modules/data-manager.js.map +1 -1
- package/dist/esm/wafer-map/modules/experimental/hover-handler.d.ts +23 -0
- package/dist/esm/wafer-map/modules/experimental/hover-handler.js +80 -0
- package/dist/esm/wafer-map/modules/experimental/hover-handler.js.map +1 -0
- package/dist/esm/wafer-map/modules/{worker-renderer.d.ts → experimental/worker-renderer.d.ts} +1 -1
- package/dist/esm/wafer-map/modules/{worker-renderer.js → experimental/worker-renderer.js} +1 -1
- package/dist/esm/wafer-map/modules/experimental/worker-renderer.js.map +1 -0
- package/dist/esm/wafer-map/modules/hover-handler.d.ts +10 -2
- package/dist/esm/wafer-map/modules/hover-handler.js +43 -26
- package/dist/esm/wafer-map/modules/hover-handler.js.map +1 -1
- package/dist/esm/wafer-map/modules/prerendering.d.ts +1 -3
- package/dist/esm/wafer-map/modules/prerendering.js +5 -6
- package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
- package/dist/esm/wafer-map/modules/wafer-map-validator.js +17 -23
- package/dist/esm/wafer-map/modules/wafer-map-validator.js.map +1 -1
- package/dist/esm/wafer-map/modules/zoom-handler.d.ts +11 -7
- package/dist/esm/wafer-map/modules/zoom-handler.js +27 -37
- package/dist/esm/wafer-map/modules/zoom-handler.js.map +1 -1
- package/dist/esm/wafer-map/template.d.ts +1 -1
- package/dist/esm/wafer-map/types.d.ts +11 -0
- package/dist/esm/wafer-map/types.js.map +1 -1
- package/dist/tokens-internal.scss +96 -48
- package/dist/tokens.scss +56 -32
- package/package.json +3 -3
- package/dist/esm/wafer-map/modules/event-coordinator.d.ts +0 -19
- package/dist/esm/wafer-map/modules/event-coordinator.js +0 -35
- package/dist/esm/wafer-map/modules/event-coordinator.js.map +0 -1
- package/dist/esm/wafer-map/modules/worker-renderer.js.map +0 -1
|
@@ -16301,7 +16301,7 @@
|
|
|
16301
16301
|
|
|
16302
16302
|
/**
|
|
16303
16303
|
* Do not edit directly
|
|
16304
|
-
* Generated on
|
|
16304
|
+
* Generated on Mon, 25 Mar 2024 16:47:43 GMT
|
|
16305
16305
|
*/
|
|
16306
16306
|
|
|
16307
16307
|
const Information100DarkUi = "#a46eff";
|
|
@@ -16334,6 +16334,8 @@
|
|
|
16334
16334
|
const ControlLabel1Weight = "600";
|
|
16335
16335
|
const BodyFamily = "Source Sans Pro";
|
|
16336
16336
|
const BodyWeight = "400";
|
|
16337
|
+
const Body2Family = "Source Sans Pro";
|
|
16338
|
+
const Body2Weight = "400";
|
|
16337
16339
|
const GroupLabel1Family = "Source Sans Pro";
|
|
16338
16340
|
const GroupLabel1Weight = "600";
|
|
16339
16341
|
const ButtonLabel1Family = "Source Sans Pro";
|
|
@@ -16367,6 +16369,7 @@
|
|
|
16367
16369
|
const Title2Size = "22px";
|
|
16368
16370
|
const ControlLabel1Size = "11px";
|
|
16369
16371
|
const BodySize = "14px";
|
|
16372
|
+
const Body2Size = "16px";
|
|
16370
16373
|
const GroupLabel1Size = "11px";
|
|
16371
16374
|
const ButtonLabel1Size = "12.800000190734863px";
|
|
16372
16375
|
const Title1Size = "19px";
|
|
@@ -16383,6 +16386,7 @@
|
|
|
16383
16386
|
const ErrorLightUiSize = "11px";
|
|
16384
16387
|
const GridHeaderSize = "12.800000190734863px";
|
|
16385
16388
|
const BodyLineHeight = "18px";
|
|
16389
|
+
const Body2LineHeight = "16px";
|
|
16386
16390
|
const ControlLabel1LineHeight = "16px";
|
|
16387
16391
|
const GroupLabel1LineHeight = "16px";
|
|
16388
16392
|
const Headline2LineHeight = "40px";
|
|
@@ -16595,22 +16599,6 @@
|
|
|
16595
16599
|
placeholderFontWeight: 'placeholder-font-weight',
|
|
16596
16600
|
placeholderFontLineHeight: 'placeholder-font-line-height',
|
|
16597
16601
|
placeholderFallbackFontFamily: 'placeholder-fallback-font-family',
|
|
16598
|
-
bodyEmphasizedFont: 'body-emphasized-font',
|
|
16599
|
-
bodyEmphasizedFontColor: 'body-emphasized-font-color',
|
|
16600
|
-
bodyEmphasizedDisabledFontColor: 'body-emphasized-disabled-font-color',
|
|
16601
|
-
bodyEmphasizedFontFamily: 'body-emphasized-font-family',
|
|
16602
|
-
bodyEmphasizedFontSize: 'body-emphasized-font-size',
|
|
16603
|
-
bodyEmphasizedFontWeight: 'body-emphasized-font-weight',
|
|
16604
|
-
bodyEmphasizedFontLineHeight: 'body-emphasized-font-line-height',
|
|
16605
|
-
bodyEmphasizedFallbackFontFamily: 'body-emphasized-fallback-font-family',
|
|
16606
|
-
bodyEmphasizedPlus1Font: 'body-emphasized-plus-1-font',
|
|
16607
|
-
bodyEmphasizedPlus1FontColor: 'body-emphasized-plus-1-font-color',
|
|
16608
|
-
bodyEmphasizedPlus1DisabledFontColor: 'body-emphasized-plus-1-disabled-font-color',
|
|
16609
|
-
bodyEmphasizedPlus1FontFamily: 'body-emphasized-plus-1-font-family',
|
|
16610
|
-
bodyEmphasizedPlus1FontSize: 'body-emphasized-plus-1-font-size',
|
|
16611
|
-
bodyEmphasizedPlus1FontWeight: 'body-emphasized-plus-1-font-weight',
|
|
16612
|
-
bodyEmphasizedPlus1FontLineHeight: 'body-emphasized-plus-1-font-line-height',
|
|
16613
|
-
bodyEmphasizedPlus1FallbackFontFamily: 'body-emphasized-plus-1-fallback-font-family',
|
|
16614
16602
|
bodyFont: 'body-font',
|
|
16615
16603
|
bodyFontColor: 'body-font-color',
|
|
16616
16604
|
bodyDisabledFontColor: 'body-disabled-font-color',
|
|
@@ -16619,6 +16607,30 @@
|
|
|
16619
16607
|
bodyFontWeight: 'body-font-weight',
|
|
16620
16608
|
bodyFontLineHeight: 'body-font-line-height',
|
|
16621
16609
|
bodyFallbackFontFamily: 'body-fallback-font-family',
|
|
16610
|
+
bodyEmphasizedFont: 'body-emphasized-font',
|
|
16611
|
+
bodyEmphasizedFontColor: 'body-emphasized-font-color',
|
|
16612
|
+
bodyEmphasizedDisabledFontColor: 'body-emphasized-disabled-font-color',
|
|
16613
|
+
bodyEmphasizedFontFamily: 'body-emphasized-font-family',
|
|
16614
|
+
bodyEmphasizedFontSize: 'body-emphasized-font-size',
|
|
16615
|
+
bodyEmphasizedFontWeight: 'body-emphasized-font-weight',
|
|
16616
|
+
bodyEmphasizedFontLineHeight: 'body-emphasized-font-line-height',
|
|
16617
|
+
bodyEmphasizedFallbackFontFamily: 'body-emphasized-fallback-font-family',
|
|
16618
|
+
bodyPlus1Font: 'body-plus-1-font',
|
|
16619
|
+
bodyPlus1FontColor: 'body-plus-1-font-color',
|
|
16620
|
+
bodyPlus1DisabledFontColor: 'body-plus-1-disabled-font-color',
|
|
16621
|
+
bodyPlus1FontFamily: 'body-plus-1-font-family',
|
|
16622
|
+
bodyPlus1FontSize: 'body-plus-1-font-size',
|
|
16623
|
+
bodyPlus1FontWeight: 'body-plus-1-font-weight',
|
|
16624
|
+
bodyPlus1FontLineHeight: 'body-plus-1-font-line-height',
|
|
16625
|
+
bodyPlus1FallbackFontFamily: 'body-plus-1-fallback-font-family',
|
|
16626
|
+
bodyPlus1EmphasizedFont: 'body-plus-1-emphasized-font',
|
|
16627
|
+
bodyPlus1EmphasizedFontColor: 'body-plus-1-emphasized-font-color',
|
|
16628
|
+
bodyPlus1EmphasizedDisabledFontColor: 'body-plus-1-emphasized-disabled-font-color',
|
|
16629
|
+
bodyPlus1EmphasizedFontFamily: 'body-plus-1-emphasized-font-family',
|
|
16630
|
+
bodyPlus1EmphasizedFontSize: 'body-plus-1-emphasized-font-size',
|
|
16631
|
+
bodyPlus1EmphasizedFontWeight: 'body-plus-1-emphasized-font-weight',
|
|
16632
|
+
bodyPlus1EmphasizedFontLineHeight: 'body-plus-1-emphasized-font-line-height',
|
|
16633
|
+
bodyPlus1EmphasizedFallbackFontFamily: 'body-plus-1-emphasized-fallback-font-family',
|
|
16622
16634
|
groupHeaderFont: 'group-header-font',
|
|
16623
16635
|
groupHeaderFontColor: 'group-header-font-color',
|
|
16624
16636
|
groupHeaderDisabledFontColor: 'group-header-disabled-font-color',
|
|
@@ -16854,6 +16866,7 @@
|
|
|
16854
16866
|
const LinkFallbackFontFamily = 'Source Sans Pro Fallback';
|
|
16855
16867
|
const PlaceholderFallbackFontFamily = 'Source Sans Pro Fallback';
|
|
16856
16868
|
const BodyFallbackFontFamily = 'Source Sans Pro Fallback';
|
|
16869
|
+
const Body2FallbackFontFamily = 'Source Sans Pro Fallback';
|
|
16857
16870
|
const BodyEmphasizedFallbackFontFamily = 'Source Sans Pro Fallback';
|
|
16858
16871
|
const BodyEmphasized2FallbackFontFamily = 'Source Sans Pro Fallback';
|
|
16859
16872
|
const GroupLabel1FallbackFontFamily = 'Source Sans Pro Fallback';
|
|
@@ -16937,9 +16950,10 @@
|
|
|
16937
16950
|
const [linkProminentFont, linkProminentFontColor, linkProminentDisabledFontColor, linkProminentFontFamily, linkProminentFontWeight, linkProminentFontSize, linkProminentFontLineHeight, linkProminentFallbackFontFamily] = createFontTokens(tokenNames.linkProminentFont, (element) => getColorForTheme(element, DigitalGreenDark, PowerGreen, PowerGreen), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), LinkLightUiFamily, LinkLightUiWeight, LinkLightUiSize, LinkLineHeight, LinkFallbackFontFamily);
|
|
16938
16951
|
const [linkActiveProminentFont, linkActiveProminentFontColor, linkActiveProminentDisabledFontColor, linkActiveProminentFontFamily, linkActiveProminentFontWeight, linkActiveProminentFontSize, linkActiveProminentFontLineHeight, linkActiveProminentFallbackFontFamily] = createFontTokens(tokenNames.linkActiveProminentFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), LinkLightUiFamily, LinkLightUiWeight, LinkLightUiSize, LinkLineHeight, LinkFallbackFontFamily);
|
|
16939
16952
|
const [placeholderFont, placeholderFontColor, placeholderDisabledFontColor, placeholderFontFamily, placeholderFontWeight, placeholderFontSize, placeholderFontLineHeight, placeholderFallbackFontFamily] = createFontTokens(tokenNames.placeholderFont, (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), PlaceholderFamily, PlaceholderWeight, PlaceholderSize, PlaceholderLineHeight, PlaceholderFallbackFontFamily);
|
|
16940
|
-
const [bodyEmphasizedFont, bodyEmphasizedFontColor, bodyEmphasizedDisabledFontColor, bodyEmphasizedFontFamily, bodyEmphasizedFontWeight, bodyEmphasizedFontSize, bodyEmphasizedFontLineHeight, bodyEmphasizedFallbackFontFamily] = createFontTokens(tokenNames.bodyEmphasizedFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), BodyEmphasizedFamily, BodyEmphasizedWeight, BodyEmphasizedSize, BodyEmphasizedLineHeight, BodyEmphasizedFallbackFontFamily);
|
|
16941
|
-
createFontTokens(tokenNames.bodyEmphasizedPlus1Font, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), BodyEmphasized2Family, BodyEmphasized2Weight, BodyEmphasized2Size, BodyEmphasized2LineHeight, BodyEmphasized2FallbackFontFamily);
|
|
16942
16953
|
const [bodyFont, bodyFontColor, bodyDisabledFontColor, bodyFontFamily, bodyFontWeight, bodyFontSize, bodyFontLineHeight, bodyFallbackFontFamily] = createFontTokens(tokenNames.bodyFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), BodyFamily, BodyWeight, BodySize, BodyLineHeight, BodyFallbackFontFamily);
|
|
16954
|
+
const [bodyEmphasizedFont, bodyEmphasizedFontColor, bodyEmphasizedDisabledFontColor, bodyEmphasizedFontFamily, bodyEmphasizedFontWeight, bodyEmphasizedFontSize, bodyEmphasizedFontLineHeight, bodyEmphasizedFallbackFontFamily] = createFontTokens(tokenNames.bodyEmphasizedFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), BodyEmphasizedFamily, BodyEmphasizedWeight, BodyEmphasizedSize, BodyEmphasizedLineHeight, BodyEmphasizedFallbackFontFamily);
|
|
16955
|
+
createFontTokens(tokenNames.bodyPlus1Font, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), Body2Family, Body2Weight, Body2Size, Body2LineHeight, Body2FallbackFontFamily);
|
|
16956
|
+
createFontTokens(tokenNames.bodyPlus1EmphasizedFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), BodyEmphasized2Family, BodyEmphasized2Weight, BodyEmphasized2Size, BodyEmphasized2LineHeight, BodyEmphasized2FallbackFontFamily);
|
|
16943
16957
|
const [groupHeaderFont, groupHeaderFontColor, groupHeaderDisabledFontColor, groupHeaderFontFamily, groupHeaderFontWeight, groupHeaderFontSize, groupHeaderFontLineHeight, groupHeaderFallbackFontFamily] = createFontTokens(tokenNames.groupHeaderFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), GroupLabel1Family, GroupLabel1Weight, GroupLabel1Size, GroupLabel1LineHeight, GroupLabel1FallbackFontFamily);
|
|
16944
16958
|
const [controlLabelFont, controlLabelFontColor, controlLabelDisabledFontColor, controlLabelFontFamily, controlLabelFontWeight, controlLabelFontSize, controlLabelFontLineHeight, controlLabelFallbackFontFamily] = createFontTokens(tokenNames.controlLabelFont, (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.6), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), ControlLabel1Family, ControlLabel1Weight, ControlLabel1Size, ControlLabel1LineHeight, ControlLabel1FallbackFontFamily);
|
|
16945
16959
|
const [buttonLabelFont, buttonLabelFontColor, buttonLabelDisabledFontColor, buttonLabelFontFamily, buttonLabelFontWeight, buttonLabelFontSize, buttonLabelFontLineHeight, buttonLabelFallbackFontFamily] = createFontTokens(tokenNames.buttonLabelFont, (element) => getDefaultFontColorForTheme(element), (element) => hexToRgbaCssColor(getDefaultFontColorForTheme(element), 0.3), ButtonLabel1Family, ButtonLabel1Weight, ButtonLabel1Size, ButtonLabel1LineHeight, ButtonLabel1FallbackFontFamily);
|
|
@@ -73574,12 +73588,7 @@ img.ProseMirror-separator {
|
|
|
73574
73588
|
|
|
73575
73589
|
var identity$2 = new Transform(1, 0, 0);
|
|
73576
73590
|
|
|
73577
|
-
|
|
73578
|
-
|
|
73579
|
-
function transform(node) {
|
|
73580
|
-
while (!node.__zoom) if (!(node = node.parentNode)) return identity$2;
|
|
73581
|
-
return node.__zoom;
|
|
73582
|
-
}
|
|
73591
|
+
Transform.prototype;
|
|
73583
73592
|
|
|
73584
73593
|
function nopropagation(event) {
|
|
73585
73594
|
event.stopImmediatePropagation();
|
|
@@ -75298,16 +75307,15 @@ img.ProseMirror-separator {
|
|
|
75298
75307
|
get diesRenderInfo() {
|
|
75299
75308
|
return this._diesRenderInfo;
|
|
75300
75309
|
}
|
|
75301
|
-
constructor(wafermap
|
|
75310
|
+
constructor(wafermap) {
|
|
75302
75311
|
this.wafermap = wafermap;
|
|
75303
|
-
this.dataManager = dataManager;
|
|
75304
75312
|
this.fontSizeFactor = 0.8;
|
|
75305
75313
|
this.nonHighlightedOpacity = 0.3;
|
|
75306
75314
|
this.emptyDieColor = 'rgba(218,223,236,1)';
|
|
75307
75315
|
this.nanDieColor = 'rgba(122,122,122,1)';
|
|
75308
75316
|
}
|
|
75309
75317
|
updateLabelsFontSize() {
|
|
75310
|
-
this._labelsFontSize = this.calculateLabelsFontSize(this.dataManager.dieDimensions, this.wafermap.maxCharacters);
|
|
75318
|
+
this._labelsFontSize = this.calculateLabelsFontSize(this.wafermap.dataManager.dieDimensions, this.wafermap.maxCharacters);
|
|
75311
75319
|
this.updateDiesRenderInfo();
|
|
75312
75320
|
}
|
|
75313
75321
|
updateDiesRenderInfo() {
|
|
@@ -75318,9 +75326,9 @@ img.ProseMirror-separator {
|
|
|
75318
75326
|
.filter(isDieRenderInfo);
|
|
75319
75327
|
}
|
|
75320
75328
|
computeDieRenderInfo(die) {
|
|
75321
|
-
const margin = this.dataManager.margin;
|
|
75322
|
-
const scaledX = this.dataManager.horizontalScale(die.x);
|
|
75323
|
-
const scaledY = this.dataManager.verticalScale(die.y);
|
|
75329
|
+
const margin = this.wafermap.dataManager.margin;
|
|
75330
|
+
const scaledX = this.wafermap.dataManager.horizontalScale(die.x);
|
|
75331
|
+
const scaledY = this.wafermap.dataManager.verticalScale(die.y);
|
|
75324
75332
|
if (scaledX === undefined || scaledY === undefined) {
|
|
75325
75333
|
return null;
|
|
75326
75334
|
}
|
|
@@ -75439,7 +75447,7 @@ img.ProseMirror-separator {
|
|
|
75439
75447
|
constructor(wafermap) {
|
|
75440
75448
|
this.wafermap = wafermap;
|
|
75441
75449
|
this.computations = new Computations(wafermap);
|
|
75442
|
-
this.prerendering = new Prerendering(wafermap
|
|
75450
|
+
this.prerendering = new Prerendering(wafermap);
|
|
75443
75451
|
}
|
|
75444
75452
|
updateContainerDimensions() {
|
|
75445
75453
|
this.computations.updateContainerDimensions();
|
|
@@ -75588,147 +75596,6 @@ img.ProseMirror-separator {
|
|
|
75588
75596
|
}
|
|
75589
75597
|
}
|
|
75590
75598
|
|
|
75591
|
-
/**
|
|
75592
|
-
* ZoomHandler deals with user interactions and events like zooming
|
|
75593
|
-
*/
|
|
75594
|
-
class ZoomHandler {
|
|
75595
|
-
constructor(wafermap) {
|
|
75596
|
-
this.wafermap = wafermap;
|
|
75597
|
-
this.zoomTransform = identity$2;
|
|
75598
|
-
this.minScale = 1.1;
|
|
75599
|
-
this.minExtentPoint = [-100, -100];
|
|
75600
|
-
this.extentPadding = 100;
|
|
75601
|
-
}
|
|
75602
|
-
createZoomBehavior() {
|
|
75603
|
-
this.zoomBehavior = zoom()
|
|
75604
|
-
.scaleExtent([
|
|
75605
|
-
1.1,
|
|
75606
|
-
this.getZoomMax(this.wafermap.canvasWidth * this.wafermap.canvasHeight, this.wafermap.dataManager.containerDimensions.width
|
|
75607
|
-
* this.wafermap.dataManager.containerDimensions.height)
|
|
75608
|
-
])
|
|
75609
|
-
.translateExtent([
|
|
75610
|
-
this.minExtentPoint,
|
|
75611
|
-
[
|
|
75612
|
-
this.wafermap.canvasWidth + this.extentPadding,
|
|
75613
|
-
this.wafermap.canvasHeight + this.extentPadding
|
|
75614
|
-
]
|
|
75615
|
-
])
|
|
75616
|
-
.filter((event) => {
|
|
75617
|
-
const transform$1 = transform(this.wafermap.canvas);
|
|
75618
|
-
const filterEval = transform$1.k >= this.minScale || event.type === 'wheel';
|
|
75619
|
-
return filterEval;
|
|
75620
|
-
})
|
|
75621
|
-
.on('zoom', (event) => {
|
|
75622
|
-
// D3 will automatically remove existing handlers when adding new ones
|
|
75623
|
-
// See: https://github.com/d3/d3-zoom/blob/v3.0.0/README.md#zoom_on
|
|
75624
|
-
this.rescale(event);
|
|
75625
|
-
});
|
|
75626
|
-
this.zoomBehavior(select(this.wafermap.canvas));
|
|
75627
|
-
}
|
|
75628
|
-
rescale(event) {
|
|
75629
|
-
const transform = event.transform;
|
|
75630
|
-
if (transform.k === this.minScale) {
|
|
75631
|
-
this.zoomTransform = identity$2;
|
|
75632
|
-
this.zoomBehavior.transform(select(this.wafermap.canvas), identity$2);
|
|
75633
|
-
}
|
|
75634
|
-
else {
|
|
75635
|
-
this.zoomTransform = transform;
|
|
75636
|
-
}
|
|
75637
|
-
this.wafermap.transform = this.zoomTransform;
|
|
75638
|
-
}
|
|
75639
|
-
getZoomMax(canvasArea, dataArea) {
|
|
75640
|
-
return Math.ceil((dataArea / canvasArea) * 100);
|
|
75641
|
-
}
|
|
75642
|
-
}
|
|
75643
|
-
|
|
75644
|
-
/**
|
|
75645
|
-
* HoverHandler deals with user interactions and events like hovering
|
|
75646
|
-
*/
|
|
75647
|
-
class HoverHandler {
|
|
75648
|
-
constructor(wafermap) {
|
|
75649
|
-
this.wafermap = wafermap;
|
|
75650
|
-
}
|
|
75651
|
-
mousemove(event) {
|
|
75652
|
-
const mousePosition = {
|
|
75653
|
-
x: event.offsetX,
|
|
75654
|
-
y: event.offsetY
|
|
75655
|
-
};
|
|
75656
|
-
if (!this.hoversOverDie(this.wafermap, mousePosition)) {
|
|
75657
|
-
this.wafermap.hoverDie = undefined;
|
|
75658
|
-
return;
|
|
75659
|
-
}
|
|
75660
|
-
// get original mouse position in case we are in zoom.
|
|
75661
|
-
const invertedPoint = this.wafermap.transform.invert([
|
|
75662
|
-
mousePosition.x,
|
|
75663
|
-
mousePosition.y
|
|
75664
|
-
]);
|
|
75665
|
-
const dieCoordinates = this.calculateDieCoordinates(this.wafermap, {
|
|
75666
|
-
x: invertedPoint[0],
|
|
75667
|
-
y: invertedPoint[1]
|
|
75668
|
-
});
|
|
75669
|
-
this.wafermap.hoverDie = this.wafermap.dataManager.getWaferMapDie(dieCoordinates);
|
|
75670
|
-
}
|
|
75671
|
-
mouseout() {
|
|
75672
|
-
this.wafermap.hoverDie = undefined;
|
|
75673
|
-
}
|
|
75674
|
-
calculateDieCoordinates(wafermap, mousePosition) {
|
|
75675
|
-
const originLocation = wafermap.originLocation;
|
|
75676
|
-
const xRoundFunction = originLocation === WaferMapOriginLocation.bottomLeft
|
|
75677
|
-
|| originLocation === WaferMapOriginLocation.topLeft
|
|
75678
|
-
? Math.floor
|
|
75679
|
-
: Math.ceil;
|
|
75680
|
-
const yRoundFunction = originLocation === WaferMapOriginLocation.bottomLeft
|
|
75681
|
-
|| originLocation === WaferMapOriginLocation.bottomRight
|
|
75682
|
-
? Math.floor
|
|
75683
|
-
: Math.ceil;
|
|
75684
|
-
// go to x and y scale to get the x,y values of the die.
|
|
75685
|
-
const x = xRoundFunction(wafermap.dataManager.invertedHorizontalScale(mousePosition.x - wafermap.dataManager.margin.left));
|
|
75686
|
-
const y = yRoundFunction(wafermap.dataManager.invertedVerticalScale(mousePosition.y - wafermap.dataManager.margin.top));
|
|
75687
|
-
return { x, y };
|
|
75688
|
-
}
|
|
75689
|
-
hoversOverDie(wafermap, mousePosition) {
|
|
75690
|
-
const rgba = wafermap.canvasContext.getImageData(mousePosition.x, mousePosition.y, 1, 1).data;
|
|
75691
|
-
let rgbaSum = 0;
|
|
75692
|
-
for (const color of rgba) {
|
|
75693
|
-
rgbaSum += color;
|
|
75694
|
-
}
|
|
75695
|
-
return rgbaSum > 0;
|
|
75696
|
-
}
|
|
75697
|
-
}
|
|
75698
|
-
|
|
75699
|
-
/**
|
|
75700
|
-
* EventCoordinator deals with user interactions and events
|
|
75701
|
-
*/
|
|
75702
|
-
class EventCoordinator {
|
|
75703
|
-
constructor(wafermap) {
|
|
75704
|
-
this.wafermap = wafermap;
|
|
75705
|
-
this.onWheelMove = (event) => {
|
|
75706
|
-
event.preventDefault();
|
|
75707
|
-
};
|
|
75708
|
-
this.onMouseMove = (event) => {
|
|
75709
|
-
this.hoverHandler.mousemove(event);
|
|
75710
|
-
};
|
|
75711
|
-
this.onMouseOut = () => {
|
|
75712
|
-
this.hoverHandler.mouseout();
|
|
75713
|
-
};
|
|
75714
|
-
this.zoomHandler = new ZoomHandler(wafermap);
|
|
75715
|
-
this.hoverHandler = new HoverHandler(wafermap);
|
|
75716
|
-
}
|
|
75717
|
-
attachEvents() {
|
|
75718
|
-
this.zoomHandler.createZoomBehavior();
|
|
75719
|
-
this.wafermap.addEventListener('mousemove', this.onMouseMove);
|
|
75720
|
-
this.wafermap.addEventListener('mouseout', this.onMouseOut);
|
|
75721
|
-
this.wafermap.canvas.addEventListener('wheel', this.onWheelMove, {
|
|
75722
|
-
passive: false
|
|
75723
|
-
});
|
|
75724
|
-
}
|
|
75725
|
-
detachEvents() {
|
|
75726
|
-
this.wafermap.removeEventListener('mousemove', this.onMouseMove);
|
|
75727
|
-
this.wafermap.removeEventListener('mouseout', this.onMouseOut);
|
|
75728
|
-
this.wafermap.canvas.removeEventListener('wheel', this.onWheelMove);
|
|
75729
|
-
}
|
|
75730
|
-
}
|
|
75731
|
-
|
|
75732
75599
|
const trackedItems = [
|
|
75733
75600
|
'highlightedTags',
|
|
75734
75601
|
'canvasWidth',
|
|
@@ -76434,10 +76301,10 @@ img.ProseMirror-separator {
|
|
|
76434
76301
|
}
|
|
76435
76302
|
validateGridDimensions() {
|
|
76436
76303
|
this.invalidGridDimensions = false;
|
|
76437
|
-
if (
|
|
76438
|
-
&&
|
|
76439
|
-
&&
|
|
76440
|
-
&&
|
|
76304
|
+
if (this.wafermap.gridMinX === undefined
|
|
76305
|
+
&& this.wafermap.gridMaxX === undefined
|
|
76306
|
+
&& this.wafermap.gridMinY === undefined
|
|
76307
|
+
&& this.wafermap.gridMaxY === undefined) {
|
|
76441
76308
|
this.invalidGridDimensions = false;
|
|
76442
76309
|
}
|
|
76443
76310
|
else if (typeof this.wafermap.gridMinX !== 'number'
|
|
@@ -76456,25 +76323,19 @@ img.ProseMirror-separator {
|
|
|
76456
76323
|
this.invalidDiesTableSchema = false;
|
|
76457
76324
|
}
|
|
76458
76325
|
else {
|
|
76459
|
-
const
|
|
76460
|
-
const
|
|
76461
|
-
const
|
|
76462
|
-
|
|
76463
|
-
|
|
76464
|
-
||
|
|
76465
|
-
|| valueField
|
|
76466
|
-
|| !DataType.isInt(
|
|
76467
|
-
|
|
76468
|
-
||
|
|
76469
|
-
|
|
76470
|
-
|| !DataType.
|
|
76471
|
-
|
|
76472
|
-
|| this.wafermap.diesTable.schema.fields[rowIndexField].type
|
|
76473
|
-
.bitWidth !== 32
|
|
76474
|
-
|| !DataType.isFloat(this.wafermap.diesTable.schema.fields[valueField].type)
|
|
76475
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
76476
|
-
|| this.wafermap.diesTable.schema.fields[valueField].type
|
|
76477
|
-
.precision !== Precision.DOUBLE) {
|
|
76326
|
+
const fields = this.wafermap.diesTable.schema.fields;
|
|
76327
|
+
const colField = fields.find(field => field.name === 'colIndex');
|
|
76328
|
+
const rowField = fields.find(field => field.name === 'rowIndex');
|
|
76329
|
+
const valueField = fields.find(field => field.name === 'value');
|
|
76330
|
+
if (!colField
|
|
76331
|
+
|| !rowField
|
|
76332
|
+
|| !valueField
|
|
76333
|
+
|| !DataType.isInt(colField.type)
|
|
76334
|
+
|| colField.type.bitWidth !== 32
|
|
76335
|
+
|| !DataType.isInt(rowField.type)
|
|
76336
|
+
|| rowField.type.bitWidth !== 32
|
|
76337
|
+
|| !DataType.isFloat(valueField.type)
|
|
76338
|
+
|| valueField.type.precision !== Precision.DOUBLE) {
|
|
76478
76339
|
this.invalidDiesTableSchema = true;
|
|
76479
76340
|
}
|
|
76480
76341
|
}
|
|
@@ -76527,6 +76388,200 @@ img.ProseMirror-separator {
|
|
|
76527
76388
|
}
|
|
76528
76389
|
}
|
|
76529
76390
|
|
|
76391
|
+
/**
|
|
76392
|
+
* HoverHandler deals with user interactions and events like hovering
|
|
76393
|
+
*/
|
|
76394
|
+
let HoverHandler$1 = class HoverHandler {
|
|
76395
|
+
constructor(wafermap) {
|
|
76396
|
+
this.wafermap = wafermap;
|
|
76397
|
+
this.onMouseMove = (event) => {
|
|
76398
|
+
if (this.wafermap.isExperimentalRenderer()) {
|
|
76399
|
+
return;
|
|
76400
|
+
}
|
|
76401
|
+
const mousePosition = {
|
|
76402
|
+
x: event.offsetX,
|
|
76403
|
+
y: event.offsetY
|
|
76404
|
+
};
|
|
76405
|
+
if (!this.hoversOverDie(mousePosition)) {
|
|
76406
|
+
this.wafermap.hoverDie = undefined;
|
|
76407
|
+
return;
|
|
76408
|
+
}
|
|
76409
|
+
// get original mouse position in case we are in zoom.
|
|
76410
|
+
const invertedPoint = this.wafermap.transform.invert([
|
|
76411
|
+
mousePosition.x,
|
|
76412
|
+
mousePosition.y
|
|
76413
|
+
]);
|
|
76414
|
+
const dieCoordinates = this.calculateDieCoordinates({
|
|
76415
|
+
x: invertedPoint[0],
|
|
76416
|
+
y: invertedPoint[1]
|
|
76417
|
+
});
|
|
76418
|
+
this.wafermap.hoverDie = this.wafermap.dataManager.getWaferMapDie(dieCoordinates);
|
|
76419
|
+
};
|
|
76420
|
+
this.onMouseOut = (_event) => {
|
|
76421
|
+
this.wafermap.hoverDie = undefined;
|
|
76422
|
+
};
|
|
76423
|
+
}
|
|
76424
|
+
/**
|
|
76425
|
+
* @internal
|
|
76426
|
+
*/
|
|
76427
|
+
connect() {
|
|
76428
|
+
this.wafermap.addEventListener('mousemove', this.onMouseMove);
|
|
76429
|
+
this.wafermap.addEventListener('mouseout', this.onMouseOut);
|
|
76430
|
+
}
|
|
76431
|
+
/**
|
|
76432
|
+
* @internal
|
|
76433
|
+
*/
|
|
76434
|
+
disconnect() {
|
|
76435
|
+
this.wafermap.removeEventListener('mousemove', this.onMouseMove);
|
|
76436
|
+
this.wafermap.removeEventListener('mouseout', this.onMouseOut);
|
|
76437
|
+
}
|
|
76438
|
+
calculateDieCoordinates(mousePosition) {
|
|
76439
|
+
const originLocation = this.wafermap.originLocation;
|
|
76440
|
+
const xRoundFunction = originLocation === WaferMapOriginLocation.bottomLeft
|
|
76441
|
+
|| originLocation === WaferMapOriginLocation.topLeft
|
|
76442
|
+
? Math.floor
|
|
76443
|
+
: Math.ceil;
|
|
76444
|
+
const yRoundFunction = originLocation === WaferMapOriginLocation.bottomLeft
|
|
76445
|
+
|| originLocation === WaferMapOriginLocation.bottomRight
|
|
76446
|
+
? Math.floor
|
|
76447
|
+
: Math.ceil;
|
|
76448
|
+
// go to x and y scale to get the x,y values of the die.
|
|
76449
|
+
const x = xRoundFunction(this.wafermap.dataManager.invertedHorizontalScale(mousePosition.x - this.wafermap.dataManager.margin.left));
|
|
76450
|
+
const y = yRoundFunction(this.wafermap.dataManager.invertedVerticalScale(mousePosition.y - this.wafermap.dataManager.margin.top));
|
|
76451
|
+
return { x, y };
|
|
76452
|
+
}
|
|
76453
|
+
hoversOverDie(mousePosition) {
|
|
76454
|
+
const rgba = this.wafermap.canvasContext.getImageData(mousePosition.x, mousePosition.y, 1, 1).data;
|
|
76455
|
+
let rgbaSum = 0;
|
|
76456
|
+
for (const color of rgba) {
|
|
76457
|
+
rgbaSum += color;
|
|
76458
|
+
}
|
|
76459
|
+
return rgbaSum > 0;
|
|
76460
|
+
}
|
|
76461
|
+
};
|
|
76462
|
+
|
|
76463
|
+
/**
|
|
76464
|
+
* HoverHandler deals with user interactions and events like hovering
|
|
76465
|
+
*/
|
|
76466
|
+
class HoverHandler {
|
|
76467
|
+
constructor(wafermap) {
|
|
76468
|
+
this.wafermap = wafermap;
|
|
76469
|
+
/**
|
|
76470
|
+
* @internal
|
|
76471
|
+
* keep public for testing until data manager refactor
|
|
76472
|
+
*/
|
|
76473
|
+
this.onMouseMove = (event) => {
|
|
76474
|
+
if (!this.wafermap.isExperimentalRenderer()) {
|
|
76475
|
+
return;
|
|
76476
|
+
}
|
|
76477
|
+
// get original mouse position in case we are in zoom.
|
|
76478
|
+
const invertedPoint = this.wafermap.transform.invert([
|
|
76479
|
+
event.offsetX,
|
|
76480
|
+
event.offsetY
|
|
76481
|
+
]);
|
|
76482
|
+
// does not work yet until data manager will parse diesTable
|
|
76483
|
+
const dieCoordinates = this.calculateDieCoordinates({
|
|
76484
|
+
x: invertedPoint[0],
|
|
76485
|
+
y: invertedPoint[1]
|
|
76486
|
+
});
|
|
76487
|
+
const colIndex = this.wafermap
|
|
76488
|
+
.diesTable.getChild('colIndex')
|
|
76489
|
+
.toArray();
|
|
76490
|
+
const rowIndex = this.wafermap
|
|
76491
|
+
.diesTable.getChild('rowIndex')
|
|
76492
|
+
.toArray();
|
|
76493
|
+
// will replace iterating with arquero filtering after fixing errors
|
|
76494
|
+
for (let i = 0; i < colIndex.length; i++) {
|
|
76495
|
+
if (colIndex[i] === dieCoordinates.x
|
|
76496
|
+
&& rowIndex[i] === dieCoordinates.y) {
|
|
76497
|
+
this.wafermap.hoverDie = {
|
|
76498
|
+
index: i,
|
|
76499
|
+
x: dieCoordinates.x,
|
|
76500
|
+
y: dieCoordinates.y
|
|
76501
|
+
};
|
|
76502
|
+
return;
|
|
76503
|
+
}
|
|
76504
|
+
}
|
|
76505
|
+
this.wafermap.hoverDie = undefined;
|
|
76506
|
+
};
|
|
76507
|
+
this.onMouseOut = (_event) => {
|
|
76508
|
+
this.wafermap.hoverDie = undefined;
|
|
76509
|
+
};
|
|
76510
|
+
}
|
|
76511
|
+
/**
|
|
76512
|
+
* @internal
|
|
76513
|
+
*/
|
|
76514
|
+
connect() {
|
|
76515
|
+
this.wafermap.addEventListener('mousemove', this.onMouseMove);
|
|
76516
|
+
this.wafermap.addEventListener('mouseout', this.onMouseOut);
|
|
76517
|
+
}
|
|
76518
|
+
/**
|
|
76519
|
+
* @internal
|
|
76520
|
+
*/
|
|
76521
|
+
disconnect() {
|
|
76522
|
+
this.wafermap.removeEventListener('mousemove', this.onMouseMove);
|
|
76523
|
+
this.wafermap.removeEventListener('mouseout', this.onMouseOut);
|
|
76524
|
+
}
|
|
76525
|
+
calculateDieCoordinates(mousePosition) {
|
|
76526
|
+
const originLocation = this.wafermap.originLocation;
|
|
76527
|
+
const xRoundFunction = originLocation === WaferMapOriginLocation.bottomLeft
|
|
76528
|
+
|| originLocation === WaferMapOriginLocation.topLeft
|
|
76529
|
+
? Math.floor
|
|
76530
|
+
: Math.ceil;
|
|
76531
|
+
const yRoundFunction = originLocation === WaferMapOriginLocation.bottomLeft
|
|
76532
|
+
|| originLocation === WaferMapOriginLocation.bottomRight
|
|
76533
|
+
? Math.floor
|
|
76534
|
+
: Math.ceil;
|
|
76535
|
+
// go to x and y scale to get the x,y values of the die.
|
|
76536
|
+
const x = xRoundFunction(this.wafermap.dataManager.invertedHorizontalScale(mousePosition.x - this.wafermap.dataManager.margin.left));
|
|
76537
|
+
const y = yRoundFunction(this.wafermap.dataManager.invertedVerticalScale(mousePosition.y - this.wafermap.dataManager.margin.top));
|
|
76538
|
+
return { x, y };
|
|
76539
|
+
}
|
|
76540
|
+
}
|
|
76541
|
+
|
|
76542
|
+
/**
|
|
76543
|
+
* ZoomHandler deals with user interactions and events like zooming
|
|
76544
|
+
*/
|
|
76545
|
+
class ZoomHandler {
|
|
76546
|
+
constructor(wafermap) {
|
|
76547
|
+
this.wafermap = wafermap;
|
|
76548
|
+
this.scaleExtent = [1, 100];
|
|
76549
|
+
this.minExtentPoint = [0, 0];
|
|
76550
|
+
this.onWheelMove = (event) => {
|
|
76551
|
+
event.preventDefault();
|
|
76552
|
+
};
|
|
76553
|
+
}
|
|
76554
|
+
/**
|
|
76555
|
+
* @internal
|
|
76556
|
+
*/
|
|
76557
|
+
connect() {
|
|
76558
|
+
this.createZoomBehavior();
|
|
76559
|
+
this.wafermap.addEventListener('wheel', this.onWheelMove, {
|
|
76560
|
+
passive: false
|
|
76561
|
+
});
|
|
76562
|
+
}
|
|
76563
|
+
/**
|
|
76564
|
+
* @internal
|
|
76565
|
+
*/
|
|
76566
|
+
disconnect() {
|
|
76567
|
+
zoom().on('zoom', null)(select(this.wafermap));
|
|
76568
|
+
this.wafermap.removeEventListener('wheel', this.onWheelMove);
|
|
76569
|
+
}
|
|
76570
|
+
createZoomBehavior() {
|
|
76571
|
+
zoom()
|
|
76572
|
+
.scaleExtent(this.scaleExtent)
|
|
76573
|
+
.translateExtent([
|
|
76574
|
+
this.minExtentPoint,
|
|
76575
|
+
[this.wafermap.canvasWidth, this.wafermap.canvasHeight]
|
|
76576
|
+
])
|
|
76577
|
+
.on('zoom', (event) => {
|
|
76578
|
+
// D3 will automatically remove existing handlers when adding new ones
|
|
76579
|
+
// See: https://github.com/d3/d3-zoom/blob/v3.0.0/README.md#zoom_on
|
|
76580
|
+
this.wafermap.transform = event.transform;
|
|
76581
|
+
})(select(this.wafermap));
|
|
76582
|
+
}
|
|
76583
|
+
}
|
|
76584
|
+
|
|
76530
76585
|
/**
|
|
76531
76586
|
* A nimble-styled WaferMap
|
|
76532
76587
|
*/
|
|
@@ -76537,7 +76592,7 @@ img.ProseMirror-separator {
|
|
|
76537
76592
|
* @internal
|
|
76538
76593
|
* needs to be initialized before the properties trigger changes
|
|
76539
76594
|
*/
|
|
76540
|
-
this.waferMapUpdateTracker = new WaferMapUpdateTracker(this);
|
|
76595
|
+
this.waferMapUpdateTracker = new WaferMapUpdateTracker(this.asRequiredFieldsWaferMap);
|
|
76541
76596
|
this.originLocation = WaferMapOriginLocation.bottomLeft;
|
|
76542
76597
|
this.gridMinX = undefined;
|
|
76543
76598
|
this.gridMaxX = undefined;
|
|
@@ -76551,15 +76606,15 @@ img.ProseMirror-separator {
|
|
|
76551
76606
|
/**
|
|
76552
76607
|
* @internal
|
|
76553
76608
|
*/
|
|
76554
|
-
this.dataManager = new DataManager(this);
|
|
76609
|
+
this.dataManager = new DataManager(this.asRequiredFieldsWaferMap);
|
|
76555
76610
|
/**
|
|
76556
76611
|
* @internal
|
|
76557
76612
|
*/
|
|
76558
|
-
this.mainRenderer = new RenderingModule(this);
|
|
76613
|
+
this.mainRenderer = new RenderingModule(this.asRequiredFieldsWaferMap);
|
|
76559
76614
|
/**
|
|
76560
76615
|
* @internal
|
|
76561
76616
|
*/
|
|
76562
|
-
this.workerRenderer = new WorkerRenderer(this);
|
|
76617
|
+
this.workerRenderer = new WorkerRenderer(this.asRequiredFieldsWaferMap);
|
|
76563
76618
|
this.renderer = this.mainRenderer;
|
|
76564
76619
|
/**
|
|
76565
76620
|
* @internal
|
|
@@ -76591,9 +76646,11 @@ img.ProseMirror-separator {
|
|
|
76591
76646
|
colors: [],
|
|
76592
76647
|
values: []
|
|
76593
76648
|
};
|
|
76594
|
-
this.
|
|
76649
|
+
this.hoverHandler = new HoverHandler$1(this.asRequiredFieldsWaferMap);
|
|
76650
|
+
this.experimentalHoverHandler = new HoverHandler(this.asRequiredFieldsWaferMap);
|
|
76651
|
+
this.zoomHandler = new ZoomHandler(this.asRequiredFieldsWaferMap);
|
|
76595
76652
|
this.resizeObserver = this.createResizeObserver();
|
|
76596
|
-
this.waferMapValidator = new WaferMapValidator(this);
|
|
76653
|
+
this.waferMapValidator = new WaferMapValidator(this.asRequiredFieldsWaferMap);
|
|
76597
76654
|
}
|
|
76598
76655
|
get validity() {
|
|
76599
76656
|
return this.waferMapValidator.getValidity();
|
|
@@ -76603,11 +76660,17 @@ img.ProseMirror-separator {
|
|
|
76603
76660
|
this.canvasContext = this.canvas.getContext('2d', {
|
|
76604
76661
|
willReadFrequently: true
|
|
76605
76662
|
});
|
|
76663
|
+
this.hoverHandler.connect();
|
|
76664
|
+
this.experimentalHoverHandler.connect();
|
|
76665
|
+
this.zoomHandler.connect();
|
|
76606
76666
|
this.resizeObserver.observe(this);
|
|
76607
76667
|
this.waferMapUpdateTracker.trackAll();
|
|
76608
76668
|
}
|
|
76609
76669
|
disconnectedCallback() {
|
|
76610
76670
|
super.disconnectedCallback();
|
|
76671
|
+
this.hoverHandler.disconnect();
|
|
76672
|
+
this.experimentalHoverHandler.disconnect();
|
|
76673
|
+
this.zoomHandler.disconnect();
|
|
76611
76674
|
this.resizeObserver.unobserve(this);
|
|
76612
76675
|
}
|
|
76613
76676
|
/**
|
|
@@ -76623,8 +76686,12 @@ img.ProseMirror-separator {
|
|
|
76623
76686
|
if (this.validity.invalidDiesTableSchema) {
|
|
76624
76687
|
return;
|
|
76625
76688
|
}
|
|
76689
|
+
this.renderer = this.isExperimentalRenderer()
|
|
76690
|
+
? this.workerRenderer
|
|
76691
|
+
: this.mainRenderer;
|
|
76626
76692
|
if (this.waferMapUpdateTracker.requiresEventsUpdate) {
|
|
76627
|
-
|
|
76693
|
+
// zoom translateExtent needs to be recalculated when canvas size changes
|
|
76694
|
+
this.zoomHandler.disconnect();
|
|
76628
76695
|
if (this.waferMapUpdateTracker.requiresContainerDimensionsUpdate) {
|
|
76629
76696
|
this.dataManager.updateContainerDimensions();
|
|
76630
76697
|
this.renderer.updateSortedDiesAndDrawWafer();
|
|
@@ -76644,12 +76711,18 @@ img.ProseMirror-separator {
|
|
|
76644
76711
|
else if (this.waferMapUpdateTracker.requiresDrawnWaferUpdate) {
|
|
76645
76712
|
this.renderer.drawWafer();
|
|
76646
76713
|
}
|
|
76647
|
-
this.
|
|
76714
|
+
this.zoomHandler.connect();
|
|
76648
76715
|
}
|
|
76649
76716
|
else if (this.waferMapUpdateTracker.requiresRenderHoverUpdate) {
|
|
76650
76717
|
this.renderer.renderHover();
|
|
76651
76718
|
}
|
|
76652
76719
|
}
|
|
76720
|
+
/**
|
|
76721
|
+
* @internal
|
|
76722
|
+
*/
|
|
76723
|
+
isExperimentalRenderer() {
|
|
76724
|
+
return this.diesTable !== undefined;
|
|
76725
|
+
}
|
|
76653
76726
|
validate() {
|
|
76654
76727
|
this.waferMapValidator.validateGridDimensions();
|
|
76655
76728
|
this.waferMapValidator.validateDiesTableSchema();
|
|
@@ -76712,16 +76785,10 @@ img.ProseMirror-separator {
|
|
|
76712
76785
|
}
|
|
76713
76786
|
diesChanged() {
|
|
76714
76787
|
this.waferMapUpdateTracker.track('dies');
|
|
76715
|
-
this.renderer = this.diesTable === undefined
|
|
76716
|
-
? this.mainRenderer
|
|
76717
|
-
: this.workerRenderer;
|
|
76718
76788
|
this.waferMapUpdateTracker.queueUpdate();
|
|
76719
76789
|
}
|
|
76720
76790
|
diesTableChanged() {
|
|
76721
76791
|
this.waferMapUpdateTracker.track('dies');
|
|
76722
|
-
this.renderer = this.diesTable === undefined
|
|
76723
|
-
? this.mainRenderer
|
|
76724
|
-
: this.workerRenderer;
|
|
76725
76792
|
this.waferMapUpdateTracker.queueUpdate();
|
|
76726
76793
|
}
|
|
76727
76794
|
colorScaleChanged() {
|
|
@@ -76745,6 +76812,9 @@ img.ProseMirror-separator {
|
|
|
76745
76812
|
this.waferMapUpdateTracker.track('hoverDie');
|
|
76746
76813
|
this.waferMapUpdateTracker.queueUpdate();
|
|
76747
76814
|
}
|
|
76815
|
+
get asRequiredFieldsWaferMap() {
|
|
76816
|
+
return this;
|
|
76817
|
+
}
|
|
76748
76818
|
}
|
|
76749
76819
|
__decorate$1([
|
|
76750
76820
|
attr({ attribute: 'origin-location' })
|