1.1.6 • Published 2 years ago

xaf-virtual-routes v1.1.6

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Xaf Virtual Pages (Routes)

Работают с использованием:

  • Provide & Inject
  • WAAPI

Installation / Установка

  • yarn add xaf-virtual-routes
import { createApp } from 'vue'
import App from './App.vue'
import 'xaf-virtual-routes/css'

const app = createApp(App)
app.mount('#app')

How to use? / Как использовать?

import { useController, useEmitter } from 'xaf-virtual-routes'
// Использование controller'а внутри виртуальной страницы
/*
 * inject доступен только в scope'е <virtual-controller>
 * controller имеет:
 * show(name) - показать virtual-page по её имени
 * hide(name) - скрыть virtual-page по её имени
 * back() - вернуться к предыдущей виртуальной странице
 */
const controller = useController()
/*
 * Нужен чтобы слушать ивенты виртуальной страницы в виде:
 * - didShow
 * - show
 * - hide
 * - didHide
 */
const emitter = useEmitter()
const vControllerRef = ref(null)
const openChatRoom = () => {
  vControllerRef.value.show('chat-room')
  // vControllerRef.value.hide('chat-room')
  // vControllerRef.value.back()
}
return {
  vControllerRef,
  openChatRoom,
}
<template>
  <virtual-controller ref="vControllerRef">
    <virtual-page name="chat-room">
      <chat-room />
    </virtual-page>
    <!-- virtual-pages -->
  </virtual-controller>
</template>

TODO:

  • Защита от двойной инициализации virtual-controller'а: если кто-то будет пытаться использовать nested-routes неправильно ( пытаться создать экземпляр компонента virtual-controller заново внутри уже имеющегося virtual-controller ) - бить по рукам ошибкой
  • Events:
    • didHide ( закрытие virtual-page )
    • didShow ( открытие virtual-page )
    • didFreeze ( при заморозке странички - оптимизация )
  • (ВОЗМОЖНО): Сделать swappable target, если человек нажимает на него только тогда срабатывают trigger на onPointerMove
  • Refactor: Code split & fixing weak parts
  • Xaf-utils
1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.0.0

2 years ago