This commit is contained in:
2024-05-20 15:37:46 +03:00
commit 00b7dbd0b7
10404 changed files with 3285853 additions and 0 deletions

View File

@ -0,0 +1,13 @@
export function apiFetch(request) {
return {
type: 'API_FETCH',
request,
};
}
export function setPortfolioLayouts(layouts) {
return {
type: 'SET_PORTFOLIO_LAYOUTS',
layouts,
};
}

View File

@ -0,0 +1,26 @@
import apiFetch from '@wordpress/api-fetch';
export function API_FETCH({ request }) {
return apiFetch(request)
.catch((fetchedData) => {
if (
fetchedData &&
fetchedData.error &&
fetchedData.error_code === 'no_layouts_found'
) {
return {
response: [],
error: false,
success: true,
};
}
return false;
})
.then((fetchedData) => {
if (fetchedData && fetchedData.success && fetchedData.response) {
return fetchedData.response;
}
return false;
});
}

View File

@ -0,0 +1,17 @@
import { createReduxStore, register } from '@wordpress/data';
import * as actions from './actions';
import * as controls from './controls';
import reducer from './reducer';
import * as resolvers from './resolvers';
import * as selectors from './selectors';
const store = createReduxStore('visual-portfolio', {
selectors,
actions,
controls,
resolvers,
reducer,
});
register(store);

View File

@ -0,0 +1,18 @@
function reducer(state = { layouts: [] }, action = {}) {
switch (action.type) {
case 'SET_PORTFOLIO_LAYOUTS':
if (
!state.layouts.length &&
action.layouts &&
action.layouts.length
) {
state.layouts = action.layouts;
}
return state;
// no default
}
return state;
}
export default reducer;

View File

@ -0,0 +1,7 @@
import * as actions from './actions';
export function* getPortfolioLayouts() {
const query = '/visual-portfolio/v1/get_layouts/';
const layouts = yield actions.apiFetch({ path: query });
return actions.setPortfolioLayouts(layouts);
}

View File

@ -0,0 +1,3 @@
export function getPortfolioLayouts(state) {
return state.layouts;
}

View File

@ -0,0 +1,12 @@
import { createReduxStore, register } from '@wordpress/data';
import * as selectors from './selectors';
const store = createReduxStore('visual-portfolio/components', {
selectors,
reducer(state) {
return state;
},
});
register(store);

View File

@ -0,0 +1,23 @@
import ClassesTree from '../../components/classes-tree';
import ColorPicker from '../../components/color-picker';
import ControlsRender from '../../components/controls-render';
import VPDatePicker from '../../components/date-picker';
import ElementsSelector from '../../components/elements-selector';
import IconsSelector from '../../components/icons-selector';
import VpfSelectControl from '../../components/select-control';
import SpinnerComponent from '../../components/spinner';
import ToggleModal from '../../components/toggle-modal';
export function get() {
return {
ClassesTree,
ColorPicker,
ControlsRender,
VPDatePicker,
ElementsSelector,
IconsSelector,
VpfSelectControl,
SpinnerComponent,
ToggleModal,
};
}

View File

@ -0,0 +1,3 @@
import './base';
import './components';
import './utils';

View File

@ -0,0 +1,12 @@
import { createReduxStore, register } from '@wordpress/data';
import * as selectors from './selectors';
const store = createReduxStore('visual-portfolio/utils', {
selectors,
reducer(state) {
return state;
},
});
register(store);

View File

@ -0,0 +1,19 @@
import conditionCheck from '../../utils/control-condition-check';
import controlGetValue from '../../utils/control-get-value';
import getDynamicCSS, {
hasDynamicCSS,
prepareStylesFromParams,
} from '../../utils/controls-dynamic-css';
import { maybeDecode, maybeEncode } from '../../utils/encode-decode';
export function get() {
return {
conditionCheck,
controlGetValue,
prepareStylesFromParams,
hasDynamicCSS,
getDynamicCSS,
maybeEncode,
maybeDecode,
};
}