golden hour
/var/www/html/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/js/utils
⬆️ Go Up
Upload
File/Folder
Size
Actions
attributes-query.js
2.11 KB
Del
OK
attributes.js
1.9 KB
Del
OK
get-query.js
2.17 KB
Del
OK
products.js
940 B
Del
OK
shared-attributes.js
1.17 KB
Del
OK
test
-
Del
OK
Edit: attributes.js
/** * External dependencies */ import { getSetting } from '@woocommerce/settings'; const ATTRIBUTES = getSetting( 'attributes', [] ); /** * Format an attribute from the settings into an object with standardized keys. * * @param {Object} attribute The attribute object. */ const attributeSettingToObject = ( attribute ) => { if ( ! attribute || ! attribute.attribute_name ) { return null; } return { id: parseInt( attribute.attribute_id, 10 ), name: attribute.attribute_name, taxonomy: 'pa_' + attribute.attribute_name, label: attribute.attribute_label, }; }; /** * Format all attribute settings into objects. */ const attributeObjects = ATTRIBUTES.reduce( ( acc, current ) => { const attributeObject = attributeSettingToObject( current ); if ( attributeObject.id ) { acc.push( attributeObject ); } return acc; }, [] ); /** * Get attribute data by taxonomy. * * @param {number} attributeId The attribute ID. * @return {Object|undefined} The attribute object if it exists. */ export const getAttributeFromID = ( attributeId ) => { if ( ! attributeId ) { return; } return attributeObjects.find( ( attribute ) => { return attribute.id === attributeId; } ); }; /** * Get attribute data by taxonomy. * * @param {string} taxonomy The attribute taxonomy name e.g. pa_color. * @return {Object|undefined} The attribute object if it exists. */ export const getAttributeFromTaxonomy = ( taxonomy ) => { if ( ! taxonomy ) { return; } return attributeObjects.find( ( attribute ) => { return attribute.taxonomy === taxonomy; } ); }; /** * Get the taxonomy of an attribute by Attribute ID. * * @param {number} attributeId The attribute ID. * @return {string} The taxonomy name. */ export const getTaxonomyFromAttributeId = ( attributeId ) => { if ( ! attributeId ) { return null; } const attribute = getAttributeFromID( attributeId ); return attribute ? attribute.taxonomy : null; };
Save