diff --git a/resources/dist/build/assets/addon-2ef42060.js b/resources/dist/build/assets/addon-b245a4a0.js similarity index 63% rename from resources/dist/build/assets/addon-2ef42060.js rename to resources/dist/build/assets/addon-b245a4a0.js index 271b148..992ce8b 100644 --- a/resources/dist/build/assets/addon-2ef42060.js +++ b/resources/dist/build/assets/addon-b245a4a0.js @@ -1 +1 @@ -function h(e,t,s,d,i,n,r,l){var o=typeof e=="function"?e.options:e;t&&(o.render=t,o.staticRenderFns=s,o._compiled=!0),d&&(o.functional=!0),n&&(o._scopeId="data-v-"+n);var c;if(r?(c=function(a){a=a||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!a&&typeof __VUE_SSR_CONTEXT__<"u"&&(a=__VUE_SSR_CONTEXT__),i&&i.call(this,a),a&&a._registeredComponents&&a._registeredComponents.add(r)},o._ssrRegister=c):i&&(c=l?function(){i.call(this,(o.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(o.functional){o._injectStyles=c;var f=o.render;o.render=function(m,_){return c.call(_),f(m,_)}}else{var u=o.beforeCreate;o.beforeCreate=u?[].concat(u,c):[c]}return{exports:e,options:o}}const p={mixins:[Listing],props:["initialColumns"],data(){return{columns:this.initialColumns,requestUrl:cp_url("statamic-locks/locks")}}};var k=function(){var t=this,s=t._self._c;return s("data-list",{attrs:{"visible-columns":t.columns,columns:t.columns,rows:t.items},scopedSlots:t._u([{key:"default",fn:function({filteredRows:d}){return s("div",{staticClass:"card overflow-hidden p-0 relative"},[s("data-list-table",{scopedSlots:t._u([{key:"cell-title",fn:function({row:i}){return[s("a",{attrs:{href:i.show_url}},[t._v(t._s(i.title))])]}},{key:"actions",fn:function({row:i,index:n}){return[i.can_delete?s("dropdown-list",[s("dropdown-item",{staticClass:"warning",attrs:{text:t.__("Delete")},on:{click:function(r){t.$refs[`deleter_${i.id}`].confirm()}}},[s("resource-deleter",{ref:`deleter_${i.id}`,attrs:{resource:i},on:{deleted:t.request}})],1)],1):t._e()]}}],null,!0)})],1)}}])})},v=[],b=h(p,k,v,!1,null,null,null,null);const g=b.exports,w={props:{itemId:{type:String,required:!0},itemType:{type:String,required:!0}},data(){return{show:!1,status:[]}},mounted(){this.checkLockStatus(),setInterval(()=>{this.checkLockStatus()},1e3*Statamic.$config.get("statamicLocks.pollInterval",30)),window.addEventListener("beforeunload",()=>{this.show||this.$axios.delete(cp_url("statamic-locks/locks/"+this.status.lock_id+"?delay=true")).then(e=>{}).catch(e=>this.handleAxiosError(e))})},methods:{back(){window.history.back()},deleteLock(){this.status.lock_id||this.$toast.error(__("This isnt possible")),this.$axios.delete(cp_url("statamic-locks/locks/"+this.status.lock_id)).then(e=>{window.location.reload()}).catch(e=>this.handleAxiosError(e))},checkLockStatus(){this.updateCsrfToken().then(()=>{this.$axios.post(cp_url("statamic-locks/locks"),{item_id:this.itemId,item_type:this.itemType}).then(e=>{if(e.data.error){this.show=!0,this.status=e.data;return}this.show=!1,this.status=e.data}).catch(e=>this.handleAxiosError(e))})},handleAxiosError(e){this.$toast.error(__("Error getting lock status"))},locks(){window.location.href=cp_url("statamic-locks/locks")},updateCsrfToken(){return this.$axios.get(cp_url("auth/token")).then(e=>{const t=e.data;this.$axios.defaults.headers.common["X-CSRF-TOKEN"]=t,this.$config.set("csrfToken",t)})}}};var C=function(){var t=this,s=t._self._c;return s("div",[t.show?s("modal",{staticClass:"modal-lock"},[s("div",{staticClass:"flex items-center p-6 bg-gray-200 border-b text-center"},[t._v(" "+t._s(t.__("Item Locked"))+" ")]),s("div",{staticClass:"p-6"},[s("p",{staticClass:"text-base"},[t._v(t._s(t.__("Locked by :name, last updated :since",{name:t.status.locked_by.name,since:t.status.last_updated}))+" ")])]),s("div",{staticClass:"p-4 bg-gray-200 border-t flex items-center justify-between text-sm"},[s("button",{staticClass:"btn",domProps:{textContent:t._s(t.__("Back"))},on:{click:t.back}}),this.can("delete user locks")?s("button",{staticClass:"btn btn-danger",domProps:{textContent:t._s(t.__("Delete lock"))},on:{click:t.deleteLock}}):t._e(),this.can("view locks")?s("button",{staticClass:"btn btn-primary",domProps:{textContent:t._s(t.__("Show locks"))},on:{click:t.locks}}):t._e()])]):t._e()],1)},$=[],S=h(w,C,$,!1,null,null,null,null);const y=S.exports;Statamic.booting(()=>{Statamic.component("statamic-locks-listing",g),Statamic.component("statamic-locks-modal",y)});Statamic.booted(()=>{let e=("/"+Statamic.$config.get("urlPath")).split("/"),t=Statamic.$config.get("statamicLocks.locks")??{};for(let s in t){let d=t[s].split("/"),i=!0,n=0,r="",l="";for(;i&&d.length;){if(r=d.shift(),r=="{id}"){l=e[n];continue}if(!(r=="*"||e[n]==r)){i=!1;continue}n++,d.length&&e.length{this.checkLockStatus()},1e3*Statamic.$config.get("statamicLocks.pollInterval",30)),window.addEventListener("beforeunload",()=>{this.show||this.$axios.delete(cp_url("statamic-locks/locks/"+this.status.lock_id+"?delay=true")).then(e=>{}).catch(e=>this.handleAxiosError(e))})},methods:{back(){window.history.back()},deleteLock(){this.status.lock_id||this.$toast.error(__("This isnt possible")),this.$axios.delete(cp_url("statamic-locks/locks/"+this.status.lock_id)).then(e=>{window.location.reload()}).catch(e=>this.handleAxiosError(e))},checkLockStatus(){this.updateCsrfToken().then(()=>{this.$axios.post(cp_url("statamic-locks/locks"),{item_id:this.itemId,item_type:this.itemType}).then(e=>{if(e.data.error){this.show=!0,this.status=e.data;return}this.show=!1,this.status=e.data}).catch(e=>this.handleAxiosError(e))})},handleAxiosError(e){this.$toast.error(__("Error getting lock status"))},locks(){window.location.href=cp_url("statamic-locks/locks")},updateCsrfToken(){return this.$axios.get(cp_url("auth/token")).then(e=>{const t=e.data;this.$axios.defaults.headers.common["X-CSRF-TOKEN"]=t,this.$config.set("csrfToken",t)})}}};var C=function(){var t=this,s=t._self._c;return s("div",[t.show?s("modal",{staticClass:"modal-lock"},[s("div",{staticClass:"flex items-center p-6 bg-gray-200 border-b text-center"},[t._v(" "+t._s(t.__("Item Locked"))+" ")]),s("div",{staticClass:"p-6"},[s("p",{staticClass:"text-base"},[t._v(t._s(t.__("Locked by :name, last updated :since",{name:t.status.locked_by.name,since:t.status.last_updated})))])]),s("div",{staticClass:"p-4 bg-gray-200 border-t flex items-center justify-between text-sm"},[s("button",{staticClass:"btn",domProps:{textContent:t._s(t.__("Back"))},on:{click:t.back}}),this.can("delete user locks")?s("button",{staticClass:"btn btn-danger",domProps:{textContent:t._s(t.__("Delete lock"))},on:{click:t.deleteLock}}):t._e(),this.can("view locks")?s("button",{staticClass:"btn btn-primary",domProps:{textContent:t._s(t.__("Show locks"))},on:{click:t.locks}}):t._e()])]):t._e()],1)},$=[],S=h(w,C,$,!1,null,null,null,null);const y=S.exports;Statamic.booting(()=>{Statamic.component("locks-listing",g),Statamic.component("locks-modal",y)});Statamic.booted(()=>{let e=("/"+Statamic.$config.get("urlPath")).split("/"),t=Statamic.$config.get("statamicLocks.locks")??{};for(let s in t){let d=t[s].split("/"),i=!0,a=0,r="",l="";for(;i&&d.length;){if(r=d.shift(),r=="{id}"){l=e[a];continue}if(!(r=="*"||e[a]==r)){i=!1;continue}a++,d.length&&e.length { - Statamic.component('statamic-locks-listing', LocksListing); - Statamic.component('statamic-locks-modal', LockModal); + Statamic.component('locks-listing', LocksListing); + Statamic.component('locks-modal', LockModal); }); Statamic.booted(() => { @@ -45,7 +45,7 @@ Statamic.booted(() => { continue; } - Statamic.$components.append('statamic-locks-modal', { + Statamic.$components.append('locks-modal', { props: { itemType: handle, itemId: id } }); } diff --git a/resources/js/components/modals/LockModal.vue b/resources/js/components/modals/LockModal.vue index e0af1d6..d4f31f1 100644 --- a/resources/js/components/modals/LockModal.vue +++ b/resources/js/components/modals/LockModal.vue @@ -8,7 +8,7 @@
-

{{ __('Locked by :name, last updated :since', {name: status.locked_by.name, since: status.last_updated}) }} +

{{ __('Locked by :name, last updated :since', {name: status.locked_by.name, since: status.last_updated}) }}

diff --git a/resources/views/locks/index.blade.php b/resources/views/locks/index.blade.php index 2a299cb..5ac7c0a 100644 --- a/resources/views/locks/index.blade.php +++ b/resources/views/locks/index.blade.php @@ -7,8 +7,8 @@

{{ __('Locks') }}

- + > @endsection diff --git a/src/Listeners/LockListener.php b/src/Listeners/LockListener.php index 9072bed..7fd8322 100755 --- a/src/Listeners/LockListener.php +++ b/src/Listeners/LockListener.php @@ -20,7 +20,7 @@ public function handle($event) $path = request()->path(); // Only apply locks in cp - if (!Str::of($path)->startsWith('cp')) { + if (! Str::of($path)->startsWith('cp')) { return; }