@ihma-io/composables
| Install | |
|---|---|
npm install @ihma-io/composables |
|
| Latest Version: | 0.5.0 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Aug 11, 2026 |
| Links: | npm |
@ihma-io/composables
IHMA ilovalari uchun umumiy Vue composable va browser yordamchilari.
import {
configureSharedWorker,
useConfirm,
usePermission,
useSharedWorker,
useTableExport,
useTableUrlSync,
} from '@ihma-io/composables'
Public API URL sync, virtual list, export, error toast, confirmation queue,
permission va tablararo koordinatsiya yordamchilarini o'z ichiga oladi.
vue va vue-router required peer; axios, vue-sonner, xlsx, jspdf
va jspdf-autotable tegishli optional imkoniyat chaqirilgandagina kerak.
Spreadsheet eksporti
useTableExport bilan XLSX eksport ishlatilsa, SheetJS CE 0.20.3 ni rasmiy
tarball orqali o'rnating. npm registry'dagi xlsx paketi eski 0.18.5 versiyada
qolgan:
npm install --save https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz
# yoki
pnpm install --save https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz
SheetJS Node.js o'rnatish yo'riqnomasi tarballni vendoring qilishni ham tavsiya qiladi.
Permission resolver
Permission nomi berilgan tekshiruv resolver yo'q yoki exception qaytarsa fail-closed
(false) ishlaydi. Resolverni app bootstrapida sozlang yoki Vue app orqali provide
qiling:
import {
configurePermissionResolver,
PERMISSION_RESOLVER_KEY,
usePermission,
} from '@ihma-io/composables'
configurePermissionResolver((permission) => session.permissions.includes(permission))
// SSR/app-local variant: app.provide(PERMISSION_RESOLVER_KEY, resolver)
const { can } = usePermission()
can('documents.read')
Permission argumenti berilmagan can() umumiy ko'rinish holati uchun true qaytaradi.
SharedWorker o'rnatish
Worker browserda same-origin statik URL orqali yuklanishi kerak. Publish qilingan
subpathdan faylni ilovaning public papkasiga build/deploy bosqichida nusxalang:
node_modules/@ihma-io/composables/worker/shared-worker.js
-> public/sharedWorker.js
Keyin birinchi ulanishdan oldin sozlang:
import { configureSharedWorker, useSharedWorker } from '@ihma-io/composables'
configureSharedWorker({
namespace: 'my-app',
workerUrl: '/sharedWorker.js',
})
const { connectSharedWorker, postSharedMessage } = useSharedWorker()
connectSharedWorker()
Transport SharedWorker'dan boshlanadi va qo'llab-quvvatlanmagan browserlarda BroadcastChannel yoki storage eventga tushadi. Atomic lock kerak bo'lsa unsafe storage fallback default holatda o'chirilganini hisobga oling.
Related Packages
Vue 3 composables and components to help integrate Alis Ideate into your product...
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.5.0 | ^3.4.0 | MIT | |
| 0.4.0 | ^3.4.0 | MIT | |
| 0.3.2 | ^3.4.0 | MIT |