New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ti-ember-sortable

Package Overview
Dependencies
Maintainers
0
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ti-ember-sortable

Sortable lists for Ember.js.

3.1.0
latest
Source
npm
Version published
Weekly downloads
580
-29.78%
Maintainers
0
Weekly downloads
 
Created
Source

ti-ember-sortable

Sortable lists for Ember.js.

Sortable Example

JSBin Example -- JSBin example with binding

Usage

Simply include the ti-sortable-list.{amd,cjs,global}.js file your in favorite asset pipeline, or copy/paste, or whatever you like.

Then, just use the component:

{{#ti-ember-sortable items=links class="items__list" action="save"}}
  {{#each link in links}}
	<li>
      <i class="handle">Move</i>
      {{input value=link.label}}
    </li>
  {{/each}}
{{/ti-ember-sortable}}

If you are using ember-cli or ember-app-kit, you will need to use an initializer like so:

//In your Brocfile.js
app.import('node_modules/ti-ember-sortable/dist/ti-ember-sortable.amd.js', {
  exports: {
    'ti-ember-sortable': ['default']
  }
});
import EmberSortable from 'ti-ember-sortable';

export default {
  name: 'ti-ember-sortable',
  initialize: function(container, application) {
    container.register('component:ti-ember-sortable', EmberSortable);
  }
};

Options:

You can specify a handle selector via {{#ti-ember-sortable handle="selector.goes.here"}}. By default this is set to .handle.

You can also specify the draggable selector via {{#ti-ember-sortable draggableSelector="selector.goes.here"}}. By default this is set to li.

Finally, you can specify the class name of the 'ghost' that gets created while dragging via {{#ti-ember-sortable ghostClass="class-goes-here"}} By default this is sortable-ghost.

ps. as with all components, you can specify tagName and class.

Rationale

There are a lot of list sorting libraries out there. Most of them blow up with Ember.js due to the metamorph script tags Ember adds to DOM for databinding:

Lots of script tags

When you use most of the list sorting libraries out there, the list ends up looking like so:

Mangled script tags

We do some fancy legwork to remove and reattach correctly, ensuring databinding works great post-sort, but really all the heavy lifting is done by Sortable.

TODO

Tests!

Now that metal-views is out, metamorphs are removed and a lot of this code could probably be cleaned up.

Keywords

sortable

FAQs

Package last updated on 09 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts