first commit

This commit is contained in:
2024-07-15 11:28:08 +02:00
commit f52d538ea5
21891 changed files with 6161164 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
// eslint-disable-next-line no-unused-vars
export const discardChanges = ( action, fullParams ) => {
return {
success: true,
code: 200,
data: true,
};
};
export default discardChanges;

View File

@@ -0,0 +1,28 @@
import documentInitial from '../../documents/document-1.json';
import documentKit from '../../documents/document-5.json';
// eslint-disable-next-line no-unused-vars
export const getDocumentConfig = ( action, fullParams ) => {
if ( 1 === action.data.id ) {
return {
success: true,
code: 200,
data: documentInitial,
};
}
if ( 5 === action.data.id ) {
return {
success: true,
code: 200,
data: documentKit,
};
}
return {
success: false,
code: 500,
};
};
export default getDocumentConfig;

View File

@@ -0,0 +1,7 @@
export * from './save-builder';
export * from './discard-changes';
export * from './get-document-config';
export { mock } from './setup-ajax';
export { free } from './setup-ajax';
export { silence } from './setup-ajax';

View File

@@ -0,0 +1,31 @@
import * as mock from './mock';
export const saveBuilder = ( action, fullParams ) => {
switch ( action.data.status ) {
case 'draft':
return mock.draft;
case 'autosave':
return mock.autosave;
case 'publish':
return mock.publish;
case 'pending':
return mock.pending;
case 'private':
return mock.private;
default: return {
success: false,
code: 500,
data: {
statusText: 'AJAX Mock: action: "save_builder" invalid status:' + action.data.status,
},
dumpParams: fullParams,
};
}
};
export default saveBuilder;

View File

@@ -0,0 +1,18 @@
{
"success": true,
"code": 200,
"data": {
"status": "inherit",
"config": {
"document": {
"last_edited": "Draft saved on <time>Jan 19, 11:25<\/time> by test",
"urls": {
},
"revisions": {
}
}
},
"latest_revisions": [],
"revisions_ids": []
}
}

View File

@@ -0,0 +1,19 @@
{
"success": true,
"code": 200,
"data": {
"status": "draft",
"config": {
"document": {
"last_edited": "Last edited on <time>Jan 16, 11:53<\/time> by test",
"urls": {
},
"revisions": {
}
}
},
"latest_revisions": [],
"revisions_ids": []
}
}

View File

@@ -0,0 +1,5 @@
export { default as draft } from './draft.json';
export { default as autosave } from './autosave.json';
export { default as pending } from './pending.json';
export { default as private } from './private.json';
export { default as publish } from './publish.json';

View File

@@ -0,0 +1,18 @@
{
"success": true,
"code": 200,
"data": {
"status": "pending",
"config": {
"document": {
"last_edited": "Last edited on <time>Jan 19, 13:06<\/time> by test",
"urls": {
},
"revisions": {
}
}
},
"latest_revisions": [],
"revisions_ids": []
}
}

View File

@@ -0,0 +1,18 @@
{
"success": true,
"code": 200,
"data": {
"status": "private",
"config": {
"document": {
"last_edited": "Last edited on <time>Jan 19, 13:54<\/time> by test",
"urls": {
},
"revisions": {
}
}
},
"latest_revisions": [],
"revisions_ids": []
}
}

View File

@@ -0,0 +1,18 @@
{
"success": true,
"code": 200,
"data": {
"status": "publish",
"config": {
"document": {
"last_edited": "Last edited on <time>Jan 19, 12:34<\/time> by test",
"urls": {
},
"revisions": {
}
}
},
"latest_revisions": [],
"revisions_ids": []
}
}

View File

@@ -0,0 +1,70 @@
import * as Ajax from './index';
// eslint-disable-next-line no-unused-vars
const fakeActionFailed = ( action, fullParams ) => {
return {
success: false,
};
};
const mockActions = {
save_builder: Ajax.saveBuilder,
discard_changes: Ajax.discardChanges,
get_widgets_config: fakeActionFailed,
get_revisions: fakeActionFailed,
get_document_config: Ajax.getDocumentConfig,
};
export const sendOriginal = elementorCommon.ajax.send;
export const handleSend = ( params ) => {
if ( params.data && 'elementor_ajax' === params.data.action ) {
const { actions = {} } = params.data,
responses = {};
Object.keys( mockActions ).forEach( ( mockAction ) => {
Object.entries( actions ).forEach( ( [ actionKey, action ] ) => {
if ( mockAction === action.action ) {
responses[ actionKey ] = mockActions[ mockAction ]( action, params );
}
} );
} );
if ( Object.entries( responses ).length === Object.entries( params.data.actions ).length ) {
params.success( {
success: true,
data: {
responses,
},
} );
} else {
params.error( `One of the mock actions is missing, please check 'setup-ajax.js'` );
}
} else {
params.error( `Unknown action: '${ params.data.action }'` );
}
};
export const mock = () => {
elementorCommon.ajax.send = ( action, options ) => {
const params = elementorCommon.ajax.prepareSend( action, options );
if ( params.data && params.data.actions ) {
params.data.actions = JSON.parse( params.data.actions );
}
setTimeout( handleSend.bind( this, params ) );
return params;
};
};
export const silence = () => {
elementorCommon.ajax.send = () => {};
};
export const free = () => {
elementorCommon.ajax.send = sendOriginal;
};