lokney

1.0.8 • Public • Published

lokney License: MIT

NPM

Vue utility components for Adobe CEP panels to greatly simplify the overhead of Adobe specific coding.

<div id="app">
  <Panel script-path="['./host/myScript.jsx', './host/anotherScript.jsx']">
    <div id="content"></div>
  </Panel>
  <Menus debug refresh
    :context="[
      {
        label: 'This is a disabled menu item',
        enabled: false
      },
      {
        label: 'This activates a method within this file on clicking this item',
        callback: this.localMethod
      }
    ]"
    :flyout="[
      {
        label: 'This flyout menu has a JSON structure!',
      },
      {
        label: 'Supporting infinite nesting!',
        menu: [
          {
            label: 'Hello world!'
          }
        ]
      }
    ]"
  />
</div>
<!-- Within a given App.vue, with no need for methods or data inside <script> -->
<div id="app">
  <!-- Path to script can be specified as attribute, supporting multiple files -->
  <Panel script-path="['./host/myScript.jsx', './host/anotherScript.jsx']">
    <!-- Place extension content or <router-view/> inside this <Panel> component -->
    <div id="content"></div>
  </Panel>
  <!-- 
    Menus can be anywhere in your code, even per router page. Add props like "debug" and "refresh" to easily 
    append launching debug port and refreshing your extension to context and flyout menus.
 
    Any change to a :context or :flyout Array will automatically rebuild the given menu and update instantly.
  -->
  <Menus debug refresh
      :context="[
          {
            label: 'This is a disabled menu item',
            enabled: false
          },
          {
            label: 'Nested menus',
            menu: [
              { label: 'Hello' },
              { label: 'World' }
              {
                label: 'Nested again',
                menu: [
                  { label: 'Hello' },
                  { label: 'World' }
                ]
              }
            ]
          }
          {
            label: 'This activates a method within this file on clicking this item',
            enabled: true,
            callback: this.localMethod
          }
      ]"
    />
</div>

All host app themes, scrollbars, UI change events, script loading, menus (context and flyout), debugger launching, easy refresh of panel via menu and more handed with the above.


Installation and use

npm install lokney

Within ./src/main.js (use anywhere in project with no need to import per component file):

import { Panel, Menus } from 'lokney'
 
Vue.use('Panel', Panel);
Vue.use('Menus', Menus);
 
// Include imports above Vue initialization
new Vue({
  router,
  render: h => h(App)
}).$mount("#app");

Within App.vue or a given .vue file:

<script>
// Import as many or few components as you need
import { Panel, Menus } from 'lokney';
 
export default {
  components: {
    Panel,
    Menus
  }
}
</script> 

Components

- Panel

- Menus

Readme

Keywords

none

Package Sidebar

Install

npm i lokney

Weekly Downloads

2

Version

1.0.8

License

ISC

Unpacked Size

33.1 kB

Total Files

9

Last publish

Collaborators

  • inventsable