1.0.3 • Published 4 years ago

svelte-inline-edit v1.0.3

Weekly downloads
15
License
MIT
Repository
github
Last release
4 years ago

Inline editing component for Svelte 3 demo

NPM version NPM downloads

Features

  • Simple
  • Cancelable
  • Different positioning of controls
  • edit, save, cancel events

Install

npm i svelte-inline-edit --save-dev
yarn add svelte-inline-edit

CDN: UNPKG | jsDelivr (available as window.InlineEdit)

Usage

<InlineEdit bind:value />

<script>
    import InlineEdit from './InlineEdit.svelte';

    let value;
</script>

Using events

<InlineEdit type="email" {value} on:save={save} on:cancel={cancel} on:edit={edit} />

<script>
    import InlineEdit from './InlineEdit.svelte';

    let value;

    function save({ detail: input }) {
        if (input.checkValidity()) {
            value = input.value;
        }
    }

    function edit() {
        console.log('Start editing');
    }

    function cancel() {
        console.log('Cancel editing');
    }
</script>

If you are not using using es6, instead of importing add

<script src="/path/to/svelte-inline-edit/index.js"></script>

just before closing body tag.

API

Props

NameTypeDescriptionRequiredDefault
valueString or NumberEditable valueNoempty string
optionsArrayA list of permissible or recommended options of valueNoempty array
rowsNumberDefine number of rows for editable.No1
positionStringPosition of controls: left, right, top-left, top-right, bottom-left, bottom-rightNoright

Slots

  • save - element to be placed as save control
  • cancel - element to be placed as cancel control

Events

  • edit - on start editing
  • save - on save
  • cancel - on cancel editing

You can use direct access to input element via event.detail.

License

MIT © PaulMaly

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago