/xmpp-client

Polymer component encapsulating a strophe-based client

Primary LanguageJavaScriptMIT LicenseMIT

<xmpp-client>

Custom element providing a XMPP client

Based on strophe.js

Demo

Check it live!

Install

Install the component using Bower:

$ bower install xmpp-client --save

Or download as ZIP.

Usage

  1. Import Web Components polyfill:

    <script src="bower_components/platform/platform.js"></script>
  2. Import Custom Element:

    <link rel="import" href="bower_components/xmpp-client/dist/xmpp-client.html">
  3. Start using it!

        <xmpp-client jid="test@jabber.org" password="xyz" />

Options

Attribute Options Default Description
jid string `` The jid to use
pass string `` The password (you probably want to set this imperatively)
endpoint string '/xmpp-httpbind' endpoint to connect
online boolean true start connected?

Methods

Method Parameters Returns Description
connect() None. Nothing. Open connection
disconnect() None. Nothing. Close connection
send(jid,msg) jid target, msg (string) Nothing. send text message
sendRaw(jid,xml) jid target, xml Raw stanza as XML string Nothing. send custom stanza
setPresence(msg) msg presence string Nothing. set presence

Events

Event Description
onStanza Triggers when incoming stanza
onConnect Triggers when connection status changes

Development

In order to run it locally you'll need to fetch some dependencies and a basic server setup.

  • Install Bower & Grunt:

    $ [sudo] npm install -g bower grunt-cli
  • Install local dependencies:

    $ bower install && npm install
  • To test your project, start the development server and open http://localhost:8000.

    $ grunt server
  • To build the distribution files before releasing a new version.

    $ grunt build
  • To provide a live demo, send everything to gh-pages branch.

    $ grunt deploy

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

History

For detailed changelog, check Releases.

License

MIT License