imba-inertia-adapter

2.0.0-alpha.211 • Public • Published

Imba Inertia Adapter

Install

  • npm: npm install imba-inertia-adapter
  • pnpm: pnpm add imba-inertia-adapter
  • yarn : yarn add imba-inertia-adapter

Ping CRM implementation

https://github.com/haikyuu/perfect-stack

Full API docs

For more documentation, please refer to inertia.js website. As the frontend adapters are quite similar in usage.

Usage

This will be the entry point for your app

import { createInertiaApp } from 'imba-inertia-adapter'

createInertiaApp
	resolve: do(name) name
	setup: do({ el, App, props })
		imba.mount <{App} props=props>

inertia-link and inertia-button-link

Those two components are automatically registered when you import from the main entry point. They have the same attributes as their react/vue counterparts except as which is currently unsupported. Instead use the inertia-button-link.

<inertia-button-link href="/login" method="delete"> "Logout"
<inertia-link href="/users"> "users"

Form Helper

import { Form } from 'imba-inertia-adapter'

tag edit-contacts-page
	prop props
	def setup
		const {last_name = "", first_name = ""} = props.contact;
		self.form = new Form
			first_name: first_name
			last_name: last_name
	def render
		const {contact} = props
		<self>
			"Loading" if form.processing
			<form @submit.prevent=form.put("/contacts/{contact.id}")>
				<input bind=form.data.first_name error=form.errors.first_name>
				<button type="submit"> "Submit"

Access the page object from deep down the tree

#context.currentPage.page.props

Flash messages

If your backend adapter supports them, they can be accessed like regular props

#context.currentPage.page.props.flash

#or

props.flash

Notes

  • You can change forms by simple assignment: form.data.name = "Abdellah"

License

MIT License.

Readme

Keywords

none

Package Sidebar

Install

npm i imba-inertia-adapter

Weekly Downloads

5

Version

2.0.0-alpha.211

License

none

Unpacked Size

39.8 kB

Total Files

15

Last publish

Collaborators

  • haikyuu