Merge branch 'release/0.5.9'
This commit is contained in:
commit
09c718e69d
55 changed files with 561 additions and 7414 deletions
|
@ -67,15 +67,13 @@ class PlacesController extends Controller
|
|||
{
|
||||
$place = Place::findOrFail($placeId);
|
||||
|
||||
$latitude = $place->getLatitude();
|
||||
$longitude = $place->getLongitude();
|
||||
|
||||
return view('admin.places.edit', [
|
||||
'id' => $placeId,
|
||||
'name' => $place->name,
|
||||
'description' => $place->description,
|
||||
'latitude' => $latitude,
|
||||
'longitude' => $longitude,
|
||||
'latitude' => $place->latitude,
|
||||
'longitude' => $place->longitude,
|
||||
'icon' => $place->icon ?? 'marker',
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -92,8 +90,60 @@ class PlacesController extends Controller
|
|||
$place->name = $request->name;
|
||||
$place->description = $request->description;
|
||||
$place->location = new Point((float) $request->latitude, (float) $request->longitude);
|
||||
$place->icon = $request->icon;
|
||||
$place->save();
|
||||
|
||||
return redirect('/admin/places');
|
||||
}
|
||||
|
||||
/**
|
||||
* List the places we can merge with the current place.
|
||||
*
|
||||
* @param string Place id
|
||||
* @return Illuminate\View\Factory view
|
||||
*/
|
||||
public function mergeIndex($placeId)
|
||||
{
|
||||
$first = Place::find($placeId);
|
||||
$results = Place::near(new Point($first->latitude, $first->longitude))->get();
|
||||
$places = [];
|
||||
foreach ($results as $place) {
|
||||
if ($place->slug !== $first->slug) {
|
||||
$places[] = $place;
|
||||
}
|
||||
}
|
||||
|
||||
return view('admin.places.merge.index', compact('first', 'places'));
|
||||
}
|
||||
|
||||
public function mergeEdit($place1_id, $place2_id)
|
||||
{
|
||||
$place1 = Place::find($place1_id);
|
||||
$place2 = Place::find($place2_id);
|
||||
|
||||
return view('admin.places.merge.edit', compact('place1', 'place2'));
|
||||
}
|
||||
|
||||
public function mergeStore(Request $request)
|
||||
{
|
||||
$place1 = Place::find($request->input('place1'));
|
||||
$place2 = Place::find($request->input('place2'));
|
||||
|
||||
if ($request->input('delete') === '1') {
|
||||
foreach ($place1->notes as $note) {
|
||||
$note->place()->dissociate();
|
||||
$note->place()->associate($place2->id);
|
||||
}
|
||||
$place1->delete();
|
||||
}
|
||||
if ($request->input('delete') === '2') {
|
||||
foreach ($place2->notes as $note) {
|
||||
$note->place()->dissociate();
|
||||
$note->place()->associate($place1->id);
|
||||
}
|
||||
$place2->delete();
|
||||
}
|
||||
|
||||
return redirect('/admin/places');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ use Ramsey\Uuid\Uuid;
|
|||
use App\{Media, Note, Place};
|
||||
use Illuminate\Http\{Request, Response};
|
||||
use App\Exceptions\InvalidTokenException;
|
||||
use Phaza\LaravelPostgis\Geometries\Point;
|
||||
use Ramsey\Uuid\Exception\UnsatisfiedDependencyException;
|
||||
use App\Services\{NoteService, PlaceService, TokenService};
|
||||
|
||||
|
@ -313,7 +314,7 @@ class MicropubController extends Controller
|
|||
$matches
|
||||
);
|
||||
$distance = (count($matches[0]) == 3) ? 100 * $matches[0][2] : 1000;
|
||||
$places = Place::near($matches[0][0], $matches[0][1], $distance);
|
||||
$places = Place::near(new Point($matches[0][0], $matches[0][1]))->get();
|
||||
foreach ($places as $place) {
|
||||
$place->uri = config('app.url') . '/places/' . $place->slug;
|
||||
}
|
||||
|
|
|
@ -356,15 +356,18 @@ class NotesController extends Controller
|
|||
$icon = $icon ?? 'marker';
|
||||
|
||||
return '{
|
||||
"type": "Feature",
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [' . $longitude . ', ' . $latitude . ']
|
||||
},
|
||||
"properties": {
|
||||
"title": "' . $title . '",
|
||||
"icon": "' . $icon . '"
|
||||
}
|
||||
"type": "FeatureCollection",
|
||||
"features": [{
|
||||
"type": "Feature",
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [' . $longitude . ', ' . $latitude . ']
|
||||
},
|
||||
"properties": {
|
||||
"title": "' . $title . '",
|
||||
"icon": "' . $icon . '"
|
||||
}
|
||||
}]
|
||||
}';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ namespace App;
|
|||
|
||||
use DB;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Phaza\LaravelPostgis\Geometries\Point;
|
||||
use MartinBean\Database\Eloquent\Sluggable;
|
||||
use Phaza\LaravelPostgis\Eloquent\PostgisTrait;
|
||||
|
||||
|
@ -45,33 +47,23 @@ class Place extends Model
|
|||
}
|
||||
|
||||
/**
|
||||
* Get all places within a specified distance.
|
||||
* Select places near a given location.
|
||||
*
|
||||
* @param float latitude
|
||||
* @param float longitude
|
||||
* @param int maximum distance
|
||||
* @todo Check this shit.
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
* @param Point $point
|
||||
* @param int Distance
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public static function near(float $lat, float $lng, int $distance)
|
||||
public function scopeNear(Builder $query, Point $point, $distance = 1000)
|
||||
{
|
||||
$point = $lng . ' ' . $lat;
|
||||
$distace = $distance ?? 1000;
|
||||
$places = DB::select(DB::raw("select
|
||||
name,
|
||||
slug,
|
||||
ST_AsText(location) AS location,
|
||||
ST_Distance(
|
||||
ST_GeogFromText('SRID=4326;POINT($point)'),
|
||||
location
|
||||
) AS distance
|
||||
from places
|
||||
where ST_DWithin(
|
||||
ST_GeogFromText('SRID=4326;POINT($point)'),
|
||||
location,
|
||||
$distance
|
||||
) ORDER BY distance"));
|
||||
$field = DB::raw(
|
||||
sprintf("ST_Distance(%s.location, ST_GeogFromText('%s'))",
|
||||
$this->getTable(),
|
||||
$point->toWKT()
|
||||
)
|
||||
);
|
||||
|
||||
return $places;
|
||||
return $query->where($field, '<=', $distance)->orderBy($field);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
# Changelog
|
||||
|
||||
## Version 0.5.9 (2017-05-31)
|
||||
- Mapping improvements
|
||||
- Basic place merging
|
||||
|
||||
## Version 0.5.8 (2017-05-21)
|
||||
- Hotfix: if Carbon can’t parse the supplied published date of a webmention, use the Model’s `updated_at` value
|
||||
|
||||
|
|
54
composer.lock
generated
54
composer.lock
generated
|
@ -8,16 +8,16 @@
|
|||
"packages": [
|
||||
{
|
||||
"name": "aws/aws-sdk-php",
|
||||
"version": "3.27.2",
|
||||
"version": "3.28.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/aws/aws-sdk-php.git",
|
||||
"reference": "eb10e43cccf8e868f9622ab8ce2beb9fb756b5a8"
|
||||
"reference": "af653f256d99ff372ce3e3be3048e7e5373ab1bc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/eb10e43cccf8e868f9622ab8ce2beb9fb756b5a8",
|
||||
"reference": "eb10e43cccf8e868f9622ab8ce2beb9fb756b5a8",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/af653f256d99ff372ce3e3be3048e7e5373ab1bc",
|
||||
"reference": "af653f256d99ff372ce3e3be3048e7e5373ab1bc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -84,7 +84,7 @@
|
|||
"s3",
|
||||
"sdk"
|
||||
],
|
||||
"time": "2017-05-11T21:23:43+00:00"
|
||||
"time": "2017-05-18T20:44:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "barnabywalters/mf-cleaner",
|
||||
|
@ -1593,16 +1593,16 @@
|
|||
},
|
||||
{
|
||||
"name": "laravel/scout",
|
||||
"version": "v3.0.3",
|
||||
"version": "v3.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/scout.git",
|
||||
"reference": "64d28db58a054174eadf1d4df38dad81ff7e68dd"
|
||||
"reference": "c822eaff08929439879407ffa27de7966f3c5926"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/scout/zipball/64d28db58a054174eadf1d4df38dad81ff7e68dd",
|
||||
"reference": "64d28db58a054174eadf1d4df38dad81ff7e68dd",
|
||||
"url": "https://api.github.com/repos/laravel/scout/zipball/c822eaff08929439879407ffa27de7966f3c5926",
|
||||
"reference": "c822eaff08929439879407ffa27de7966f3c5926",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1649,7 +1649,7 @@
|
|||
"laravel",
|
||||
"search"
|
||||
],
|
||||
"time": "2017-04-09T00:54:26+00:00"
|
||||
"time": "2017-05-09T12:31:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/tinker",
|
||||
|
@ -2392,16 +2392,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phaza/laravel-postgis",
|
||||
"version": "3.1.1",
|
||||
"version": "3.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/njbarrett/laravel-postgis.git",
|
||||
"reference": "5af1d261b400b803be2299ed59d3b38c2d82e550"
|
||||
"reference": "f20044a05d52ba45feb6ae356eb54f65b167e504"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/njbarrett/laravel-postgis/zipball/5af1d261b400b803be2299ed59d3b38c2d82e550",
|
||||
"reference": "5af1d261b400b803be2299ed59d3b38c2d82e550",
|
||||
"url": "https://api.github.com/repos/njbarrett/laravel-postgis/zipball/f20044a05d52ba45feb6ae356eb54f65b167e504",
|
||||
"reference": "f20044a05d52ba45feb6ae356eb54f65b167e504",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2438,7 +2438,7 @@
|
|||
}
|
||||
],
|
||||
"description": "Postgis extensions for laravel. Aims to make it easy to work with geometries from laravel models",
|
||||
"time": "2017-01-16T08:04:22+00:00"
|
||||
"time": "2017-05-21T06:19:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pmatseykanets/laravel-scout-postgres",
|
||||
|
@ -2644,16 +2644,16 @@
|
|||
},
|
||||
{
|
||||
"name": "psy/psysh",
|
||||
"version": "v0.8.3",
|
||||
"version": "v0.8.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/bobthecow/psysh.git",
|
||||
"reference": "1dd4bbbc64d71e7ec075ffe82b42d9e096dc8d5e"
|
||||
"reference": "38a9d21406597a0440690eafbcb0222f528c8ac6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/1dd4bbbc64d71e7ec075ffe82b42d9e096dc8d5e",
|
||||
"reference": "1dd4bbbc64d71e7ec075ffe82b42d9e096dc8d5e",
|
||||
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/38a9d21406597a0440690eafbcb0222f528c8ac6",
|
||||
"reference": "38a9d21406597a0440690eafbcb0222f528c8ac6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2713,7 +2713,7 @@
|
|||
"interactive",
|
||||
"shell"
|
||||
],
|
||||
"time": "2017-03-19T21:40:44+00:00"
|
||||
"time": "2017-05-17T06:49:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ramsey/uuid",
|
||||
|
@ -5047,23 +5047,23 @@
|
|||
},
|
||||
{
|
||||
"name": "sebastian/diff",
|
||||
"version": "1.4.1",
|
||||
"version": "1.4.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/diff.git",
|
||||
"reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
|
||||
"reference": "3c7d21999e815cdfac70c6c7d79d3a9cb1bc7bc2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
|
||||
"reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3c7d21999e815cdfac70c6c7d79d3a9cb1bc7bc2",
|
||||
"reference": "3c7d21999e815cdfac70c6c7d79d3a9cb1bc7bc2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
"php": "^5.3.3 || ^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.8"
|
||||
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
@ -5095,7 +5095,7 @@
|
|||
"keywords": [
|
||||
"diff"
|
||||
],
|
||||
"time": "2015-12-08T07:14:41+00:00"
|
||||
"time": "2017-05-18T13:44:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/environment",
|
||||
|
|
|
@ -14,7 +14,7 @@ class PlacesTableSeeder extends Seeder
|
|||
DB::table('places')->insert([
|
||||
'name' => 'The Bridgewater Pub',
|
||||
'slug' => 'the-bridgewater-pub',
|
||||
'description' => 'A lovely local pub with a decent selection pf cask ales',
|
||||
'description' => 'A lovely local pub with a decent selection of cask ales',
|
||||
'location' => 'POINT(-2.3805 53.4983)',
|
||||
'created_at' => '2016-01-12 16:19:00',
|
||||
'updated_at' => '2016-01-12 16:19:00',
|
||||
|
|
19
package.json
19
package.json
|
@ -25,16 +25,19 @@
|
|||
"webpack": "^2.2.0"
|
||||
},
|
||||
"scripts": {
|
||||
"lint-staged": "lint-staged",
|
||||
"stylelint-staged": "stylelint --syntax=scss",
|
||||
"sass": "sassc --style compressed --sourcemap resources/assets/sass/app.scss public/assets/css/app.css",
|
||||
"postcss": "postcss --use autoprefixer --autoprefixer.browsers \"> 5%\" --output public/assets/css/app.css public/assets/css/app.css",
|
||||
"make:css": "npm run sass && npm run postcss",
|
||||
"compress": "./compress",
|
||||
"compress": "scripts/compress",
|
||||
"copy-dist": "cp ./node_modules/mapbox-gl/dist/mapbox-gl.css ./public/assets/frontend/ && cp ./node_modules/alertify.js/dist/css/alertify.css ./public/assets/frontend/ && cp ./node_modules/normalize.css/normalize.css ./public/assets/frontend/",
|
||||
"lint:sass": "stylelint --syntax=scss resources/assets/sass/**/*.scss",
|
||||
"lint-staged": "lint-staged",
|
||||
"lint:es6": "eslint resources/assets/es6/*.js",
|
||||
"uglifyjs": "for f in ./public/assets/js/*.js; do uglifyjs $f --screw-ie8 --in-source-map $f.map --source-map $f.map --source-map-url /assets/js/`basename $f`.map --output $f; done"
|
||||
"lint:sass": "stylelint --syntax=scss resources/assets/sass/**/*.scss",
|
||||
"make": "npm run make:css && npm run make:js",
|
||||
"make:css": "npm run lint:sass && npm run sass && npm run postcss",
|
||||
"make:js": "npm run lint:es6 && npm run webpack && npm run uglifyjs",
|
||||
"postcss": "postcss public/assets/css/app.css --use autoprefixer --autoprefixer.browsers \"> 5%\" --replace --map",
|
||||
"sass": "sassc --style compressed --sourcemap resources/assets/sass/app.scss public/assets/css/app.css",
|
||||
"stylelint-staged": "stylelint --syntax=scss",
|
||||
"uglifyjs": "scripts/uglifyjs",
|
||||
"webpack": "./node_modules/.bin/webpack --progress --colors"
|
||||
},
|
||||
"lint-staged": {
|
||||
"resources/assets/es6/*.js": "eslint",
|
||||
|
|
4
public/assets/css/app.css
vendored
4
public/assets/css/app.css
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
|
@ -1,16 +1 @@
|
|||
{
|
||||
"version": 3,
|
||||
"file": "app.css",
|
||||
"sources": [
|
||||
"../../../resources/assets/sass/app.scss",
|
||||
"../../../resources/assets/sass/layout.scss",
|
||||
"../../../resources/assets/sass/styles.scss",
|
||||
"../../../resources/assets/sass/pagination.scss",
|
||||
"../../../resources/assets/sass/note-form.scss",
|
||||
"../../../resources/assets/sass/mapbox.scss",
|
||||
"../../../resources/assets/sass/contacts.scss",
|
||||
"../../../resources/assets/sass/emoji.scss"
|
||||
],
|
||||
"names": [],
|
||||
"mappings": "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"
|
||||
}
|
||||
{"version":3,"sources":["../../../resources/assets/sass/app.scss","../../../resources/assets/sass/layout.scss","../../../resources/assets/sass/styles.scss","../../../resources/assets/sass/pagination.scss","../../../resources/assets/sass/note-form.scss","../../../resources/assets/sass/mapbox.scss","../../../resources/assets/sass/contacts.scss","../../../resources/assets/sass/emoji.scss"],"names":[],"mappings":"AAIA,KACI,8BACA,AADA,sBACA,cAAe,CAClB,qBAKG,2BAAmB,AAAnB,kBAAmB,CACtB,KCVG,eACA,cACA,iBACA,kBACA,oBAAqB,CACxB,WAGG,iBAAkB,CACrB,SAGG,gBAAiB,CACpB,MAGG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,eAGG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,gBAAiB,CACpB,UAGG,gBACA,WACA,4BAA6B,CAChC,cAGG,oBACA,AADA,oBACA,AADA,aACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,kBAGG,gBAAiB,CACpB,iBAGG,qBACA,WAAY,CACf,aAGG,eACA,yBAA0B,CAC7B,OAGG,eAAgB,CACnB,cAGG,eAAgB,CACnB,WAGG,eACA,cACA,iBAAkB,CACrB,sBAGG,cAAe,CAClB,sBAGG,iBACA,cAAe,CAClB,WAGG,kBACA,WACA,SACA,qBAAsB,CACzB,SAGG,kBACA,MACA,OACA,WACA,WAAY,CACf,KCvFG,6JAWc,CACjB,EAGG,qBACA,wBACA,UAAW,CACd,gBAGG,kBAAmB,CACtB,MAGG,WACA,UAAW,CACd,OAGG,iBACA,iBAAkB,CACrB,WAGG,kBAAmB,CACtB,UAGG,YACA,WAAY,CACf,YC1CG,WACA,YACA,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,eAGG,oBAAqB,CACxB,SCVG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,0BAGG,aACI,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,cAAe,CAClB,mBAGG,SAAU,CACb,CAGL,0BACI,mBACI,UAAW,CACd,4BAIG,UAAW,CACd,CAGL,eACI,UACA,oBACA,gBAAiB,CACpB,oDAIG,mBAAO,AAAP,WAAO,AAAP,MAAO,CACV,kBAGG,qBAAsB,CACzB,QAGG,mBAAoB,CACvB,aAGG,oBAAqB,CACxB,cAGG,WACA,SAAU,CACb,KCrDG,eACA,YAAa,CAChB,oBAGG,kBAAmB,CACtB,QAGG,y4HACA,wBACA,WACA,WAAY,CACf,UAGG,kBACA,MACA,OACA,iBACA,cAAe,CAClB,gBAGG,gBACA,gBAAiB,CACpB,SC1BG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,eACA,6BAA8B,CACjC,aAGG,oBACA,YACA,YAAa,CAChB,sDCPG,iBAAkB,CACrB,gFAIG,kBACA,cACA,UACA,aACA,OACA,cACA,qBACA,yBACA,oBACA,4CACA,AADA,oCACA,yBACA,kCACA,WACA,cACA,0CAAkC,AAAlC,iCAAkC,CACrC,2BAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,AApBC,mBAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,aACI,kCACI,kCAAmC,CACtC,CAAA","file":"app.css"}
|
44
public/assets/frontend/mapbox-gl.css
vendored
44
public/assets/frontend/mapbox-gl.css
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
40
public/assets/frontend/normalize.css
vendored
40
public/assets/frontend/normalize.css
vendored
|
@ -1,20 +1,18 @@
|
|||
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
|
||||
|
||||
/**
|
||||
* 1. Change the default font family in all browsers (opinionated).
|
||||
* 2. Correct the line height in all browsers.
|
||||
* 3. Prevent adjustments of font size after orientation changes in
|
||||
* IE on Windows Phone and in iOS.
|
||||
*/
|
||||
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
|
||||
|
||||
/* Document
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Correct the line height in all browsers.
|
||||
* 2. Prevent adjustments of font size after orientation changes in
|
||||
* IE on Windows Phone and in iOS.
|
||||
*/
|
||||
|
||||
html {
|
||||
font-family: sans-serif; /* 1 */
|
||||
line-height: 1.15; /* 2 */
|
||||
-ms-text-size-adjust: 100%; /* 3 */
|
||||
-webkit-text-size-adjust: 100%; /* 3 */
|
||||
line-height: 1.15; /* 1 */
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/* Sections
|
||||
|
@ -108,17 +106,7 @@ a {
|
|||
}
|
||||
|
||||
/**
|
||||
* Remove the outline on focused links when they are also active or hovered
|
||||
* in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline-width: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Remove the bottom border in Firefox 39-.
|
||||
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
|
||||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||
*/
|
||||
|
||||
|
@ -317,13 +305,11 @@ button:-moz-focusring,
|
|||
}
|
||||
|
||||
/**
|
||||
* Change the border, margin, and padding in all browsers (opinionated).
|
||||
* Correct the padding in Firefox.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
padding: 0.35em 0.75em 0.625em;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -3,14 +3,19 @@
|
|||
mG8EV0W04xMFK4EEACIDAwSZOjA8NdI6UvbI/Sqw8LfpckfDXMuiowrVgcANjhDr
|
||||
vQtvr0bYm7RnNlbiuwTQHQ064H3pwjJJYC12I5B6q1Is7h4PYzU4/ahtisb03U/Q
|
||||
ThDDuWxDKQq2hcyfrNI02KO0I0pvbm55IEJhcm5lcyA8am9ubnlAam9ubnliYXJu
|
||||
ZXMudWs+iJ8EExMKACcFAldFtOMCGwMFCQHhM4AFCwkIBwMFFQoJCAsFFgMCAQAC
|
||||
HgECF4AACgkQGyx2r7FshZvSrAF+KMkuQT9BQfuIABIsO0PelQazXdNTKevOXafw
|
||||
106fCYlMN0Hp4VPn5fECCa7D6jbzAX4wwSrN/4QuqMTKT8NlpncqD1wlACbfJtzT
|
||||
AUrL+SpDYdhNoXAQbd0DJ8UN12S5oMS4cwRXRbTjEgUrgQQAIgMDBHSZG2tOrrTg
|
||||
IWIDw51BHvsBVzyVGs3EU/Cju4lawgQ8E1VMdqwLg4JcC8aCb1s+CBBQ2g5Dh9QI
|
||||
2YCCxV4alhD9vrubTJ2qNysel3R8hFsrmTJZi9g9GxnqZOCIqiytkgMBCQmIhwQY
|
||||
EwoADwUCV0W04wIbDAUJAeEzgAAKCRAbLHavsWyFm5pnAYDDGoSt9oVjs8MrPNZj
|
||||
POjI5i6+rP2D7t+ceSnhYfJ6m1pn85qb4kOOsiOtf3sB4IABgIRdK3p4ir1x6ikh
|
||||
3RM9aDM/2ZzrI4t1TpPDWtkqXf9RdpGy7qG7IM9TNq1PY1EOrQ==
|
||||
=zu6v
|
||||
ZXMudWs+iLYEExMKAD4CGwMFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AWIQSEGbWh
|
||||
2ITK9LCvj7MbLHavsWyFmwUCWSgPSgUJA8ON5wAKCRAbLHavsWyFm9hAAX9ymfnT
|
||||
CUQDBqHmSR+YJ7RkNNFRdq4J1ABsvaRnpRynIE60dde1WqX62CvOkQDyY3sBgLJp
|
||||
3KCNjB9VRoHHL3Gk1X78gxntU01wP+oYotA7tJescf34oM4CfzHoz4UdUTPK3Iif
|
||||
BBMTCgAnBQJXRbTjAhsDBQkB4TOABQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJ
|
||||
EBssdq+xbIWb0qwBfijJLkE/QUH7iAASLDtD3pUGs13TUynrzl2n8NdOnwmJTDdB
|
||||
6eFT5+XxAgmuw+o28wF+MMEqzf+ELqjEyk/DZaZ3Kg9cJQAm3ybc0wFKy/kqQ2HY
|
||||
TaFwEG3dAyfFDddkuaDEuHMEV0W04xIFK4EEACIDAwR0mRtrTq604CFiA8OdQR77
|
||||
AVc8lRrNxFPwo7uJWsIEPBNVTHasC4OCXAvGgm9bPggQUNoOQ4fUCNmAgsVeGpYQ
|
||||
/b67m0ydqjcrHpd0fIRbK5kyWYvYPRsZ6mTgiKosrZIDAQkJiJ4EGBMKACYCGwwW
|
||||
IQSEGbWh2ITK9LCvj7MbLHavsWyFmwUCWSgPZQUJA8OOAgAKCRAbLHavsWyFm1fN
|
||||
AYDMf1p4GegE1FHiUZo4m4Y5iQfbxT9Nmlgaopbmq+BxJRwPMxVzJOvKXo4DiUd0
|
||||
nncBgOJUJ8esy6WGw+lUfkfvRNkhPw9CVt1GifjG4axGHGaDyDQdFdRcIeFyu0Fs
|
||||
7HsLmg==
|
||||
=sdL6
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
133
public/assets/js/links.js
vendored
133
public/assets/js/links.js
vendored
|
@ -1,133 +1,2 @@
|
|||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId])
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // identity function for calling harmony imports with the correct context
|
||||
/******/ __webpack_require__.i = function(value) { return value; };
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, {
|
||||
/******/ configurable: false,
|
||||
/******/ enumerable: true,
|
||||
/******/ get: getter
|
||||
/******/ });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 12);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ({
|
||||
|
||||
/***/ 12:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
//links.js
|
||||
|
||||
var youtubeRegex = /watch\?v=([A-Za-z0-9\-_]+)\b/;
|
||||
var spotifyRegex = /https\:\/\/play\.spotify\.com\/(.*)\b/;
|
||||
|
||||
var notes = document.querySelectorAll('.e-content');
|
||||
|
||||
var _iteratorNormalCompletion = true;
|
||||
var _didIteratorError = false;
|
||||
var _iteratorError = undefined;
|
||||
|
||||
try {
|
||||
for (var _iterator = notes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||
var note = _step.value;
|
||||
|
||||
var ytid = note.textContent.match(youtubeRegex);
|
||||
if (ytid) {
|
||||
var ytcontainer = document.createElement('div');
|
||||
ytcontainer.classList.add('container');
|
||||
var ytiframe = document.createElement('iframe');
|
||||
ytiframe.classList.add('youtube');
|
||||
ytiframe.setAttribute('src', 'https://www.youtube.com/embed/' + ytid[1]);
|
||||
ytiframe.setAttribute('frameborder', 0);
|
||||
ytiframe.setAttribute('allowfullscreen', 'true');
|
||||
ytcontainer.appendChild(ytiframe);
|
||||
note.appendChild(ytcontainer);
|
||||
}
|
||||
var spotifyid = note.textContent.match(spotifyRegex);
|
||||
if (spotifyid) {
|
||||
var sid = spotifyid[1].replace('/', ':');
|
||||
var siframe = document.createElement('iframe');
|
||||
siframe.classList.add('spotify');
|
||||
siframe.setAttribute('src', 'https://embed.spotify.com/?uri=spotify:' + sid);
|
||||
siframe.setAttribute('frameborder', 0);
|
||||
siframe.setAttribute('allowtransparency', 'true');
|
||||
note.appendChild(siframe);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
_didIteratorError = true;
|
||||
_iteratorError = err;
|
||||
} finally {
|
||||
try {
|
||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
||||
_iterator.return();
|
||||
}
|
||||
} finally {
|
||||
if (_didIteratorError) {
|
||||
throw _iteratorError;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.i=function(value){return value},__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=8)}({8:function(module,exports,__webpack_require__){"use strict";var youtubeRegex=/watch\?v=([A-Za-z0-9\-_]+)\b/,spotifyRegex=/https\:\/\/play\.spotify\.com\/(.*)\b/,notes=document.querySelectorAll(".e-content"),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=notes[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var note=_step.value,ytid=note.textContent.match(youtubeRegex);if(ytid){var ytcontainer=document.createElement("div");ytcontainer.classList.add("container");var ytiframe=document.createElement("iframe");ytiframe.classList.add("youtube"),ytiframe.setAttribute("src","https://www.youtube.com/embed/"+ytid[1]),ytiframe.setAttribute("frameborder",0),ytiframe.setAttribute("allowfullscreen","true"),ytcontainer.appendChild(ytiframe),note.appendChild(ytcontainer)}var spotifyid=note.textContent.match(spotifyRegex);if(spotifyid){var sid=spotifyid[1].replace("/",":"),siframe=document.createElement("iframe");siframe.classList.add("spotify"),siframe.setAttribute("src","https://embed.spotify.com/?uri=spotify:"+sid),siframe.setAttribute("frameborder",0),siframe.setAttribute("allowtransparency","true"),note.appendChild(siframe)}}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}});
|
||||
//# sourceMappingURL=links.js.map
|
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
2872
public/assets/js/maps.js
vendored
2872
public/assets/js/maps.js
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
4093
public/assets/js/newnote.js
vendored
4093
public/assets/js/newnote.js
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
89
public/assets/js/piwik.js
vendored
89
public/assets/js/piwik.js
vendored
|
@ -1,89 +1,2 @@
|
|||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId])
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // identity function for calling harmony imports with the correct context
|
||||
/******/ __webpack_require__.i = function(value) { return value; };
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, {
|
||||
/******/ configurable: false,
|
||||
/******/ enumerable: true,
|
||||
/******/ get: getter
|
||||
/******/ });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 18);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ({
|
||||
|
||||
/***/ 18:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
// Piwik in its own js file to allow usage with a CSP policy
|
||||
|
||||
var _paq = _paq || [];
|
||||
// tracker methods like "setCustomDimension" should be called before "trackPageView"
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
_paq.push(['setTrackerUrl', 'https://analytics.jmb.lv/piwik.php']);
|
||||
_paq.push(['setSiteId', '1']);
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.i=function(value){return value},__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=14)}({14:function(module,exports,__webpack_require__){"use strict";var _paq=_paq||[];_paq.push(["trackPageView"]),_paq.push(["enableLinkTracking"]),_paq.push(["setTrackerUrl","https://analytics.jmb.lv/piwik.php"]),_paq.push(["setSiteId","1"])}});
|
||||
//# sourceMappingURL=piwik.js.map
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
{"version":3,"sources":["webpack:///webpack/bootstrap 0d56878049caba29cc1d?60c9*","webpack:///./piwik.js"],"names":["_paq","push"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;AChEA;;AAEA,IAAIA,OAAOA,QAAQ,EAAnB;AACA;AACAA,KAAKC,IAAL,CAAU,CAAC,eAAD,CAAV;AACAD,KAAKC,IAAL,CAAU,CAAC,oBAAD,CAAV;AACAD,KAAKC,IAAL,CAAU,CAAC,eAAD,EAAkB,oCAAlB,CAAV;AACAD,KAAKC,IAAL,CAAU,CAAC,WAAD,EAAc,GAAd,CAAV,E","file":"piwik.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 18);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0d56878049caba29cc1d","// Piwik in its own js file to allow usage with a CSP policy\n\nvar _paq = _paq || [];\n// tracker methods like \"setCustomDimension\" should be called before \"trackPageView\"\n_paq.push(['trackPageView']);\n_paq.push(['enableLinkTracking']);\n_paq.push(['setTrackerUrl', 'https://analytics.jmb.lv/piwik.php']);\n_paq.push(['setSiteId', '1']);\n\n\n\n// WEBPACK FOOTER //\n// ./piwik.js"],"sourceRoot":""}
|
||||
{"version":3,"sources":["webpack:/webpack/bootstrap 43ebdd943e2791855d4e?c4b5**","webpack:///piwik.js"],"names":["__webpack_require__","moduleId","installedModules","exports","module","i","l","modules","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","_paq","push"],"mappings":"mBAIA,QAAAA,qBAAAC,UAGA,GAAAC,iBAAAD,UACA,MAAAC,kBAAAD,UAAAE,OAGA,IAAAC,QAAAF,iBAAAD,WACAI,EAAAJ,SACAK,GAAA,EACAH,WAUA,OANAI,SAAAN,UAAAO,KAAAJ,OAAAD,QAAAC,OAAAA,OAAAD,QAAAH,qBAGAI,OAAAE,GAAA,EAGAF,OAAAD,QAvBA,GAAAD,oBA4BAF,qBAAAS,EAAAF,QAGAP,oBAAAU,EAAAR,iBAGAF,oBAAAK,EAAA,SAAAM,OAA2C,MAAAA,QAG3CX,oBAAAY,EAAA,SAAAT,QAAAU,KAAAC,QACAd,oBAAAe,EAAAZ,QAAAU,OACAG,OAAAC,eAAAd,QAAAU,MACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,UAMAd,oBAAAqB,EAAA,SAAAjB,QACA,GAAAU,QAAAV,QAAAA,OAAAkB,WACA,WAA2B,MAAAlB,QAAA,SAC3B,WAAiC,MAAAA,QAEjC,OADAJ,qBAAAY,EAAAE,OAAA,IAAAA,QACAA,QAIAd,oBAAAe,EAAA,SAAAQ,OAAAC,UAAsD,MAAAR,QAAAS,UAAAC,eAAAlB,KAAAe,OAAAC,WAGtDxB,oBAAA2B,EAAA,GAGA3B,oBAAAA,oBAAA4B,EAAA,kEC9DA,IAAIC,MAAOA,QAEXA,MAAKC,MAAM,kBACXD,KAAKC,MAAM,uBACXD,KAAKC,MAAM,gBAAiB,uCAC5BD,KAAKC,MAAM,YAAa","file":"public/assets/js/piwik.js.map","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 43ebdd943e2791855d4e","// Piwik in its own js file to allow usage with a CSP policy\n\nvar _paq = _paq || [];\n// tracker methods like \"setCustomDimension\" should be called before \"trackPageView\"\n_paq.push(['trackPageView']);\n_paq.push(['enableLinkTracking']);\n_paq.push(['setTrackerUrl', 'https://analytics.jmb.lv/piwik.php']);\n_paq.push(['setSiteId', '1']);\n\n\n\n// WEBPACK FOOTER //\n// ./piwik.js"]}
|
2
public/assets/js/places.js
vendored
Normal file
2
public/assets/js/places.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
public/assets/js/places.js.br
Normal file
BIN
public/assets/js/places.js.br
Normal file
Binary file not shown.
BIN
public/assets/js/places.js.gz
Normal file
BIN
public/assets/js/places.js.gz
Normal file
Binary file not shown.
1
public/assets/js/places.js.map
Normal file
1
public/assets/js/places.js.map
Normal file
File diff suppressed because one or more lines are too long
7
resources/assets/es6/edit-place-icon.js
vendored
Normal file
7
resources/assets/es6/edit-place-icon.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
//edit-place-icon.js
|
||||
|
||||
export default function getIcon() {
|
||||
let iconOption = document.querySelector('#icon');
|
||||
|
||||
return iconOption.value;
|
||||
}
|
29
resources/assets/es6/mapbox-utils.js
vendored
29
resources/assets/es6/mapbox-utils.js
vendored
|
@ -20,7 +20,23 @@ const addMapTypeOption = (map, menu, option, checked = false) => {
|
|||
input.setAttribute('checked', 'checked');
|
||||
}
|
||||
input.addEventListener('click', function () {
|
||||
let source = map.getSource('points');
|
||||
map.setStyle('mapbox://styles/mapbox/' + option + '-v9');
|
||||
map.on('style.load', function () {
|
||||
map.addLayer({
|
||||
'id': 'points',
|
||||
'type': 'symbol',
|
||||
'source': {
|
||||
'type': 'geojson',
|
||||
'data': source._data
|
||||
},
|
||||
'layout': {
|
||||
'icon-image': '{icon}-15',
|
||||
'text-field': '{title}',
|
||||
'text-offset': [0, 1]
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
let label = document.createElement('label');
|
||||
label.setAttribute('for', option);
|
||||
|
@ -41,8 +57,7 @@ const makeMapMenu = (map) => {
|
|||
export default function addMap(div, position = null, places = null) {
|
||||
let dataLatitude = div.dataset.latitude;
|
||||
let dataLongitude = div.dataset.longitude;
|
||||
let dataId = div.dataset.id;
|
||||
let data = window['geojson'+dataId];
|
||||
let data = window['geojson'+div.dataset.id];
|
||||
if (data == null) {
|
||||
data = {
|
||||
'type': 'FeatureCollection',
|
||||
|
@ -94,15 +109,13 @@ export default function addMap(div, position = null, places = null) {
|
|||
map.addControl(new mapboxgl.NavigationControl());
|
||||
div.appendChild(makeMapMenu(map));
|
||||
map.on('load', function () {
|
||||
map.addSource('points', {
|
||||
'type': 'geojson',
|
||||
'data': data
|
||||
});
|
||||
map.addLayer({
|
||||
'id': 'points',
|
||||
'interactive': true,
|
||||
'type': 'symbol',
|
||||
'source': 'points',
|
||||
'source': {
|
||||
'type': 'geojson',
|
||||
'data': data
|
||||
},
|
||||
'layout': {
|
||||
'icon-image': '{icon}-15',
|
||||
'text-field': '{title}',
|
||||
|
|
4
resources/assets/es6/maps.js
vendored
4
resources/assets/es6/maps.js
vendored
|
@ -1,8 +1,8 @@
|
|||
//maps.js
|
||||
import addMapTo from './mapbox-utils';
|
||||
import addMap from './mapbox-utils';
|
||||
|
||||
let mapDivs = document.querySelectorAll('.map');
|
||||
|
||||
for (var div of mapDivs) {
|
||||
addMapTo(div);
|
||||
addMap(div);
|
||||
}
|
||||
|
|
83
resources/assets/es6/places.js
vendored
Normal file
83
resources/assets/es6/places.js
vendored
Normal file
|
@ -0,0 +1,83 @@
|
|||
//places.js
|
||||
|
||||
import addMap from './mapbox-utils';
|
||||
import getIcon from './edit-place-icon';
|
||||
|
||||
let div = document.querySelector('.map');
|
||||
let map = addMap(div);
|
||||
let isDragging;
|
||||
let isCursorOverPoint;
|
||||
let canvas = map.getCanvasContainer();
|
||||
|
||||
let selectElem = document.querySelector('select[name="icon"]');
|
||||
selectElem.addEventListener('click', function () {
|
||||
let newIcon = getIcon();
|
||||
let source = map.getSource('points');
|
||||
if (source._data.features[0].properties.icon != newIcon) {
|
||||
source._data.features[0].properties.icon = newIcon;
|
||||
map.getSource('points').setData(source._data);
|
||||
}
|
||||
});
|
||||
|
||||
function updateFormCoords(coords) {
|
||||
let latInput = document.querySelector('#latitude');
|
||||
let lonInput = document.querySelector('#longitude');
|
||||
latInput.value = coords.lat.toPrecision(6);
|
||||
lonInput.value = coords.lng.toPrecision(6);
|
||||
}
|
||||
|
||||
function mouseDown() {
|
||||
if (!isCursorOverPoint) return;
|
||||
|
||||
isDragging = true;
|
||||
|
||||
// Set a cursor indicator
|
||||
canvas.style.cursor = 'grab';
|
||||
|
||||
// Mouse events
|
||||
map.on('mousemove', onMove);
|
||||
map.once('mouseup', onUp);
|
||||
}
|
||||
|
||||
function onMove(e) {
|
||||
if (!isDragging) return;
|
||||
let coords = e.lngLat;
|
||||
let source = map.getSource('points');
|
||||
|
||||
// Set a UI indicator for dragging.
|
||||
canvas.style.cursor = 'grabbing';
|
||||
|
||||
// Update the Point feature in `geojson` coordinates
|
||||
// and call setData to the source layer `point` on it.
|
||||
source._data.features[0].geometry.coordinates = [coords.lng, coords.lat];
|
||||
map.getSource('points').setData(source._data);
|
||||
}
|
||||
|
||||
function onUp(e) {
|
||||
if (!isDragging) return;
|
||||
let coords = e.lngLat;
|
||||
|
||||
// Print the coordinates of where the point had
|
||||
// finished being dragged to on the map.
|
||||
updateFormCoords(coords);
|
||||
canvas.style.cursor = '';
|
||||
isDragging = false;
|
||||
|
||||
// Unbind mouse events
|
||||
map.off('mousemove', onMove);
|
||||
}
|
||||
|
||||
// When the cursor enters a feature in the point layer, prepare for dragging.
|
||||
map.on('mouseenter', 'points', function() {
|
||||
canvas.style.cursor = 'move';
|
||||
isCursorOverPoint = true;
|
||||
map.dragPan.disable();
|
||||
});
|
||||
|
||||
map.on('mouseleave', 'points', function() {
|
||||
canvas.style.cursor = '';
|
||||
isCursorOverPoint = false;
|
||||
map.dragPan.enable();
|
||||
});
|
||||
|
||||
map.on('mousedown', mouseDown);
|
4
resources/assets/sass/mapbox.scss
vendored
4
resources/assets/sass/mapbox.scss
vendored
|
@ -5,6 +5,10 @@
|
|||
height: 200px;
|
||||
}
|
||||
|
||||
.mapboxgl-ctrl-logo {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.marker {
|
||||
background-image: url(data:image/png;base64,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);
|
||||
background-size: contain;
|
||||
|
|
|
@ -9,11 +9,121 @@ Edit Place « Admin CP
|
|||
<form action="/admin/places/{{ $id }}" method="post" accept-charset="utf-8">
|
||||
{{ csrf_field() }}
|
||||
{{ method_field('PUT') }}
|
||||
<p>Name</p>
|
||||
<input type="text" name="name" id="name" value="{{ $name }}"><br>
|
||||
<input type="text" name="description" id="description" value="{{ $description }}"><br>
|
||||
<p>Description</p>
|
||||
<textarea name="description" id="description">{{ $description }}</textarea><br>
|
||||
<p>Location</p>
|
||||
<div class="map" data-latitude="{{ $latitude }}" data-longitude="{{ $longitude }}" data-id="{{ $id }}"></div>
|
||||
<script>
|
||||
var geojson{{ $id }} = {
|
||||
"type": "FeatureCollection",
|
||||
"features": [{
|
||||
"type": "Feature",
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [{{ $longitude }}, {{ $latitude }}]
|
||||
},
|
||||
"properties": {
|
||||
"title": "{{ $name }}",
|
||||
"icon": "{{ $icon }}"
|
||||
}
|
||||
}]
|
||||
}
|
||||
</script>
|
||||
<input type="text" name="latitude" id="latitude" value="{{ $latitude }}"><br>
|
||||
<input type="text" name="longitude" id="longitude" value="{{ $longitude }}"><br>
|
||||
<p>Map Icon</p>
|
||||
<select name="icon" id="icon">
|
||||
<option value="airfield"@if($icon == 'airfield')selected @endif>airfield</option>
|
||||
<option value="airport"@if($icon == 'airport')selected @endif>airport</option>
|
||||
<option value="alcohol-shop"@if($icon == 'alcohol-shop')selected @endif>alcohol-shop</option>
|
||||
<option value="amusement-park"@if($icon == 'amusement-park')selected @endif>amusement-park</option>
|
||||
<option value="aquarium"@if($icon == 'aquarium')selected @endif>aquarium</option>
|
||||
<option value="art-gallery"@if($icon == 'art-gallery')selected @endif>art-gallery</option>
|
||||
<option value="attraction"@if($icon == 'attraction')selected @endif>attraction</option>
|
||||
<option value="bakery"@if($icon == 'bakery')selected @endif>bakery</option>
|
||||
<option value="bank"@if($icon == 'bank')selected @endif>bank</option>
|
||||
<option value="bar"@if($icon == 'bar')selected @endif>bar</option>
|
||||
<option value="beer"@if($icon == 'beer')selected @endif>beer</option>
|
||||
<option value="bicycle"@if($icon == 'bicycle')selected @endif>bicycle</option>
|
||||
<option value="bicycle-share"@if($icon == 'bicycle-share')selected @endif>bicycle-share</option>
|
||||
<option value="bus"@if($icon == 'bus')selected @endif>bus</option>
|
||||
<option value="cafe"@if($icon == 'cafe')selected @endif>cafe</option>
|
||||
<option value="campsite"@if($icon == 'campsite')selected @endif>campsite</option>
|
||||
<option value="car"@if($icon == 'car')selected @endif>car</option>
|
||||
<option value="castle"@if($icon == 'castle')selected @endif>castle</option>
|
||||
<option value="cemetery"@if($icon == 'cemetery')selected @endif>cemetery</option>
|
||||
<option value="cinema"@if($icon == 'cinema')selected @endif>cinema</option>
|
||||
<option value="circle"@if($icon == 'circle')selected @endif>circle</option>
|
||||
<option value="circle-stroked"@if($icon == 'circle-stroked')selected @endif>circle-stroked</option>
|
||||
<option value="clothing-store"@if($icon == 'clothing-store')selected @endif>clothing-store</option>
|
||||
<option value="college"@if($icon == 'college')selected @endif>college</option>
|
||||
<option value="dentist"@if($icon == 'dentist')selected @endif>dentist</option>
|
||||
<option value="doctor"@if($icon == 'doctor')selected @endif>doctor</option>
|
||||
<option value="dog-park"@if($icon == 'dog-park')selected @endif>dog-park</option>
|
||||
<option value="drinking-water"@if($icon == 'drinking-water')selected @endif>drinking-water</option>
|
||||
<option value="embassy"@if($icon == 'embassy')selected @endif>embassy</option>
|
||||
<option value="entrance"@if($icon == 'entrance')selected @endif>entrance</option>
|
||||
<option value="fast-food"@if($icon == 'fast-food')selected @endif>fast-food</option>
|
||||
<option value="ferry"@if($icon == 'ferry')selected @endif>ferry</option>
|
||||
<option value="fire-station"@if($icon == 'fire-station')selected @endif>fire-station</option>
|
||||
<option value="fuel"@if($icon == 'fuel')selected @endif>fuel</option>
|
||||
<option value="garden"@if($icon == 'garden')selected @endif>garden</option>
|
||||
<option value="golf"@if($icon == 'golf')selected @endif>golf</option>
|
||||
<option value="grocery"@if($icon == 'grocery')selected @endif>grocery</option>
|
||||
<option value="harbor"@if($icon == 'harbor')selected @endif>harbor</option>
|
||||
<option value="heliport"@if($icon == 'heliport')selected @endif>heliport</option>
|
||||
<option value="hospital"@if($icon == 'hospital')selected @endif>hospital</option>
|
||||
<option value="ice-cream"@if($icon == 'ice-cream')selected @endif>ice-cream</option>
|
||||
<option value="information"@if($icon == 'information')selected @endif>information</option>
|
||||
<option value="laundry"@if($icon == 'laundry')selected @endif>laundry</option>
|
||||
<option value="library"@if($icon == 'library')selected @endif>library</option>
|
||||
<option value="lodging"@if($icon == 'lodging')selected @endif>lodging</option>
|
||||
<option value="marker"@if($icon == 'marker')selected @endif>marker</option>
|
||||
<option value="monument"@if($icon == 'monument')selected @endif>monument</option>
|
||||
<option value="mountain"@if($icon == 'mountain')selected @endif>mountain</option>
|
||||
<option value="museum"@if($icon == 'museum')selected @endif>museum</option>
|
||||
<option value="music"@if($icon == 'music')selected @endif>music</option>
|
||||
<option value="park"@if($icon == 'park')selected @endif>park</option>
|
||||
<option value="pharmacy"@if($icon == 'pharmacy')selected @endif>pharmacy</option>
|
||||
<option value="picnic-site"@if($icon == 'picnic-site')selected @endif>picnic-site</option>
|
||||
<option value="place-of-worship"@if($icon == 'place-of-worship')selected @endif>place-of-worship</option>
|
||||
<option value="playground"@if($icon == 'playground')selected @endif>playground</option>
|
||||
<option value="police"@if($icon == 'police')selected @endif>police</option>
|
||||
<option value="post"@if($icon == 'post')selected @endif>post</option>
|
||||
<option value="prison"@if($icon == 'prison')selected @endif>prison</option>
|
||||
<option value="rail"@if($icon == 'rail')selected @endif>rail</option>
|
||||
<option value="rail-light"@if($icon == 'rail-light')selected @endif>rail-light</option>
|
||||
<option value="rail-metro"@if($icon == 'rail-metro')selected @endif>rail-metro</option>
|
||||
<option value="religious-christian"@if($icon == 'religious-christian')selected @endif>religious-christian</option>
|
||||
<option value="religious-jewish"@if($icon == 'religious-jewish')selected @endif>religious-jewish</option>
|
||||
<option value="religious-muslim"@if($icon == 'religious-muslim')selected @endif>religious-muslim</option>
|
||||
<option value="restaurant"@if($icon == 'restaurant')selected @endif>restaurant</option>
|
||||
<option value="rocket"@if($icon == 'rocket')selected @endif>rocket</option>
|
||||
<option value="school"@if($icon == 'school')selected @endif>school</option>
|
||||
<option value="shop"@if($icon == 'shop')selected @endif>shop</option>
|
||||
<option value="stadium"@if($icon == 'stadium')selected @endif>stadium</option>
|
||||
<option value="star"@if($icon == 'star')selected @endif>star</option>
|
||||
<option value="suitcase"@if($icon == 'suitcase')selected @endif>suitcase</option>
|
||||
<option value="swimming"@if($icon == 'swimming')selected @endif>swimming</option>
|
||||
<option value="theatre"@if($icon == 'theatre')selected @endif>theatre</option>
|
||||
<option value="toilet"@if($icon == 'toilet')selected @endif>toilet</option>
|
||||
<option value="town-hall"@if($icon == 'town-hall')selected @endif>town-hall</option>
|
||||
<option value="triangle"@if($icon == 'triangle')selected @endif>triangle</option>
|
||||
<option value="triangle-stroked"@if($icon == 'triangle-stroked')selected @endif>triangle-stroked</option>
|
||||
<option value="veterinary"@if($icon == 'veterinary')selected @endif>veterinary</option>
|
||||
<option value="volcano"@if($icon == 'volcano')selected @endif>volcano</option>
|
||||
<option value="zoo"@if($icon == 'zoo')selected @endif>zoo</option>
|
||||
</select><br>
|
||||
<input type="submit" name="edit" value="Edit"><br><br>
|
||||
<input type="submit" name="delete" value="Delete">
|
||||
</form>
|
||||
|
||||
<p><a href="/admin/places/{{ $id }}/merge">Merge with another place?</a></p>
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<script src="/assets/js/places.js"></script>
|
||||
<link rel="stylesheet" href="/assets/frontend/mapbox-gl.css">
|
||||
@stop
|
||||
|
|
47
resources/views/admin/places/merge/edit.blade.php
Normal file
47
resources/views/admin/places/merge/edit.blade.php
Normal file
|
@ -0,0 +1,47 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Merge Places « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>Merge places</h1>
|
||||
<p>When a place is deleted, it is removed from the database, and all the notes associated with it, will be re-associated with the other place.</p>
|
||||
<table>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Place 1</th>
|
||||
<th>Place 2</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<td>{{ $place1->name }}</td>
|
||||
<td>{{ $place2->name }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Description</th>
|
||||
<td>{{ $place1->description }}</td>
|
||||
<td>{{ $place2->description }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>location</th>
|
||||
<td>{{ $place1->latitude }}, {{ $place1->longitude }}</td>
|
||||
<td>{{ $place2->latitude }}, {{ $place2->longitude }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Foursquare</th>
|
||||
<td>{{ $place1->foursquare }}</td>
|
||||
<td>{{ $place2->foursquare }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<form action="/admin/places/merge" method="post">
|
||||
{{ csrf_field() }}
|
||||
<input type="hidden" name="place1" value="{{ $place1->id }}">
|
||||
<input type="hidden" name="place2" value="{{ $place2->id }}">
|
||||
<td><button type="submit" name="delete" value="1">Delete Place 1</button></td>
|
||||
<td><button type="submit" name="delete" value="2">Delete Place 2</button></td>
|
||||
</form>
|
||||
</tr>
|
||||
</table>
|
||||
@stop
|
14
resources/views/admin/places/merge/index.blade.php
Normal file
14
resources/views/admin/places/merge/index.blade.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Merge Places « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>We shall be merging {{ $first->name }}. It’s location is <code>Point({{ $first->location }})</code>.</p>
|
||||
<ul>
|
||||
@foreach($places as $place)
|
||||
<li><a href="/admin/places/{{ $first->id }}/merge/{{ $place->id }}">{{ $place->name }}</a></li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@stop
|
|
@ -14,7 +14,7 @@ Admin CP
|
|||
<p>You can either <a href="/admin/notes/create">create</a> new notes, or <a href="/admin/notes/">edit</a> them.<p>
|
||||
|
||||
<h2>Clients</h2>
|
||||
<p>You can either <a href="/admin/clients/create">create</a> new contacts, or <a href="/admin/clients/">edit</a> them.</p>
|
||||
<p>You can either <a href="/admin/clients/create">create</a> new client names, or <a href="/admin/clients/">edit</a> them.</p>
|
||||
|
||||
<h2>Contacts</h2>
|
||||
<p>You can either <a href="/admin/contacts/create">create</a> new contacts, or <a href="/admin/contacts/">edit</a> them.</p>
|
||||
|
|
|
@ -80,6 +80,9 @@ Route::group(['domain' => config('url.longurl')], function () {
|
|||
Route::post('/', 'PlacesController@store');
|
||||
Route::get('/{id}/edit', 'PlacesController@edit');
|
||||
Route::put('/{id}', 'PlacesController@update');
|
||||
Route::get('/{id}/merge', 'PlacesController@mergeIndex');
|
||||
Route::get('/{place1_id}/merge/{place2_id}', 'PlacesController@mergeEdit');
|
||||
Route::post('/merge', 'PlacesController@mergeStore');
|
||||
Route::delete('/{id}', 'PlacesController@destroy');
|
||||
});
|
||||
});
|
||||
|
|
0
compress → scripts/compress
Executable file → Normal file
0
compress → scripts/compress
Executable file → Normal file
0
deploy.sh → scripts/deploy.sh
Executable file → Normal file
0
deploy.sh → scripts/deploy.sh
Executable file → Normal file
7
scripts/uglifyjs
Normal file
7
scripts/uglifyjs
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
for file in ./public/assets/js/*.js
|
||||
do
|
||||
echo "uglifying `basename $file`"
|
||||
uglifyjs --verbose --compress --source-map content=${file:2}.map,url=`basename $file`.map,filename=${file:2}.map,includeSources=true --output $file $file
|
||||
done
|
|
@ -4,6 +4,7 @@ namespace Tests\Unit;
|
|||
|
||||
use App\Place;
|
||||
use Tests\TestCase;
|
||||
use Phaza\LaravelPostgis\Geometries\Point;
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
|
||||
|
@ -16,7 +17,7 @@ class PlacesTest extends TestCase
|
|||
*/
|
||||
public function test_near_method()
|
||||
{
|
||||
$nearby = Place::near(53.5, -2.38, 1000);
|
||||
$nearby = Place::near(new Point(53.5, -2.38), 1000)->get();
|
||||
$this->assertEquals('the-bridgewater-pub', $nearby[0]->slug);
|
||||
}
|
||||
}
|
||||
|
|
4
webpack.config.js
vendored
4
webpack.config.js
vendored
|
@ -7,7 +7,8 @@ const config = {
|
|||
links: './links.js',
|
||||
maps: './maps.js',
|
||||
newnote: './newnote.js',
|
||||
piwik: './piwik.js'
|
||||
piwik: './piwik.js',
|
||||
places: './places.js'
|
||||
},
|
||||
output: {
|
||||
path: __dirname + '/public/assets/js',
|
||||
|
@ -15,6 +16,7 @@ const config = {
|
|||
},
|
||||
devtool: 'source-map',
|
||||
module: {
|
||||
noParse: [/(mapbox-gl)\.js$/],
|
||||
loaders: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
|
|
127
yarn.lock
127
yarn.lock
|
@ -186,8 +186,8 @@ async-each@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
|
||||
|
||||
async@^2.1.2:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-2.4.0.tgz#4990200f18ea5b837c2cc4f8c031a6985c385611"
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7"
|
||||
dependencies:
|
||||
lodash "^4.14.0"
|
||||
|
||||
|
@ -616,8 +616,8 @@ babel-polyfill@^6.23.0:
|
|||
regenerator-runtime "^0.10.0"
|
||||
|
||||
babel-preset-env@^1.2.2:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.4.0.tgz#c8e02a3bcc7792f23cded68e0355b9d4c28f0f7a"
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.1.tgz#d2eca6af179edf27cdc305a84820f601b456dd0b"
|
||||
dependencies:
|
||||
babel-plugin-check-es2015-constants "^6.22.0"
|
||||
babel-plugin-syntax-trailing-function-commas "^6.22.0"
|
||||
|
@ -646,8 +646,9 @@ babel-preset-env@^1.2.2:
|
|||
babel-plugin-transform-es2015-unicode-regex "^6.22.0"
|
||||
babel-plugin-transform-exponentiation-operator "^6.22.0"
|
||||
babel-plugin-transform-regenerator "^6.22.0"
|
||||
browserslist "^1.4.0"
|
||||
browserslist "^2.1.2"
|
||||
invariant "^2.2.2"
|
||||
semver "^5.3.0"
|
||||
|
||||
babel-preset-es2015@^6.18.0, babel-preset-es2015@^6.24.1:
|
||||
version "6.24.1"
|
||||
|
@ -781,10 +782,6 @@ binary-extensions@^1.0.0:
|
|||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
|
||||
|
||||
bindings@1.2.x:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11"
|
||||
|
||||
block-stream@*:
|
||||
version "0.0.9"
|
||||
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
|
||||
|
@ -902,12 +899,12 @@ browserify-zlib@^0.1.4:
|
|||
dependencies:
|
||||
pako "~0.2.0"
|
||||
|
||||
browserslist@^1.4.0:
|
||||
version "1.7.7"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
|
||||
browserslist@^2.1.2:
|
||||
version "2.1.4"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.4.tgz#cc526af4a1312b7d2e05653e56d0c8ab70c0e053"
|
||||
dependencies:
|
||||
caniuse-db "^1.0.30000639"
|
||||
electron-to-chromium "^1.2.7"
|
||||
caniuse-lite "^1.0.30000670"
|
||||
electron-to-chromium "^1.3.11"
|
||||
|
||||
buble@^0.15.1:
|
||||
version "0.15.2"
|
||||
|
@ -973,9 +970,9 @@ camelcase@^3.0.0:
|
|||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
|
||||
|
||||
caniuse-db@^1.0.30000639:
|
||||
version "1.0.30000666"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000666.tgz#951ed9f3d3bfaa08a06dafbb5089ab07cce6ab90"
|
||||
caniuse-lite@^1.0.30000670:
|
||||
version "1.0.30000670"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000670.tgz#c94f7dbf0b68eaadc46d3d203f46e82e7801135e"
|
||||
|
||||
capture-stack-trace@^1.0.0:
|
||||
version "1.0.0"
|
||||
|
@ -1251,18 +1248,18 @@ dashdash@^1.12.0:
|
|||
assert-plus "^1.0.0"
|
||||
|
||||
date-fns@^1.27.2:
|
||||
version "1.28.4"
|
||||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.4.tgz#7938aec34ba31fc8bd134d2344bc2e0bbfd95165"
|
||||
version "1.28.5"
|
||||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.5.tgz#257cfc45d322df45ef5658665967ee841cd73faf"
|
||||
|
||||
date-now@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
|
||||
|
||||
debug@^2.1.1, debug@^2.2.0:
|
||||
version "2.6.6"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a"
|
||||
version "2.6.8"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
|
||||
dependencies:
|
||||
ms "0.7.3"
|
||||
ms "2.0.0"
|
||||
|
||||
decamelize@^1.0.0, decamelize@^1.1.1:
|
||||
version "1.2.0"
|
||||
|
@ -1350,9 +1347,9 @@ ecc-jsbn@~0.1.1:
|
|||
dependencies:
|
||||
jsbn "~0.1.0"
|
||||
|
||||
electron-to-chromium@^1.2.7:
|
||||
version "1.3.10"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.10.tgz#63d62b785471f0d8dda85199d64579de8a449f08"
|
||||
electron-to-chromium@^1.3.11:
|
||||
version "1.3.11"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.11.tgz#744761df1d67b492b322ce9aa0aba5393260eb61"
|
||||
|
||||
elegant-spinner@^1.0.1:
|
||||
version "1.0.1"
|
||||
|
@ -1718,13 +1715,13 @@ glob-parent@^2.0.0:
|
|||
is-glob "^2.0.0"
|
||||
|
||||
glob@^7.0.0, glob@^7.0.5:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^3.0.2"
|
||||
minimatch "^3.0.4"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
|
@ -2003,10 +2000,6 @@ is-fullwidth-code-point@^1.0.0:
|
|||
dependencies:
|
||||
number-is-nan "^1.0.0"
|
||||
|
||||
is-fullwidth-code-point@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
|
||||
|
||||
is-glob@^2.0.0, is-glob@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
|
||||
|
@ -2150,8 +2143,8 @@ kdbush@^1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/kdbush/-/kdbush-1.0.1.tgz#3cbd03e9dead9c0f6f66ccdb96450e5cecc640e0"
|
||||
|
||||
kind-of@^3.0.2:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.0.tgz#b58abe4d5c044ad33726a8c1525b48cf891bff07"
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
|
||||
dependencies:
|
||||
is-buffer "^1.1.5"
|
||||
|
||||
|
@ -2185,8 +2178,8 @@ levn@~0.3.0:
|
|||
type-check "~0.3.2"
|
||||
|
||||
lint-staged@^3.2.1:
|
||||
version "3.4.1"
|
||||
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.4.1.tgz#96cd1cf7a1ac92d81662643c37d1cca28b91b046"
|
||||
version "3.4.2"
|
||||
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.4.2.tgz#9cd1c0e4e477326c2696802a8377c22f92d65e79"
|
||||
dependencies:
|
||||
app-root-path "^2.0.0"
|
||||
cosmiconfig "^1.1.0"
|
||||
|
@ -2399,13 +2392,6 @@ micromatch@^2.1.5:
|
|||
parse-glob "^3.0.4"
|
||||
regex-cache "^0.4.2"
|
||||
|
||||
microtime@^2.1.3:
|
||||
version "2.1.3"
|
||||
resolved "https://registry.yarnpkg.com/microtime/-/microtime-2.1.3.tgz#0d1307f25da0ca7fde4ab791edc8c91dd7b4e3be"
|
||||
dependencies:
|
||||
bindings "1.2.x"
|
||||
nan "2.6.x"
|
||||
|
||||
miller-rabin@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
|
||||
|
@ -2437,7 +2423,7 @@ minimatch@3.0.2:
|
|||
dependencies:
|
||||
brace-expansion "^1.0.0"
|
||||
|
||||
minimatch@^3.0.0, minimatch@^3.0.2:
|
||||
minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
dependencies:
|
||||
|
@ -2461,9 +2447,9 @@ minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0:
|
|||
dependencies:
|
||||
minimist "0.0.8"
|
||||
|
||||
ms@0.7.3:
|
||||
version "0.7.3"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff"
|
||||
ms@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
|
||||
multi-stage-sourcemap@^0.2.1:
|
||||
version "0.2.1"
|
||||
|
@ -2475,7 +2461,7 @@ mute-stream@0.0.6:
|
|||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db"
|
||||
|
||||
nan@2.6.x, nan@^2.3.0:
|
||||
nan@^2.3.0:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
|
||||
|
||||
|
@ -2816,16 +2802,14 @@ pbf@^1.3.2:
|
|||
resolve-protobuf-schema "^2.0.0"
|
||||
|
||||
pbkdf2@^3.0.3:
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.11.tgz#791b7414e50c848438976e12ea2651003037ca6b"
|
||||
version "3.0.12"
|
||||
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2"
|
||||
dependencies:
|
||||
create-hash "^1.1.2"
|
||||
create-hmac "^1.1.4"
|
||||
ripemd160 "^2.0.1"
|
||||
safe-buffer "^5.0.1"
|
||||
sha.js "^2.4.8"
|
||||
optionalDependencies:
|
||||
microtime "^2.1.3"
|
||||
|
||||
performance-now@^0.2.0:
|
||||
version "0.2.0"
|
||||
|
@ -2915,11 +2899,11 @@ public-encrypt@^4.0.0:
|
|||
parse-asn1 "^5.0.0"
|
||||
randombytes "^2.0.1"
|
||||
|
||||
punycode@1.3.2, punycode@^1.2.4:
|
||||
punycode@1.3.2:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
|
||||
|
||||
punycode@^1.4.1:
|
||||
punycode@^1.2.4, punycode@^1.4.1:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
|
||||
|
||||
|
@ -3352,8 +3336,8 @@ snyk-try-require@^1.1.1, snyk-try-require@^1.2.0:
|
|||
then-fs "^2.0.0"
|
||||
|
||||
snyk@^1.14.3:
|
||||
version "1.30.0"
|
||||
resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.30.0.tgz#a323809ea477d6aff0e325f5995cb491c0d7ca3d"
|
||||
version "1.30.1"
|
||||
resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.30.1.tgz#0cf14c1d73c7b6f63ca4e275ac8c2a090ec2ad52"
|
||||
dependencies:
|
||||
abbrev "^1.0.7"
|
||||
ansi-escapes "^1.3.0"
|
||||
|
@ -3513,22 +3497,15 @@ string-width@^1.0.1, string-width@^1.0.2:
|
|||
is-fullwidth-code-point "^1.0.0"
|
||||
strip-ansi "^3.0.0"
|
||||
|
||||
string-width@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e"
|
||||
dependencies:
|
||||
is-fullwidth-code-point "^2.0.0"
|
||||
strip-ansi "^3.0.0"
|
||||
|
||||
string_decoder@^0.10.25, string_decoder@~0.10.x:
|
||||
version "0.10.31"
|
||||
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
|
||||
|
||||
string_decoder@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667"
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98"
|
||||
dependencies:
|
||||
buffer-shims "~1.0.0"
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
stringstream@~0.0.4:
|
||||
version "0.0.5"
|
||||
|
@ -3698,9 +3675,9 @@ typedarray@^0.0.6:
|
|||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||
|
||||
uglify-js@^2.8.5:
|
||||
version "2.8.23"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.23.tgz#8230dd9783371232d62a7821e2cf9a817270a8a0"
|
||||
uglify-js@^2.8.27:
|
||||
version "2.8.27"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.27.tgz#47787f912b0f242e5b984343be8e35e95f694c9c"
|
||||
dependencies:
|
||||
source-map "~0.5.1"
|
||||
yargs "~3.10.0"
|
||||
|
@ -3876,8 +3853,8 @@ webpack-sources@^0.2.3:
|
|||
source-map "~0.5.3"
|
||||
|
||||
webpack@^2.2.0:
|
||||
version "2.5.1"
|
||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.5.1.tgz#61742f0cf8af555b87460a9cd8bba2f1e3ee2fce"
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.0.tgz#7e650a92816abff5db5f43316b0b8b19b13d76c1"
|
||||
dependencies:
|
||||
acorn "^5.0.0"
|
||||
acorn-dynamic-import "^2.0.0"
|
||||
|
@ -3896,7 +3873,7 @@ webpack@^2.2.0:
|
|||
source-map "^0.5.3"
|
||||
supports-color "^3.1.0"
|
||||
tapable "~0.2.5"
|
||||
uglify-js "^2.8.5"
|
||||
uglify-js "^2.8.27"
|
||||
watchpack "^1.3.1"
|
||||
webpack-sources "^0.2.3"
|
||||
yargs "^6.0.0"
|
||||
|
@ -3920,10 +3897,10 @@ which@1.2.x, which@^1.2.10, which@^1.2.9:
|
|||
isexe "^2.0.0"
|
||||
|
||||
wide-align@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.1.tgz#d2ea8aa2db2e66467e8b60cc3e897de3bc4429e6"
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
|
||||
dependencies:
|
||||
string-width "^2.0.0"
|
||||
string-width "^1.0.2"
|
||||
|
||||
widest-line@^1.0.0:
|
||||
version "1.0.0"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue