Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ember-simple-track-helper

Package Overview
Dependencies
Maintainers
0
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ember-simple-track-helper

A tiny helper to make small pieces of tracked state in Ember templates.

  • 2.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
19
decreased by-88.48%
Maintainers
0
Weekly downloads
 
Created
Source

ember-simple-track-helper

A tiny helper to make small pieces of tracked state in templates.

Useful for scenarios where the only reason to have a backing class is to host some single piece of tracked state—for example, whether to show or hide a modal, with a default state of false:

{{#let (track false) as |toggle|}}
  {{#unless toggle.value}}
    <button {{on "click" (fn toggle.update true)}}>Show it!</button>
  {{/unless}}
  <MyModal
    @isShowing={{toggle.value}}
    @onClose={{fn toggle.update false}}
  />
{{/let}}

(For folks from outside Ember: it's just like useState, but via autotracking.)

For usage in Template Tag Format, this addon provides track named export:

import { fn } from '@ember/helper';
import { on } from '@ember/modifier';
import { track } from 'ember-simple-track-helper';

export default <template>
  {{#let (track false) as |toggle|}}
    {{#unless toggle.value}}
      <button {{on "click" (fn toggle.update true)}}>Show it!</button>
    {{/unless}}
    <MyModal
      @isShowing={{toggle.value}}
      @onClose={{fn toggle.update false}}
    />
  {{/let}}
</template>

Compatibility

  • Ember.js v3.28 or above
  • Embroider or ember-auto-import v2.0.0 or above (this is v2 addon)

TypeScript

This project follows the current draft of the Semantic Versioning for TypeScript Types proposal.

  • Currently supported TypeScript versions: v5.0 - v5.5
  • Compiler support policy: simple majors
  • Public API: all published types not in a -private module are public

This project ships Glint types, which allow you when using TypeScript to get strict type checking in your templates.

Unless you are using strict mode templates (via first class component templates), Glint needs a Template Registry that contains entries for the template helper provided by this addon. To add these registry entries automatically to your app, you just need to import ember-simple-track-helper/template-registry from somewhere in your app. When using Glint already, you will likely have a file like types/glint.d.ts where you already import glint types, so just add the import there:

import '@glint/environment-ember-loose';
import type SimpleTrackHelperRegistry from 'ember-simple-track-helper/template-registry';
declare module '@glint/environment-ember-loose/registry' {
  export default interface Registry extends SimpleTrackHelperRegistry, /* other addon registries */ {
    // local entries
  }
}

Note Glint itself is still under active development, and as such breaking changes might occur. Therefore, Glint support by this addon is also considered experimental, and not covered by our SemVer contract!

Installation

ember install ember-simple-track-helper

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.

Keywords

FAQs

Package last updated on 21 Aug 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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc