import Settings from './settings';
/**
* Init global variables by merging various settings
*/
const init = () => {
// Init app config
var shopConfig = boostPFSConfig.shop;
var generalConfig = boostPFSConfig.general;
Globals.shopName = shopConfig.name;
Globals.shopDomain = shopConfig.domain;
Globals.defaultCurrency = shopConfig.currency;
Globals.moneyFormat = shopConfig.money_format; // ${{amount}} USD
Globals.fileUrl = generalConfig.file_url;
Globals.collectionId = generalConfig.collection_id;
Globals.collectionTags = generalConfig.collection_tags;
Globals.collectionCount = generalConfig.collection_count;
Globals.currentTags = generalConfig.current_tags;
Globals.defaultSorting = generalConfig.default_sort_by.trim();
Globals.swatchExtension = generalConfig.swatch_extension;
// Init global variable
Globals.productAvailable = Settings.getSettingValue('general.productAvailable');
Globals.variantAvailable = Settings.getSettingValue('general.variantAvailable');
if (Settings.getSettingValue('general.productAndVariantAvailable')) {
Globals.productAvailable = true;
Globals.variantAvailable = true;
}
Globals.loadProductFirst = Settings.getSettingValue('general.loadProductFirst');
Globals.searchTermKey = Settings.getSettingValue('search.termKey');
Globals.mobileStyle = Settings.getSettingValue('general.filterTreeMobileStyle');
Globals.suggestionTypes = Settings.getSettingValue('search.suggestionTypes');
}
/**
* The global variable object
*/
var Globals = {
prefix: 'pf',
queryParams: {}, // Query params for filter
instantSearchQueryParams: {}, // Query params for instant search
internalClick: false, // User click events distinguf with browser events
imutableFilterTree: ['page', 'sort', 'limit', 'display', '_', 'tab'],
otherParams: ['page', 'sort', 'limit', 'display', 'tab'],
hasFilterOptionParam: false,
scrollData: [],
// App Config
shopName: '',
shopDomain: '',
fileUrl: '',
defaultCurrency: '',
moneyFormat: '',
collectionId: '',
collectionTags: '',
currentTags: '',
defaultSorting: '',
swatchExtension: '',
// Global Variable
productAvailable: true,
variantAvailable: true,
loadProductFirst: false,
searchTermKey: 'q',
suggestionCache: {},
currentTerm: '',
// Init function
init: init,
}
export default Globals;