PluginProbe ʕ •ᴥ•ʔ
YITH WooCommerce Wishlist / 4.1.0
YITH WooCommerce Wishlist v4.1.0
4.16.0 trunk 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.17 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0.0 3.0.1 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.17 3.0.18 3.0.19 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.25 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.10.0 3.11.0 3.12.0 3.13.0 3.14.0 3.15.0 3.16.0 3.17.0 3.18.0 3.19.0 3.2.0 3.20.0 3.21.0 3.22.0 3.23.0 3.24.0 3.25.0 3.26.0 3.27.0 3.28.0 3.29.0 3.3.0 3.30.0 3.31.0 3.32.0 3.33.0 3.34.0 3.35.0 3.36.0 3.37.0 3.38.0 3.4.0 3.5.0 3.6.0 3.7.0 3.8.0 3.9.0 4.0.0 4.0.1 4.1.0 4.10.0 4.10.1 4.10.2 4.11.0 4.12.0 4.13.0 4.14.0 4.15.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.0 4.9.0
yith-woocommerce-wishlist / assets / js / src / features / buttons / buttons-reducer.js
yith-woocommerce-wishlist / assets / js / src / features / buttons Last commit date
buttons-actions.js 1 year ago buttons-reducer.js 1 year ago buttons-selectors.js 1 year ago
buttons-reducer.js
43 lines
1 import { createSlice } from '@reduxjs/toolkit';
2
3 const initialState = {
4 buttons: {},
5 };
6
7 const buttonsSlice = createSlice( {
8 name: 'buttons',
9 initialState,
10 reducers: {
11 closeDropdown: ( state, action ) => {
12 const { id } = action.payload;
13 state.buttons[ id ] = { ...state.buttons[ id ], isDropdownOpen: false };
14 },
15 openDropdown: ( state, action ) => {
16 const { id } = action.payload;
17 state.buttons[ id ] = { ...state.buttons[ id ], isDropdownOpen: true };
18 },
19 toggleDropdown: ( state, action ) => {
20 const { id } = action.payload;
21 state.buttons[ id ] = { ...state.buttons[ id ], isDropdownOpen: ! state.buttons[ id ]?.isDropdownOpen };
22 },
23 closeAllDropdowns: ( state, action ) => {
24 const idToExclude = action?.payload?.id;
25 Object.keys( state.buttons ).forEach( id => {
26 if ( idToExclude !== id ) {
27 state.buttons[ id ].isDropdownOpen = false
28 }
29 } );
30 },
31 },
32 } );
33
34 const { actions, reducer } = buttonsSlice;
35
36 export const {
37 openDropdown,
38 closeDropdown,
39 toggleDropdown,
40 closeAllDropdowns,
41 } = actions;
42
43 export default reducer;