From b1735b34d6e19993797884606fbab98be3962c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Abascal=20Lozano?= Date: Wed, 2 Aug 2023 20:54:13 +0200 Subject: [PATCH] Fix problems with Nova 4 and add compatibility with Laravel 10. --- composer.json | 13 ++++++++++--- dist/css/field.css | 1 + dist/js/field.js | 2 +- dist/js/field.js.LICENSE.txt | 4 ++-- dist/mix-manifest.json | 3 ++- docker-compose.yml | 14 ++++++++++++++ mix.js | 2 +- package.json | 9 +++++---- readme.md | 14 +++++++++++++- resources/css/field.css | 2 ++ resources/js/components/FormField.vue | 2 +- src/Providers/FieldServiceProvider.php | 1 + tailwind.config.js | 12 ++++++++++++ webpack.mix.js | 7 +++++-- 14 files changed, 70 insertions(+), 16 deletions(-) create mode 100644 docker-compose.yml create mode 100644 resources/css/field.css create mode 100644 tailwind.config.js diff --git a/composer.json b/composer.json index 28cf20e..0beb9a0 100644 --- a/composer.json +++ b/composer.json @@ -1,15 +1,22 @@ { - "name": "dillingham/nova-attach-many", + "name": "letsgoi/nova-attach-many", + "type": "library", "description": "Attach Many Nova field", "keywords": [ "laravel", "nova" ], "license": "MIT", + "repositories": [ + { + "type": "composer", + "url": "https://nova.laravel.com" + } + ], "require": { "php": "^7.3|^8.0", - "laravel/nova": "^4", - "laravel/framework": "^8.0|^9.0" + "laravel/nova": "^4.0", + "laravel/framework": "^8.0|^9.0|^10.0" }, "autoload": { "psr-4": { diff --git a/dist/css/field.css b/dist/css/field.css index e69de29..b06ed20 100644 --- a/dist/css/field.css +++ b/dist/css/field.css @@ -0,0 +1 @@ +.nova-attach-many :is(.invisible){visibility:hidden}.nova-attach-many :is(.relative){position:relative}.nova-attach-many :is(.mt-2){margin-top:.5rem}.nova-attach-many :is(.mt-3){margin-top:.75rem}.nova-attach-many :is(.flex){display:flex}.nova-attach-many :is(.w-full){width:100%}.nova-attach-many :is(.cursor-pointer){cursor:pointer}.nova-attach-many :is(.flex-col){flex-direction:column}.nova-attach-many :is(.items-center){align-items:center}.nova-attach-many :is(.justify-center){justify-content:center}.nova-attach-many :is(.justify-between){justify-content:space-between}.nova-attach-many :is(.overflow-scroll){overflow:scroll}.nova-attach-many :is(.border){border-width:1px}.nova-attach-many :is(.border-b-0){border-bottom-width:0}.nova-attach-many :is(.border-gray-100){--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.nova-attach-many :is(.p-3){padding:.75rem}.nova-attach-many :is(.px-3){padding-left:.75rem;padding-right:.75rem}.nova-attach-many :is(.text-xl){font-size:1.25rem;line-height:1.75rem}.nova-attach-many :is(.filter){filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.nova-attach-many :is(.hover\:bg-gray-100:hover){--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}@media (prefers-color-scheme:dark){.nova-attach-many :is(.dark\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.nova-attach-many :is(.dark\:hover\:bg-gray-700:hover){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}} diff --git a/dist/js/field.js b/dist/js/field.js index 4a12c96..3dac39c 100644 --- a/dist/js/field.js +++ b/dist/js/field.js @@ -1,2 +1,2 @@ /*! For license information please see field.js.LICENSE.txt */ -(()=>{var t={6770:(t,e,r)=>{t.exports=r(1290)},3151:(t,e,r)=>{function n(t){return t&&"object"==typeof t&&"default"in t?t.default:t}var o=n(r(7891)),i=r(9013),a=n(r(5969));function u(){return(u=Object.assign||function(t){for(var e=1;e0&&"back_forward"===window.performance.getEntriesByType("navigation")[0].type},r.handleBackForwardVisit=function(t){var e=this;window.history.state.version=t.version,this.setPage(window.history.state,{preserveScroll:!0,preserveState:!0}).then((function(){e.restoreScrollPositions(),b(t)}))},r.locationVisit=function(t,e){try{window.sessionStorage.setItem("inertiaLocationVisit",JSON.stringify({preserveScroll:e})),window.location.href=t.href,y(window.location).href===y(t).href&&window.location.reload()}catch(t){return!1}},r.isLocationVisit=function(){try{return null!==window.sessionStorage.getItem("inertiaLocationVisit")}catch(t){return!1}},r.handleLocationVisit=function(t){var e,r,n,o,i=this,a=JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit")||"");window.sessionStorage.removeItem("inertiaLocationVisit"),t.url+=window.location.hash,t.rememberedState=null!=(e=null==(r=window.history.state)?void 0:r.rememberedState)?e:{},t.scrollRegions=null!=(n=null==(o=window.history.state)?void 0:o.scrollRegions)?n:[],this.setPage(t,{preserveScroll:a.preserveScroll,preserveState:!0}).then((function(){a.preserveScroll&&i.restoreScrollPositions(),b(t)}))},r.isLocationVisitResponse=function(t){return t&&409===t.status&&t.headers["x-inertia-location"]},r.isInertiaResponse=function(t){return null==t?void 0:t.headers["x-inertia"]},r.createVisitId=function(){return this.visitId={},this.visitId},r.cancelVisit=function(t,e){var r=e.cancelled,n=void 0!==r&&r,o=e.interrupted,i=void 0!==o&&o;!t||t.completed||t.cancelled||t.interrupted||(t.cancelToken.cancel(),t.onCancel(),t.completed=!1,t.cancelled=n,t.interrupted=i,m(t),t.onFinish(t))},r.finishVisit=function(t){t.cancelled||t.interrupted||(t.completed=!0,t.cancelled=!1,t.interrupted=!1,m(t),t.onFinish(t))},r.resolvePreserveOption=function(t,e){return"function"==typeof t?t(e):"errors"===t?Object.keys(e.props.errors||{}).length>0:t},r.visit=function(t,r){var n=this,i=void 0===r?{}:r,a=i.method,c=void 0===a?e.n$.GET:a,l=i.data,p=void 0===l?{}:l,h=i.replace,m=void 0!==h&&h,b=i.preserveScroll,_=void 0!==b&&b,w=i.preserveState,x=void 0!==w&&w,j=i.only,O=void 0===j?[]:j,S=i.headers,E=void 0===S?{}:S,A=i.errorBag,k=void 0===A?"":A,P=i.forceFormData,I=void 0!==P&&P,N=i.onCancelToken,C=void 0===N?function(){}:N,F=i.onBefore,T=void 0===F?function(){}:F,R=i.onStart,L=void 0===R?function(){}:R,M=i.onProgress,D=void 0===M?function(){}:M,B=i.onFinish,U=void 0===B?function(){}:B,V=i.onCancel,z=void 0===V?function(){}:V,W=i.onSuccess,$=void 0===W?function(){}:W,q=i.onError,G=void 0===q?function(){}:q,H=i.queryStringArrayFormat,J=void 0===H?"brackets":H,Q="string"==typeof t?d(t):t;if(!function t(e){return e instanceof File||e instanceof Blob||e instanceof FileList&&e.length>0||e instanceof FormData&&Array.from(e.values()).some((function(e){return t(e)}))||"object"==typeof e&&null!==e&&Object.values(e).some((function(e){return t(e)}))}(p)&&!I||p instanceof FormData||(p=f(p)),!(p instanceof FormData)){var K=v(c,Q,p,J),Z=K[1];Q=d(K[0]),p=Z}var X={url:Q,method:c,data:p,replace:m,preserveScroll:_,preserveState:x,only:O,headers:E,errorBag:k,forceFormData:I,queryStringArrayFormat:J,cancelled:!1,completed:!1,interrupted:!1};if(!1!==T(X)&&function(t){return g("before",{cancelable:!0,detail:{visit:t}})}(X)){this.activeVisit&&this.cancelVisit(this.activeVisit,{interrupted:!0}),this.saveScrollPositions();var Y=this.createVisitId();this.activeVisit=u({},X,{onCancelToken:C,onBefore:T,onStart:L,onProgress:D,onFinish:U,onCancel:z,onSuccess:$,onError:G,queryStringArrayFormat:J,cancelToken:o.CancelToken.source()}),C({cancel:function(){n.activeVisit&&n.cancelVisit(n.activeVisit,{cancelled:!0})}}),function(t){g("start",{detail:{visit:t}})}(X),L(X),o({method:c,url:y(Q).href,data:c===e.n$.GET?{}:p,params:c===e.n$.GET?p:{},cancelToken:this.activeVisit.cancelToken.token,headers:u({},E,{Accept:"text/html, application/xhtml+xml","X-Requested-With":"XMLHttpRequest","X-Inertia":!0},O.length?{"X-Inertia-Partial-Component":this.page.component,"X-Inertia-Partial-Data":O.join(",")}:{},k&&k.length?{"X-Inertia-Error-Bag":k}:{},this.page.version?{"X-Inertia-Version":this.page.version}:{}),onUploadProgress:function(t){p instanceof FormData&&(t.percentage=Math.round(t.loaded/t.total*100),function(t){g("progress",{detail:{progress:t}})}(t),D(t))}}).then((function(t){var e;if(!n.isInertiaResponse(t))return Promise.reject({response:t});var r=t.data;O.length&&r.component===n.page.component&&(r.props=u({},n.page.props,r.props)),_=n.resolvePreserveOption(_,r),(x=n.resolvePreserveOption(x,r))&&null!=(e=window.history.state)&&e.rememberedState&&r.component===n.page.component&&(r.rememberedState=window.history.state.rememberedState);var o=Q,i=d(r.url);return o.hash&&!i.hash&&y(o).href===i.href&&(i.hash=o.hash,r.url=i.href),n.setPage(r,{visitId:Y,replace:m,preserveScroll:_,preserveState:x})})).then((function(){var t=n.page.props.errors||{};if(Object.keys(t).length>0){var e=k?t[k]?t[k]:{}:t;return function(t){g("error",{detail:{errors:t}})}(e),G(e)}return g("success",{detail:{page:n.page}}),$(n.page)})).catch((function(t){if(n.isInertiaResponse(t.response))return n.setPage(t.response.data,{visitId:Y});if(n.isLocationVisitResponse(t.response)){var e=d(t.response.headers["x-inertia-location"]),r=Q;r.hash&&!e.hash&&y(r).href===e.href&&(e.hash=r.hash),n.locationVisit(e,!0===_)}else{if(!t.response)return Promise.reject(t);g("invalid",{cancelable:!0,detail:{response:t.response}})&&s.show(t.response.data)}})).then((function(){n.activeVisit&&n.finishVisit(n.activeVisit)})).catch((function(t){if(!o.isCancel(t)){var e=g("exception",{cancelable:!0,detail:{exception:t}});if(n.activeVisit&&n.finishVisit(n.activeVisit),e)return Promise.reject(t)}}))}},r.setPage=function(t,e){var r=this,n=void 0===e?{}:e,o=n.visitId,i=void 0===o?this.createVisitId():o,a=n.replace,u=void 0!==a&&a,c=n.preserveScroll,s=void 0!==c&&c,l=n.preserveState,f=void 0!==l&&l;return Promise.resolve(this.resolveComponent(t.component)).then((function(e){i===r.visitId&&(t.scrollRegions=t.scrollRegions||[],t.rememberedState=t.rememberedState||{},(u=u||d(t.url).href===window.location.href)?r.replaceState(t):r.pushState(t),r.swapComponent({component:e,page:t,preserveState:f}).then((function(){s||r.resetScrollPositions(),u||b(t)})))}))},r.pushState=function(t){this.page=t,window.history.pushState(t,"",t.url)},r.replaceState=function(t){this.page=t,window.history.replaceState(t,"",t.url)},r.handlePopstateEvent=function(t){var e=this;if(null!==t.state){var r=t.state,n=this.createVisitId();Promise.resolve(this.resolveComponent(r.component)).then((function(t){n===e.visitId&&(e.page=r,e.swapComponent({component:t,page:r,preserveState:!1}).then((function(){e.restoreScrollPositions(),b(r)})))}))}else{var o=d(this.page.url);o.hash=window.location.hash,this.replaceState(u({},this.page,{url:o.href})),this.resetScrollPositions()}},r.get=function(t,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(t,u({},n,{method:e.n$.GET,data:r}))},r.reload=function(t){return void 0===t&&(t={}),this.visit(window.location.href,u({},t,{preserveScroll:!0,preserveState:!0}))},r.replace=function(t,e){var r;return void 0===e&&(e={}),console.warn("Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia."+(null!=(r=e.method)?r:"get")+"() instead."),this.visit(t,u({preserveState:!0},e,{replace:!0}))},r.post=function(t,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(t,u({preserveState:!0},n,{method:e.n$.POST,data:r}))},r.put=function(t,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(t,u({preserveState:!0},n,{method:e.n$.PUT,data:r}))},r.patch=function(t,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(t,u({preserveState:!0},n,{method:e.n$.PATCH,data:r}))},r.delete=function(t,r){return void 0===r&&(r={}),this.visit(t,u({preserveState:!0},r,{method:e.n$.DELETE}))},r.remember=function(t,e){var r,n;void 0===e&&(e="default"),_||this.replaceState(u({},this.page,{rememberedState:u({},null==(r=this.page)?void 0:r.rememberedState,(n={},n[e]=t,n))}))},r.restore=function(t){var e,r;if(void 0===t&&(t="default"),!_)return null==(e=window.history.state)||null==(r=e.rememberedState)?void 0:r[t]},r.on=function(t,e){var r=function(t){var r=e(t);t.cancelable&&!t.defaultPrevented&&!1===r&&t.preventDefault()};return document.addEventListener("inertia:"+t,r),function(){return document.removeEventListener("inertia:"+t,r)}},t}(),x={buildDOMElement:function(t){var e=document.createElement("template");e.innerHTML=t;var r=e.content.firstChild;if(!t.startsWith("