Files
drmaterac.pl/iadmin/themes/new-theme/js/pages/product/product-map.js
2025-03-21 20:24:43 +01:00

198 lines
8.5 KiB
JavaScript

/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
const combinationListId = '#combination_list';
export default {
productForm: 'form[name=product]',
productTypeSelector: '#product_header_type',
productType: {
STANDARD: 'standard',
PACK: 'pack',
VIRTUAL: 'virtual',
COMBINATIONS: 'combinations',
},
invalidField: '.is-invalid',
productFormSubmitButton: '.product-form-save-button',
navigationBar: '#form-nav',
dropzoneImagesContainer: '.product-image-dropzone',
featureValues: {
collectionContainer: '.feature-values-collection',
collectionRowsContainer: '.feature-values-collection > .col-sm',
collectionRow: 'div.row.product-feature',
featureSelect: 'select.feature-selector',
featureValueSelect: 'select.feature-value-selector',
customValueInput: '.custom-values input',
customFeatureIdInput: 'input.custom-value-id',
deleteFeatureValue: 'button.delete-feature-value',
addFeatureValue: '.feature-value-add-button',
},
customizations: {
customizationsContainer: '.product-customizations-collection',
customizationFieldsList: '.product-customizations-collection ul',
addCustomizationBtn: '.add-customization-btn',
removeCustomizationBtn: '.remove-customization-btn',
customizationFieldRow: '.customization-field-row',
},
combinations: {
navigationTab: '#combinations-tab-nav',
externalCombinationTab: '#external-combination-tab',
preloader: '#combinations-preloader',
emptyState: '#combinations-empty-state',
combinationsPaginatedList: '#combinations-paginated-list',
combinationsContainer: `${combinationListId}`,
combinationsFiltersContainer: '#combinations_filters',
combinationsGeneratorContainer: '#product_combinations_generator',
combinationsTable: `${combinationListId} table`,
combinationsTableBody: `${combinationListId} table tbody`,
combinationIdInputsSelector: '.combination-id-input',
isDefaultInputsSelector: '.combination-is-default-input',
removeCombinationSelector: '.remove-combination-item',
combinationName: 'form .card-header span',
paginationContainer: '#combinations-pagination',
loadingSpinner: '#productCombinationsLoading',
quantityInputWrapper: '.combination-quantity',
impactOnPriceInputWrapper: '.combination-impact-on-price',
referenceInputWrapper: '.combination-reference',
sortableColumns: '.ps-sortable-column',
combinationItemForm: {
quantityKey: 'combination_item[quantity][value]',
impactOnPriceKey: 'combination_item[impact_on_price][value]',
referenceKey: 'combination_item[reference][value]',
tokenKey: 'combination_item[_token]',
},
editionForm: 'form[name="combination_form"]',
editionFormInputs:
// eslint-disable-next-line
'form[name="combination_form"] input, form[name="combination_form"] textarea, form[name="combination_form"] select',
editCombinationButtons: '.edit-combination-item',
tableRow: {
combinationImg: '.combination-image',
combinationCheckbox: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_is_selected`,
combinationIdInput: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_combination_id`,
combinationNameInput: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_name`,
referenceInput: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_reference_value`,
impactOnPriceInput: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_impact_on_price_value`,
finalPriceTeInput: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_final_price_te`,
quantityInput: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_quantity_value`,
isDefaultInput: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_is_default`,
editButton: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_edit`,
deleteButton: (rowIndex) => `${combinationListId}_combinations_${rowIndex}_delete`,
},
editModal: '#combination-edit-modal',
images: {
selectorContainer: '.combination-images-selector',
imageChoice: '.combination-image-choice',
checkboxContainer: '.form-check',
checkbox: 'input[type=checkbox]',
},
scrollBar: '.attributes-list-overflow',
searchInput: '#product-combinations-generate .attributes-search',
generateCombinationsButton: '.generate-combinations-button',
},
virtualProduct: {
container: '.virtual-product-file-container',
fileContentContainer: '.virtual-product-file-content',
},
dropzone: {
configuration: {
fileManager: '.openfilemanager',
},
photoswipe: {
element: '.pswp',
},
dzTemplate: '.dz-template',
dzPreview: '.dz-preview',
sortableContainer: '#product-images-dropzone',
sortableItems: 'div.dz-preview:not(.disabled)',
dropzoneContainer: '.dropzone-container',
checkbox: '.md-checkbox input',
shownTooltips: '.tooltip.show',
savedImageContainer: (imageId) => `.dz-preview[data-id="${imageId}"]`,
savedImage: (imageId) => `.dz-preview[data-id="${imageId}"] img`,
coveredPreview: '.dz-preview.is-cover',
windowFileManager: '.dropzone-window-filemanager',
},
suppliers: {
productSuppliers: '#product_options_suppliers',
combinationSuppliers: '#combination_form_suppliers',
},
seo: {
container: '#product_seo_serp',
defaultTitle: '.serp-default-title:input',
watchedTitle: '.serp-watched-title:input',
defaultDescription: '.serp-default-description',
watchedDescription: '.serp-watched-description',
watchedMetaUrl: '.serp-watched-url:input',
redirectOption: {
typeInput: '#product_seo_redirect_option_type',
targetInput: '#product_seo_redirect_option_target',
},
},
jsTabs: '.js-tabs',
jsArrow: '.js-arrow',
jsNavTabs: '.js-nav-tabs',
toggleTab: '[data-toggle="tab"]',
formContentTab: '#form_content > .form-contenttab',
leftArrow: '.left-arrow',
rightArrow: '.right-arrow',
footer: {
previewUrlButton: '.preview-url-button',
deleteProductButton: '.delete-product-button',
},
categories: {
categoriesContainer: '.js-categories-container',
categoryTree: '.js-categories-tree',
treeElement: '.category-tree-element',
treeElementInputs: '.category-tree-inputs',
checkboxInput: '[type=checkbox]',
checkedCheckboxInputs: '[type=checkbox]:checked',
checkboxName: (categoryId) => `product[categories][product_categories][${categoryId}][is_associated]`,
materialCheckbox: '.md-checkbox',
radioInput: '[type=radio]',
defaultRadioInput: '[type=radio]:checked',
radioName: (categoryId) => `product[categories][product_categories][${categoryId}][is_default]`,
tagsContainer: '#categories-tags-container',
searchInput: '#ps-select-product-category',
fieldset: '.tree-fieldset',
loader: '.categories-tree-loader',
childrenList: '.children-list',
everyItems: '.less, .more',
expandAllButton: '#categories-tree-expand',
reduceAllButton: '#categories-tree-reduce',
},
modules: {
previewContainer: '.module-render-container.all-modules',
previewButton: '.modules-list-button',
selectorContainer: '.module-selection',
moduleSelector: '.modules-list-select',
selectorPreviews: '.module-selection .module-render-container',
selectorPreview: (moduleId) => `.module-selection .module-render-container.${moduleId}`,
contentContainer: '.module-contents',
moduleContents: '.module-contents .module-render-container',
moduleContent: (moduleId) => `.module-contents .module-render-container.${moduleId}`,
},
};