# gameap-file-manager

> File manager for Laravel/GameAP

Latest version **4.0.0-dev3** (published 2024-04-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install gameap-file-manager
pnpm add gameap-file-manager
yarn add gameap-file-manager
bun add gameap-file-manager
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 4.0.0-dev3 |
| Published | 2024-04-20 |
| First published | 2018-10-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 12 |
| Unpacked size | 1.1 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Aleksandr Manekin |
| Maintainers | k_nik |
| Keywords | laravel, file, manager, gameap |

## Links

- npm: https://www.npmjs.com/package/gameap-file-manager
- npm.io page: https://npm.io/package/gameap-file-manager

## Dependencies (12)

- [vue](https://npm.io/package/vue.md) ^3.3.8
- [mitt](https://npm.io/package/mitt.md) ^3.0.1
- [plyr](https://npm.io/package/plyr.md) ^3.7.8
- [vuex](https://npm.io/package/vuex.md) ^4.1.0
- [axios](https://npm.io/package/axios.md) ^1.6.1
- [cropperjs](https://npm.io/package/cropperjs.md) ^1.6.1
- [codemirror](https://npm.io/package/codemirror.md) ^6.0.1
- [vue-codemirror](https://npm.io/package/vue-codemirror.md) ^6.1.1
- [@codemirror/lang-xml](https://npm.io/package/@codemirror/lang-xml.md) ^6.0.2
- [@codemirror/lang-json](https://npm.io/package/@codemirror/lang-json.md) ^6.0.1
- [@codemirror/theme-one-dark](https://npm.io/package/@codemirror/theme-one-dark.md) ^6.1.2
- [@codemirror/lang-javascript](https://npm.io/package/@codemirror/lang-javascript.md) ^6.2.1

## Alternatives

- [unionfs](https://npm.io/package/unionfs.md) — 2.2M weekly downloads
- [path-starts-with](https://npm.io/package/path-starts-with.md) — 35.9K weekly downloads
- [redzip](https://npm.io/package/redzip.md) — 1.2K weekly downloads
- [vscode-anymatch](https://npm.io/package/vscode-anymatch.md) — 848 weekly downloads
- [@ledgerhq/coin-filecoin](https://npm.io/package/@ledgerhq/coin-filecoin.md) — 793 weekly downloads

## Recent versions

- 4.0.0-dev3 (latest) — 2024-04-20
- 4.0.0-dev2 — 2024-04-20
- 4.0.0-dev1 — 2024-04-20
- 3.1.1 — 2023-11-13
- 3.1.0 — 2023-11-13
- 3.0.2 — 2023-05-03
- 3.0.1 — 2023-05-02
- 3.0.0 — 2023-04-24
- 2.0.14 — 2019-10-12
- 2.0.13 — 2019-07-11
- 2.0.11 — 2019-07-11
- 2.0.10 — 2019-07-11
- 2.0.9 — 2019-03-27
- 2.0.8 — 2019-03-08
- 2.0.7 — 2019-03-08
- … 8 more at https://npm.io/package/gameap-file-manager/versions

## README

# Laravel/GameAP file manager (Frontend)

> Backend - Laravel package - [gameap/gameap-file-manager](https://github.com/gameap/gameap-file-manager)

![GameAP File Manager](https://raw.github.com/gameap/vue-gameap-file-manager/master/src/assets/laravel-file-manager.gif?raw=true)

# New in version 3

- Vue.js 3
- Bootstrap 5
- Bootstrap icons

## Installation

### NPM
```
$ npm install gameap-file-manager --save
```

## Usage

**IF** your App using Vuex store

```
import { createApp } from 'vue';
import { createStore } from 'vuex';

// Source main component
import Main from './components/Main.vue';
import FileManager from 'gameap-file-manager'
// your Vuex store
import store from './path-to-your-store/store'  

createApp(Main).use(store).use(FileManager, {store}).mount('#id');
```

**ELSE** you need to create a new vuex instance

```
import { createApp } from 'vue';
import { createStore } from 'vuex';

// Source main component
import Main from './components/Main.vue';
import FileManager from 'gameap-file-manager'

// Create a new store instance.
const store = createStore();

createApp(Main).use(store).use(FileManager, {store}).mount('#id');
```

`The application store module will be registered under the name 'fm'`

Now vue component is registered and you can use it in your app
```
<file-manager></file-manager>
```

### You can overwrite some default settings

```
// In the new version 2.4.0 and higher
<file-manager v-bind:settings="settings"></file-manager>

...
// settings object structure
computed: {
        settings() {
            return {
                // axios headers
                headers: {
                  'X-Requested-With': 'XMLHttpRequest',
                  Authorization: `Bearer ${window.localStorage.getItem('user-token')}`,
                },
                baseUrl: 'http://test.loc/file-manager/',   // overwrite base url Axios
                windowsConfig: 2,                           // overwrite config
                lang: 'de',                                 // set language
                translation: {                              // add new translation
                    name: de,
                    content: {
                        about: 'Über',
                        back: 'Zurück',
                        ... see lang file structure
                    },
                },
            };
        },
    }
...


```

## Available Props

### settings - Object

|  Attribute  |  Type  |  Example  |  Required  |  Description  |
|  ---------  |  ----  |  -------  |  --------  |  -----------  |
|  headers    |     Object     |  {'X-Requested-With': 'XMLHttpRequest'}  |  No  | Axios Headers |
|  baseUrl    |     String     |  'http://my_url:80/file-manager/'  |  No  | Axios base URL |
|  windowsConfig    |     Int     |  2  |  No  | 1 - only one manager, 2 - manager with folder tree, 3 - two managers |
|  lang    |     String     |  'de'  |  No  | Set language |
|  translation    |     Object     |  { ... see lang file structure },  |  No  | Add new translation |

## CSRF, Bootstrap, Bootstrap icons

Don't forget to add a csrf token to head block in your Laravel view and add bootstrap 5 and bootstrap icons 5 styles
```
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<!-- Example -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font/bootstrap-icons.css">
```

[Laravel VITE environment variables](https://laravel.com/docs/9.x/vite#environment-variables)
```
// set baseUrl
VITE_LFM_BASE_URL=http://my-url.loc/file-manager/

// if you don't want to use csrf-token - you can off it
VITE_LFM_CSRF_TOKEN=OFF
```

---
_Source: https://npm.io/package/gameap-file-manager · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
