commit
a7563ab499
35 changed files with 5623 additions and 33 deletions
15
CHANGELOG.md
15
CHANGELOG.md
|
@ -1,5 +1,20 @@
|
||||||
# Release Notes
|
# Release Notes
|
||||||
|
|
||||||
|
## v1.4.0 (2018-02-18)
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Tag(folder) support
|
||||||
|
- Image preview for uploading icons
|
||||||
|
- A load of supported apps, full list of apps https://github.com/linuxserver/Heimdall/projects/1
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Edited vendor/laravelcollective/html/src/FormBuilder.php to allow relative links #3369de9
|
||||||
|
- Changed links to use relative links for reverse proxy support
|
||||||
|
- Links open in new tab
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- adds all the fixes in the 1.3.x point releases and on master
|
||||||
|
|
||||||
## v1.3.0 (2018-02-09)
|
## v1.3.0 (2018-02-09)
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
|
@ -18,8 +18,8 @@ class ItemController extends Controller
|
||||||
*/
|
*/
|
||||||
public function dash()
|
public function dash()
|
||||||
{
|
{
|
||||||
$data['apps'] = Item::pinned()->orderBy('order', 'asc')->get();
|
$data['apps'] = Item::doesntHave('parents')->pinned()->orderBy('order', 'asc')->get();
|
||||||
$data['all_apps'] = Item::all();
|
$data['all_apps'] = Item::doesntHave('parents')->get();
|
||||||
return view('welcome', $data);
|
return view('welcome', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,8 +95,8 @@ class ItemController extends Controller
|
||||||
{
|
{
|
||||||
$trash = (bool)$request->input('trash');
|
$trash = (bool)$request->input('trash');
|
||||||
|
|
||||||
$data['apps'] = Item::orderBy('title', 'asc')->get();
|
$data['apps'] = Item::ofType('item')->orderBy('title', 'asc')->get();
|
||||||
$data['trash'] = Item::onlyTrashed()->get();
|
$data['trash'] = Item::ofType('item')->onlyTrashed()->get();
|
||||||
if($trash) {
|
if($trash) {
|
||||||
return view('items.trash', $data);
|
return view('items.trash', $data);
|
||||||
} else {
|
} else {
|
||||||
|
@ -113,7 +113,8 @@ class ItemController extends Controller
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
$data = [];
|
$data['tags'] = Item::ofType('tag')->orderBy('title', 'asc')->pluck('title', 'id');
|
||||||
|
$data['current_tags'] = [];
|
||||||
return view('items.create', $data);
|
return view('items.create', $data);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -146,7 +147,9 @@ class ItemController extends Controller
|
||||||
|
|
||||||
//die(print_r($request->input('config')));
|
//die(print_r($request->input('config')));
|
||||||
|
|
||||||
Item::create($request->all());
|
$item = Item::create($request->all());
|
||||||
|
|
||||||
|
$item->parents()->sync($request->tags);
|
||||||
|
|
||||||
return redirect()->route('dash')
|
return redirect()->route('dash')
|
||||||
->with('success', __('app.alert.success.item_created'));
|
->with('success', __('app.alert.success.item_created'));
|
||||||
|
@ -172,11 +175,12 @@ class ItemController extends Controller
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
// Get the item
|
// Get the item
|
||||||
$item = Item::find($id);
|
$data['item'] = Item::find($id);
|
||||||
|
$data['tags'] = Item::ofType('tag')->orderBy('title', 'asc')->pluck('title', 'id');
|
||||||
|
$data['current_tags'] = $data['item']->parents;
|
||||||
|
|
||||||
// show the edit form and pass the nerd
|
// show the edit form and pass the nerd
|
||||||
return view('items.edit')
|
return view('items.edit', $data);
|
||||||
->with('item', $item);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -205,7 +209,10 @@ class ItemController extends Controller
|
||||||
'description' => $config
|
'description' => $config
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Item::find($id)->update($request->all());
|
$item = Item::find($id);
|
||||||
|
$item->update($request->all());
|
||||||
|
|
||||||
|
$item->parents()->sync($request->tags);
|
||||||
|
|
||||||
return redirect()->route('dash')
|
return redirect()->route('dash')
|
||||||
->with('success',__('app.alert.success.item_updated'));
|
->with('success',__('app.alert.success.item_updated'));
|
||||||
|
|
189
app/Http/Controllers/TagController.php
Normal file
189
app/Http/Controllers/TagController.php
Normal file
|
@ -0,0 +1,189 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Item;
|
||||||
|
use DB;
|
||||||
|
|
||||||
|
class TagController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function index(Request $request)
|
||||||
|
{
|
||||||
|
$trash = (bool)$request->input('trash');
|
||||||
|
|
||||||
|
$data['apps'] = Item::ofType('tag')->orderBy('title', 'asc')->get();
|
||||||
|
$data['trash'] = Item::ofType('tag')->onlyTrashed()->get();
|
||||||
|
if($trash) {
|
||||||
|
return view('tags.trash', $data);
|
||||||
|
} else {
|
||||||
|
return view('tags.list', $data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
$data = [];
|
||||||
|
return view('tags.create', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
$validatedData = $request->validate([
|
||||||
|
'title' => 'required|max:255',
|
||||||
|
]);
|
||||||
|
|
||||||
|
if($request->hasFile('file')) {
|
||||||
|
$path = $request->file('file')->store('icons');
|
||||||
|
$request->merge([
|
||||||
|
'icon' => $path
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$slug = str_slug($request->title, '-');
|
||||||
|
|
||||||
|
// set item type to tag
|
||||||
|
$request->merge([
|
||||||
|
'type' => '1',
|
||||||
|
'url' => $slug
|
||||||
|
]);
|
||||||
|
//die(print_r($request->all()));
|
||||||
|
Item::create($request->all());
|
||||||
|
|
||||||
|
return redirect()->route('dash')
|
||||||
|
->with('success', __('app.alert.success.tag_created'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show($slug)
|
||||||
|
{
|
||||||
|
$item = Item::whereUrl($slug)->first();
|
||||||
|
//print_r($item);
|
||||||
|
$data['apps'] = $item->children()->pinned()->orderBy('order', 'asc')->get();
|
||||||
|
$data['all_apps'] = $item->children;
|
||||||
|
return view('welcome', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function edit($id)
|
||||||
|
{
|
||||||
|
// Get the item
|
||||||
|
$item = Item::find($id);
|
||||||
|
|
||||||
|
// show the edit form and pass the nerd
|
||||||
|
return view('tags.edit')
|
||||||
|
->with('item', $item);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function update(Request $request, $id)
|
||||||
|
{
|
||||||
|
$validatedData = $request->validate([
|
||||||
|
'title' => 'required|max:255',
|
||||||
|
]);
|
||||||
|
|
||||||
|
if($request->hasFile('file')) {
|
||||||
|
$path = $request->file('file')->store('icons');
|
||||||
|
$request->merge([
|
||||||
|
'icon' => $path
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$slug = str_slug($request->title, '-');
|
||||||
|
// set item type to tag
|
||||||
|
$request->merge([
|
||||||
|
'url' => $slug
|
||||||
|
]);
|
||||||
|
|
||||||
|
Item::find($id)->update($request->all());
|
||||||
|
|
||||||
|
return redirect()->route('dash')
|
||||||
|
->with('success',__('app.alert.success.tag_updated'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy(Request $request, $id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
$force = (bool)$request->input('force');
|
||||||
|
if($force) {
|
||||||
|
Item::withTrashed()
|
||||||
|
->where('id', $id)
|
||||||
|
->forceDelete();
|
||||||
|
} else {
|
||||||
|
Item::find($id)->delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
return redirect()->route('tags.index')
|
||||||
|
->with('success',__('app.alert.success.item_deleted'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore the specified resource from soft deletion.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function restore($id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
Item::withTrashed()
|
||||||
|
->where('id', $id)
|
||||||
|
->restore();
|
||||||
|
return redirect()->route('tags.index')
|
||||||
|
->with('success',__('app.alert.success.item_restored'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function add($tag, $item)
|
||||||
|
{
|
||||||
|
$output = 0;
|
||||||
|
$tag = Item::find($tag);
|
||||||
|
$item = Item::find($item);
|
||||||
|
if($tag && $item) {
|
||||||
|
// only add items, not cats
|
||||||
|
if((int)$item->type === 0) {
|
||||||
|
$tag->children()->attach($item);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
71
app/Item.php
71
app/Item.php
|
@ -13,7 +13,7 @@ class Item extends Model
|
||||||
|
|
||||||
//
|
//
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'title', 'url', 'colour', 'icon', 'description', 'pinned', 'order'
|
'title', 'url', 'colour', 'icon', 'description', 'pinned', 'order', 'type'
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -116,4 +116,73 @@ class Item extends Model
|
||||||
return $config;
|
return $config;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function parents()
|
||||||
|
{
|
||||||
|
return $this->belongsToMany('App\Item', 'item_tag', 'item_id', 'tag_id');
|
||||||
|
}
|
||||||
|
public function children()
|
||||||
|
{
|
||||||
|
return $this->belongsToMany('App\Item', 'item_tag', 'tag_id', 'item_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLinkAttribute()
|
||||||
|
{
|
||||||
|
if((int)$this->type === 1) {
|
||||||
|
return '/tag/'.$this->url;
|
||||||
|
} else {
|
||||||
|
return $this->url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDroppableAttribute()
|
||||||
|
{
|
||||||
|
if((int)$this->type === 1) {
|
||||||
|
return ' droppable';
|
||||||
|
} else {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTargetAttribute()
|
||||||
|
{
|
||||||
|
if((int)$this->type === 1) {
|
||||||
|
return '';
|
||||||
|
} else {
|
||||||
|
return ' target="_blank"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLinkIconAttribute()
|
||||||
|
{
|
||||||
|
if((int)$this->type === 1) {
|
||||||
|
return 'fa-tag';
|
||||||
|
} else {
|
||||||
|
return 'fa-arrow-alt-to-right';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public function getLinkTypeAttribute()
|
||||||
|
{
|
||||||
|
if((int)$this->type === 1) {
|
||||||
|
return 'tags';
|
||||||
|
} else {
|
||||||
|
return 'items';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function scopeOfType($query, $type)
|
||||||
|
{
|
||||||
|
switch($type) {
|
||||||
|
case 'item':
|
||||||
|
$typeid = 0;
|
||||||
|
break;
|
||||||
|
case 'tag':
|
||||||
|
$typeid = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $query->where('type', $typeid);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ class AppServiceProvider extends ServiceProvider
|
||||||
if(is_file(database_path('app.sqlite'))) {
|
if(is_file(database_path('app.sqlite'))) {
|
||||||
if(Schema::hasTable('settings')) {
|
if(Schema::hasTable('settings')) {
|
||||||
if($bg_image = Setting::fetch('background_image')) {
|
if($bg_image = Setting::fetch('background_image')) {
|
||||||
$alt_bg = ' style="background-image: url('.asset('storage/'.$bg_image).')"';
|
$alt_bg = ' style="background-image: url(/storage/'.$bg_image.')"';
|
||||||
}
|
}
|
||||||
|
|
||||||
// check version to see if an upgrade is needed
|
// check version to see if an upgrade is needed
|
||||||
|
|
|
@ -14,7 +14,7 @@ return [
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'name' => env('APP_NAME', 'Heimdall'),
|
'name' => env('APP_NAME', 'Heimdall'),
|
||||||
'version' => '1.3.4',
|
'version' => '1.4.0',
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
3698
css/app.css
vendored
Normal file
3698
css/app.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class AddColumnsToItemsForGroups extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::table('items', function (Blueprint $table) {
|
||||||
|
$table->integer('type')->default(0)->index(); // 0 = item, 1 = category
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('items', function (Blueprint $table) {
|
||||||
|
$table->dropColumn(['type']);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
35
database/migrations/2018_02_16_193703_item_tag.php
Normal file
35
database/migrations/2018_02_16_193703_item_tag.php
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class ItemTag extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('item_tag', function (Blueprint $table) {
|
||||||
|
$table->integer('item_id')->unsigned()->index();
|
||||||
|
$table->foreign('item_id')->references('id')->on('items')->onDelete('cascade');
|
||||||
|
|
||||||
|
$table->integer('tag_id')->unsigned()->index();
|
||||||
|
$table->foreign('tag_id')->references('id')->on('items')->onDelete('cascade');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('item_tag');
|
||||||
|
}
|
||||||
|
}
|
3
mix-manifest.json
Normal file
3
mix-manifest.json
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"/css/app.css": "/css/app.css"
|
||||||
|
}
|
19
package-lock.json
generated
19
package-lock.json
generated
|
@ -115,6 +115,11 @@
|
||||||
"repeat-string": "1.6.1"
|
"repeat-string": "1.6.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"almond": {
|
||||||
|
"version": "0.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/almond/-/almond-0.3.3.tgz",
|
||||||
|
"integrity": "sha1-oOfJWsdiTWQXtElLHmi/9pMWiiA="
|
||||||
|
},
|
||||||
"alphanum-sort": {
|
"alphanum-sort": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
|
||||||
|
@ -6237,6 +6242,11 @@
|
||||||
"integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==",
|
"integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"jquery-mousewheel": {
|
||||||
|
"version": "3.1.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz",
|
||||||
|
"integrity": "sha1-BvAzXxbjU6aV5yBr9QUDy1I6buU="
|
||||||
|
},
|
||||||
"js-base64": {
|
"js-base64": {
|
||||||
"version": "2.4.2",
|
"version": "2.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.2.tgz",
|
||||||
|
@ -10696,6 +10706,15 @@
|
||||||
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
|
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"select2": {
|
||||||
|
"version": "4.0.6-rc.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/select2/-/select2-4.0.6-rc.1.tgz",
|
||||||
|
"integrity": "sha1-qmwwOKfw8ukf+t448KIcFeGBMnY=",
|
||||||
|
"requires": {
|
||||||
|
"almond": "0.3.3",
|
||||||
|
"jquery-mousewheel": "3.1.13"
|
||||||
|
}
|
||||||
|
},
|
||||||
"selfsigned": {
|
"selfsigned": {
|
||||||
"version": "1.10.1",
|
"version": "1.10.1",
|
||||||
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.1.tgz",
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
"vue": "^2.5.7"
|
"vue": "^2.5.7"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"node-sass": "^4.7.2"
|
"node-sass": "^4.7.2",
|
||||||
|
"select2": "^4.0.6-rc.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
651
public/css/app.css
vendored
651
public/css/app.css
vendored
|
@ -5312,3 +5312,654 @@ readers do not read off random characters that represent icons */
|
||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.select2-container {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-selection--single {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
height: 28px;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||||
|
display: block;
|
||||||
|
padding-left: 8px;
|
||||||
|
padding-right: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-selection--single .select2-selection__clear {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
||||||
|
padding-right: 8px;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-selection--multiple {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
min-height: 39px;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
||||||
|
display: inline-block;
|
||||||
|
overflow: hidden;
|
||||||
|
padding-left: 8px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-search--inline {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-search--inline .select2-search__field {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: none;
|
||||||
|
font-size: 100%;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-dropdown {
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
left: -100000px;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 1051;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results__options {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results__option {
|
||||||
|
padding: 6px;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results__option[aria-selected] {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--open .select2-dropdown {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--open .select2-dropdown--above {
|
||||||
|
border-bottom: none;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--open .select2-dropdown--below {
|
||||||
|
border-top: none;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-search--dropdown {
|
||||||
|
display: block;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-search--dropdown .select2-search__field {
|
||||||
|
padding: 4px;
|
||||||
|
width: 100%;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-search--dropdown.select2-search--hide {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-close-mask {
|
||||||
|
border: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
display: block;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
min-height: 100%;
|
||||||
|
min-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
width: auto;
|
||||||
|
opacity: 0;
|
||||||
|
z-index: 99;
|
||||||
|
background-color: #fff;
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-hidden-accessible {
|
||||||
|
border: 0 !important;
|
||||||
|
clip: rect(0 0 0 0) !important;
|
||||||
|
-webkit-clip-path: inset(50%) !important;
|
||||||
|
clip-path: inset(50%) !important;
|
||||||
|
height: 1px !important;
|
||||||
|
overflow: hidden !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
position: absolute !important;
|
||||||
|
width: 1px !important;
|
||||||
|
white-space: nowrap !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single {
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||||
|
color: #444;
|
||||||
|
line-height: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__clear {
|
||||||
|
cursor: pointer;
|
||||||
|
float: right;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||||
|
height: 26px;
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
right: 1px;
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
||||||
|
border-color: #888 transparent transparent transparent;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 5px 4px 0 4px;
|
||||||
|
height: 0;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -4px;
|
||||||
|
margin-top: -2px;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||||
|
left: 1px;
|
||||||
|
right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--disabled .select2-selection--single {
|
||||||
|
background-color: #eee;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||||
|
border-color: transparent transparent #888 transparent;
|
||||||
|
border-width: 0 4px 5px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple {
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid #dedfe2;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: text;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 5px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
|
||||||
|
color: #999;
|
||||||
|
margin-top: 5px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__clear {
|
||||||
|
cursor: pointer;
|
||||||
|
float: right;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||||
|
background-color: #f2f3f6;
|
||||||
|
border: 1px solid #dedfe2;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: default;
|
||||||
|
float: left;
|
||||||
|
margin-right: 5px;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 300;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
||||||
|
color: #999;
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||||
|
margin-left: 2px;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--focus .select2-selection--multiple {
|
||||||
|
border: solid #dedfe2 1px;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--disabled .select2-selection--multiple {
|
||||||
|
background-color: #eee;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,
|
||||||
|
.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,
|
||||||
|
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-search--inline .select2-search__field {
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
outline: 0;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
-webkit-appearance: textfield;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results > .select2-results__options {
|
||||||
|
max-height: 200px;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option[role=group] {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option[aria-disabled=true] {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option[aria-selected=true] {
|
||||||
|
background-color: #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option {
|
||||||
|
padding-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -1em;
|
||||||
|
padding-left: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -2em;
|
||||||
|
padding-left: 3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -3em;
|
||||||
|
padding-left: 4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -4em;
|
||||||
|
padding-left: 5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -5em;
|
||||||
|
padding-left: 6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
||||||
|
background-color: #5897fb;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__group {
|
||||||
|
cursor: default;
|
||||||
|
display: block;
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--single {
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
outline: 0;
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, white), to(#eeeeee));
|
||||||
|
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--single:focus {
|
||||||
|
border: 1px solid #5897fb;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__rendered {
|
||||||
|
color: #444;
|
||||||
|
line-height: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__clear {
|
||||||
|
cursor: pointer;
|
||||||
|
float: right;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__arrow {
|
||||||
|
background-color: #ddd;
|
||||||
|
border: none;
|
||||||
|
border-left: 1px solid #aaa;
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-bottom-right-radius: 4px;
|
||||||
|
height: 26px;
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
right: 1px;
|
||||||
|
width: 20px;
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(#cccccc));
|
||||||
|
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
|
||||||
|
border-color: #888 transparent transparent transparent;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 5px 4px 0 4px;
|
||||||
|
height: 0;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -4px;
|
||||||
|
margin-top: -2px;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||||
|
border: none;
|
||||||
|
border-right: 1px solid #aaa;
|
||||||
|
border-radius: 0;
|
||||||
|
border-top-left-radius: 4px;
|
||||||
|
border-bottom-left-radius: 4px;
|
||||||
|
left: 1px;
|
||||||
|
right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open .select2-selection--single {
|
||||||
|
border: 1px solid #5897fb;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||||
|
border-color: transparent transparent #888 transparent;
|
||||||
|
border-width: 0 4px 5px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
|
||||||
|
border-top: none;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, #eeeeee));
|
||||||
|
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
|
||||||
|
border-bottom: none;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(white));
|
||||||
|
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--multiple {
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: text;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--multiple:focus {
|
||||||
|
border: 1px solid #5897fb;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
|
||||||
|
background-color: #e4e4e4;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: default;
|
||||||
|
float: left;
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
|
||||||
|
color: #888;
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||||
|
float: right;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||||
|
margin-left: 2px;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open .select2-selection--multiple {
|
||||||
|
border: 1px solid #5897fb;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||||
|
border-top: none;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||||
|
border-bottom: none;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-search--dropdown .select2-search__field {
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-search--inline .select2-search__field {
|
||||||
|
outline: 0;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-dropdown {
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-dropdown--above {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-dropdown--below {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results > .select2-results__options {
|
||||||
|
max-height: 200px;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results__option[role=group] {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results__option[aria-disabled=true] {
|
||||||
|
color: grey;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
|
||||||
|
background-color: #3875d7;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results__group {
|
||||||
|
cursor: default;
|
||||||
|
display: block;
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open .select2-dropdown {
|
||||||
|
border-color: #5897fb;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
34
public/js/app.js
vendored
34
public/js/app.js
vendored
|
@ -45,6 +45,39 @@ $.when( $.ready ).then(function() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function readURL(input) {
|
||||||
|
|
||||||
|
if (input.files && input.files[0]) {
|
||||||
|
var reader = new FileReader();
|
||||||
|
|
||||||
|
reader.onload = function(e) {
|
||||||
|
$('#appimage img').attr('src', e.target.result);
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.readAsDataURL(input.files[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#upload").change(function() {
|
||||||
|
readURL(this);
|
||||||
|
});
|
||||||
|
/*$(".droppable").droppable({
|
||||||
|
tolerance: "intersect",
|
||||||
|
drop: function( event, ui ) {
|
||||||
|
var tag = $( this ).data('id');
|
||||||
|
var item = $( ui.draggable ).data('id');
|
||||||
|
|
||||||
|
$.get('tag/add/'+tag+'/'+item, function(data) {
|
||||||
|
if(data == 1) {
|
||||||
|
$( ui.draggable ).remove();
|
||||||
|
} else {
|
||||||
|
alert('not added');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});*/
|
||||||
|
|
||||||
$( "#sortable" ).sortable({
|
$( "#sortable" ).sortable({
|
||||||
stop: function (event, ui) {
|
stop: function (event, ui) {
|
||||||
var idsInOrder = $("#sortable").sortable('toArray', {
|
var idsInOrder = $("#sortable").sortable('toArray', {
|
||||||
|
@ -60,6 +93,7 @@ $.when( $.ready ).then(function() {
|
||||||
$("#sortable").sortable("disable");
|
$("#sortable").sortable("disable");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('#app').on('click', '#config-button', function(e) {
|
$('#app').on('click', '#config-button', function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var app = $('#app');
|
var app = $('#app');
|
||||||
|
|
1
public/js/select2.min.js
vendored
Normal file
1
public/js/select2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,4 @@
|
||||||
{
|
{
|
||||||
"/css/app.css": "/css/app.css?id=a571eeda02c71a01f251",
|
"/css/app.css": "/css/app.css?id=353c513dd97a5fa0607d",
|
||||||
"/js/app.js": "/js/app.js?id=b38be2e595ece6fcef81"
|
"/js/app.js": "/js/app.js?id=24ea5e5c1fbea3461a14"
|
||||||
}
|
}
|
34
resources/assets/js/app.js
vendored
34
resources/assets/js/app.js
vendored
|
@ -36,6 +36,39 @@ $.when( $.ready ).then(function() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function readURL(input) {
|
||||||
|
|
||||||
|
if (input.files && input.files[0]) {
|
||||||
|
var reader = new FileReader();
|
||||||
|
|
||||||
|
reader.onload = function(e) {
|
||||||
|
$('#appimage img').attr('src', e.target.result);
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.readAsDataURL(input.files[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#upload").change(function() {
|
||||||
|
readURL(this);
|
||||||
|
});
|
||||||
|
/*$(".droppable").droppable({
|
||||||
|
tolerance: "intersect",
|
||||||
|
drop: function( event, ui ) {
|
||||||
|
var tag = $( this ).data('id');
|
||||||
|
var item = $( ui.draggable ).data('id');
|
||||||
|
|
||||||
|
$.get('tag/add/'+tag+'/'+item, function(data) {
|
||||||
|
if(data == 1) {
|
||||||
|
$( ui.draggable ).remove();
|
||||||
|
} else {
|
||||||
|
alert('not added');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});*/
|
||||||
|
|
||||||
$( "#sortable" ).sortable({
|
$( "#sortable" ).sortable({
|
||||||
stop: function (event, ui) {
|
stop: function (event, ui) {
|
||||||
var idsInOrder = $("#sortable").sortable('toArray', {
|
var idsInOrder = $("#sortable").sortable('toArray', {
|
||||||
|
@ -51,6 +84,7 @@ $.when( $.ready ).then(function() {
|
||||||
$("#sortable").sortable("disable");
|
$("#sortable").sortable("disable");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('#app').on('click', '#config-button', function(e) {
|
$('#app').on('click', '#config-button', function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var app = $('#app');
|
var app = $('#app');
|
||||||
|
|
486
resources/assets/sass/_select2.scss
vendored
Normal file
486
resources/assets/sass/_select2.scss
vendored
Normal file
|
@ -0,0 +1,486 @@
|
||||||
|
.select2-container {
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: middle; }
|
||||||
|
.select2-container .select2-selection--single {
|
||||||
|
box-sizing: border-box;
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
height: 28px;
|
||||||
|
user-select: none;
|
||||||
|
-webkit-user-select: none; }
|
||||||
|
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||||
|
display: block;
|
||||||
|
padding-left: 8px;
|
||||||
|
padding-right: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap; }
|
||||||
|
.select2-container .select2-selection--single .select2-selection__clear {
|
||||||
|
position: relative; }
|
||||||
|
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
||||||
|
padding-right: 8px;
|
||||||
|
padding-left: 20px; }
|
||||||
|
.select2-container .select2-selection--multiple {
|
||||||
|
box-sizing: border-box;
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
min-height: 39px;
|
||||||
|
user-select: none;
|
||||||
|
-webkit-user-select: none; }
|
||||||
|
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
||||||
|
display: inline-block;
|
||||||
|
overflow: hidden;
|
||||||
|
padding-left: 8px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap; }
|
||||||
|
.select2-container .select2-search--inline {
|
||||||
|
float: left; }
|
||||||
|
.select2-container .select2-search--inline .select2-search__field {
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: none;
|
||||||
|
font-size: 100%;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 0; }
|
||||||
|
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
|
||||||
|
-webkit-appearance: none; }
|
||||||
|
|
||||||
|
.select2-dropdown {
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
left: -100000px;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 1051; }
|
||||||
|
|
||||||
|
.select2-results {
|
||||||
|
display: block; }
|
||||||
|
|
||||||
|
.select2-results__options {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0; }
|
||||||
|
|
||||||
|
.select2-results__option {
|
||||||
|
padding: 6px;
|
||||||
|
user-select: none;
|
||||||
|
-webkit-user-select: none; }
|
||||||
|
.select2-results__option[aria-selected] {
|
||||||
|
cursor: pointer; }
|
||||||
|
|
||||||
|
.select2-container--open .select2-dropdown {
|
||||||
|
left: 0; }
|
||||||
|
|
||||||
|
.select2-container--open .select2-dropdown--above {
|
||||||
|
border-bottom: none;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0; }
|
||||||
|
|
||||||
|
.select2-container--open .select2-dropdown--below {
|
||||||
|
border-top: none;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0; }
|
||||||
|
|
||||||
|
.select2-search--dropdown {
|
||||||
|
display: block;
|
||||||
|
padding: 4px; }
|
||||||
|
.select2-search--dropdown .select2-search__field {
|
||||||
|
padding: 4px;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box; }
|
||||||
|
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
|
||||||
|
-webkit-appearance: none; }
|
||||||
|
.select2-search--dropdown.select2-search--hide {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.select2-close-mask {
|
||||||
|
border: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
display: block;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
min-height: 100%;
|
||||||
|
min-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
width: auto;
|
||||||
|
opacity: 0;
|
||||||
|
z-index: 99;
|
||||||
|
background-color: #fff;
|
||||||
|
filter: alpha(opacity=0); }
|
||||||
|
|
||||||
|
.select2-hidden-accessible {
|
||||||
|
border: 0 !important;
|
||||||
|
clip: rect(0 0 0 0) !important;
|
||||||
|
-webkit-clip-path: inset(50%) !important;
|
||||||
|
clip-path: inset(50%) !important;
|
||||||
|
height: 1px !important;
|
||||||
|
overflow: hidden !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
position: absolute !important;
|
||||||
|
width: 1px !important;
|
||||||
|
white-space: nowrap !important; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single {
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px; }
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||||
|
color: #444;
|
||||||
|
line-height: 28px; }
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__clear {
|
||||||
|
cursor: pointer;
|
||||||
|
float: right;
|
||||||
|
font-weight: bold; }
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
||||||
|
color: #999; }
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||||
|
height: 26px;
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
right: 1px;
|
||||||
|
width: 20px; }
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
||||||
|
border-color: #888 transparent transparent transparent;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 5px 4px 0 4px;
|
||||||
|
height: 0;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -4px;
|
||||||
|
margin-top: -2px;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
width: 0; }
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||||
|
float: left; }
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||||
|
left: 1px;
|
||||||
|
right: auto; }
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--disabled .select2-selection--single {
|
||||||
|
background-color: #eee;
|
||||||
|
cursor: default; }
|
||||||
|
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||||
|
border-color: transparent transparent #888 transparent;
|
||||||
|
border-width: 0 4px 5px 4px; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple {
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid #dedfe2;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: text; }
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
||||||
|
box-sizing: border-box;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 5px;
|
||||||
|
width: 100%; }
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
|
||||||
|
list-style: none; }
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
|
||||||
|
color: #999;
|
||||||
|
margin-top: 5px;
|
||||||
|
float: left; }
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__clear {
|
||||||
|
cursor: pointer;
|
||||||
|
float: right;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-right: 10px; }
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||||
|
background-color: #f2f3f6;
|
||||||
|
border: 1px solid #dedfe2;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: default;
|
||||||
|
float: left;
|
||||||
|
margin-right: 5px;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 300;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 5px; }
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
||||||
|
color: #999;
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 2px; }
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||||
|
color: #333; }
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
|
||||||
|
float: right; }
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: auto; }
|
||||||
|
|
||||||
|
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||||
|
margin-left: 2px;
|
||||||
|
margin-right: auto; }
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--focus .select2-selection--multiple {
|
||||||
|
border: solid #dedfe2 1px;
|
||||||
|
outline: 0; }
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--disabled .select2-selection--multiple {
|
||||||
|
background-color: #eee;
|
||||||
|
cursor: default; }
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
|
||||||
|
display: none; }
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0; }
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||||
|
border: 1px solid #aaa; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-search--inline .select2-search__field {
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
outline: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
-webkit-appearance: textfield; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-results > .select2-results__options {
|
||||||
|
max-height: 200px;
|
||||||
|
overflow-y: auto; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option[role=group] {
|
||||||
|
padding: 0; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option[aria-disabled=true] {
|
||||||
|
color: #999; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option[aria-selected=true] {
|
||||||
|
background-color: #ddd; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option {
|
||||||
|
padding-left: 1em; }
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
|
||||||
|
padding-left: 0; }
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -1em;
|
||||||
|
padding-left: 2em; }
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -2em;
|
||||||
|
padding-left: 3em; }
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -3em;
|
||||||
|
padding-left: 4em; }
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -4em;
|
||||||
|
padding-left: 5em; }
|
||||||
|
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||||
|
margin-left: -5em;
|
||||||
|
padding-left: 6em; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
||||||
|
background-color: #5897fb;
|
||||||
|
color: white; }
|
||||||
|
|
||||||
|
.select2-container--default .select2-results__group {
|
||||||
|
cursor: default;
|
||||||
|
display: block;
|
||||||
|
padding: 6px; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--single {
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
outline: 0;
|
||||||
|
background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
|
||||||
|
background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
|
||||||
|
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
|
||||||
|
.select2-container--classic .select2-selection--single:focus {
|
||||||
|
border: 1px solid #5897fb; }
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__rendered {
|
||||||
|
color: #444;
|
||||||
|
line-height: 28px; }
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__clear {
|
||||||
|
cursor: pointer;
|
||||||
|
float: right;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 10px; }
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
|
||||||
|
color: #999; }
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__arrow {
|
||||||
|
background-color: #ddd;
|
||||||
|
border: none;
|
||||||
|
border-left: 1px solid #aaa;
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-bottom-right-radius: 4px;
|
||||||
|
height: 26px;
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
right: 1px;
|
||||||
|
width: 20px;
|
||||||
|
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||||
|
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
|
||||||
|
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
|
||||||
|
border-color: #888 transparent transparent transparent;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 5px 4px 0 4px;
|
||||||
|
height: 0;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -4px;
|
||||||
|
margin-top: -2px;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
width: 0; }
|
||||||
|
|
||||||
|
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||||
|
float: left; }
|
||||||
|
|
||||||
|
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||||
|
border: none;
|
||||||
|
border-right: 1px solid #aaa;
|
||||||
|
border-radius: 0;
|
||||||
|
border-top-left-radius: 4px;
|
||||||
|
border-bottom-left-radius: 4px;
|
||||||
|
left: 1px;
|
||||||
|
right: auto; }
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open .select2-selection--single {
|
||||||
|
border: 1px solid #5897fb; }
|
||||||
|
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
|
||||||
|
background: transparent;
|
||||||
|
border: none; }
|
||||||
|
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||||
|
border-color: transparent transparent #888 transparent;
|
||||||
|
border-width: 0 4px 5px 4px; }
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
|
||||||
|
border-top: none;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
|
||||||
|
background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
|
||||||
|
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
|
||||||
|
border-bottom: none;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
|
||||||
|
background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
|
||||||
|
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-selection--multiple {
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: text;
|
||||||
|
outline: 0; }
|
||||||
|
.select2-container--classic .select2-selection--multiple:focus {
|
||||||
|
border: 1px solid #5897fb; }
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 5px; }
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
|
||||||
|
display: none; }
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
|
||||||
|
background-color: #e4e4e4;
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: default;
|
||||||
|
float: left;
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 0 5px; }
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
|
||||||
|
color: #888;
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 2px; }
|
||||||
|
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||||
|
color: #555; }
|
||||||
|
|
||||||
|
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||||
|
float: right;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: auto; }
|
||||||
|
|
||||||
|
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||||
|
margin-left: 2px;
|
||||||
|
margin-right: auto; }
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open .select2-selection--multiple {
|
||||||
|
border: 1px solid #5897fb; }
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||||
|
border-top: none;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0; }
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||||
|
border-bottom: none;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-search--dropdown .select2-search__field {
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
outline: 0; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-search--inline .select2-search__field {
|
||||||
|
outline: 0;
|
||||||
|
box-shadow: none; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-dropdown {
|
||||||
|
background-color: white;
|
||||||
|
border: 1px solid transparent; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-dropdown--above {
|
||||||
|
border-bottom: none; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-dropdown--below {
|
||||||
|
border-top: none; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results > .select2-results__options {
|
||||||
|
max-height: 200px;
|
||||||
|
overflow-y: auto; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results__option[role=group] {
|
||||||
|
padding: 0; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results__option[aria-disabled=true] {
|
||||||
|
color: grey; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
|
||||||
|
background-color: #3875d7;
|
||||||
|
color: white; }
|
||||||
|
|
||||||
|
.select2-container--classic .select2-results__group {
|
||||||
|
cursor: default;
|
||||||
|
display: block;
|
||||||
|
padding: 6px; }
|
||||||
|
|
||||||
|
.select2-container--classic.select2-container--open .select2-dropdown {
|
||||||
|
border-color: #5897fb; }
|
3
resources/assets/sass/app.scss
vendored
3
resources/assets/sass/app.scss
vendored
|
@ -17,3 +17,6 @@
|
||||||
// fontawesome
|
// fontawesome
|
||||||
@import "fontawesome/fontawesome";
|
@import "fontawesome/fontawesome";
|
||||||
@import "fontawesome/fa-solid";
|
@import "fontawesome/fa-solid";
|
||||||
|
|
||||||
|
@import "select2";
|
||||||
|
|
||||||
|
|
|
@ -61,6 +61,10 @@ return [
|
||||||
'apps.config' => 'Config',
|
'apps.config' => 'Config',
|
||||||
'apps.apikey' => 'Api Key',
|
'apps.apikey' => 'Api Key',
|
||||||
'apps.enable' => 'Enable',
|
'apps.enable' => 'Enable',
|
||||||
|
'apps.tag_list' => 'Tags list',
|
||||||
|
'apps.add_tag' => 'Add tag',
|
||||||
|
'apps.tag_name' => 'Tag name',
|
||||||
|
'apps.tags' => 'Tags',
|
||||||
|
|
||||||
'url' => 'Url',
|
'url' => 'Url',
|
||||||
'title' => 'Title',
|
'title' => 'Title',
|
||||||
|
@ -73,6 +77,11 @@ return [
|
||||||
'alert.success.item_deleted' => 'Item deleted successfully',
|
'alert.success.item_deleted' => 'Item deleted successfully',
|
||||||
'alert.success.item_restored' => 'Item restored successfully',
|
'alert.success.item_restored' => 'Item restored successfully',
|
||||||
|
|
||||||
|
'alert.success.tag_created' => 'Tag created successfully',
|
||||||
|
'alert.success.tag_updated' => 'Tag updated successfully',
|
||||||
|
'alert.success.tag_deleted' => 'Tag deleted successfully',
|
||||||
|
'alert.success.tag_restored' => 'Tag restored successfully',
|
||||||
|
|
||||||
'alert.success.setting_updated' => 'You have successfully edited this Setting',
|
'alert.success.setting_updated' => 'You have successfully edited this Setting',
|
||||||
'alert.error.not_exist' => 'This Setting does not exist.',
|
'alert.error.not_exist' => 'This Setting does not exist.',
|
||||||
|
|
||||||
|
|
|
@ -72,12 +72,13 @@
|
||||||
|
|
||||||
@yield('content')
|
@yield('content')
|
||||||
<div id="config-buttons">
|
<div id="config-buttons">
|
||||||
@if(Route::is('dash'))
|
@if(Route::is('dash') || Route::is('tags.show'))
|
||||||
<a id="config-button" class="config" href=""><i class="fas fa-exchange"></i></a>
|
<a id="config-button" class="config" href=""><i class="fas fa-exchange"></i></a>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<a id="dash" class="config" href="{{ route('dash') }}"><i class="fas fa-th"></i></a>
|
<a id="dash" class="config" href="{{ route('dash') }}"><i class="fas fa-th"></i></a>
|
||||||
<a id="items" class="config" href="{{ route('items.index') }}"><i class="fas fa-list"></i></a>
|
<a id="items" class="config" href="{{ route('items.index') }}"><i class="fas fa-list"></i></a>
|
||||||
|
<a id="folder" class="config" href="{{ route('tags.index') }}"><i class="fas fa-tag"></i></a>
|
||||||
<a id="settings" class="config" href="{{ route('settings.index') }}"><i class="fas fa-cogs"></i></a>
|
<a id="settings" class="config" href="{{ route('settings.index') }}"><i class="fas fa-cogs"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
@ -87,7 +88,7 @@
|
||||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||||||
<script>!window.jQuery && document.write('<script src="/js/jquery-3.3.1.min.js"><\/script>')</script>
|
<script>!window.jQuery && document.write('<script src="/js/jquery-3.3.1.min.js"><\/script>')</script>
|
||||||
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
|
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
|
||||||
<script src="{{ asset('js/app.js') }}"></script>
|
<script src="/js/app.js"></script>
|
||||||
@yield('scripts')
|
@yield('scripts')
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<section class="item-container" data-id="{{ $app->id }}">
|
<section class="item-container{{ $app->droppable }}" data-id="{{ $app->id }}">
|
||||||
<div class="item" style="background-color: {{ $app->colour }}">
|
<div class="item" style="background-color: {{ $app->colour }}">
|
||||||
@if($app->icon)
|
@if($app->icon)
|
||||||
<img class="app-icon" src="{{ asset('storage/'.$app->icon) }}" />
|
<img class="app-icon" src="/storage/{{ $app->icon }}" />
|
||||||
@else
|
@else
|
||||||
<img class="app-icon" src="{{ asset('img/heimdall-icon-small.png') }}" />
|
<img class="app-icon" src="/img/heimdall-icon-small.png" />
|
||||||
@endif
|
@endif
|
||||||
<div class="details">
|
<div class="details">
|
||||||
<div class="title">{{ $app->title }}</div>
|
<div class="title">{{ $app->title }}</div>
|
||||||
|
@ -11,8 +11,8 @@
|
||||||
<div data-id="{{ $app->id }}" data-dataonly="{{ $app->config->dataonly or '0' }}" class="livestats-container"></div>
|
<div data-id="{{ $app->id }}" data-dataonly="{{ $app->config->dataonly or '0' }}" class="livestats-container"></div>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<a class="link" target="_blank" href="{{ $app->url }}"><i class="fas fa-arrow-alt-to-right"></i></a>
|
<a class="link"{{ $app->target }} href="{{ $app->link }}"><i class="fas {{ $app->link_icon }}"></i></a>
|
||||||
</div>
|
</div>
|
||||||
<a class="item-edit" href="{{ route('items.edit', $app->id) }}"><i class="fas fa-pencil"></i></a>
|
<a class="item-edit" href="{{ route($app->link_type.'.edit', $app->id) }}"><i class="fas fa-pencil"></i></a>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -15,10 +15,6 @@
|
||||||
<hr />
|
<hr />
|
||||||
<label>{{ strtoupper(__('app.url')) }}</label>
|
<label>{{ strtoupper(__('app.url')) }}</label>
|
||||||
{!! Form::text('url', null, array('placeholder' => __('app.url'), 'id' => 'appurl', 'class' => 'form-control')) !!}
|
{!! Form::text('url', null, array('placeholder' => __('app.url'), 'id' => 'appurl', 'class' => 'form-control')) !!}
|
||||||
</div>
|
|
||||||
<div class="input">
|
|
||||||
<label>{{ __('app.apps.colour') }} *</label>
|
|
||||||
{!! Form::text('colour', null, array('placeholder' => __('app.apps.hex'),'class' => 'form-control color-picker')) !!}
|
|
||||||
<hr />
|
<hr />
|
||||||
<label>{{ __('app.apps.pinned') }}</label>
|
<label>{{ __('app.apps.pinned') }}</label>
|
||||||
{!! Form::hidden('pinned', '0') !!}
|
{!! Form::hidden('pinned', '0') !!}
|
||||||
|
@ -31,6 +27,14 @@
|
||||||
<input type="checkbox" name="pinned" value="1"<?php echo $set_checked;?> />
|
<input type="checkbox" name="pinned" value="1"<?php echo $set_checked;?> />
|
||||||
<span class="slider round"></span>
|
<span class="slider round"></span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="input">
|
||||||
|
<label>{{ __('app.apps.colour') }} *</label>
|
||||||
|
{!! Form::text('colour', null, array('placeholder' => __('app.apps.hex'),'class' => 'form-control color-picker')) !!}
|
||||||
|
<hr />
|
||||||
|
<label>{{ __('app.apps.tags') }} ({{ __('app.optional') }})</label>
|
||||||
|
{!! Form::select('tags', $tags, $current_tags, ['class' => 'tags', 'multiple']) !!}
|
||||||
</div>
|
</div>
|
||||||
<div class="input">
|
<div class="input">
|
||||||
<label>{{ __('app.apps.icon') }}</label>
|
<label>{{ __('app.apps.icon') }}</label>
|
||||||
|
@ -43,11 +47,13 @@
|
||||||
?>
|
?>
|
||||||
<img src="{{ asset('storage/'.$icon) }}" />
|
<img src="{{ asset('storage/'.$icon) }}" />
|
||||||
{!! Form::hidden('icon', $icon, ['class' => 'form-control']) !!}
|
{!! Form::hidden('icon', $icon, ['class' => 'form-control']) !!}
|
||||||
|
@else
|
||||||
|
<img src="/img/heimdall-icon-small.png" />
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="upload-btn-wrapper">
|
<div class="upload-btn-wrapper">
|
||||||
<button class="btn">{{ __('app.buttons.upload')}} </button>
|
<button class="btn">{{ __('app.buttons.upload')}} </button>
|
||||||
<input type="file" name="file" />
|
<input type="file" id="upload" name="file" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="module-actions">
|
<div class="module-actions">
|
||||||
<a href="{{ route('items.create') }}" title="" class="button"><i class="fa fa-plus"></i><span>{{ __('app.buttons.add') }}</span></a>
|
<a href="{{ route('items.create') }}" title="" class="button"><i class="fa fa-plus"></i><span>{{ __('app.buttons.add') }}</span></a>
|
||||||
|
<a href="{{ route('dash') }}" class="button"><i class="fa fa-ban"></i><span>{{ __('app.buttons.cancel') }}</span></a>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
@ -29,8 +30,8 @@
|
||||||
@foreach($apps as $app)
|
@foreach($apps as $app)
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ $app->title }}</td>
|
<td>{{ $app->title }}</td>
|
||||||
<td><a href="{{ $app->url }}">{{ $app->url }}</a></td>
|
<td><a href="{{ $app->url }}">{{ $app->link }}</a></td>
|
||||||
<td class="text-center"><a href="{!! route('items.edit', $app->id) !!}" title="{{ __('app.settings.edit') }} {!! $app->title !!}"><i class="fas fa-edit"></i></a></td>
|
<td class="text-center"><a{{ $app->target }} href="{!! route('items.edit', $app->id) !!}" title="{{ __('app.settings.edit') }} {!! $app->title !!}"><i class="fas fa-edit"></i></a></td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
{!! Form::open(['method' => 'DELETE','route' => ['items.destroy', $app->id],'style'=>'display:inline']) !!}
|
{!! Form::open(['method' => 'DELETE','route' => ['items.destroy', $app->id],'style'=>'display:inline']) !!}
|
||||||
<button class="link" type="submit"><i class="fa fa-trash-alt"></i></button>
|
<button class="link" type="submit"><i class="fa fa-trash-alt"></i></button>
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
<script src="/js/select2.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
$( function() {
|
$( function() {
|
||||||
|
|
||||||
|
@ -30,5 +31,8 @@
|
||||||
}, "json");
|
}, "json");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('.tags').select2();
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
12
resources/views/tags/create.blade.php
Normal file
12
resources/views/tags/create.blade.php
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
@extends('app')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
{!! Form::open(array('route' => 'tags.store', 'id' => 'itemform', 'files' => true, 'method'=>'POST')) !!}
|
||||||
|
@include('tags.form')
|
||||||
|
{!! Form::close() !!}
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
@section('scripts')
|
||||||
|
@include('tags.scripts')
|
||||||
|
@endsection
|
12
resources/views/tags/edit.blade.php
Normal file
12
resources/views/tags/edit.blade.php
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
@extends('app')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
{!! Form::model($item, ['method' => 'PATCH', 'id' => 'itemform', 'files' => true, 'route' => ['tags.update', $item->id]]) !!}
|
||||||
|
@include('tags.form')
|
||||||
|
{!! Form::close() !!}
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
@section('scripts')
|
||||||
|
@include('tags.scripts')
|
||||||
|
@endsection
|
76
resources/views/tags/form.blade.php
Normal file
76
resources/views/tags/form.blade.php
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
<section class="module-container">
|
||||||
|
<header>
|
||||||
|
<div class="section-title">{{ __('app.apps.add_tag') }}</div>
|
||||||
|
<div class="module-actions">
|
||||||
|
<button type="submit"class="button"><i class="fa fa-save"></i><span>{{ __('app.buttons.save') }}</span></button>
|
||||||
|
<a href="{{ route('tags.index') }}" class="button"><i class="fa fa-ban"></i><span>{{ __('app.buttons.cancel') }}</span></a>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div id="create" class="create">
|
||||||
|
{!! csrf_field() !!}
|
||||||
|
|
||||||
|
<div class="input">
|
||||||
|
<label>{{ __('app.apps.tag_name') }} *</label>
|
||||||
|
{!! Form::text('title', null, array('placeholder' => __('app.apps.title'), 'id' => 'appname', 'class' => 'form-control')) !!}
|
||||||
|
<hr />
|
||||||
|
<label>{{ __('app.apps.pinned') }}</label>
|
||||||
|
{!! Form::hidden('pinned', '0') !!}
|
||||||
|
<label class="switch">
|
||||||
|
<?php
|
||||||
|
$checked = false;
|
||||||
|
if(isset($item->pinned) && (bool)$item->pinned === true) $checked = true;
|
||||||
|
$set_checked = ($checked) ? ' checked="checked"' : '';
|
||||||
|
?>
|
||||||
|
<input type="checkbox" name="pinned" value="1"<?php echo $set_checked;?> />
|
||||||
|
<span class="slider round"></span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="input">
|
||||||
|
<label>{{ __('app.apps.colour') }} *</label>
|
||||||
|
{!! Form::text('colour', null, array('placeholder' => __('app.apps.hex'),'class' => 'form-control color-picker')) !!}
|
||||||
|
<hr />
|
||||||
|
</div>
|
||||||
|
<div class="input">
|
||||||
|
<label>{{ __('app.apps.icon') }}</label>
|
||||||
|
<div class="icon-container">
|
||||||
|
<div id="appimage">
|
||||||
|
@if(isset($item->icon) && !empty($item->icon) || old('icon'))
|
||||||
|
<?php
|
||||||
|
if(isset($item->icon)) $icon = $item->icon;
|
||||||
|
else $icon = old('icon');
|
||||||
|
?>
|
||||||
|
<img src="{{ asset('storage/'.$icon) }}" />
|
||||||
|
{!! Form::hidden('icon', $icon, ['class' => 'form-control']) !!}
|
||||||
|
@else
|
||||||
|
<img src="/img/heimdall-icon-small.png" />
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
<div class="upload-btn-wrapper">
|
||||||
|
<button class="btn">{{ __('app.buttons.upload')}} </button>
|
||||||
|
<input type="file" id="upload" name="file" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@if(isset($item) && isset($item->config->view))
|
||||||
|
<div id="sapconfig" style="display: block;">
|
||||||
|
@if(isset($item))
|
||||||
|
@include('supportedapps.'.$item->config->view)
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
<div id="sapconfig"></div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<div class="section-title"> </div>
|
||||||
|
<div class="module-actions">
|
||||||
|
<button type="submit"class="button"><i class="fa fa-save"></i><span>{{ __('app.buttons.save') }}</span></button>
|
||||||
|
<a href="{{ route('tags.index') }}" class="button"><i class="fa fa-ban"></i><span>{{ __('app.buttons.cancel') }}</span></a>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
56
resources/views/tags/list.blade.php
Normal file
56
resources/views/tags/list.blade.php
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
@extends('app')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<section class="module-container">
|
||||||
|
<header>
|
||||||
|
<div class="section-title">
|
||||||
|
{{ __('app.apps.tag_list') }}
|
||||||
|
@if( isset($trash) && $trash->count() > 0 )
|
||||||
|
<a class="trashed" href="{{ route('tags.index', ['trash' => true]) }}">{{ __('app.apps.view_trash') }} ({{ $trash->count() }})</a>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="module-actions">
|
||||||
|
<a href="{{ route('tags.create') }}" title="" class="button"><i class="fa fa-plus"></i><span>{{ __('app.buttons.add') }}</span></a>
|
||||||
|
<a href="{{ route('dash') }}" class="button"><i class="fa fa-ban"></i><span>{{ __('app.buttons.cancel') }}</span></a>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{ __('app.title') }}</th>
|
||||||
|
<th>{{ __('app.url') }}</th>
|
||||||
|
<th class="text-center" width="100">{{ __('app.settings.edit') }}</th>
|
||||||
|
<th class="text-center" width="100">{{ __('app.delete') }}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@if($apps->first())
|
||||||
|
@foreach($apps as $app)
|
||||||
|
<tr>
|
||||||
|
<td>{{ $app->title }}</td>
|
||||||
|
<td><a{{ $app->target }} href="{{ $app->url }}">{{ $app->link }}</a></td>
|
||||||
|
<td class="text-center"><a href="{!! route('tags.edit', $app->id) !!}" title="{{ __('app.settings.edit') }} {!! $app->title !!}"><i class="fas fa-edit"></i></a></td>
|
||||||
|
<td class="text-center">
|
||||||
|
{!! Form::open(['method' => 'DELETE','route' => ['tags.destroy', $app->id],'style'=>'display:inline']) !!}
|
||||||
|
<button class="link" type="submit"><i class="fa fa-trash-alt"></i></button>
|
||||||
|
{!! Form::close() !!}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@else
|
||||||
|
<tr>
|
||||||
|
<td colspan="4" class="form-error text-center">
|
||||||
|
<strong>{{ __('app.settings.no_items') }}</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
@endsection
|
34
resources/views/tags/scripts.blade.php
Normal file
34
resources/views/tags/scripts.blade.php
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
<script>
|
||||||
|
$( function() {
|
||||||
|
|
||||||
|
var elem = $('.color-picker')[0];
|
||||||
|
var hueb = new Huebee( elem, {
|
||||||
|
// options
|
||||||
|
});
|
||||||
|
|
||||||
|
var availableTags = [
|
||||||
|
<?php
|
||||||
|
$supported = App\Item::supportedOptions();
|
||||||
|
foreach($supported as $sapp) {
|
||||||
|
echo '"'.$sapp.'",';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
];
|
||||||
|
$( "#appname" ).autocomplete({
|
||||||
|
source: availableTags,
|
||||||
|
select: function( event, ui ) {
|
||||||
|
$.post('/appload', { app: ui.item.value }, function(data) {
|
||||||
|
$('#appimage').html("<img src='/storage/"+data.icon+"' /><input type='hidden' name='icon' value='"+data.icon+"' />");
|
||||||
|
$('input[name=colour]').val(data.colour);
|
||||||
|
hueb.setColor( data.colour );
|
||||||
|
$('input[name=pinned]').prop('checked', true);
|
||||||
|
if(data.config != null) {
|
||||||
|
$.get('/view/'+data.config, function(getdata) {
|
||||||
|
$('#sapconfig').html(getdata).show();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, "json");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
52
resources/views/tags/trash.blade.php
Normal file
52
resources/views/tags/trash.blade.php
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
@extends('app')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<section class="module-container">
|
||||||
|
<header>
|
||||||
|
<div class="section-title">
|
||||||
|
Showing Deleted Applications
|
||||||
|
</div>
|
||||||
|
<div class="module-actions">
|
||||||
|
<a href="{{ route('tags.index') }}" title="" class="button"><i class="fa fa-ban"></i><span>{{ __('app.buttons.cancel') }}</span></a>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{ __('app.title') }}</th>
|
||||||
|
<th>Url</th>
|
||||||
|
<th class="text-center" width="100">{{ __('app.restore') }}</th>
|
||||||
|
<th class="text-center" width="100">{{ __('app.delete') }}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@if($trash->first())
|
||||||
|
@foreach($trash as $app)
|
||||||
|
<tr>
|
||||||
|
<td>{{ $app->title }}</td>
|
||||||
|
<td>{{ __('app.url') }}</td>
|
||||||
|
<td class="text-center"><a href="{!! route('tags.restore', $app->id) !!}" title="{{ __('app.restore') }} {!! $app->title !!}"><i class="fas fa-undo"></i></a></td>
|
||||||
|
<td class="text-center">
|
||||||
|
{!! Form::open(['method' => 'DELETE','route' => ['tags.destroy', $app->id],'style'=>'display:inline']) !!}
|
||||||
|
<input type="hidden" name="force" value="1" />
|
||||||
|
<button type="submit"><i class="fa fa-trash-alt"></i></button>
|
||||||
|
{!! Form::close() !!}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@else
|
||||||
|
<tr>
|
||||||
|
<td colspan="5" class="form-error text-center">
|
||||||
|
<strong>{{ __('app.settings.no_items') }}</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
@endsection
|
|
@ -15,7 +15,13 @@ Route::get('/', 'ItemController@dash')->name('dash');
|
||||||
|
|
||||||
Route::resources([
|
Route::resources([
|
||||||
'items' => 'ItemController',
|
'items' => 'ItemController',
|
||||||
|
'tags' => 'TagController',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
Route::get('tag/{slug}', 'TagController@show')->name('tags.show');
|
||||||
|
Route::get('tag/add/{tag}/{item}', 'TagController@add')->name('tags.add');
|
||||||
|
|
||||||
|
|
||||||
Route::get('items/pin/{id}', 'ItemController@pin')->name('items.pin');
|
Route::get('items/pin/{id}', 'ItemController@pin')->name('items.pin');
|
||||||
Route::get('items/restore/{id}', 'ItemController@restore')->name('items.restore');
|
Route::get('items/restore/{id}', 'ItemController@restore')->name('items.restore');
|
||||||
Route::get('items/unpin/{id}', 'ItemController@unpin')->name('items.unpin');
|
Route::get('items/unpin/{id}', 'ItemController@unpin')->name('items.unpin');
|
||||||
|
|
22
vendor/composer/autoload_classmap.php
vendored
22
vendor/composer/autoload_classmap.php
vendored
|
@ -15,6 +15,7 @@ return array(
|
||||||
'App\\Http\\Controllers\\Controller' => $baseDir . '/app/Http/Controllers/Controller.php',
|
'App\\Http\\Controllers\\Controller' => $baseDir . '/app/Http/Controllers/Controller.php',
|
||||||
'App\\Http\\Controllers\\ItemController' => $baseDir . '/app/Http/Controllers/ItemController.php',
|
'App\\Http\\Controllers\\ItemController' => $baseDir . '/app/Http/Controllers/ItemController.php',
|
||||||
'App\\Http\\Controllers\\SettingsController' => $baseDir . '/app/Http/Controllers/SettingsController.php',
|
'App\\Http\\Controllers\\SettingsController' => $baseDir . '/app/Http/Controllers/SettingsController.php',
|
||||||
|
'App\\Http\\Controllers\\TagController' => $baseDir . '/app/Http/Controllers/TagController.php',
|
||||||
'App\\Http\\Kernel' => $baseDir . '/app/Http/Kernel.php',
|
'App\\Http\\Kernel' => $baseDir . '/app/Http/Kernel.php',
|
||||||
'App\\Http\\Middleware\\EncryptCookies' => $baseDir . '/app/Http/Middleware/EncryptCookies.php',
|
'App\\Http\\Middleware\\EncryptCookies' => $baseDir . '/app/Http/Middleware/EncryptCookies.php',
|
||||||
'App\\Http\\Middleware\\RedirectIfAuthenticated' => $baseDir . '/app/Http/Middleware/RedirectIfAuthenticated.php',
|
'App\\Http\\Middleware\\RedirectIfAuthenticated' => $baseDir . '/app/Http/Middleware/RedirectIfAuthenticated.php',
|
||||||
|
@ -31,14 +32,35 @@ return array(
|
||||||
'App\\SettingGroup' => $baseDir . '/app/SettingGroup.php',
|
'App\\SettingGroup' => $baseDir . '/app/SettingGroup.php',
|
||||||
'App\\SupportedApps\\Contracts\\Applications' => $baseDir . '/app/SupportedApps/Contracts/Applications.php',
|
'App\\SupportedApps\\Contracts\\Applications' => $baseDir . '/app/SupportedApps/Contracts/Applications.php',
|
||||||
'App\\SupportedApps\\Contracts\\Livestats' => $baseDir . '/app/SupportedApps/Contracts/Livestats.php',
|
'App\\SupportedApps\\Contracts\\Livestats' => $baseDir . '/app/SupportedApps/Contracts/Livestats.php',
|
||||||
|
'App\\SupportedApps\\Deluge' => $baseDir . '/app/SupportedApps/Deluge.php',
|
||||||
'App\\SupportedApps\\Duplicati' => $baseDir . '/app/SupportedApps/Duplicati.php',
|
'App\\SupportedApps\\Duplicati' => $baseDir . '/app/SupportedApps/Duplicati.php',
|
||||||
'App\\SupportedApps\\Emby' => $baseDir . '/app/SupportedApps/Emby.php',
|
'App\\SupportedApps\\Emby' => $baseDir . '/app/SupportedApps/Emby.php',
|
||||||
|
'App\\SupportedApps\\HomeAssistant' => $baseDir . '/app/SupportedApps/HomeAssistant.php',
|
||||||
|
'App\\SupportedApps\\Jackett' => $baseDir . '/app/SupportedApps/Jackett.php',
|
||||||
|
'App\\SupportedApps\\Jdownloader' => $baseDir . '/app/SupportedApps/Jdownloader.php',
|
||||||
|
'App\\SupportedApps\\Lidarr' => $baseDir . '/app/SupportedApps/Lidarr.php',
|
||||||
|
'App\\SupportedApps\\Mcmyadmin' => $baseDir . '/app/SupportedApps/Mcmyadmin.php',
|
||||||
|
'App\\SupportedApps\\Medusa' => $baseDir . '/app/SupportedApps/Medusa.php',
|
||||||
|
'App\\SupportedApps\\Netdata' => $baseDir . '/app/SupportedApps/Netdata.php',
|
||||||
|
'App\\SupportedApps\\Nextcloud' => $baseDir . '/app/SupportedApps/Nextcloud.php',
|
||||||
'App\\SupportedApps\\Nzbget' => $baseDir . '/app/SupportedApps/Nzbget.php',
|
'App\\SupportedApps\\Nzbget' => $baseDir . '/app/SupportedApps/Nzbget.php',
|
||||||
|
'App\\SupportedApps\\Nzbhydra' => $baseDir . '/app/SupportedApps/Nzbhydra.php',
|
||||||
|
'App\\SupportedApps\\Openhab' => $baseDir . '/app/SupportedApps/Openhab.php',
|
||||||
|
'App\\SupportedApps\\Opnsense' => $baseDir . '/app/SupportedApps/Opnsense.php',
|
||||||
'App\\SupportedApps\\Pfsense' => $baseDir . '/app/SupportedApps/Pfsense.php',
|
'App\\SupportedApps\\Pfsense' => $baseDir . '/app/SupportedApps/Pfsense.php',
|
||||||
'App\\SupportedApps\\Pihole' => $baseDir . '/app/SupportedApps/Pihole.php',
|
'App\\SupportedApps\\Pihole' => $baseDir . '/app/SupportedApps/Pihole.php',
|
||||||
'App\\SupportedApps\\Plex' => $baseDir . '/app/SupportedApps/Plex.php',
|
'App\\SupportedApps\\Plex' => $baseDir . '/app/SupportedApps/Plex.php',
|
||||||
|
'App\\SupportedApps\\Plexpy' => $baseDir . '/app/SupportedApps/Plexpy.php',
|
||||||
|
'App\\SupportedApps\\Plexrequests' => $baseDir . '/app/SupportedApps/Plexrequests.php',
|
||||||
'App\\SupportedApps\\Portainer' => $baseDir . '/app/SupportedApps/Portainer.php',
|
'App\\SupportedApps\\Portainer' => $baseDir . '/app/SupportedApps/Portainer.php',
|
||||||
|
'App\\SupportedApps\\Proxmox' => $baseDir . '/app/SupportedApps/Proxmox.php',
|
||||||
|
'App\\SupportedApps\\Radarr' => $baseDir . '/app/SupportedApps/Radarr.php',
|
||||||
|
'App\\SupportedApps\\Sabnzbd' => $baseDir . '/app/SupportedApps/Sabnzbd.php',
|
||||||
|
'App\\SupportedApps\\Sonarr' => $baseDir . '/app/SupportedApps/Sonarr.php',
|
||||||
|
'App\\SupportedApps\\Traefik' => $baseDir . '/app/SupportedApps/Traefik.php',
|
||||||
|
'App\\SupportedApps\\Ttrss' => $baseDir . '/app/SupportedApps/Ttrss.php',
|
||||||
'App\\SupportedApps\\Unifi' => $baseDir . '/app/SupportedApps/Unifi.php',
|
'App\\SupportedApps\\Unifi' => $baseDir . '/app/SupportedApps/Unifi.php',
|
||||||
|
'App\\SupportedApps\\ruTorrent' => $baseDir . '/app/SupportedApps/ruTorrent.php',
|
||||||
'App\\User' => $baseDir . '/app/User.php',
|
'App\\User' => $baseDir . '/app/User.php',
|
||||||
'ArithmeticError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php',
|
'ArithmeticError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php',
|
||||||
'AssertionError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
|
'AssertionError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
|
||||||
|
|
22
vendor/composer/autoload_static.php
vendored
22
vendor/composer/autoload_static.php
vendored
|
@ -353,6 +353,7 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
||||||
'App\\Http\\Controllers\\Controller' => __DIR__ . '/../..' . '/app/Http/Controllers/Controller.php',
|
'App\\Http\\Controllers\\Controller' => __DIR__ . '/../..' . '/app/Http/Controllers/Controller.php',
|
||||||
'App\\Http\\Controllers\\ItemController' => __DIR__ . '/../..' . '/app/Http/Controllers/ItemController.php',
|
'App\\Http\\Controllers\\ItemController' => __DIR__ . '/../..' . '/app/Http/Controllers/ItemController.php',
|
||||||
'App\\Http\\Controllers\\SettingsController' => __DIR__ . '/../..' . '/app/Http/Controllers/SettingsController.php',
|
'App\\Http\\Controllers\\SettingsController' => __DIR__ . '/../..' . '/app/Http/Controllers/SettingsController.php',
|
||||||
|
'App\\Http\\Controllers\\TagController' => __DIR__ . '/../..' . '/app/Http/Controllers/TagController.php',
|
||||||
'App\\Http\\Kernel' => __DIR__ . '/../..' . '/app/Http/Kernel.php',
|
'App\\Http\\Kernel' => __DIR__ . '/../..' . '/app/Http/Kernel.php',
|
||||||
'App\\Http\\Middleware\\EncryptCookies' => __DIR__ . '/../..' . '/app/Http/Middleware/EncryptCookies.php',
|
'App\\Http\\Middleware\\EncryptCookies' => __DIR__ . '/../..' . '/app/Http/Middleware/EncryptCookies.php',
|
||||||
'App\\Http\\Middleware\\RedirectIfAuthenticated' => __DIR__ . '/../..' . '/app/Http/Middleware/RedirectIfAuthenticated.php',
|
'App\\Http\\Middleware\\RedirectIfAuthenticated' => __DIR__ . '/../..' . '/app/Http/Middleware/RedirectIfAuthenticated.php',
|
||||||
|
@ -369,14 +370,35 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
||||||
'App\\SettingGroup' => __DIR__ . '/../..' . '/app/SettingGroup.php',
|
'App\\SettingGroup' => __DIR__ . '/../..' . '/app/SettingGroup.php',
|
||||||
'App\\SupportedApps\\Contracts\\Applications' => __DIR__ . '/../..' . '/app/SupportedApps/Contracts/Applications.php',
|
'App\\SupportedApps\\Contracts\\Applications' => __DIR__ . '/../..' . '/app/SupportedApps/Contracts/Applications.php',
|
||||||
'App\\SupportedApps\\Contracts\\Livestats' => __DIR__ . '/../..' . '/app/SupportedApps/Contracts/Livestats.php',
|
'App\\SupportedApps\\Contracts\\Livestats' => __DIR__ . '/../..' . '/app/SupportedApps/Contracts/Livestats.php',
|
||||||
|
'App\\SupportedApps\\Deluge' => __DIR__ . '/../..' . '/app/SupportedApps/Deluge.php',
|
||||||
'App\\SupportedApps\\Duplicati' => __DIR__ . '/../..' . '/app/SupportedApps/Duplicati.php',
|
'App\\SupportedApps\\Duplicati' => __DIR__ . '/../..' . '/app/SupportedApps/Duplicati.php',
|
||||||
'App\\SupportedApps\\Emby' => __DIR__ . '/../..' . '/app/SupportedApps/Emby.php',
|
'App\\SupportedApps\\Emby' => __DIR__ . '/../..' . '/app/SupportedApps/Emby.php',
|
||||||
|
'App\\SupportedApps\\HomeAssistant' => __DIR__ . '/../..' . '/app/SupportedApps/HomeAssistant.php',
|
||||||
|
'App\\SupportedApps\\Jackett' => __DIR__ . '/../..' . '/app/SupportedApps/Jackett.php',
|
||||||
|
'App\\SupportedApps\\Jdownloader' => __DIR__ . '/../..' . '/app/SupportedApps/Jdownloader.php',
|
||||||
|
'App\\SupportedApps\\Lidarr' => __DIR__ . '/../..' . '/app/SupportedApps/Lidarr.php',
|
||||||
|
'App\\SupportedApps\\Mcmyadmin' => __DIR__ . '/../..' . '/app/SupportedApps/Mcmyadmin.php',
|
||||||
|
'App\\SupportedApps\\Medusa' => __DIR__ . '/../..' . '/app/SupportedApps/Medusa.php',
|
||||||
|
'App\\SupportedApps\\Netdata' => __DIR__ . '/../..' . '/app/SupportedApps/Netdata.php',
|
||||||
|
'App\\SupportedApps\\Nextcloud' => __DIR__ . '/../..' . '/app/SupportedApps/Nextcloud.php',
|
||||||
'App\\SupportedApps\\Nzbget' => __DIR__ . '/../..' . '/app/SupportedApps/Nzbget.php',
|
'App\\SupportedApps\\Nzbget' => __DIR__ . '/../..' . '/app/SupportedApps/Nzbget.php',
|
||||||
|
'App\\SupportedApps\\Nzbhydra' => __DIR__ . '/../..' . '/app/SupportedApps/Nzbhydra.php',
|
||||||
|
'App\\SupportedApps\\Openhab' => __DIR__ . '/../..' . '/app/SupportedApps/Openhab.php',
|
||||||
|
'App\\SupportedApps\\Opnsense' => __DIR__ . '/../..' . '/app/SupportedApps/Opnsense.php',
|
||||||
'App\\SupportedApps\\Pfsense' => __DIR__ . '/../..' . '/app/SupportedApps/Pfsense.php',
|
'App\\SupportedApps\\Pfsense' => __DIR__ . '/../..' . '/app/SupportedApps/Pfsense.php',
|
||||||
'App\\SupportedApps\\Pihole' => __DIR__ . '/../..' . '/app/SupportedApps/Pihole.php',
|
'App\\SupportedApps\\Pihole' => __DIR__ . '/../..' . '/app/SupportedApps/Pihole.php',
|
||||||
'App\\SupportedApps\\Plex' => __DIR__ . '/../..' . '/app/SupportedApps/Plex.php',
|
'App\\SupportedApps\\Plex' => __DIR__ . '/../..' . '/app/SupportedApps/Plex.php',
|
||||||
|
'App\\SupportedApps\\Plexpy' => __DIR__ . '/../..' . '/app/SupportedApps/Plexpy.php',
|
||||||
|
'App\\SupportedApps\\Plexrequests' => __DIR__ . '/../..' . '/app/SupportedApps/Plexrequests.php',
|
||||||
'App\\SupportedApps\\Portainer' => __DIR__ . '/../..' . '/app/SupportedApps/Portainer.php',
|
'App\\SupportedApps\\Portainer' => __DIR__ . '/../..' . '/app/SupportedApps/Portainer.php',
|
||||||
|
'App\\SupportedApps\\Proxmox' => __DIR__ . '/../..' . '/app/SupportedApps/Proxmox.php',
|
||||||
|
'App\\SupportedApps\\Radarr' => __DIR__ . '/../..' . '/app/SupportedApps/Radarr.php',
|
||||||
|
'App\\SupportedApps\\Sabnzbd' => __DIR__ . '/../..' . '/app/SupportedApps/Sabnzbd.php',
|
||||||
|
'App\\SupportedApps\\Sonarr' => __DIR__ . '/../..' . '/app/SupportedApps/Sonarr.php',
|
||||||
|
'App\\SupportedApps\\Traefik' => __DIR__ . '/../..' . '/app/SupportedApps/Traefik.php',
|
||||||
|
'App\\SupportedApps\\Ttrss' => __DIR__ . '/../..' . '/app/SupportedApps/Ttrss.php',
|
||||||
'App\\SupportedApps\\Unifi' => __DIR__ . '/../..' . '/app/SupportedApps/Unifi.php',
|
'App\\SupportedApps\\Unifi' => __DIR__ . '/../..' . '/app/SupportedApps/Unifi.php',
|
||||||
|
'App\\SupportedApps\\ruTorrent' => __DIR__ . '/../..' . '/app/SupportedApps/ruTorrent.php',
|
||||||
'App\\User' => __DIR__ . '/../..' . '/app/User.php',
|
'App\\User' => __DIR__ . '/../..' . '/app/User.php',
|
||||||
'ArithmeticError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php',
|
'ArithmeticError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php',
|
||||||
'AssertionError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
|
'AssertionError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
|
||||||
|
|
|
@ -1055,10 +1055,10 @@ class FormBuilder
|
||||||
protected function getRouteAction($options)
|
protected function getRouteAction($options)
|
||||||
{
|
{
|
||||||
if (is_array($options)) {
|
if (is_array($options)) {
|
||||||
return $this->url->route($options[0], array_slice($options, 1));
|
return $this->url->route($options[0], array_slice($options, 1), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->url->route($options);
|
return $this->url->route($options, [], false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue