2017 © Pedro Peláez
 

library jaxon-symfony

Jaxon library integration for the Symfony Framework

image

jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  • Wednesday, December 13, 2017
  • by lagdo
  • Repository
  • 2 Watchers
  • 0 Stars
  • 65 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 22 Versions
  • 2 % Grown

The README.md

Jaxon integration for Symfony

This package is an extension to integrate the Jaxon library into the Symfony framework. It works with Symfony version 5 or newer., (*1)

Installation

Add the following lines in the composer.json file, and run the composer update jaxon-php/ command., (*2)

"require": {
    "jaxon-php/jaxon-symfony": "^5.0"
}

Add the Jaxon bundle in the config/bundle.php file., (*3)

return [
    ...

    Jaxon\Symfony\JaxonBundle::class => ['all' => true],
];

Configuration

The library configuration is located in the packages/config/jaxon.yaml file. It must contain both the app and lib sections defined in the documentation (https://www.jaxon-php.org/docs/v5x/about/configuration.html)., (*4)

An example is presented in the config/jaxon.yaml file of this repo., (*5)

Add the following settings in the config/services.yaml file, to configure the Jaxon library., (*6)

imports:
    ...
    - { resource: packages/jaxon.yaml }

Add the following settings in the config/routes.yaml file, to configure the Jaxon route., (*7)

jaxon_ajax:
    resource: 'Jaxon\Symfony\App\Jaxon::route'
    type: service

Routing and listener

The extension provides a route and a controller to process Jaxon Ajax requests, as well as a listener on the kernel.controller event to bootstrap the Jaxon library., (*8)

Dependency injection

Services in Symfony can be declared as public or private, and injected in Jaxon classes., (*9)

Since Jaxon uses a container to fetch to the Symfony services that are injected in his classes, by default it will be able to get access only to services declared as public., (*10)

A service locator can be defined for Jaxon in the config/services.yaml file, in order to provide access to private services., (*11)

services:
  ...
    jaxon.service_locator:
        public: true
        class: Symfony\Component\DependencyInjection\ServiceLocator
        tags: ['container.service_locator']
        arguments:
            -
                Twig\Environment: '@twig'

The service locator must be declared as public, and take all the services that can be passed to Jaxon classes as arguments. See the Symfony service locators documentation., (*12)

Twig functions

This extension provides the following Twig functions to insert Jaxon js and css codes in the pages that need to show Jaxon related content., (*13)

// templates/demo/index.html.twig


{{ jxnCss() }}
</head>

<body>



</body>


{{ jxnJs() }}

{{ jxnScript() }}

Call factories

This extension registers the following Twig functions for Jaxon call factories functions., (*14)

[!NOTE] In the following examples, the rqAppTest template variable is set to the value rq(Demo\Ajax\App\AppTest::class)., (*15)

The jxnBind function attaches a UI component to a DOM element, while the jxnHtml function displays a component HTML code in a view., (*16)

    <div class="col-md-12" {{ jxnBind(rqAppTest) }}>
        {{ jxnHtml(rqAppTest) }}
    </div>

The jxnPagination function displays pagination links in a view., (*17)

    <div class="col-md-12" {{ jxnPagination(rqAppTest) }}>
    </div>

The jxnOn function binds an event on a DOM element to a Javascript call defined with a call factory., (*18)

    <select class="form-select"
        {{ jxnOn('change', rqAppTest.setColor(jq().val())) }}>
        <option value="black" selected="selected">Black</option>
        <option value="red">Red</option>
        <option value="green">Green</option>
        <option value="blue">Blue</option>
    </select>

The jxnClick function is a shortcut to define a handler for the click event., (*19)

    <button type="button" class="btn btn-primary"
        {{ jxnClick(rqAppTest.sayHello(true)) }}>Click me</button>

The jxnEvent function defines a set of events handlers on the children of a DOM element, using jQuery selectors., (*20)

    <div class="row" {{ jxnEvent([
        ['.app-color-choice', 'change', rqAppTest.setColor(jq().val())]
        ['.ext-color-choice', 'change', rqExtTest.setColor(jq().val())]
    ]) }}>
        <div class="col-md-12">
            <select class="form-control app-color-choice">
                <option value="black" selected="selected">Black</option>
                <option value="red">Red</option>
                <option value="green">Green</option>
                <option value="blue">Blue</option>
            </select>
        </div>
        <div class="col-md-12">
            <select class="form-control ext-color-choice">
                <option value="black" selected="selected">Black</option>
                <option value="red">Red</option>
                <option value="green">Green</option>
                <option value="blue">Blue</option>
            </select>
        </div>
    </div>

The jxnEvent function takes as parameter an array in which each entry is an array with a jQuery selector, an event and a call factory., (*21)

Contribute

  • Issue Tracker: github.com/jaxon-php/jaxon-symfony/issues
  • Source Code: github.com/jaxon-php/jaxon-symfony

License

The package is licensed under the BSD license., (*22)

The Versions

13/12 2017

dev-master

9999999-dev https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

13/12 2017

v2.1.0

2.1.0.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

13/12 2017

v2.0.x-dev

2.0.9999999.9999999-dev https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

13/12 2017

v2.0.4

2.0.4.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

13/12 2017

v2.0.3

2.0.3.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

09/12 2017

v2.0.2

2.0.2.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

22/09 2017

v2.0.1

2.0.1.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

27/06 2017

v2.0.0

2.0.0.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

27/06 2017

dev-analysis-8bR4x4

dev-analysis-8bR4x4 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

29/05 2017

v2.0-beta.6

2.0.0.0-beta6 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

06/05 2017

v2.0-beta.5

2.0.0.0-beta5 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-3-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

01/05 2017

v2.0-beta.4

2.0.0.0-beta4 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

24/04 2017

v2.0-beta.3

2.0.0.0-beta3 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

19/03 2017

v2.0-beta.2

2.0.0.0-beta2 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

31/12 2016

v2.0-beta.1

2.0.0.0-beta1 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

17/11 2016

v1.0.x-dev

1.0.9999999.9999999-dev https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

17/11 2016

v1.0.5

1.0.5.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

11/11 2016

v1.0.4

1.0.4.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

04/11 2016

v1.0.3

1.0.3.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

19/10 2016

v1.0.2

1.0.2.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

18/10 2016

v1.0.1

1.0.1.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon

16/10 2016

v1.0.0

1.0.0.0 https://github.com/jaxon-php/jaxon-symfony

Jaxon library integration for the Symfony Framework

  Sources   Download

BSD-2-Clause

The Requires

 

by Thierry Feuzeu

framework php ajax symfony xajax jaxon