1.0.11 • Published 5 years ago

vue-medialibrary v1.0.11

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

Vue Media Library

A vue component for the mdixon18/media-library package.

Laravel package can be found here.

Screenshots

Manager

Manager

Field

Empty field Field with image selected

Installation

npm install --save vue-medialibrary

Usage

Vue

    import  MediaLibrary  from  'vue-medialibrary';
    
    Vue.use(MediaLibrary, {
	    API_URL: 'http://urltoapp.tld'
    });

The API_URL is helpful if the application you are using the component in isn't the same application that the Laravel package is installed on. E.g. an SPA.

HTML Template

Manager

    <vue-medialibrary-manager v-if="show" />

Field

    <vue-medialibrary-field v-model="file" />

Manager API

Events

  • @close - this is used when the user has selected the close button in the manager, this should toggle off your original v-if. Naturally without a v-if this component will display at all times.
  • @select - this is primarily used within the field component so shouldn't be required, but it is triggered when the insert button has been selected on a media item. Only works if the selectable prop is set to true.
  • @fail-to-find - again primarily used within the field component so shouldn't be required. This will when a value is already set on the field component go and find that file so when the manager is opened that file is shown in the window on the right. Only works if the selectable prop is set to true.

Props

PropTypeDefaultDescription
typesObject{ images: true, files: true }Property controls whether both images and files can be toggled. Useful if you want to only use images or files.
filetypesArray[]To limit the media to only certain file types. E.g. [ 'png', 'jpg' ].
selectableBooleanfalseUsed by the field component but allows the media to be selectable, which also allows you to use the @select event.
selectedStringnullUsed by the field component but allows you to pass in a filename which will then be automatically opened on the right window e.g. test.jpg. This will also cause the @fail-to-find event to be in operation.

Field API

Events

  • @close - this is used when the user has selected the close button in the manager, this should toggle off your original v-if. Naturally without a v-if this component will display at all times.
  • @select - this is primarily used within the field component so shouldn't be required, but it is triggered when the insert button has been selected on a media item. Only works if the selectable prop is set to true.
  • @fail-to-find - again primarily used within the field component so shouldn't be required. This will when a value is already set on the field component go and find that file so when the manager is opened that file is shown in the window on the right. Only works if the selectable prop is set to true.

Props

PropTypeDefaultDescription
typesObject{ images: true, files: true }Property controls whether both images and files can be toggled within the manager. Useful if you want to only use images or files.
filetypesArray[]To limit the media to only certain file types. E.g. [ 'png', 'jpg' ] in the manager.
helperStringnullThis allows you to put helpful message/text into the field. E.g. 'Maximum image width: 100px'.

Future features

Just some ideas in the making...

  • Drag & Drop, this currently doens't work - you have to use the button currently.
  • Support multiple image variations. e.g. Responsive images.
  • Ability to multi select, or create a repeatable field for multiple images.