
Refer to the CHANGELOG for all info. --------- Co-authored-by: Wouter van Wageningen <wouter.vdub@yahoo.com> Co-authored-by: Josh Munic <jpmunic@gmail.com> Co-authored-by: Jonathan Haas <haasjona@gmail.com>
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
// Dependencies
|
|
import { defaultConfig } from '../config/index.mjs'
|
|
|
|
/*
|
|
* Returns a list of measurements for a design
|
|
*
|
|
* @param {object} Design - The Design object
|
|
* @param {object} measies - The current set of measurements
|
|
* @return {object} measurements - Object holding measurements that are relevant for this design
|
|
*/
|
|
export function designMeasurements(Design, measies = {}) {
|
|
const measurements = {}
|
|
for (const m of Design.patternConfig?.measurements || []) measurements[m] = measies[m]
|
|
for (const m of Design.patternConfig?.optionalMeasurements || []) measurements[m] = measies[m]
|
|
|
|
return measurements
|
|
}
|
|
|
|
/*
|
|
* Helper method to check whether measurements are missing
|
|
*
|
|
* Note that this does not actually check the settings against
|
|
* the chosen design, but rather relies on the missing measurements
|
|
* being set in state. That's because checking is more expensive,
|
|
* so we do it only once.
|
|
*
|
|
* @param {object} state - The Editor state
|
|
* @return {bool} missing - True if there are missing measurments, false if not
|
|
*/
|
|
export function missingMeasurements(state) {
|
|
return (
|
|
!defaultConfig.measurementsFreeViews.includes(state.view) &&
|
|
state._.missingMeasurements &&
|
|
state._.missingMeasurements.length > 0
|
|
)
|
|
}
|