JavaScript/jQuery Funnel - PHP Service

DevExtreme provides the DevExtreme-PHP-Data extension that implements data processing on a PHP server according to the protocol the Funnel uses. To access the server from the client, configure the CustomStore as described in the Custom Sources article or use the createStore method. This method is a part of the DevExtreme.AspNet.Data extension. The following code shows how to use this method.

jQuery
index.js
$(function() {
    const serviceUrl = "https://url/to/my/service.php";

    $("#funnelContainer").dxFunnel({
        dataSource: DevExpress.data.AspNet.createStore({
            key: 'ID',
            loadUrl: serviceUrl
        }),
        // ...
    });
});
Angular
app.component.html
app.component.ts
app.module.ts
<dx-funnel [dataSource]="store">
    <!-- ... -->
</dx-funnel>
import { Component } from '@angular/core';
import CustomStore from 'devextreme/data/odata/custom_store';
import { createStore } from "devextreme-aspnet-data-nojquery";

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
})
export class AppComponent {
    store: CustomStore;
    constructor() {
        const serviceUrl = "https://url/to/my/service.php";
        this.store = createStore({
            key: 'ID',
            loadUrl: serviceUrl
        });
    }
}
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';

import { DxFunnelModule } from 'devextreme-angular';

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        DxFunnelModule
    ],
    providers: [ ],
    bootstrap: [AppComponent]
})
export class AppModule { }
Vue
App.vue
<template>
    <DxFunnel :data-source="store">
        <!-- ... -->
    </DxFunnel>
</template>

<script>
import DxFunnel from 'devextreme-vue/funnel';
import { createStore } from "devextreme-aspnet-data-nojquery";

const serviceUrl = "https://url/to/my/service.php";

const store = createStore({
    key: 'ID',
    loadUrl: serviceUrl
});

export default {
    components: {
        DxFunnel
    },
    data() {
        return {
            store
        }
    }
}
</script>
React
App.js
import Funnel from 'devextreme-react/funnel';
import { createStore } from "devextreme-aspnet-data-nojquery";

const serviceUrl = "https://url/to/my/service.php";

const store = createStore({
    key: 'ID',
    loadUrl: serviceUrl
});

export default function App() {
    return (
        <Funnel dataSource={store}>
            {/* ... */}
        </Funnel>
    );
}