Skip to content

Commit

Permalink
fix: make shopware 6.6 compatible
Browse files Browse the repository at this point in the history
  • Loading branch information
shyim committed Jan 22, 2024
1 parent 5a342cd commit 60d0f64
Show file tree
Hide file tree
Showing 10 changed files with 135 additions and 75 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,6 @@ Icon
Network Trash Folder
Temporary Items
.apdisk

/src/Resources/app/storefront/dist
node_modules
4 changes: 4 additions & 0 deletions .shopware-extension.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
build:
zip:
assets:
enable_es_build_for_storefront: true
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
}
],
"require": {
"shopware/core": "~6.5.0",
"shopware/storefront": "~6.5.0"
"shopware/core": "~6.5.0 || ~6.6.0",
"shopware/storefront": "~6.5.0 || ~6.6.0"
},
"license": "MIT",
"autoload": {
Expand Down
41 changes: 41 additions & 0 deletions src/Resources/app/storefront/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions src/Resources/app/storefront/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "frosh-share-basket",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "MIT",
"dependencies": {
"@friendsofshopware/storefront-types": "^0.1.1"
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
type HTMLElementEvent<T extends HTMLElement> = Event & {
target: T;
}

export default class FroshPlatformSearchFilterPlugin extends window.PluginBaseClass {
static options = {
dropdownSelector: '.filter-panel-items-container .dropdown',
};

init() {
this._registerEvents();
}

_registerEvents() {
this.el.addEventListener('input', this._onInput.bind(this));

const dropdowns = document.querySelectorAll(this.options.dropdownSelector);
if(dropdowns) {
dropdowns.forEach((dropdown) => {
dropdown.addEventListener('shown.bs.dropdown', this._onDropdownShown.bind(this));
});
}
}

_onInput(event: HTMLElementEvent<HTMLInputElement>) {
const value = event.target.value.trim().toLowerCase();
const dropdown = event.target.closest('.filter-multi-select-dropdown');

const list = dropdown.querySelector('.filter-multi-select-list');
const listItems = list.querySelectorAll('li');
const listItemsArray = Array.from(listItems);

for (const listItem of listItemsArray) {
listItem.style.display = 'none';
const labelElement = listItem.querySelector( '.filter-multi-select-item-label') as HTMLLabelElement;
const label = labelElement.innerText.trim().toLowerCase();

if (label.includes(value)) {
listItem.style.display = null;
}
}
}

_onDropdownShown(event) {
const dropdown = event.relatedTarget.closest('.dropdown');
const filterInput = dropdown.querySelector('[data-frosh-platform-filter-search=true]');

if (!filterInput) {
return;
}

const dropdownMenu = dropdown.querySelector('.dropdown-menu');
if (dropdownMenu) {
dropdownMenu.classList.add('fpfs-dropdown-is--expanded');
}

filterInput.focus({
preventScroll: true
});
}
}
8 changes: 0 additions & 8 deletions src/Resources/app/storefront/src/main.js

This file was deleted.

3 changes: 3 additions & 0 deletions src/Resources/app/storefront/src/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import FroshPlatformSearchFilterPlugin from './frosh-platform-filter-search/frosh-platform-filter-search.plugin';

window.PluginManager.register('FroshPlatformFilterSearch', FroshPlatformSearchFilterPlugin, '[data-frosh-platform-filter-search=true]');
7 changes: 7 additions & 0 deletions src/Resources/app/storefront/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"compilerOptions": {
"types": ["@friendsofshopware/storefront-types"],
"target": "ES2020",
"module": "CommonJS"
}
}

0 comments on commit 60d0f64

Please sign in to comment.