mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
Start on user index
This commit is contained in:
+2
-1
@@ -78,7 +78,8 @@ return [
|
||||
'users' => [
|
||||
'label' => 'alpine::admin.users',
|
||||
'icon' => 'heroicons/outline-md/md-user-group',
|
||||
'url' => '#',
|
||||
'url' => 'alpine.admin.users.index',
|
||||
'active' => 'alpine.admin.users.index',
|
||||
'ability' => 'view users',
|
||||
],
|
||||
|
||||
|
||||
Vendored
+13
-1
@@ -599,7 +599,7 @@ video {
|
||||
* `x-cloak` attributes are removed from elements when Alpine initializes.
|
||||
* This is useful for hiding pre-initialized DOM.
|
||||
*
|
||||
* https://github.com/alpinejs/alpine#x-cloak
|
||||
* @link https://github.com/alpinejs/alpine#x-cloak
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -607,6 +607,18 @@ video {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Customize Turbolinks progress bar
|
||||
*
|
||||
* @link https://github.com/turbolinks/turbolinks#displaying-progress
|
||||
*
|
||||
*/
|
||||
|
||||
.turbolinks-progress-bar {
|
||||
height: 0.25rem;
|
||||
background-color: #3f83f8;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
Vendored
+21
-3
@@ -1337,6 +1337,13 @@
|
||||
this.nextTickStack.push(callback);
|
||||
};
|
||||
|
||||
this.watchers = {};
|
||||
|
||||
this.unobservedData.$watch = (property, callback) => {
|
||||
if (!this.watchers[property]) this.watchers[property] = [];
|
||||
this.watchers[property].push(callback);
|
||||
};
|
||||
|
||||
this.showDirectiveStack = [];
|
||||
this.showDirectiveLastElement;
|
||||
var initReturnedCallback; // If x-init is present AND we aren't cloning (skip x-init on clone)
|
||||
@@ -1366,7 +1373,7 @@
|
||||
let unwrappedData = this.membrane.unwrapProxy(this.$data);
|
||||
let copy = {};
|
||||
Object.keys(unwrappedData).forEach(key => {
|
||||
if (['$el', '$refs', '$nextTick'].includes(key)) return;
|
||||
if (['$el', '$refs', '$nextTick', '$watch'].includes(key)) return;
|
||||
copy[key] = unwrappedData[key];
|
||||
});
|
||||
return copy;
|
||||
@@ -1376,7 +1383,11 @@
|
||||
var self = this;
|
||||
let membrane = new ReactiveMembrane({
|
||||
valueMutated(target, key) {
|
||||
// Don't react to data changes for cases like the `x-created` hook.
|
||||
if (self.watchers[key]) {
|
||||
self.watchers[key].forEach(callback => callback(target[key]));
|
||||
} // Don't react to data changes for cases like the `x-created` hook.
|
||||
|
||||
|
||||
if (self.pauseReactivity) return;
|
||||
debounce(() => {
|
||||
self.updateElements(self.$el); // Walk through the $nextTick stack and clear it as we go.
|
||||
@@ -1710,7 +1721,14 @@
|
||||
|
||||
if (!isTesting()) {
|
||||
window.Alpine = Alpine;
|
||||
window.Alpine.start();
|
||||
|
||||
if (window.deferLoadingAlpine) {
|
||||
window.deferLoadingAlpine(function () {
|
||||
window.Alpine.start();
|
||||
});
|
||||
} else {
|
||||
window.Alpine.start();
|
||||
}
|
||||
}
|
||||
|
||||
return Alpine;
|
||||
|
||||
Vendored
+2
-2
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"/js/app.js": "/js/app.js?id=afac66bd8e09c6732150",
|
||||
"/css/app.css": "/css/app.css?id=dfd42ca278386a11a29f"
|
||||
"/js/app.js": "/js/app.js?id=c12aef78c03d0f6f1364",
|
||||
"/css/app.css": "/css/app.css?id=0cec7e6dbb65547101c5"
|
||||
}
|
||||
|
||||
Generated
+105
-113
@@ -35,21 +35,21 @@
|
||||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001033",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001033.tgz",
|
||||
"integrity": "sha512-8Ibzxee6ibc5q88cM1usPsMpJOG5CTq0s/dKOmlekPbDGKt+UrnOOTPSjQz3kVo6yL7N4SB5xd+FGLHQmbzh6A==",
|
||||
"version": "1.0.30001035",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
|
||||
"integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
|
||||
"dev": true
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.372",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.372.tgz",
|
||||
"integrity": "sha512-77a4jYC52OdisHM+Tne7dgWEvQT1FoNu/jYl279pP88ZtG4ZRIPyhQwAKxj6C2rzsyC1OwsOds9JlZtNncSz6g==",
|
||||
"version": "1.3.377",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.377.tgz",
|
||||
"integrity": "sha512-cm2WzMKf/3dW5+hNANKm8GAW6SwIWOqLTJ6GPCD0Bbw1qJ9Wzm9nmx9M+byzSsgw8CdCv5fb/wzLFqVS5h6QrA==",
|
||||
"dev": true
|
||||
},
|
||||
"node-releases": {
|
||||
"version": "1.1.51",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz",
|
||||
"integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==",
|
||||
"version": "1.1.52",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz",
|
||||
"integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"semver": "^6.3.0"
|
||||
@@ -89,9 +89,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/generator": {
|
||||
"version": "7.8.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
|
||||
"integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
|
||||
"version": "7.8.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
|
||||
"integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/types": "^7.8.7",
|
||||
@@ -155,21 +155,21 @@
|
||||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001033",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001033.tgz",
|
||||
"integrity": "sha512-8Ibzxee6ibc5q88cM1usPsMpJOG5CTq0s/dKOmlekPbDGKt+UrnOOTPSjQz3kVo6yL7N4SB5xd+FGLHQmbzh6A==",
|
||||
"version": "1.0.30001035",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
|
||||
"integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
|
||||
"dev": true
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.372",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.372.tgz",
|
||||
"integrity": "sha512-77a4jYC52OdisHM+Tne7dgWEvQT1FoNu/jYl279pP88ZtG4ZRIPyhQwAKxj6C2rzsyC1OwsOds9JlZtNncSz6g==",
|
||||
"version": "1.3.377",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.377.tgz",
|
||||
"integrity": "sha512-cm2WzMKf/3dW5+hNANKm8GAW6SwIWOqLTJ6GPCD0Bbw1qJ9Wzm9nmx9M+byzSsgw8CdCv5fb/wzLFqVS5h6QrA==",
|
||||
"dev": true
|
||||
},
|
||||
"node-releases": {
|
||||
"version": "1.1.51",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz",
|
||||
"integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==",
|
||||
"version": "1.1.52",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz",
|
||||
"integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"semver": "^6.3.0"
|
||||
@@ -186,14 +186,14 @@
|
||||
}
|
||||
},
|
||||
"@babel/helper-create-regexp-features-plugin": {
|
||||
"version": "7.8.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz",
|
||||
"integrity": "sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A==",
|
||||
"version": "7.8.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
|
||||
"integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-annotate-as-pure": "^7.8.3",
|
||||
"@babel/helper-regex": "^7.8.3",
|
||||
"regexpu-core": "^4.6.0"
|
||||
"regexpu-core": "^4.7.0"
|
||||
}
|
||||
},
|
||||
"@babel/helper-define-map": {
|
||||
@@ -382,9 +382,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/parser": {
|
||||
"version": "7.8.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
|
||||
"integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
|
||||
"version": "7.8.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
|
||||
"integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
|
||||
"dev": true
|
||||
},
|
||||
"@babel/plugin-proposal-async-generator-functions": {
|
||||
@@ -459,12 +459,12 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-proposal-unicode-property-regex": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz",
|
||||
"integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==",
|
||||
"version": "7.8.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
|
||||
"integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-create-regexp-features-plugin": "^7.8.3",
|
||||
"@babel/helper-create-regexp-features-plugin": "^7.8.8",
|
||||
"@babel/helper-plugin-utils": "^7.8.3"
|
||||
}
|
||||
},
|
||||
@@ -605,9 +605,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-destructuring": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz",
|
||||
"integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==",
|
||||
"version": "7.8.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz",
|
||||
"integrity": "sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.8.3"
|
||||
@@ -753,9 +753,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-parameters": {
|
||||
"version": "7.8.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz",
|
||||
"integrity": "sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g==",
|
||||
"version": "7.8.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz",
|
||||
"integrity": "sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-call-delegate": "^7.8.7",
|
||||
@@ -936,21 +936,21 @@
|
||||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001033",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001033.tgz",
|
||||
"integrity": "sha512-8Ibzxee6ibc5q88cM1usPsMpJOG5CTq0s/dKOmlekPbDGKt+UrnOOTPSjQz3kVo6yL7N4SB5xd+FGLHQmbzh6A==",
|
||||
"version": "1.0.30001035",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
|
||||
"integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
|
||||
"dev": true
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.372",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.372.tgz",
|
||||
"integrity": "sha512-77a4jYC52OdisHM+Tne7dgWEvQT1FoNu/jYl279pP88ZtG4ZRIPyhQwAKxj6C2rzsyC1OwsOds9JlZtNncSz6g==",
|
||||
"version": "1.3.377",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.377.tgz",
|
||||
"integrity": "sha512-cm2WzMKf/3dW5+hNANKm8GAW6SwIWOqLTJ6GPCD0Bbw1qJ9Wzm9nmx9M+byzSsgw8CdCv5fb/wzLFqVS5h6QrA==",
|
||||
"dev": true
|
||||
},
|
||||
"node-releases": {
|
||||
"version": "1.1.51",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz",
|
||||
"integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==",
|
||||
"version": "1.1.52",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz",
|
||||
"integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"semver": "^6.3.0"
|
||||
@@ -1139,9 +1139,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "13.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.0.tgz",
|
||||
"integrity": "sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==",
|
||||
"version": "13.9.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.1.tgz",
|
||||
"integrity": "sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/q": {
|
||||
@@ -1461,9 +1461,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"alpinejs": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-2.1.2.tgz",
|
||||
"integrity": "sha512-+fa57l6Ok1sdMQgMBiBBJSuMEH/Kj9XnlLhqA17nMsECTqyVXSYPQAx6juCaX5WdFYXbEF2tDN4xaKOonXNHIQ=="
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-2.2.1.tgz",
|
||||
"integrity": "sha512-iM78WJdESvXhf61o11vgeFfBnhCDjSuqLCQw3yUPLgJHnYjPz/TuTFd2K64lX+3/uYIxlstt3UgI8pYvFdGWlg=="
|
||||
},
|
||||
"ansi-colors": {
|
||||
"version": "3.2.4",
|
||||
@@ -5705,12 +5705,12 @@
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
|
||||
"integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz",
|
||||
"integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
"minimist": "^1.2.5"
|
||||
}
|
||||
},
|
||||
"jsonfile": {
|
||||
@@ -5735,9 +5735,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"laravel-mix": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-5.0.1.tgz",
|
||||
"integrity": "sha512-Ccs+VcxJj+FJ6hiMVwboqP1LLLCUA4fa8BrgqFBwK9XJuf/4r+5LEPYurvRGhizjUEybCb4ty/2u+mfEY4YvtA==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-5.0.4.tgz",
|
||||
"integrity": "sha512-/fkcMdlxhGDBcH+kFDqKONlAfhJinMAWd+fjQ+VLii4UzIeXUF5Q8FbS4+ZrZs9JO3Y1E4KoNq3hMw0t/soahA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/core": "^7.2.0",
|
||||
@@ -6149,9 +6149,9 @@
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
@@ -6219,20 +6219,12 @@
|
||||
}
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
|
||||
"integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||
"dev": true
|
||||
}
|
||||
"minimist": "^1.2.5"
|
||||
}
|
||||
},
|
||||
"move-concurrently": {
|
||||
@@ -8039,24 +8031,24 @@
|
||||
"dev": true
|
||||
},
|
||||
"regenerate-unicode-properties": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
|
||||
"integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
|
||||
"version": "8.2.0",
|
||||
"resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
|
||||
"integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"regenerate": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"regenerator-runtime": {
|
||||
"version": "0.13.4",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz",
|
||||
"integrity": "sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g==",
|
||||
"version": "0.13.5",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
|
||||
"integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
|
||||
"dev": true
|
||||
},
|
||||
"regenerator-transform": {
|
||||
"version": "0.14.2",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz",
|
||||
"integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==",
|
||||
"version": "0.14.3",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.3.tgz",
|
||||
"integrity": "sha512-zXHNKJspmONxBViAb3ZUmFoFPnTBs3zFhCEZJiwp/gkNzxVbTqNJVjYKx6Qk1tQ1P4XLf4TbH9+KBB7wGoAaUw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.8.4",
|
||||
@@ -8084,17 +8076,17 @@
|
||||
}
|
||||
},
|
||||
"regexpu-core": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
|
||||
"integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
|
||||
"version": "4.7.0",
|
||||
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
|
||||
"integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"regenerate": "^1.4.0",
|
||||
"regenerate-unicode-properties": "^8.1.0",
|
||||
"regjsgen": "^0.5.0",
|
||||
"regjsparser": "^0.6.0",
|
||||
"regenerate-unicode-properties": "^8.2.0",
|
||||
"regjsgen": "^0.5.1",
|
||||
"regjsparser": "^0.6.4",
|
||||
"unicode-match-property-ecmascript": "^1.0.4",
|
||||
"unicode-match-property-value-ecmascript": "^1.1.0"
|
||||
"unicode-match-property-value-ecmascript": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"regjsgen": {
|
||||
@@ -8104,9 +8096,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"regjsparser": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz",
|
||||
"integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==",
|
||||
"version": "0.6.4",
|
||||
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
|
||||
"integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"jsesc": "~0.5.0"
|
||||
@@ -9290,12 +9282,12 @@
|
||||
}
|
||||
},
|
||||
"schema-utils": {
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz",
|
||||
"integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==",
|
||||
"version": "2.6.5",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz",
|
||||
"integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "^6.10.2",
|
||||
"ajv": "^6.12.0",
|
||||
"ajv-keywords": "^3.4.1"
|
||||
}
|
||||
},
|
||||
@@ -9312,9 +9304,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"terser": {
|
||||
"version": "4.6.6",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz",
|
||||
"integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==",
|
||||
"version": "4.6.7",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz",
|
||||
"integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "^2.20.0",
|
||||
@@ -9501,15 +9493,15 @@
|
||||
}
|
||||
},
|
||||
"unicode-match-property-value-ecmascript": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
|
||||
"integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
|
||||
"integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
|
||||
"dev": true
|
||||
},
|
||||
"unicode-property-aliases-ecmascript": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
|
||||
"integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
|
||||
"integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
|
||||
"dev": true
|
||||
},
|
||||
"union-value": {
|
||||
@@ -9913,9 +9905,9 @@
|
||||
}
|
||||
},
|
||||
"terser": {
|
||||
"version": "4.6.6",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz",
|
||||
"integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==",
|
||||
"version": "4.6.7",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz",
|
||||
"integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "^2.20.0",
|
||||
@@ -10472,9 +10464,9 @@
|
||||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "13.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
|
||||
"integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
|
||||
"version": "13.1.2",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
|
||||
"integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camelcase": "^5.0.0",
|
||||
|
||||
+2
-2
@@ -13,7 +13,7 @@
|
||||
"@fullhuman/postcss-purgecss": "^2.1.0",
|
||||
"@tailwindcss/ui": "^0.1.3",
|
||||
"cross-env": "^7.0.2",
|
||||
"laravel-mix": "^5.0.1",
|
||||
"laravel-mix": "^5.0.4",
|
||||
"postcss-import": "^12.0.1",
|
||||
"postcss-nested": "^4.2.1",
|
||||
"prettier": "^1.19.1",
|
||||
@@ -22,7 +22,7 @@
|
||||
"vue-template-compiler": "^2.6.11"
|
||||
},
|
||||
"dependencies": {
|
||||
"alpinejs": "^2.1.2",
|
||||
"alpinejs": "^2.2.1",
|
||||
"turbolinks": "^5.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
+13
-1
@@ -2,9 +2,21 @@
|
||||
* `x-cloak` attributes are removed from elements when Alpine initializes.
|
||||
* This is useful for hiding pre-initialized DOM.
|
||||
*
|
||||
* https://github.com/alpinejs/alpine#x-cloak
|
||||
* @link https://github.com/alpinejs/alpine#x-cloak
|
||||
*
|
||||
*/
|
||||
|
||||
[x-cloak] {
|
||||
@apply hidden;
|
||||
}
|
||||
|
||||
/**
|
||||
* Customize Turbolinks progress bar
|
||||
*
|
||||
* @link https://github.com/turbolinks/turbolinks#displaying-progress
|
||||
*
|
||||
*/
|
||||
|
||||
.turbolinks-progress-bar {
|
||||
@apply h-1 bg-blue-500;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<nav class="mt-5 flex-1 px-2 bg-gray-800">
|
||||
@foreach($nav as $item)
|
||||
@if (!isset($item['ability']) || auth()->user()->can($item['ability']))
|
||||
<a href="{{ Route::has($item['url']) ? route('alpine.admin.dashboard') : $item['url'] }}"
|
||||
<a href="{{ Route::has($item['url']) ? route($item['url']) : $item['url'] }}"
|
||||
class="@unless($loop->first) mt-2 @endunless group flex items-center px-2 py-2 text-sm leading-5 font-medium rounded-md transition ease-in-out duration-150 @isset($item['active']) {{ active($item['active'], 'text-white bg-gray-900', 'text-gray-300') }} @else text-gray-300 @endisset focus:text-white focus:outline-none focus:bg-gray-700 hover:text-white hover:bg-gray-900"
|
||||
@isset($item['target'])
|
||||
target="{{ $item['target'] }}"
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
</p>
|
||||
<div class="border-t border-gray-100"></div>
|
||||
<div class="py-1">
|
||||
<a href="{{ route('alpine.admin.user.edit', ['user' => auth()->user()->id]) }}" class="block px-4 py-2 text-sm leading-5 text-gray-700 hover:bg-gray-100 hover:text-gray-900 focus:outline-none focus:bg-gray-100 focus:text-gray-900">{{ __('alpine::admin.account_settings') }}</a>
|
||||
<a href="{{ route('alpine.admin.users.edit', ['user' => auth()->user()->id]) }}" class="block px-4 py-2 text-sm leading-5 text-gray-700 hover:bg-gray-100 hover:text-gray-900 focus:outline-none focus:bg-gray-100 focus:text-gray-900">{{ __('alpine::admin.account_settings') }}</a>
|
||||
</div>
|
||||
<div class="border-t border-gray-100"></div>
|
||||
<div class="py-1">
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
@extends('alpine::layouts.admin')
|
||||
|
||||
@section('title', $title)
|
||||
|
||||
@section('main')
|
||||
|
||||
@endsection
|
||||
+2
-2
@@ -42,8 +42,8 @@ Route::name('admin.')->middleware('auth.alpine')->group(function () {
|
||||
|
||||
Route::get('/', 'DashboardController')->name('dashboard');
|
||||
|
||||
Route::resource('user', 'UserController')->only([
|
||||
// 'index',
|
||||
Route::resource('users', 'UserController')->only([
|
||||
'index',
|
||||
'edit',
|
||||
]);
|
||||
|
||||
|
||||
@@ -6,6 +6,21 @@ use Alpine\Contracts\User as UserContract;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Show the users.
|
||||
*
|
||||
* @return View
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->authorize('view', app(UserContract::class));
|
||||
|
||||
$title = __('alpine::admin.users');
|
||||
|
||||
return view('alpine::users.index', compact('title'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the user edit form.
|
||||
*
|
||||
@@ -21,6 +36,6 @@ class UserController extends Controller
|
||||
|
||||
$title = __('alpine::admin.user_edit', ['name' => $user->name]);
|
||||
|
||||
return view('alpine::user.edit', compact('title', 'user'));
|
||||
return view('alpine::users.edit', compact('title', 'user'));
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,20 @@ use Illuminate\Auth\Access\Response;
|
||||
|
||||
class UserPolicy
|
||||
{
|
||||
/**
|
||||
* Determine if the authenticated user view users.
|
||||
*
|
||||
* @param User $authenticated
|
||||
* @param User $user
|
||||
* @return bool
|
||||
*/
|
||||
public function view($authenticated): Response
|
||||
{
|
||||
return $authenticated->can('view users')
|
||||
? Response::allow()
|
||||
: Response::deny(__('You are not allowed to view users.'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the authenticated user can update a user.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user