From 10d3d2be6042a50fba6da1f6dec39da4e4f1a046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Strau=C3=9F?= Date: Fri, 8 Apr 2022 12:19:58 +0200 Subject: [PATCH 01/29] =?UTF-8?q?=E2=80=9Cwip=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/installation.md | 37 +++++++++++++++++++++ src/Actions/WorkflowAction.php | 4 +-- src/Console/MakeWorkflowCommand.php | 46 ++++++++++++++++++++++++++ src/Console/stubs/workflow.stub | 50 +++++++++++++++++++++++++++++ src/Models/WorkflowRegistry.php | 2 +- src/NovaWorkflowServiceProvider.php | 5 +++ 6 files changed, 141 insertions(+), 3 deletions(-) create mode 100644 docs/installation.md create mode 100644 src/Console/MakeWorkflowCommand.php create mode 100644 src/Console/stubs/workflow.stub diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..08a07c5 --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,37 @@ +--- +title: Base installation +weight: 4 +--- + +Nova Workflow can be installed via Composer: + +```bash +composer require "orlyapps/nova-workflow" +``` + +You can publish the config file with: + +```bash +php artisan vendor:publish --provider="Orlyapps\NovaWorkflow\NovaWorkflowServiceProvider" +``` + +Create a new workflow for a Model eg. \App\Models\User + +```bash +php artisan make:workflow User +``` + +To use a workflow with a model, the model must implement the following trait: + +```php +resolveStubPath('/stubs/workflow.stub'); + } + + public function handle() + { + parent::handle(); + + $class = $this->qualifyClass($this->getNameInput()); + $path = $this->getPath($class); + rename($path, dirname($path) . '/' . $this->getNameInput() . "Workflow.php"); + } + + /** + * Resolve the fully-qualified path to the stub. + * + * @param string $stub + * @return string + */ + protected function resolveStubPath($stub) + { + return file_exists($customPath = $this->laravel->basePath(trim($stub, '/'))) + ? $customPath + : __DIR__ . $stub; + } + + protected function getDefaultNamespace($rootNamespace) + { + return $rootNamespace.'\Nova\Workflows'; + } +} diff --git a/src/Console/stubs/workflow.stub b/src/Console/stubs/workflow.stub new file mode 100644 index 0000000..0534440 --- /dev/null +++ b/src/Console/stubs/workflow.stub @@ -0,0 +1,50 @@ +color('yellow'), + Place::make('Published', 'published')->color('green') + ]; + } + + public function transitions() + { + return [ + Transition::make('Publish', 'publish') + ->from(['draft']) + ->to('published'), + ]; + } + + public function users($order, $placeName) + { + return []; + } +} diff --git a/src/Models/WorkflowRegistry.php b/src/Models/WorkflowRegistry.php index 4ecfcbd..2303843 100644 --- a/src/Models/WorkflowRegistry.php +++ b/src/Models/WorkflowRegistry.php @@ -138,7 +138,7 @@ public function add(WorkflowDefinition $workflow) $definition = $builder->build(); $markingStore = new MethodMarkingStore(true, config('workflow.marking_store_field')); - $workflowObj = new Workflow($definition, $markingStore, $this->dispatcher, $workflow->name); + $workflowObj = new Workflow($definition, $markingStore, $this->dispatcher, \Str::lower($workflow->name)); foreach ($workflow->supports as $supportedClass) { $supportStrategy = $workflow->supportStrategy(); diff --git a/src/NovaWorkflowServiceProvider.php b/src/NovaWorkflowServiceProvider.php index 182c0d0..1a7cd86 100644 --- a/src/NovaWorkflowServiceProvider.php +++ b/src/NovaWorkflowServiceProvider.php @@ -9,6 +9,7 @@ use Laravel\Nova\Events\ServingNova; use Laravel\Nova\Fields\Field; use Laravel\Nova\Nova; +use Orlyapps\NovaWorkflow\Console\MakeWorkflowCommand; use Orlyapps\NovaWorkflow\Models\WorkflowDefinition; use Orlyapps\NovaWorkflow\Models\WorkflowRegistry; use Symfony\Component\Finder\Finder; @@ -42,6 +43,10 @@ public function boot() ], 'config'); $this->macros(); + + $this->commands([ + MakeWorkflowCommand::class, + ]); } public function macros() From 9f0672ff83ffe690421367cfd9d193b7205a0709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Strau=C3=9F?= Date: Fri, 8 Apr 2022 12:26:15 +0200 Subject: [PATCH 02/29] =?UTF-8?q?=E2=80=9Cwip=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/css/app.css | 255 +- dist/js/app.js | 20560 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 27 +- webpack.mix.js | 2 +- 4 files changed, 20827 insertions(+), 17 deletions(-) diff --git a/dist/css/app.css b/dist/css/app.css index 48cfd46..ce3dac2 100644 --- a/dist/css/app.css +++ b/dist/css/app.css @@ -1 +1,254 @@ -:root{--blue:#3b82f6;--cyan:#06b6d4;--lightBlue:#0ea5e9;--green:#22c55e;--lime:#84cc16;--orange:#f97316;--red:#ef4444;--purple:#9f7aea;--gray:#a0aec0;--yellow:#facc15;--indigo:#6366f1;--pink:#ec4899}.bg-blue{background:#3b82f6}.bg-blue-light{background:#b5d0fc}.text-blue-dark,.text-blue-light{color:#0b63f3}.bg-blue-dark{background:#0b63f3}.bg-cyan{background:#06b6d4}.bg-cyan-light{background:#5fe4fa}.text-cyan-dark,.text-cyan-light{color:#058ba2}.bg-cyan-dark{background:#058ba2}.bg-lightBlue{background:#0ea5e9}.bg-lightBlue-light{background:#7fd2f7}.text-lightBlue-dark,.text-lightBlue-light{color:#0b83b9}.bg-lightBlue-dark{background:#0b83b9}.bg-green{background:#22c55e}.bg-green-light{background:#7ee9a5}.text-green-dark,.text-green-light{color:#1a9a49}.bg-green-dark{background:#1a9a49}.bg-lime{background:#84cc16}.bg-lime-light{background:#bef072}.text-lime-dark,.text-lime-light{color:#669e11}.bg-lime-dark{background:#669e11}.bg-orange{background:#f97316}.bg-orange-light{background:#fcbe92}.text-orange-dark,.text-orange-light{color:#d65b06}.bg-orange-dark{background:#d65b06}.bg-red{background:#ef4444}.bg-red-light{background:#f9b9b9}.text-red-dark,.text-red-light{color:#eb1515}.bg-red-dark{background:#eb1515}.bg-purple{background:#9f7aea}.bg-purple-light{background:#eee8fb}.text-purple-dark,.text-purple-light{color:#7f4ee3}.bg-purple-dark{background:#7f4ee3}.bg-gray{background:#a0aec0}.bg-gray-light{background:#edeff3}.text-gray-dark,.text-gray-light{color:#8194ac}.bg-gray-dark{background:#8194ac}.bg-yellow{background:#facc15}.bg-yellow-light{background:#fde792}.text-yellow-dark,.text-yellow-light{color:#d7ad05}.bg-yellow-dark{background:#d7ad05}.bg-indigo{background:#6366f1}.bg-indigo-light{background:#d8d9fc}.text-indigo-dark,.text-indigo-light{color:#3438ed}.bg-indigo-dark{background:#3438ed}.bg-pink{background:#ec4899}.bg-pink-light{background:#f8bcd9}.text-pink-dark,.text-pink-light{color:#e71a7f}.bg-pink-dark{background:#e71a7f} \ No newline at end of file +:root { + --blue: #3b82f6; + --cyan: #06b6d4; + --lightBlue: #0ea5e9; + --green: #22c55e; + --lime: #84cc16; + --orange: #f97316; + --red: #ef4444; + --purple: #9f7aea; + --gray: #a0aec0; + --yellow: #facc15; + --indigo: #6366f1; + --pink: #ec4899; +} + +.bg-blue { + background: #3b82f6; +} + +.bg-blue-light { + background: #b5d0fc; +} + +.text-blue-dark { + color: #0b63f3; +} + +.text-blue-light { + color: #0b63f3; +} + +.bg-blue-dark { + background: #0b63f3; +} + +.bg-cyan { + background: #06b6d4; +} + +.bg-cyan-light { + background: #5fe4fa; +} + +.text-cyan-dark { + color: #058ba2; +} + +.text-cyan-light { + color: #058ba2; +} + +.bg-cyan-dark { + background: #058ba2; +} + +.bg-lightBlue { + background: #0ea5e9; +} + +.bg-lightBlue-light { + background: #7fd2f7; +} + +.text-lightBlue-dark { + color: #0b83b9; +} + +.text-lightBlue-light { + color: #0b83b9; +} + +.bg-lightBlue-dark { + background: #0b83b9; +} + +.bg-green { + background: #22c55e; +} + +.bg-green-light { + background: #7ee9a5; +} + +.text-green-dark { + color: #1a9a49; +} + +.text-green-light { + color: #1a9a49; +} + +.bg-green-dark { + background: #1a9a49; +} + +.bg-lime { + background: #84cc16; +} + +.bg-lime-light { + background: #bef072; +} + +.text-lime-dark { + color: #669e11; +} + +.text-lime-light { + color: #669e11; +} + +.bg-lime-dark { + background: #669e11; +} + +.bg-orange { + background: #f97316; +} + +.bg-orange-light { + background: #fcbe92; +} + +.text-orange-dark { + color: #d65b06; +} + +.text-orange-light { + color: #d65b06; +} + +.bg-orange-dark { + background: #d65b06; +} + +.bg-red { + background: #ef4444; +} + +.bg-red-light { + background: #f9b9b9; +} + +.text-red-dark { + color: #eb1515; +} + +.text-red-light { + color: #eb1515; +} + +.bg-red-dark { + background: #eb1515; +} + +.bg-purple { + background: #9f7aea; +} + +.bg-purple-light { + background: #eee8fb; +} + +.text-purple-dark { + color: #7f4ee3; +} + +.text-purple-light { + color: #7f4ee3; +} + +.bg-purple-dark { + background: #7f4ee3; +} + +.bg-gray { + background: #a0aec0; +} + +.bg-gray-light { + background: #edeff3; +} + +.text-gray-dark { + color: #8194ac; +} + +.text-gray-light { + color: #8194ac; +} + +.bg-gray-dark { + background: #8194ac; +} + +.bg-yellow { + background: #facc15; +} + +.bg-yellow-light { + background: #fde792; +} + +.text-yellow-dark { + color: #d7ad05; +} + +.text-yellow-light { + color: #d7ad05; +} + +.bg-yellow-dark { + background: #d7ad05; +} + +.bg-indigo { + background: #6366f1; +} + +.bg-indigo-light { + background: #d8d9fc; +} + +.text-indigo-dark { + color: #3438ed; +} + +.text-indigo-light { + color: #3438ed; +} + +.bg-indigo-dark { + background: #3438ed; +} + +.bg-pink { + background: #ec4899; +} + +.bg-pink-light { + background: #f8bcd9; +} + +.text-pink-dark { + color: #e71a7f; +} + +.text-pink-light { + color: #e71a7f; +} + +.bg-pink-dark { + background: #e71a7f; +} diff --git a/dist/js/app.js b/dist/js/app.js index 55e1a30..7d8f0d5 100644 --- a/dist/js/app.js +++ b/dist/js/app.js @@ -1 +1,20559 @@ -!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=8)}([function(t,e,n){t.exports=n(11)},function(t,e,n){"use strict";function r(t,e,n,r,o,a,i,s){var c,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),i?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(t,e){return c.call(e),l(t,e)}}else{var f=u.beforeCreate;u.beforeCreate=f?[].concat(f,c):[c]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"==typeof btoa){var o=(i=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),a=r.sources.map((function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"}));return[n].concat(a).concat([o]).join("\n")}var i;return[n].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n})).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},o=0;o=0&&f.splice(e,1)}function y(t){var e=document.createElement("style");if(void 0===t.attrs.type&&(t.attrs.type="text/css"),void 0===t.attrs.nonce){var r=function(){0;return n.nc}();r&&(t.attrs.nonce=r)}return b(e,t.attrs),h(t,e),e}function b(t,e){Object.keys(e).forEach((function(n){t.setAttribute(n,e[n])}))}function g(t,e){var n,r,o,a;if(e.transform&&t.css){if(!(a="function"==typeof e.transform?e.transform(t.css):e.transform.default(t.css)))return function(){};t.css=a}if(e.singleton){var i=l++;n=u||(u=y(e)),r=x.bind(null,n,i,!1),o=x.bind(null,n,i,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(t){var e=document.createElement("link");return void 0===t.attrs.type&&(t.attrs.type="text/css"),t.attrs.rel="stylesheet",b(e,t.attrs),h(t,e),e}(e),r=k.bind(null,n,e),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=y(e),r=C.bind(null,n),o=function(){m(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(e=e||{}).attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||"boolean"==typeof e.singleton||(e.singleton=i()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=v(t,e);return p(n,e),function(t){for(var r=[],o=0;o=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:k(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){"use strict";n(4)},function(t,e,n){(t.exports=n(2)(!1)).push([t.i,'.timeline{position:relative;display:flex;flex-direction:column;width:100%}.timeline:before{content:"";position:absolute;top:0;left:18px;height:100%;width:4px;background:#d7e4ed;left:50%;margin-left:-2px}.timeline .item{width:48%}.timeline .item:nth-child(odd){align-self:flex-start}.timeline .item:nth-child(odd) svg{margin-left:.75rem}.timeline .item:nth-child(2n){align-self:flex-end;flex-direction:row-reverse}.timeline .item:nth-child(2n) svg{margin-right:.75rem}',""])},function(t,e){t.exports=function(t){var e="undefined"!=typeof window&&window.location;if(!e)throw new Error("fixUrls requires window.location");if(!t||"string"!=typeof t)return t;var n=e.protocol+"//"+e.host,r=n+e.pathname.replace(/\/[^\/]*$/,"/");return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(t,e){var o,a=e.trim().replace(/^"(.*)"$/,(function(t,e){return e})).replace(/^'(.*)'$/,(function(t,e){return e}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(a)?t:(o=0===a.indexOf("//")?a:0===a.indexOf("/")?n+a:r+a.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")}))}},function(t,e,n){"use strict";n(5)},function(t,e,n){(t.exports=n(2)(!1)).push([t.i,".action-selector>div{visibility:hidden;display:none}.action-selector>div.modal{visibility:visible;display:block}",""])},function(t,e,n){"use strict";n(6)},function(t,e,n){(t.exports=n(2)(!1)).push([t.i,".card-panel[data-v-4b0c6d34]{height:100%!important;min-height:150px}.action-selector>div[data-v-4b0c6d34]{visibility:hidden;display:none}.action-selector>div.modal[data-v-4b0c6d34]{visibility:visible;display:block}",""])},function(t,e,n){"use strict";n(7)},function(t,e,n){(t.exports=n(2)(!1)).push([t.i,".item[data-v-1ba23f4a]:hover{cursor:pointer}.card-panel[data-v-1ba23f4a]{height:auto!important;min-height:150px}",""])},function(t,e,n){"use strict";n.r(e);var r=n(0),o=n.n(r);function a(t){return function(t){if(Array.isArray(t))return s(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||i(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){if(t){if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}(this.$root.$children);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.cards&&r.initializeComponent()}}catch(t){n.e(t)}finally{n.f()}setTimeout((function(){e.overwriteActionHandler()}),500)},handleClose:function(){this.dueDateChangeModal=!1}}},f=(n(15),n(17),n(1)),d=Object(f.a)(l,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("card",{staticClass:"px-4 py-4"},[n("div",{staticClass:"flex mb-3 relative"},[n("h3",{staticClass:"mr-3 text-base text-80 font-bold"},[t._v(t._s(t.__("Current status")))]),t._v(" "),t.state.dueIn?n("span",{staticClass:"whitespace-no-wrap px-2 py-1 rounded-full uppercase text-xs font-bold absolute pin-t pin-r",class:{"bg-orange-light text-orange-dark":!1===t.state.duePast,"bg-red-light text-red-dark":!0===t.state.duePast}},[t._v("\n "+t._s(t.__("Due"))+" "+t._s(t.state.dueIn)+"\n ")]):t._e()]),t._v(" "),n("div",{staticClass:"flex items-center mb-6"},[n("span",{staticClass:"w-4 h-4 block rounded-full mr-3 bg-blue",class:"bg-"+t.state.color}),t._v(" "),n("div",{staticClass:"flex items-center justify-between w-full"},[n("h2",{attrs:{dusk:"workflow-current-status"}},[t._v(t._s(t.state.title))]),t._v(" "),t.state&&t.state.can.changeDue?n("button",{staticClass:"btn btn-clear btn-icon btn-white",attrs:{"data-testid":"edit-resource",dusk:"edit-resource-button",title:"Bearbeiten"},on:{click:function(e){return e.preventDefault(),t.changeDue(e)}}},[n("svg",{staticClass:"text-80 h-6 w-6",attrs:{"aria-hidden":"true",focusable:"false","data-prefix":"fal","data-icon":"calendar-edit",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"}},[n("path",{attrs:{fill:"currentColor",d:"M400 64h-48V12c0-6.6-5.4-12-12-12h-8c-6.6 0-12 5.4-12 12v52H128V12c0-6.6-5.4-12-12-12h-8c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM48 96h352c8.8 0 16 7.2 16 16v48H32v-48c0-8.8 7.2-16 16-16zm352 384H48c-8.8 0-16-7.2-16-16V192h384v272c0 8.8-7.2 16-16 16zM255.7 269.7l34.6 34.6c2.1 2.1 2.1 5.4 0 7.4L159.1 442.9l-35.1 5c-6.9 1-12.9-4.9-11.9-11.9l5-35.1 131.2-131.2c2-2 5.4-2 7.4 0zm75.2 1.4l-19.2 19.2c-2.1 2.1-5.4 2.1-7.4 0l-34.6-34.6c-2.1-2.1-2.1-5.4 0-7.4l19.2-19.2c6.8-6.8 17.9-6.8 24.7 0l17.3 17.3c6.8 6.8 6.8 17.9 0 24.7z"}})])]):t._e()])]),t._v(" "),t.state&&0!==t.state.responsibleUsers.length?n("div",{staticClass:"mb-6"},[n("h3",{staticClass:"mr-3 text-base text-80 mb-2"},[t._v(t._s(t.__("Responsibility")))]),t._v(" "),n("h5",{staticClass:"font-light"},t._l(t.state.responsibleUsers,(function(e){return n("span",{key:e.id},[n("router-link",{staticClass:"no-underline font-bold dim text-primary",attrs:{to:{name:"detail",params:{resourceName:e.resourceName,resourceId:e.id}}}},[t._v("\n "+t._s(e.name)+"\n ")]),t._v("\n , \n ")],1)})),0)]):t._e(),t._v(" "),t.state.transitions&&t.state.transitions.length?n("div",[n("h3",{staticClass:"mr-3 text-base text-80 mb-2"},[t._v(t._s(t.__("Next Step")))]),t._v(" "),t.state.description?n("p",{staticClass:"text-80 mb-4 text-sm w-1/2"},[t._v(t._s(t.state.description))]):t._e(),t._v(" "),t._l(t.state.transitions,(function(e){return n("div",{key:e.name},[e.userInteraction?n("a",{staticClass:"btn btn-sm flex btn-outline items-center mb-2 block",attrs:{href:"",dusk:"workflow-apply-"+e.name},on:{click:function(n){return n.stopPropagation(),n.preventDefault(),t.apply(e)}}},[t._v("\n "+t._s(e.title)+"\n ")]):t._e()])}))],2):t._e(),t._v(" "),t.resource?n("action-selector",{ref:"actionSelector",staticClass:"action-selector ml-3",attrs:{"resource-name":t.resourceName,actions:t.actions,"pivot-actions":{actions:[]},"selected-resources":[this.resourceId],"query-string":{}}}):t._e(),t._v(" "),n("portal",{attrs:{to:"modals"}},[n("transition",{attrs:{name:"fade"}},[t.dueDateChangeModal?n("modal",{attrs:{"class-whitelist":"flatpickr-calendar"},on:{"modal-close":t.handleClose}},[n("div",{staticClass:"bg-white rounded-lg shadow-lg overflow-hidden",staticStyle:{width:"500px"}},[n("heading",{staticClass:"border-b border-40 py-8 px-8",attrs:{level:2}},[t._v(t._s(t.__("Change due date")))]),t._v(" "),t._t("default",[n("default-field",{attrs:{field:{attribute:"due_in",name:t.__("Due on")},fullWidthContent:!0}},[n("template",{slot:"field"},[n("date-time-picker",{staticClass:"w-full form-control form-input form-input-bordered",attrs:{name:"due_in",value:t.dueAt,dateFormat:"d.m.Y","enable-time":!1,"enable-seconds":!1,"first-day-of-week":1},on:{change:t.onDueChange}}),t._v(" "),t.dueAt?n("a",{staticClass:"no-underline font-bold dim text-primary pt-3 block",attrs:{href:""},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.clearDue(e)}}},[t._v(t._s(t.__("Remove due date")))]):t._e()],1)],2),t._v(" "),n("div",{staticClass:"bg-30 px-6 py-3 flex"},[n("div",{staticClass:"flex items-center ml-auto"},[n("button",{staticClass:"btn text-80 font-normal h-9 px-3 mr-3 btn-link",attrs:{type:"button"},on:{click:function(e){return e.preventDefault(),t.handleClose(e)}}},[t._v(t._s(t.__("Cancel")))]),t._v(" "),n("button",{staticClass:"btn btn-default btn-primary",attrs:{type:"submit"},on:{click:function(e){return e.preventDefault(),t.updateDue(e)}}},[n("span",[t._v(t._s(t.__("Save")))])])])])])],2)]):t._e()],1)],1)],1)}),[],!1,null,"4b0c6d34",null);e.default=d.exports},function(t,e,n){"use strict";n.r(e);var r=n(0),o=n.n(r);function a(t,e,n,r,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void n(t)}s.done?e(c):Promise.resolve(c).then(r,o)}function i(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function s(t){a(i,r,o,s,c,"next",t)}function c(t){a(i,r,o,s,c,"throw",t)}s(void 0)}))}}var s={props:["card","resource","resourceId","resourceName"],data:function(){return{todos:[]}},mounted:function(){var t=this;return i(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.onLoad(),Nova.$on("cards.refresh",(function(){t.onLoad()}));case 2:case"end":return e.stop()}}),e)})))()},methods:{onAction:function(t){this.$router.push({path:t.path})},onLoad:function(){var t=this;return i(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Nova.request().get("/nova-vendor/nova-workflow/todos/?providers=".concat(t.card.providers.join(",")));case 2:t.todos=e.sent.data;case 3:case"end":return e.stop()}}),e)})))()}}},c=(n(19),n(1)),u=Object(c.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"card"},[n("div",{staticClass:"px-6 pt-4"},[n("div",{staticClass:"flex mb-2"},[n("h3",{staticClass:"mr-3 text-base text-80 font-bold"},[t._v(t._s(t.__("My tasks")))])])]),t._v(" "),0===t.todos.length?n("div",{staticClass:"px-6 pt-4 h-full flex justify-center items-center flex-col"},[n("svg",{staticClass:"h-24 w-24 mb-6 text-50",attrs:{"aria-hidden":"true",focusable:"false","data-prefix":"fad","data-icon":"smile-beam",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 496 512"}},[n("g",{staticClass:"fa-group"},[n("path",{staticClass:"fa-secondary",attrs:{fill:"currentColor",d:"M245.47,8C108.5,9.43-1.36,121.56,0,258.53S113.56,505.36,250.53,504,497.36,390.44,496,253.47,382.44,6.64,245.47,8ZM112,223.4c3.3-42.1,32.2-71.38,56-71.38s52.7,29.28,56,71.38c.7,8.6-10.8,11.9-14.9,4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.78,7.9-31.48,21.6l-9.5,17C122.82,235.3,111.32,231.9,112,223.4ZM363.69,345a149.34,149.34,0,0,1-229.54,2.35c-13.67-16.17,10.62-36.81,24.37-20.75a117.57,117.57,0,0,0,180.39-1.84c13.41-16.32,38.08,3.93,24.78,20.24ZM369,227.9l-9.5-17c-7.7-13.7-19.18-21.6-31.48-21.6s-23.8,7.9-31.5,21.6l-9.5,17c-4.1,7.3-15.6,4-14.9-4.5,3.3-42.1,32.2-71.38,56-71.38s52.68,29.28,56,71.38c.58,8.6-11,11.9-15.11,4.5Z",opacity:"0.4"}}),t._v(" "),n("path",{staticClass:"fa-primary",attrs:{fill:"currentColor",d:"M168,152c-23.78,0-52.68,29.28-56,71.38-.7,8.5,10.8,11.9,15.1,4.5l9.5-17c7.7-13.7,19.18-21.6,31.48-21.6s23.8,7.9,31.5,21.6l9.5,17c4.1,7.4,15.6,4.1,14.9-4.5C220.7,181.3,191.8,152,168,152ZM384.08,223.4c-3.3-42.1-32.2-71.38-56-71.38s-52.7,29.28-56,71.38c-.7,8.5,10.8,11.8,14.9,4.5l9.5-17c7.7-13.7,19.2-21.6,31.5-21.6s23.78,7.9,31.48,21.6l9.5,17c4.11,7.4,15.71,4.1,15.11-4.5Z"}})])]),t._v(" "),n("h2",{staticClass:"mb-6 text-90"},[t._v(t._s(t.__("All done!")))])]):t._e(),t._v(" "),t._l(t.todos,(function(e,r){return n("div",{key:r},[n("div",{staticClass:"px-6"},[n("div",{staticClass:"flex mb-4 mt-4"},[n("p",{staticClass:"flex items-center text-xl"},[t._v(t._s(r))])])]),t._v(" "),n("div",{staticClass:"border-t border-50"},t._l(e,(function(e){return n("div",{key:e.id,staticClass:"item px-6 py-4 border-b border-50 hover:bg-20 hover:cursor-pointer w-full",attrs:{dusk:"todo-item-"+e.id},on:{click:function(n){return t.onAction(e)}}},[n("div",{staticClass:"flex items-center w-full"},[n("span",{staticClass:"w-4 h-4 block rounded-full mr-3",class:"bg-"+e.color}),t._v(" "),n("div",{staticClass:"w-full"},[n("div",{staticClass:"flex items-center justify-between w-full"},[n("h4",{staticClass:"mb-1 text-xs text-80 uppercase tracking-wide"},[t._v(t._s(e.model))]),t._v(" "),e.dueIn?n("span",{staticClass:"px-3 py-2 rounded-full uppercase text-xs font-bold",class:{"bg-orange-light text-orange-dark":!1===e.duePast,"bg-red-light text-red-dark":!0===e.duePast}},[t._v(t._s(t.__("Due"))+" "+t._s(e.dueFormatted))]):t._e()]),t._v(" "),n("h4",{staticClass:"text-base mb-1",class:{"text-orange-dark":!1===e.duePast,"text-red-dark":!0===e.duePast}},[t._v(t._s(e.title))]),t._v(" "),n("p",{staticClass:"text-base",domProps:{innerHTML:t._s(e.subtitle)}})])])])})),0)])}))],2)}),[],!1,null,"1ba23f4a",null);e.default=u.exports},function(t,e,n){"use strict";n.r(e);var r={data:function(){return{comment:""}},methods:{onSend:function(t){this.$emit("submit",this.comment),this.comment=""}}},o=n(1),a=Object(o.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"item flex items-center"},[n("div",{staticClass:"card w-full px-4 py-4"},[n("textarea",{directives:[{name:"model",rawName:"v-model",value:t.comment,expression:"comment"}],staticClass:"w-full form-control form-input form-input-bordered py-3 h-auto",attrs:{id:"notes",dusk:"notes",rows:"5"},domProps:{value:t.comment},on:{input:function(e){e.target.composing||(t.comment=e.target.value)}}}),t._v(" "),n("button",{staticClass:"btn btn-default btn-primary inline-flex items-center relative",attrs:{disabled:t.comment.length<=10,dusk:"update-button"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onSend(e)}}},[n("span",{},[t._v(t._s(t.__("Submit comment")))])])])])}),[],!1,null,null,null);e.default=a.exports},function(t,e,n){"use strict";n.r(e);var r={props:["activity"],mounted:function(){}},o=n(1),a=Object(o.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"item flex items-center"},[n("div",{staticClass:"card w-full px-4 py-4"},[n("div",{staticClass:"flex justify-between text-sm text-80 mb-3"},[n("h4",[t._v(t._s(t.activity.user.fullname))]),t._v(" "),n("span",{staticClass:"uppercase tracking-wide"},[t._v(t._s(t.activity.created_at))])]),t._v(" "),t.activity.data?n("div",{staticClass:"flex items-center"},[n("span",{staticClass:"w-4 h-4 block rounded-full mr-3",class:"bg-"+t.activity.data.status.color}),t._v(" "),n("div",[t.activity.data.transition?n("h5",{staticClass:"font-light"},[t._v(t._s(t.activity.data.transition.title))]):t._e(),t._v(" "),n("h3",[t._v(t._s(t.activity.data.status.title))])])]):t._e(),t._v(" "),n("p",[t._v(t._s(t.activity.comment))])])])}),[],!1,null,null,null);e.default=a.exports},function(t,e,n){"use strict";n.r(e);var r=n(0),o=n.n(r);function a(t,e,n,r,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void n(t)}s.done?e(c):Promise.resolve(c).then(r,o)}function i(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function s(t){a(i,r,o,s,c,"next",t)}function c(t){a(i,r,o,s,c,"throw",t)}s(void 0)}))}}var s={props:["resourceName","resourceId","field"],data:function(){return{activities:[]}},mounted:function(){var t=this;return i(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.fetch(),Nova.$on("workflow-updated",(function(){t.fetch()}));case 2:case"end":return e.stop()}}),e)})))()},beforeDestroy:function(){Nova.$off("workflow-updated")},methods:{onWriteComment:function(t){var e=this;return i(o.a.mark((function n(){var r;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Nova.request().post("/nova-vendor/nova-workflow/logs?resourceName=".concat(e.resourceName,"&resourceId=").concat(e.resourceId),{comment:t});case 2:r=n.sent.data,e.$toasted.show("Kommentar erfolgreich gespeichert",{type:"success"}),e.activities.unshift(r);case 5:case"end":return n.stop()}}),n)})))()},fetch:function(){var t=this;return i(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Nova.request().get("/nova-vendor/nova-workflow/logs?resourceName=".concat(t.resourceName,"&resourceId=").concat(t.resourceId));case 2:t.activities=e.sent.data.data;case 3:case"end":return e.stop()}}),e)})))()}}},c=(n(12),n(1)),u=Object(c.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("h4",{staticClass:"text-90 font-normal text-2xl mb-3"},[t._v(t._s(t.__("Activities")))]),t._v(" "),n("div",{staticClass:"timeline w-full"},[n("workflow-write-comment",{on:{submit:t.onWriteComment}}),t._v(" "),t._l(t.activities,(function(t){return n("workflow-status",{key:t.id,attrs:{activity:t}})}))],2)])}),[],!1,null,null,null);e.default=u.exports},function(t,e){}]); \ No newline at end of file +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@babel/runtime/regenerator/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/runtime/regenerator/index.js ***! + \**********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +module.exports = __webpack_require__(/*! regenerator-runtime */ "./node_modules/regenerator-runtime/runtime.js"); + + +/***/ }), + +/***/ "./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "BASE_TRANSITION": () => (/* binding */ BASE_TRANSITION), +/* harmony export */ "CAMELIZE": () => (/* binding */ CAMELIZE), +/* harmony export */ "CAPITALIZE": () => (/* binding */ CAPITALIZE), +/* harmony export */ "CREATE_BLOCK": () => (/* binding */ CREATE_BLOCK), +/* harmony export */ "CREATE_COMMENT": () => (/* binding */ CREATE_COMMENT), +/* harmony export */ "CREATE_ELEMENT_BLOCK": () => (/* binding */ CREATE_ELEMENT_BLOCK), +/* harmony export */ "CREATE_ELEMENT_VNODE": () => (/* binding */ CREATE_ELEMENT_VNODE), +/* harmony export */ "CREATE_SLOTS": () => (/* binding */ CREATE_SLOTS), +/* harmony export */ "CREATE_STATIC": () => (/* binding */ CREATE_STATIC), +/* harmony export */ "CREATE_TEXT": () => (/* binding */ CREATE_TEXT), +/* harmony export */ "CREATE_VNODE": () => (/* binding */ CREATE_VNODE), +/* harmony export */ "FRAGMENT": () => (/* binding */ FRAGMENT), +/* harmony export */ "GUARD_REACTIVE_PROPS": () => (/* binding */ GUARD_REACTIVE_PROPS), +/* harmony export */ "IS_MEMO_SAME": () => (/* binding */ IS_MEMO_SAME), +/* harmony export */ "IS_REF": () => (/* binding */ IS_REF), +/* harmony export */ "KEEP_ALIVE": () => (/* binding */ KEEP_ALIVE), +/* harmony export */ "MERGE_PROPS": () => (/* binding */ MERGE_PROPS), +/* harmony export */ "NORMALIZE_CLASS": () => (/* binding */ NORMALIZE_CLASS), +/* harmony export */ "NORMALIZE_PROPS": () => (/* binding */ NORMALIZE_PROPS), +/* harmony export */ "NORMALIZE_STYLE": () => (/* binding */ NORMALIZE_STYLE), +/* harmony export */ "OPEN_BLOCK": () => (/* binding */ OPEN_BLOCK), +/* harmony export */ "POP_SCOPE_ID": () => (/* binding */ POP_SCOPE_ID), +/* harmony export */ "PUSH_SCOPE_ID": () => (/* binding */ PUSH_SCOPE_ID), +/* harmony export */ "RENDER_LIST": () => (/* binding */ RENDER_LIST), +/* harmony export */ "RENDER_SLOT": () => (/* binding */ RENDER_SLOT), +/* harmony export */ "RESOLVE_COMPONENT": () => (/* binding */ RESOLVE_COMPONENT), +/* harmony export */ "RESOLVE_DIRECTIVE": () => (/* binding */ RESOLVE_DIRECTIVE), +/* harmony export */ "RESOLVE_DYNAMIC_COMPONENT": () => (/* binding */ RESOLVE_DYNAMIC_COMPONENT), +/* harmony export */ "RESOLVE_FILTER": () => (/* binding */ RESOLVE_FILTER), +/* harmony export */ "SET_BLOCK_TRACKING": () => (/* binding */ SET_BLOCK_TRACKING), +/* harmony export */ "SUSPENSE": () => (/* binding */ SUSPENSE), +/* harmony export */ "TELEPORT": () => (/* binding */ TELEPORT), +/* harmony export */ "TO_DISPLAY_STRING": () => (/* binding */ TO_DISPLAY_STRING), +/* harmony export */ "TO_HANDLERS": () => (/* binding */ TO_HANDLERS), +/* harmony export */ "TO_HANDLER_KEY": () => (/* binding */ TO_HANDLER_KEY), +/* harmony export */ "UNREF": () => (/* binding */ UNREF), +/* harmony export */ "WITH_CTX": () => (/* binding */ WITH_CTX), +/* harmony export */ "WITH_DIRECTIVES": () => (/* binding */ WITH_DIRECTIVES), +/* harmony export */ "WITH_MEMO": () => (/* binding */ WITH_MEMO), +/* harmony export */ "advancePositionWithClone": () => (/* binding */ advancePositionWithClone), +/* harmony export */ "advancePositionWithMutation": () => (/* binding */ advancePositionWithMutation), +/* harmony export */ "assert": () => (/* binding */ assert), +/* harmony export */ "baseCompile": () => (/* binding */ baseCompile), +/* harmony export */ "baseParse": () => (/* binding */ baseParse), +/* harmony export */ "buildDirectiveArgs": () => (/* binding */ buildDirectiveArgs), +/* harmony export */ "buildProps": () => (/* binding */ buildProps), +/* harmony export */ "buildSlots": () => (/* binding */ buildSlots), +/* harmony export */ "checkCompatEnabled": () => (/* binding */ checkCompatEnabled), +/* harmony export */ "createArrayExpression": () => (/* binding */ createArrayExpression), +/* harmony export */ "createAssignmentExpression": () => (/* binding */ createAssignmentExpression), +/* harmony export */ "createBlockStatement": () => (/* binding */ createBlockStatement), +/* harmony export */ "createCacheExpression": () => (/* binding */ createCacheExpression), +/* harmony export */ "createCallExpression": () => (/* binding */ createCallExpression), +/* harmony export */ "createCompilerError": () => (/* binding */ createCompilerError), +/* harmony export */ "createCompoundExpression": () => (/* binding */ createCompoundExpression), +/* harmony export */ "createConditionalExpression": () => (/* binding */ createConditionalExpression), +/* harmony export */ "createForLoopParams": () => (/* binding */ createForLoopParams), +/* harmony export */ "createFunctionExpression": () => (/* binding */ createFunctionExpression), +/* harmony export */ "createIfStatement": () => (/* binding */ createIfStatement), +/* harmony export */ "createInterpolation": () => (/* binding */ createInterpolation), +/* harmony export */ "createObjectExpression": () => (/* binding */ createObjectExpression), +/* harmony export */ "createObjectProperty": () => (/* binding */ createObjectProperty), +/* harmony export */ "createReturnStatement": () => (/* binding */ createReturnStatement), +/* harmony export */ "createRoot": () => (/* binding */ createRoot), +/* harmony export */ "createSequenceExpression": () => (/* binding */ createSequenceExpression), +/* harmony export */ "createSimpleExpression": () => (/* binding */ createSimpleExpression), +/* harmony export */ "createStructuralDirectiveTransform": () => (/* binding */ createStructuralDirectiveTransform), +/* harmony export */ "createTemplateLiteral": () => (/* binding */ createTemplateLiteral), +/* harmony export */ "createTransformContext": () => (/* binding */ createTransformContext), +/* harmony export */ "createVNodeCall": () => (/* binding */ createVNodeCall), +/* harmony export */ "extractIdentifiers": () => (/* binding */ extractIdentifiers), +/* harmony export */ "findDir": () => (/* binding */ findDir), +/* harmony export */ "findProp": () => (/* binding */ findProp), +/* harmony export */ "generate": () => (/* binding */ generate), +/* harmony export */ "generateCodeFrame": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_0__.generateCodeFrame), +/* harmony export */ "getBaseTransformPreset": () => (/* binding */ getBaseTransformPreset), +/* harmony export */ "getInnerRange": () => (/* binding */ getInnerRange), +/* harmony export */ "getMemoedVNodeCall": () => (/* binding */ getMemoedVNodeCall), +/* harmony export */ "getVNodeBlockHelper": () => (/* binding */ getVNodeBlockHelper), +/* harmony export */ "getVNodeHelper": () => (/* binding */ getVNodeHelper), +/* harmony export */ "hasDynamicKeyVBind": () => (/* binding */ hasDynamicKeyVBind), +/* harmony export */ "hasScopeRef": () => (/* binding */ hasScopeRef), +/* harmony export */ "helperNameMap": () => (/* binding */ helperNameMap), +/* harmony export */ "injectProp": () => (/* binding */ injectProp), +/* harmony export */ "isBuiltInType": () => (/* binding */ isBuiltInType), +/* harmony export */ "isCoreComponent": () => (/* binding */ isCoreComponent), +/* harmony export */ "isFunctionType": () => (/* binding */ isFunctionType), +/* harmony export */ "isInDestructureAssignment": () => (/* binding */ isInDestructureAssignment), +/* harmony export */ "isMemberExpression": () => (/* binding */ isMemberExpression), +/* harmony export */ "isMemberExpressionBrowser": () => (/* binding */ isMemberExpressionBrowser), +/* harmony export */ "isMemberExpressionNode": () => (/* binding */ isMemberExpressionNode), +/* harmony export */ "isReferencedIdentifier": () => (/* binding */ isReferencedIdentifier), +/* harmony export */ "isSimpleIdentifier": () => (/* binding */ isSimpleIdentifier), +/* harmony export */ "isSlotOutlet": () => (/* binding */ isSlotOutlet), +/* harmony export */ "isStaticArgOf": () => (/* binding */ isStaticArgOf), +/* harmony export */ "isStaticExp": () => (/* binding */ isStaticExp), +/* harmony export */ "isStaticProperty": () => (/* binding */ isStaticProperty), +/* harmony export */ "isStaticPropertyKey": () => (/* binding */ isStaticPropertyKey), +/* harmony export */ "isTemplateNode": () => (/* binding */ isTemplateNode), +/* harmony export */ "isText": () => (/* binding */ isText), +/* harmony export */ "isVSlot": () => (/* binding */ isVSlot), +/* harmony export */ "locStub": () => (/* binding */ locStub), +/* harmony export */ "makeBlock": () => (/* binding */ makeBlock), +/* harmony export */ "noopDirectiveTransform": () => (/* binding */ noopDirectiveTransform), +/* harmony export */ "processExpression": () => (/* binding */ processExpression), +/* harmony export */ "processFor": () => (/* binding */ processFor), +/* harmony export */ "processIf": () => (/* binding */ processIf), +/* harmony export */ "processSlotOutlet": () => (/* binding */ processSlotOutlet), +/* harmony export */ "registerRuntimeHelpers": () => (/* binding */ registerRuntimeHelpers), +/* harmony export */ "resolveComponentType": () => (/* binding */ resolveComponentType), +/* harmony export */ "toValidAssetId": () => (/* binding */ toValidAssetId), +/* harmony export */ "trackSlotScopes": () => (/* binding */ trackSlotScopes), +/* harmony export */ "trackVForSlotScopes": () => (/* binding */ trackVForSlotScopes), +/* harmony export */ "transform": () => (/* binding */ transform), +/* harmony export */ "transformBind": () => (/* binding */ transformBind), +/* harmony export */ "transformElement": () => (/* binding */ transformElement), +/* harmony export */ "transformExpression": () => (/* binding */ transformExpression), +/* harmony export */ "transformModel": () => (/* binding */ transformModel), +/* harmony export */ "transformOn": () => (/* binding */ transformOn), +/* harmony export */ "traverseNode": () => (/* binding */ traverseNode), +/* harmony export */ "walkBlockDeclarations": () => (/* binding */ walkBlockDeclarations), +/* harmony export */ "walkFunctionParams": () => (/* binding */ walkFunctionParams), +/* harmony export */ "walkIdentifiers": () => (/* binding */ walkIdentifiers), +/* harmony export */ "warnDeprecation": () => (/* binding */ warnDeprecation) +/* harmony export */ }); +/* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/shared */ "./node_modules/@vue/shared/dist/shared.esm-bundler.js"); + + + +function defaultOnError(error) { + throw error; +} +function defaultOnWarn(msg) { + ( true) && console.warn(`[Vue warn] ${msg.message}`); +} +function createCompilerError(code, loc, messages, additionalMessage) { + const msg = true + ? (messages || errorMessages)[code] + (additionalMessage || ``) + : 0; + const error = new SyntaxError(String(msg)); + error.code = code; + error.loc = loc; + return error; +} +const errorMessages = { + // parse errors + [0 /* ABRUPT_CLOSING_OF_EMPTY_COMMENT */]: 'Illegal comment.', + [1 /* CDATA_IN_HTML_CONTENT */]: 'CDATA section is allowed only in XML context.', + [2 /* DUPLICATE_ATTRIBUTE */]: 'Duplicate attribute.', + [3 /* END_TAG_WITH_ATTRIBUTES */]: 'End tag cannot have attributes.', + [4 /* END_TAG_WITH_TRAILING_SOLIDUS */]: "Illegal '/' in tags.", + [5 /* EOF_BEFORE_TAG_NAME */]: 'Unexpected EOF in tag.', + [6 /* EOF_IN_CDATA */]: 'Unexpected EOF in CDATA section.', + [7 /* EOF_IN_COMMENT */]: 'Unexpected EOF in comment.', + [8 /* EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT */]: 'Unexpected EOF in script.', + [9 /* EOF_IN_TAG */]: 'Unexpected EOF in tag.', + [10 /* INCORRECTLY_CLOSED_COMMENT */]: 'Incorrectly closed comment.', + [11 /* INCORRECTLY_OPENED_COMMENT */]: 'Incorrectly opened comment.', + [12 /* INVALID_FIRST_CHARACTER_OF_TAG_NAME */]: "Illegal tag name. Use '<' to print '<'.", + [13 /* MISSING_ATTRIBUTE_VALUE */]: 'Attribute value was expected.', + [14 /* MISSING_END_TAG_NAME */]: 'End tag name was expected.', + [15 /* MISSING_WHITESPACE_BETWEEN_ATTRIBUTES */]: 'Whitespace was expected.', + [16 /* NESTED_COMMENT */]: "Unexpected '|--!>| looseEqual(item, val)); +} + +/** + * For converting {{ interpolation }} values to displayed strings. + * @private + */ +const toDisplayString = (val) => { + return isString(val) + ? val + : val == null + ? '' + : isArray(val) || + (isObject(val) && + (val.toString === objectToString || !isFunction(val.toString))) + ? JSON.stringify(val, replacer, 2) + : String(val); +}; +const replacer = (_key, val) => { + // can't use isRef here since @vue/shared has no deps + if (val && val.__v_isRef) { + return replacer(_key, val.value); + } + else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val]) => { + entries[`${key} =>`] = val; + return entries; + }, {}) + }; + } + else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()] + }; + } + else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { + return String(val); + } + return val; +}; + +const EMPTY_OBJ = ( true) + ? Object.freeze({}) + : 0; +const EMPTY_ARR = ( true) ? Object.freeze([]) : 0; +const NOOP = () => { }; +/** + * Always return false. + */ +const NO = () => false; +const onRE = /^on[^a-z]/; +const isOn = (key) => onRE.test(key); +const isModelListener = (key) => key.startsWith('onUpdate:'); +const extend = Object.assign; +const remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +const hasOwnProperty = Object.prototype.hasOwnProperty; +const hasOwn = (val, key) => hasOwnProperty.call(val, key); +const isArray = Array.isArray; +const isMap = (val) => toTypeString(val) === '[object Map]'; +const isSet = (val) => toTypeString(val) === '[object Set]'; +const isDate = (val) => val instanceof Date; +const isFunction = (val) => typeof val === 'function'; +const isString = (val) => typeof val === 'string'; +const isSymbol = (val) => typeof val === 'symbol'; +const isObject = (val) => val !== null && typeof val === 'object'; +const isPromise = (val) => { + return isObject(val) && isFunction(val.then) && isFunction(val.catch); +}; +const objectToString = Object.prototype.toString; +const toTypeString = (value) => objectToString.call(value); +const toRawType = (value) => { + // extract "RawType" from strings like "[object RawType]" + return toTypeString(value).slice(8, -1); +}; +const isPlainObject = (val) => toTypeString(val) === '[object Object]'; +const isIntegerKey = (key) => isString(key) && + key !== 'NaN' && + key[0] !== '-' && + '' + parseInt(key, 10) === key; +const isReservedProp = /*#__PURE__*/ makeMap( +// the leading comma is intentional so empty string "" is also included +',key,ref,ref_for,ref_key,' + + 'onVnodeBeforeMount,onVnodeMounted,' + + 'onVnodeBeforeUpdate,onVnodeUpdated,' + + 'onVnodeBeforeUnmount,onVnodeUnmounted'); +const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo'); +const cacheStringFunction = (fn) => { + const cache = Object.create(null); + return ((str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }); +}; +const camelizeRE = /-(\w)/g; +/** + * @private + */ +const camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : '')); +}); +const hyphenateRE = /\B([A-Z])/g; +/** + * @private + */ +const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, '-$1').toLowerCase()); +/** + * @private + */ +const capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1)); +/** + * @private + */ +const toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``); +// compare whether a value has changed, accounting for NaN. +const hasChanged = (value, oldValue) => !Object.is(value, oldValue); +const invokeArrayFns = (fns, arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](arg); + } +}; +const def = (obj, key, value) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + value + }); +}; +const toNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +let _globalThis; +const getGlobalThis = () => { + return (_globalThis || + (_globalThis = + typeof globalThis !== 'undefined' + ? globalThis + : typeof self !== 'undefined' + ? self + : typeof window !== 'undefined' + ? window + : typeof __webpack_require__.g !== 'undefined' + ? __webpack_require__.g + : {})); +}; + + + + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Todo.vue?vue&type=script&lang=js": +/*!****************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Todo.vue?vue&type=script&lang=js ***! + \****************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__); + + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: ["card", "resource", "resourceId", "resourceName"], + data: function data() { + return { + todos: [] + }; + }, + mounted: function mounted() { + var _this = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _this.onLoad(); + + Nova.$on("cards.refresh", function () { + _this.onLoad(); + }); + + case 2: + case "end": + return _context.stop(); + } + } + }, _callee); + }))(); + }, + methods: { + onAction: function onAction(item) { + this.$router.push({ + path: item.path + }); + }, + onLoad: function onLoad() { + var _this2 = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return Nova.request().get("/nova-vendor/nova-workflow/todos/?providers=".concat(_this2.card.providers.join(","))); + + case 2: + _this2.todos = _context2.sent.data; + + case 3: + case "end": + return _context2.stop(); + } + } + }, _callee2); + }))(); + } + } +}); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=script&lang=js": +/*!********************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=script&lang=js ***! + \********************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__); +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + + + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: ["card", "resource", "resourceId", "resourceName"], + data: function data() { + return { + state: 0, + actions: [], + executing: false, + dueDateChangeModal: false, + dueAt: "", + originalHandler: null + }; + }, + mounted: function mounted() { + var _this = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee2() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return _this.reloadStatus(); + + case 2: + _this.state.transition = _toConsumableArray(_this.state.transitions.filter(function (item) { + return item.userInteraction === true; + })); + _this.dueAt = _this.state.dueAt || ""; + + _this.getActions(); + + _this.originalHandler = _this.$refs.actionSelector.handleActionResponse; + + _this.overwriteActionHandler(); + + Nova.$on("resources-loaded", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return _this.reloadStatus(); + + case 2: + case "end": + return _context.stop(); + } + } + }, _callee); + }))); + + case 8: + case "end": + return _context2.stop(); + } + } + }, _callee2); + }))(); + }, + destroyed: function destroyed() { + Nova.$off("resources-loaded"); + }, + methods: { + overwriteActionHandler: function overwriteActionHandler() { + var _this2 = this; + + if (!this.$refs.actionSelector) { + return; + } + /** + * Overwrites the nova response handler + */ + + + this.$refs.actionSelector.handleActionResponse = /*#__PURE__*/function () { + var _ref2 = _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee3(response) { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _this2.getActions(); + + _this2.reloadDetailView(); + + _this2.reloadStatus(); + + _this2.originalHandler(response); + + Nova.$emit("resources-loaded"); + + case 5: + case "end": + return _context3.stop(); + } + } + }, _callee3); + })); + + return function (_x) { + return _ref2.apply(this, arguments); + }; + }(); + }, + clearDue: function clearDue() { + this.dueAt = ""; + this.updateDue(); + }, + changeDue: function changeDue() { + this.dueDateChangeModal = true; + }, + onDueChange: function onDueChange(value) { + this.dueAt = value; + }, + updateDue: function updateDue() { + var _this3 = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee4() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.prev = 0; + _context4.next = 3; + return Nova.request().put("/nova-vendor/nova-workflow/workflow/".concat(_this3.state.lastLog.id, "/?resourceName=").concat(_this3.resourceName, "&resourceId=").concat(_this3.resourceId, "&dueAt=").concat(_this3.dueAt)); + + case 3: + _this3.state = _context4.sent.data; + _context4.next = 10; + break; + + case 6: + _context4.prev = 6; + _context4.t0 = _context4["catch"](0); + + _this3.$toasted.show(__("Error when changing the due date"), { + type: "error" + }); + + return _context4.abrupt("return"); + + case 10: + _this3.$toasted.show(__("Due date successfully updated"), { + type: "success" + }); + + _this3.dueDateChangeModal = false; + + _this3.reloadDetailView(); + + case 13: + case "end": + return _context4.stop(); + } + } + }, _callee4, null, [[0, 6]]); + }))(); + }, + apply: function apply(transition) { + var _this4 = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee5() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + /** + * Disable Confirmation on all default workflow action + */ + _this4.$refs.actionSelector.actions.filter(function (i) { + return i.uriKey === "workflow-status-change"; + }).map(function (i) { + return i.withoutConfirmation = true; + }); + + _this4.$refs.actionSelector.selectedActionKey = transition.action; + /** + * Removes the 'hidden' transition field so nothing is shown to the end user + */ + + _this4.$refs.actionSelector.selectedAction.fields = _this4.$refs.actionSelector.selectedAction.fields.filter(function (i) { + return i.name !== "transition"; + }); + /** + * Inject the 'transition' parameter in the handle request + */ + + _this4.$refs.actionSelector.actionFormData = function () { + return _.tap(new FormData(), function (formData) { + formData.append("resources", _this4.$refs.actionSelector.selectedResources); + formData.append("transition", transition.name); + + _.each(_this4.$refs.actionSelector.selectedAction.fields, function (field) { + field.fill(formData); + }); + }); + }; + /** + * Open the Action modal or call the nova api directly + */ + + + _this4.$refs.actionSelector.determineActionStrategy(); + + case 5: + case "end": + return _context5.stop(); + } + } + }, _callee5); + }))(); + }, + + /** + * Get the available actions for the resource. + */ + getActions: function getActions() { + var _this5 = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee6() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _this5.actions = []; + return _context6.abrupt("return", Nova.request().get("/nova-api/" + _this5.resourceName + "/actions", { + params: { + resourceId: _this5.resourceId + } + }).then(function (response) { + _this5.actions = response.data.actions; + })); + + case 2: + case "end": + return _context6.stop(); + } + } + }, _callee6); + }))(); + }, + reloadStatus: function reloadStatus() { + var _this6 = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee7() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + _context7.next = 2; + return Nova.request().get("/nova-vendor/nova-workflow/workflow?resourceName=".concat(_this6.resourceName, "&resourceId=").concat(_this6.resourceId)); + + case 2: + _this6.state = _context7.sent.data; + + case 3: + case "end": + return _context7.stop(); + } + } + }, _callee7); + }))(); + }, + reloadDetailView: function reloadDetailView() { + var _this7 = this; + + var _iterator = _createForOfIteratorHelper(this.$root.$children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var component = _step.value; + + if (component.cards) { + component.initializeComponent(); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + setTimeout(function () { + _this7.overwriteActionHandler(); + }, 500); + }, + + /** + * Close the modal. + */ + handleClose: function handleClose() { + this.dueDateChangeModal = false; + } + } +}); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Status.vue?vue&type=script&lang=js": +/*!***********************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Status.vue?vue&type=script&lang=js ***! + \***********************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: ["activity"], + mounted: function mounted() {} +}); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Tool.vue?vue&type=script&lang=js": +/*!*********************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Tool.vue?vue&type=script&lang=js ***! + \*********************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); +/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__); + + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: ["resourceName", "resourceId", "field"], + data: function data() { + return { + activities: [] + }; + }, + mounted: function mounted() { + var _this = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _this.fetch(); + + Nova.$on("workflow-updated", function () { + _this.fetch(); + }); + + case 2: + case "end": + return _context.stop(); + } + } + }, _callee); + }))(); + }, + beforeDestroy: function beforeDestroy() { + Nova.$off("workflow-updated"); + }, + methods: { + onWriteComment: function onWriteComment(comment) { + var _this2 = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee2() { + var activity; + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return Nova.request().post("/nova-vendor/nova-workflow/logs?resourceName=".concat(_this2.resourceName, "&resourceId=").concat(_this2.resourceId), { + comment: comment + }); + + case 2: + activity = _context2.sent.data; + + _this2.$toasted.show("Kommentar erfolgreich gespeichert", { + type: "success" + }); + + _this2.activities.unshift(activity); + + case 5: + case "end": + return _context2.stop(); + } + } + }, _callee2); + }))(); + }, + fetch: function fetch() { + var _this3 = this; + + return _asyncToGenerator( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().mark(function _callee3() { + return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default().wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return Nova.request().get("/nova-vendor/nova-workflow/logs?resourceName=".concat(_this3.resourceName, "&resourceId=").concat(_this3.resourceId)); + + case 2: + _this3.activities = _context3.sent.data.data; + + case 3: + case "end": + return _context3.stop(); + } + } + }, _callee3); + }))(); + } + } +}); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/WriteComment.vue?vue&type=script&lang=js": +/*!*****************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/WriteComment.vue?vue&type=script&lang=js ***! + \*****************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + data: function data() { + return { + comment: "" + }; + }, + methods: { + onSend: function onSend(event) { + this.$emit("submit", this.comment); + this.comment = ""; + } + } +}); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Todo.vue?vue&type=template&id=f2aa0186&scoped=true": +/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Todo.vue?vue&type=template&id=f2aa0186&scoped=true ***! + \********************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "render": () => (/* binding */ render) +/* harmony export */ }); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); + + +var _withScopeId = function _withScopeId(n) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)("data-v-f2aa0186"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n; +}; + +var _hoisted_1 = { + "class": "card" +}; +var _hoisted_2 = { + "class": "px-6 pt-4" +}; +var _hoisted_3 = { + "class": "flex mb-2" +}; +var _hoisted_4 = { + "class": "mr-3 text-base text-80 font-bold" +}; +var _hoisted_5 = { + key: 0, + "class": "px-6 pt-4 h-full flex justify-center items-center flex-col" +}; + +var _hoisted_6 = /*#__PURE__*/_withScopeId(function () { + return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("svg", { + "class": "h-24 w-24 mb-6 text-50", + "aria-hidden": "true", + focusable: "false", + "data-prefix": "fad", + "data-icon": "smile-beam", + role: "img", + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 496 512" + }, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("g", { + "class": "fa-group" + }, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("path", { + "class": "fa-secondary", + fill: "currentColor", + d: "M245.47,8C108.5,9.43-1.36,121.56,0,258.53S113.56,505.36,250.53,504,497.36,390.44,496,253.47,382.44,6.64,245.47,8ZM112,223.4c3.3-42.1,32.2-71.38,56-71.38s52.7,29.28,56,71.38c.7,8.6-10.8,11.9-14.9,4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.78,7.9-31.48,21.6l-9.5,17C122.82,235.3,111.32,231.9,112,223.4ZM363.69,345a149.34,149.34,0,0,1-229.54,2.35c-13.67-16.17,10.62-36.81,24.37-20.75a117.57,117.57,0,0,0,180.39-1.84c13.41-16.32,38.08,3.93,24.78,20.24ZM369,227.9l-9.5-17c-7.7-13.7-19.18-21.6-31.48-21.6s-23.8,7.9-31.5,21.6l-9.5,17c-4.1,7.3-15.6,4-14.9-4.5,3.3-42.1,32.2-71.38,56-71.38s52.68,29.28,56,71.38c.58,8.6-11,11.9-15.11,4.5Z", + opacity: "0.4" + }), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("path", { + "class": "fa-primary", + fill: "currentColor", + d: "M168,152c-23.78,0-52.68,29.28-56,71.38-.7,8.5,10.8,11.9,15.1,4.5l9.5-17c7.7-13.7,19.18-21.6,31.48-21.6s23.8,7.9,31.5,21.6l9.5,17c4.1,7.4,15.6,4.1,14.9-4.5C220.7,181.3,191.8,152,168,152ZM384.08,223.4c-3.3-42.1-32.2-71.38-56-71.38s-52.7,29.28-56,71.38c-.7,8.5,10.8,11.8,14.9,4.5l9.5-17c7.7-13.7,19.2-21.6,31.5-21.6s23.78,7.9,31.48,21.6l9.5,17c4.11,7.4,15.71,4.1,15.11-4.5Z" + })])], -1 + /* HOISTED */ + ); +}); + +var _hoisted_7 = { + "class": "mb-6 text-90" +}; +var _hoisted_8 = { + "class": "px-6" +}; +var _hoisted_9 = { + "class": "flex mb-4 mt-4" +}; +var _hoisted_10 = { + "class": "flex items-center text-xl" +}; +var _hoisted_11 = { + "class": "border-t border-50" +}; +var _hoisted_12 = ["dusk", "onClick"]; +var _hoisted_13 = { + "class": "flex items-center w-full" +}; +var _hoisted_14 = { + "class": "w-full" +}; +var _hoisted_15 = { + "class": "flex items-center justify-between w-full" +}; +var _hoisted_16 = { + "class": "mb-1 text-xs text-80 uppercase tracking-wide" +}; +var _hoisted_17 = ["innerHTML"]; +function render(_ctx, _cache, $props, $setup, $data, $options) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h3", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("My tasks")), 1 + /* TEXT */ + )])]), _ctx.todos.length === 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_5, [_hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h2", _hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("All done!")), 1 + /* TEXT */ + )])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(_ctx.todos, function (items, group) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", { + key: group + }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", _hoisted_10, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(group), 1 + /* TEXT */ + )])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_11, [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(items, function (item) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", { + "class": "item px-6 py-4 border-b border-50 hover:bg-20 hover:cursor-pointer w-full", + dusk: 'todo-item-' + item.id, + onClick: function onClick($event) { + return $options.onAction(item); + }, + key: item.id + }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_13, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", { + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(["w-4 h-4 block rounded-full mr-3", 'bg-' + item.color]) + }, null, 2 + /* CLASS */ + ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_14, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_15, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h4", _hoisted_16, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(item.model), 1 + /* TEXT */ + ), item.dueIn ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", { + key: 0, + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([{ + 'bg-orange-light text-orange-dark': item.duePast === false, + 'bg-red-light text-red-dark': item.duePast === true + }, "px-3 py-2 rounded-full uppercase text-xs font-bold"]) + }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Due")) + " " + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(item.dueFormatted), 3 + /* TEXT, CLASS */ + )) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h4", { + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(["text-base mb-1", { + 'text-orange-dark': item.duePast === false, + 'text-red-dark': item.duePast === true + }]) + }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(item.title), 3 + /* TEXT, CLASS */ + ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", { + "class": "text-base", + innerHTML: item.subtitle + }, null, 8 + /* PROPS */ + , _hoisted_17)])])], 8 + /* PROPS */ + , _hoisted_12); + }), 128 + /* KEYED_FRAGMENT */ + ))])]); + }), 128 + /* KEYED_FRAGMENT */ + ))]); +} + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=template&id=20dd7a94&scoped=true": +/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=template&id=20dd7a94&scoped=true ***! + \************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "render": () => (/* binding */ render) +/* harmony export */ }); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); + + +var _withScopeId = function _withScopeId(n) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)("data-v-20dd7a94"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n; +}; + +var _hoisted_1 = { + "class": "flex mb-3 relative" +}; +var _hoisted_2 = { + "class": "mr-3 text-base text-80 font-bold" +}; +var _hoisted_3 = { + "class": "flex items-center mb-6" +}; +var _hoisted_4 = { + "class": "flex items-center justify-between w-full" +}; +var _hoisted_5 = { + dusk: "workflow-current-status" +}; + +var _hoisted_6 = /*#__PURE__*/_withScopeId(function () { + return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("svg", { + "aria-hidden": "true", + focusable: "false", + "data-prefix": "fal", + "data-icon": "calendar-edit", + "class": "text-80 h-6 w-6", + role: "img", + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 448 512" + }, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("path", { + fill: "currentColor", + d: "M400 64h-48V12c0-6.6-5.4-12-12-12h-8c-6.6 0-12 5.4-12 12v52H128V12c0-6.6-5.4-12-12-12h-8c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM48 96h352c8.8 0 16 7.2 16 16v48H32v-48c0-8.8 7.2-16 16-16zm352 384H48c-8.8 0-16-7.2-16-16V192h384v272c0 8.8-7.2 16-16 16zM255.7 269.7l34.6 34.6c2.1 2.1 2.1 5.4 0 7.4L159.1 442.9l-35.1 5c-6.9 1-12.9-4.9-11.9-11.9l5-35.1 131.2-131.2c2-2 5.4-2 7.4 0zm75.2 1.4l-19.2 19.2c-2.1 2.1-5.4 2.1-7.4 0l-34.6-34.6c-2.1-2.1-2.1-5.4 0-7.4l19.2-19.2c6.8-6.8 17.9-6.8 24.7 0l17.3 17.3c6.8 6.8 6.8 17.9 0 24.7z" + })], -1 + /* HOISTED */ + ); +}); + +var _hoisted_7 = [_hoisted_6]; +var _hoisted_8 = { + key: 0, + "class": "mb-6" +}; +var _hoisted_9 = { + "class": "mr-3 text-base text-80 mb-2" +}; +var _hoisted_10 = { + "class": "font-light" +}; + +var _hoisted_11 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(" ,  "); + +var _hoisted_12 = { + key: 1 +}; +var _hoisted_13 = { + "class": "mr-3 text-base text-80 mb-2" +}; +var _hoisted_14 = { + key: 0, + "class": "text-80 mb-4 text-sm w-1/2" +}; +var _hoisted_15 = ["dusk", "onClick"]; +var _hoisted_16 = { + "class": "bg-white rounded-lg shadow-lg overflow-hidden", + style: { + "width": "500px" + } +}; +var _hoisted_17 = { + slot: "field" +}; +var _hoisted_18 = { + "class": "bg-30 px-6 py-3 flex" +}; +var _hoisted_19 = { + "class": "flex items-center ml-auto" +}; +function render(_ctx, _cache, $props, $setup, $data, $options) { + var _this = this; + + var _component_router_link = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("router-link"); + + var _component_action_selector = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("action-selector"); + + var _component_heading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("heading"); + + var _component_date_time_picker = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("date-time-picker"); + + var _component_default_field = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("default-field"); + + var _component_modal = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("modal"); + + var _component_portal = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("portal"); + + var _component_card = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("card"); + + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_card, { + "class": "px-4 py-4" + }, { + "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { + return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h3", _hoisted_2, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Current status")), 1 + /* TEXT */ + ), _ctx.state.dueIn ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", { + key: 0, + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(["whitespace-no-wrap px-2 py-1 rounded-full uppercase text-xs font-bold absolute pin-t pin-r", { + 'bg-orange-light text-orange-dark': _ctx.state.duePast === false, + 'bg-red-light text-red-dark': _ctx.state.duePast === true + }]) + }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Due")) + " " + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.state.dueIn), 3 + /* TEXT, CLASS */ + )) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", { + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(["w-4 h-4 block rounded-full mr-3 bg-blue", 'bg-' + _ctx.state.color]) + }, null, 2 + /* CLASS */ + ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h2", _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.state.title), 1 + /* TEXT */ + ), _ctx.state && _ctx.state.can.changeDue ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("button", { + key: 0, + onClick: _cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function () { + return $options.changeDue && $options.changeDue.apply($options, arguments); + }, ["prevent"])), + "class": "btn btn-clear btn-icon btn-white", + "data-testid": "edit-resource", + dusk: "edit-resource-button", + title: "Bearbeiten" + }, _hoisted_7)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true)])]), _ctx.state && _ctx.state.responsibleUsers.length !== 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h3", _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Responsibility")), 1 + /* TEXT */ + ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h5", _hoisted_10, [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(_ctx.state.responsibleUsers, function (user) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", { + key: user.id + }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_router_link, { + to: { + name: 'detail', + params: { + resourceName: user.resourceName, + resourceId: user.id + } + }, + "class": "no-underline font-bold dim text-primary" + }, { + "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { + return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(user.name), 1 + /* TEXT */ + )]; + }), + _: 2 + /* DYNAMIC */ + + }, 1032 + /* PROPS, DYNAMIC_SLOTS */ + , ["to"]), _hoisted_11]); + }), 128 + /* KEYED_FRAGMENT */ + ))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), _ctx.state.transitions && _ctx.state.transitions.length ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h3", _hoisted_13, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Next Step")), 1 + /* TEXT */ + ), _ctx.state.description ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("p", _hoisted_14, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.state.description), 1 + /* TEXT */ + )) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(_ctx.state.transitions, function (transition) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", { + key: transition.name + }, [transition.userInteraction ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("a", { + key: 0, + href: "", + "class": "btn btn-sm flex btn-outline items-center mb-2 block", + dusk: 'workflow-apply-' + transition.name, + onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function ($event) { + return $options.apply(transition); + }, ["stop", "prevent"]) + }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(transition.title), 9 + /* TEXT, PROPS */ + , _hoisted_15)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true)]); + }), 128 + /* KEYED_FRAGMENT */ + ))])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), $props.resource ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_action_selector, { + key: 2, + ref: "actionSelector", + "resource-name": $props.resourceName, + actions: _ctx.actions, + "pivot-actions": { + actions: [] + }, + "selected-resources": [_this.resourceId], + "query-string": {}, + "class": "action-selector ml-3" + }, null, 8 + /* PROPS */ + , ["resource-name", "actions", "selected-resources"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_portal, { + to: "modals" + }, { + "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { + return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(vue__WEBPACK_IMPORTED_MODULE_0__.Transition, { + name: "fade" + }, { + "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { + return [_ctx.dueDateChangeModal ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_modal, { + key: 0, + onModalClose: $options.handleClose, + "class-whitelist": "flatpickr-calendar" + }, { + "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { + return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_16, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_heading, { + level: 2, + "class": "border-b border-40 py-8 px-8" + }, { + "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { + return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Change due date")), 1 + /* TEXT */ + )]; + }), + _: 1 + /* STABLE */ + + }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "default", {}, function () { + return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_default_field, { + field: { + attribute: 'due_in', + name: _ctx.__('Due on') + }, + fullWidthContent: true + }, { + "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { + return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("template", _hoisted_17, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_date_time_picker, { + "class": "w-full form-control form-input form-input-bordered", + name: "due_in", + value: _ctx.dueAt, + dateFormat: "d.m.Y", + "enable-time": false, + "enable-seconds": false, + "first-day-of-week": 1, + onChange: $options.onDueChange + }, null, 8 + /* PROPS */ + , ["value", "onChange"]), _ctx.dueAt ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("a", { + key: 0, + href: "", + "class": "no-underline font-bold dim text-primary pt-3 block", + onClick: _cache[1] || (_cache[1] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function () { + return $options.clearDue && $options.clearDue.apply($options, arguments); + }, ["prevent", "stop"])) + }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Remove due date")), 1 + /* TEXT */ + )) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true)])]; + }), + _: 1 + /* STABLE */ + + }, 8 + /* PROPS */ + , ["field"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_18, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_19, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("button", { + type: "button", + onClick: _cache[2] || (_cache[2] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function () { + return $options.handleClose && $options.handleClose.apply($options, arguments); + }, ["prevent"])), + "class": "btn text-80 font-normal h-9 px-3 mr-3 btn-link" + }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Cancel")), 1 + /* TEXT */ + ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("button", { + type: "submit", + onClick: _cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function () { + return $options.updateDue && $options.updateDue.apply($options, arguments); + }, ["prevent"])), + "class": "btn btn-default btn-primary" + }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Save")), 1 + /* TEXT */ + )])])])]; + }, true)])]; + }), + _: 3 + /* FORWARDED */ + + }, 8 + /* PROPS */ + , ["onModalClose"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true)]; + }), + _: 3 + /* FORWARDED */ + + })]; + }), + _: 3 + /* FORWARDED */ + + })]; + }), + _: 3 + /* FORWARDED */ + + }); +} + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Status.vue?vue&type=template&id=5c2fda45": +/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Status.vue?vue&type=template&id=5c2fda45 ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "render": () => (/* binding */ render) +/* harmony export */ }); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); + +var _hoisted_1 = { + "class": "item flex items-center" +}; +var _hoisted_2 = { + "class": "card w-full px-4 py-4" +}; +var _hoisted_3 = { + "class": "flex justify-between text-sm text-80 mb-3" +}; +var _hoisted_4 = { + "class": "uppercase tracking-wide" +}; +var _hoisted_5 = { + key: 0, + "class": "flex items-center" +}; +var _hoisted_6 = { + key: 0, + "class": "font-light" +}; +function render(_ctx, _cache, $props, $setup, $data, $options) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h4", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.activity.user.fullname), 1 + /* TEXT */ + ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.activity.created_at), 1 + /* TEXT */ + )]), $props.activity.data ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", { + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(["w-4 h-4 block rounded-full mr-3", 'bg-' + $props.activity.data.status.color]) + }, null, 2 + /* CLASS */ + ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", null, [$props.activity.data.transition ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("h5", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.activity.data.transition.title), 1 + /* TEXT */ + )) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h3", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.activity.data.status.title), 1 + /* TEXT */ + )])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("p", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.activity.comment), 1 + /* TEXT */ + )])]); +} + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Tool.vue?vue&type=template&id=cf43b8aa": +/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Tool.vue?vue&type=template&id=cf43b8aa ***! + \*************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "render": () => (/* binding */ render) +/* harmony export */ }); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); + +var _hoisted_1 = { + "class": "text-90 font-normal text-2xl mb-3" +}; +var _hoisted_2 = { + "class": "timeline w-full" +}; +function render(_ctx, _cache, $props, $setup, $data, $options) { + var _component_workflow_write_comment = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("workflow-write-comment"); + + var _component_workflow_status = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("workflow-status"); + + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h4", _hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__("Activities")), 1 + /* TEXT */ + ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_workflow_write_comment, { + onSubmit: $options.onWriteComment + }, null, 8 + /* PROPS */ + , ["onSubmit"]), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(_ctx.activities, function (activity) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_workflow_status, { + key: activity.id, + activity: activity + }, null, 8 + /* PROPS */ + , ["activity"]); + }), 128 + /* KEYED_FRAGMENT */ + ))])]); +} + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/WriteComment.vue?vue&type=template&id=5c584093": +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/WriteComment.vue?vue&type=template&id=5c584093 ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "render": () => (/* binding */ render) +/* harmony export */ }); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); + +var _hoisted_1 = { + "class": "item flex items-center" +}; +var _hoisted_2 = { + "class": "card w-full px-4 py-4" +}; +var _hoisted_3 = ["disabled"]; +var _hoisted_4 = { + "class": "" +}; +function render(_ctx, _cache, $props, $setup, $data, $options) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("textarea", { + id: "notes", + "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) { + return _ctx.comment = $event; + }), + dusk: "notes", + rows: "5", + "class": "w-full form-control form-input form-input-bordered py-3 h-auto" + }, null, 512 + /* NEED_PATCH */ + ), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelText, _ctx.comment]]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("button", { + disabled: _ctx.comment.length <= 10, + onClick: _cache[1] || (_cache[1] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)(function () { + return $options.onSend && $options.onSend.apply($options, arguments); + }, ["prevent", "stop"])), + "class": "btn btn-default btn-primary inline-flex items-center relative", + dusk: "update-button" + }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.__('Submit comment')), 1 + /* TEXT */ + )], 8 + /* PROPS */ + , _hoisted_3)])]); +} + +/***/ }), + +/***/ "./resources/js/app.js": +/*!*****************************!*\ + !*** ./resources/js/app.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +__webpack_require__(/*! ./components/ResourceTools/Workflow */ "./resources/js/components/ResourceTools/Workflow/index.js"); + +Nova.booting(function (Vue, router, store) { + Vue.component("workflow-card", (__webpack_require__(/*! ./components/Cards/Workflow */ "./resources/js/components/Cards/Workflow.vue")["default"])); + Vue.component("todo-card", (__webpack_require__(/*! ./components/Cards/Todo */ "./resources/js/components/Cards/Todo.vue")["default"])); +}); + +/***/ }), + +/***/ "./resources/js/components/ResourceTools/Workflow/index.js": +/*!*****************************************************************!*\ + !*** ./resources/js/components/ResourceTools/Workflow/index.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +Nova.booting(function (Vue, router, store) { + Vue.component("workflow-write-comment", (__webpack_require__(/*! ./WriteComment */ "./resources/js/components/ResourceTools/Workflow/WriteComment.vue")["default"])); + Vue.component("workflow-status", (__webpack_require__(/*! ./Status */ "./resources/js/components/ResourceTools/Workflow/Status.vue")["default"])); + Vue.component("workflow-activity", (__webpack_require__(/*! ./Tool */ "./resources/js/components/ResourceTools/Workflow/Tool.vue")["default"])); +}); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-12.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Tool.vue?vue&type=style&index=0&id=cf43b8aa&lang=scss": +/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-12.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Tool.vue?vue&type=style&index=0&id=cf43b8aa&lang=scss ***! + \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); +// Imports + +var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); +// Module +___CSS_LOADER_EXPORT___.push([module.id, ".timeline {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.timeline:before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 18px;\n height: 100%;\n width: 4px;\n background: #d7e4ed;\n left: 50%;\n margin-left: -2px;\n}\n.timeline .item {\n width: 48%;\n}\n.timeline .item:nth-child(odd) {\n align-self: flex-start;\n}\n.timeline .item:nth-child(odd) svg {\n margin-left: 0.75rem;\n}\n.timeline .item:nth-child(even) {\n align-self: flex-end;\n flex-direction: row-reverse;\n}\n.timeline .item:nth-child(even) svg {\n margin-right: 0.75rem;\n}", ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Todo.vue?vue&type=style&index=0&id=f2aa0186&scoped=true&lang=css": +/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Todo.vue?vue&type=style&index=0&id=f2aa0186&scoped=true&lang=css ***! + \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); +// Imports + +var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); +// Module +___CSS_LOADER_EXPORT___.push([module.id, "\n.item[data-v-f2aa0186]:hover {\n cursor: pointer;\n}\n.card-panel[data-v-f2aa0186] {\n height: auto !important;\n min-height: 150px;\n}\n", ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=0&id=20dd7a94&lang=css": +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=0&id=20dd7a94&lang=css ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); +// Imports + +var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); +// Module +___CSS_LOADER_EXPORT___.push([module.id, "\n.action-selector > div {\n visibility: hidden;\n display: none;\n}\n.action-selector > div.modal {\n visibility: visible;\n display: block;\n}\n", ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=1&id=20dd7a94&scoped=true&lang=css": +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=1&id=20dd7a94&scoped=true&lang=css ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); +// Imports + +var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); +// Module +___CSS_LOADER_EXPORT___.push([module.id, "\n.card-panel[data-v-20dd7a94] {\n height: 100% !important;\n min-height: 150px;\n}\n.action-selector > div[data-v-20dd7a94] {\n visibility: hidden;\n display: none;\n}\n.action-selector > div.modal[data-v-20dd7a94] {\n visibility: visible;\n display: block;\n}\n", ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/api.js": +/*!*****************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/api.js ***! + \*****************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +// css base code, injected by the css-loader +// eslint-disable-next-line func-names +module.exports = function (cssWithMappingToString) { + var list = []; // return the list of modules as css string + + list.toString = function toString() { + return this.map(function (item) { + var content = cssWithMappingToString(item); + + if (item[2]) { + return "@media ".concat(item[2], " {").concat(content, "}"); + } + + return content; + }).join(""); + }; // import a list of modules into the list + // eslint-disable-next-line func-names + + + list.i = function (modules, mediaQuery, dedupe) { + if (typeof modules === "string") { + // eslint-disable-next-line no-param-reassign + modules = [[null, modules, ""]]; + } + + var alreadyImportedModules = {}; + + if (dedupe) { + for (var i = 0; i < this.length; i++) { + // eslint-disable-next-line prefer-destructuring + var id = this[i][0]; + + if (id != null) { + alreadyImportedModules[id] = true; + } + } + } + + for (var _i = 0; _i < modules.length; _i++) { + var item = [].concat(modules[_i]); + + if (dedupe && alreadyImportedModules[item[0]]) { + // eslint-disable-next-line no-continue + continue; + } + + if (mediaQuery) { + if (!item[2]) { + item[2] = mediaQuery; + } else { + item[2] = "".concat(mediaQuery, " and ").concat(item[2]); + } + } + + list.push(item); + } + }; + + return list; +}; + +/***/ }), + +/***/ "./resources/sass/app.scss": +/*!*********************************!*\ + !*** ./resources/sass/app.scss ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// extracted by mini-css-extract-plugin + + +/***/ }), + +/***/ "./node_modules/regenerator-runtime/runtime.js": +/*!*****************************************************!*\ + !*** ./node_modules/regenerator-runtime/runtime.js ***! + \*****************************************************/ +/***/ ((module) => { + +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +var runtime = (function (exports) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + function define(obj, key, value) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + return obj[key]; + } + try { + // IE 8 has a broken Object.defineProperty that only works on DOM objects. + define({}, ""); + } catch (err) { + define = function(obj, key, value) { + return obj[key] = value; + }; + } + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + exports.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + // This is a polyfill for %IteratorPrototype% for environments that + // don't natively support it. + var IteratorPrototype = {}; + define(IteratorPrototype, iteratorSymbol, function () { + return this; + }); + + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + if (NativeIteratorPrototype && + NativeIteratorPrototype !== Op && + hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + // This environment has a native %IteratorPrototype%; use it instead + // of the polyfill. + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = + Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = GeneratorFunctionPrototype; + define(Gp, "constructor", GeneratorFunctionPrototype); + define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); + GeneratorFunction.displayName = define( + GeneratorFunctionPrototype, + toStringTagSymbol, + "GeneratorFunction" + ); + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + define(prototype, method, function(arg) { + return this._invoke(method, arg); + }); + }); + } + + exports.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; + + exports.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + define(genFun, toStringTagSymbol, "GeneratorFunction"); + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `hasOwn.call(value, "__await")` to determine if the yielded value is + // meant to be awaited. + exports.awrap = function(arg) { + return { __await: arg }; + }; + + function AsyncIterator(generator, PromiseImpl) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value && + typeof value === "object" && + hasOwn.call(value, "__await")) { + return PromiseImpl.resolve(value.__await).then(function(value) { + invoke("next", value, resolve, reject); + }, function(err) { + invoke("throw", err, resolve, reject); + }); + } + + return PromiseImpl.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. + result.value = unwrapped; + resolve(result); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new PromiseImpl(function(resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + define(AsyncIterator.prototype, asyncIteratorSymbol, function () { + return this; + }); + exports.AsyncIterator = AsyncIterator; + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; + + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList), + PromiseImpl + ); + + return exports.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = context.arg; + + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(context.arg) call above. + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + // Call delegate.iterator[context.method](context.arg) and handle the + // result, either by returning a { value, done } result from the + // delegate iterator, or by modifying context.method and context.arg, + // setting context.delegate to null, and returning the ContinueSentinel. + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + if (method === undefined) { + // A .throw or .return when the delegate iterator has no .throw + // method always terminates the yield* loop. + context.delegate = null; + + if (context.method === "throw") { + // Note: ["return"] must be used for ES3 parsing compatibility. + if (delegate.iterator["return"]) { + // If the delegate iterator has a return method, give it a + // chance to clean up. + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + // If maybeInvokeDelegate(context) changed context.method from + // "return" to "throw", let that override the TypeError below. + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError( + "The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (! info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + // Assign the result of the finished delegate to the temporary + // variable specified by delegate.resultName (see delegateYield). + context[delegate.resultName] = info.value; + + // Resume execution at the desired location (see delegateYield). + context.next = delegate.nextLoc; + + // If context.method was "throw" but the delegate handled the + // exception, let the outer generator proceed normally. If + // context.method was "next", forget context.arg since it has been + // "consumed" by the delegate iterator. If context.method was + // "return", allow the original .return call to continue in the + // outer generator. + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + + } else { + // Re-yield the result returned by the delegate method. + return info; + } + + // The delegate iterator is finished, so forget it and continue with + // the outer generator. + context.delegate = null; + return ContinueSentinel; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + define(Gp, toStringTagSymbol, "Generator"); + + // A Generator should always return itself as the iterator object when the + // @@iterator function is called on it. Some browsers' implementations of the + // iterator prototype chain incorrectly implement this, causing the Generator + // object to not be returned from this call. This ensures that doesn't happen. + // See https://github.com/facebook/regenerator/issues/274 for more details. + define(Gp, iteratorSymbol, function() { + return this; + }); + + define(Gp, "toString", function() { + return "[object Generator]"; + }); + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + exports.keys = function(object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + exports.values = values; + + function doneResult() { + return { value: undefined, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + + this.method = "next"; + this.arg = undefined; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + + stop: function() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + context.method = "next"; + context.arg = undefined; + } + + return !! caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + this.arg = undefined; + } + + return ContinueSentinel; + } + }; + + // Regardless of whether this script is executing as a CommonJS module + // or not, return the runtime object so that we can declare the variable + // regeneratorRuntime in the outer scope, which allows this module to be + // injected easily by `bin/regenerator --include-runtime script.js`. + return exports; + +}( + // If this script is executing as a CommonJS module, use module.exports + // as the regeneratorRuntime namespace. Otherwise create a new empty + // object. Either way, the resulting object will be used to initialize + // the regeneratorRuntime variable at the top of this file. + true ? module.exports : 0 +)); + +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + // This module should not be running in strict mode, so the above + // assignment should always work unless something is misconfigured. Just + // in case runtime.js accidentally runs in strict mode, in modern engines + // we can explicitly access globalThis. In older engines we can escape + // strict mode using a global Function call. This could conceivably fail + // if a Content Security Policy forbids using Function, but in that case + // the proper solution is to fix the accidental strict mode problem. If + // you've misconfigured your bundler to force strict mode and applied a + // CSP to forbid Function, and you're not willing to fix either of those + // problems, please detail your unique predicament in a GitHub issue. + if (typeof globalThis === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} + + +/***/ }), + +/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-12.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Tool.vue?vue&type=style&index=0&id=cf43b8aa&lang=scss": +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-12.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Tool.vue?vue&type=style&index=0&id=cf43b8aa&lang=scss ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_12_use_3_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Tool_vue_vue_type_style_index_0_id_cf43b8aa_lang_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Tool.vue?vue&type=style&index=0&id=cf43b8aa&lang=scss */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-12.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/ResourceTools/Workflow/Tool.vue?vue&type=style&index=0&id=cf43b8aa&lang=scss"); + + + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_12_use_3_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Tool_vue_vue_type_style_index_0_id_cf43b8aa_lang_scss__WEBPACK_IMPORTED_MODULE_1__["default"], options); + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_clonedRuleSet_12_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_12_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_12_use_3_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Tool_vue_vue_type_style_index_0_id_cf43b8aa_lang_scss__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Todo.vue?vue&type=style&index=0&id=f2aa0186&scoped=true&lang=css": +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Todo.vue?vue&type=style&index=0&id=f2aa0186&scoped=true&lang=css ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Todo_vue_vue_type_style_index_0_id_f2aa0186_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Todo.vue?vue&type=style&index=0&id=f2aa0186&scoped=true&lang=css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Todo.vue?vue&type=style&index=0&id=f2aa0186&scoped=true&lang=css"); + + + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Todo_vue_vue_type_style_index_0_id_f2aa0186_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"], options); + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Todo_vue_vue_type_style_index_0_id_f2aa0186_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=0&id=20dd7a94&lang=css": +/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=0&id=20dd7a94&lang=css ***! + \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Workflow_vue_vue_type_style_index_0_id_20dd7a94_lang_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Workflow.vue?vue&type=style&index=0&id=20dd7a94&lang=css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=0&id=20dd7a94&lang=css"); + + + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Workflow_vue_vue_type_style_index_0_id_20dd7a94_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"], options); + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Workflow_vue_vue_type_style_index_0_id_20dd7a94_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=1&id=20dd7a94&scoped=true&lang=css": +/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=1&id=20dd7a94&scoped=true&lang=css ***! + \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Workflow_vue_vue_type_style_index_1_id_20dd7a94_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Workflow.vue?vue&type=style&index=1&id=20dd7a94&scoped=true&lang=css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/Cards/Workflow.vue?vue&type=style&index=1&id=20dd7a94&scoped=true&lang=css"); + + + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Workflow_vue_vue_type_style_index_1_id_20dd7a94_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"], options); + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Workflow_vue_vue_type_style_index_1_id_20dd7a94_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/*!****************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! + \****************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var isOldIE = function isOldIE() { + var memo; + return function memorize() { + if (typeof memo === 'undefined') { + // Test for IE <= 9 as proposed by Browserhacks + // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 + // Tests for existence of standard globals is to allow style-loader + // to operate correctly into non-standard environments + // @see https://github.com/webpack-contrib/style-loader/issues/177 + memo = Boolean(window && document && document.all && !window.atob); + } + + return memo; + }; +}(); + +var getTarget = function getTarget() { + var memo = {}; + return function memorize(target) { + if (typeof memo[target] === 'undefined') { + var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself + + if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { + try { + // This will throw an exception if access to iframe is blocked + // due to cross-origin restrictions + styleTarget = styleTarget.contentDocument.head; + } catch (e) { + // istanbul ignore next + styleTarget = null; + } + } + + memo[target] = styleTarget; + } + + return memo[target]; + }; +}(); + +var stylesInDom = []; + +function getIndexByIdentifier(identifier) { + var result = -1; + + for (var i = 0; i < stylesInDom.length; i++) { + if (stylesInDom[i].identifier === identifier) { + result = i; + break; + } + } + + return result; +} + +function modulesToDom(list, options) { + var idCountMap = {}; + var identifiers = []; + + for (var i = 0; i < list.length; i++) { + var item = list[i]; + var id = options.base ? item[0] + options.base : item[0]; + var count = idCountMap[id] || 0; + var identifier = "".concat(id, " ").concat(count); + idCountMap[id] = count + 1; + var index = getIndexByIdentifier(identifier); + var obj = { + css: item[1], + media: item[2], + sourceMap: item[3] + }; + + if (index !== -1) { + stylesInDom[index].references++; + stylesInDom[index].updater(obj); + } else { + stylesInDom.push({ + identifier: identifier, + updater: addStyle(obj, options), + references: 1 + }); + } + + identifiers.push(identifier); + } + + return identifiers; +} + +function insertStyleElement(options) { + var style = document.createElement('style'); + var attributes = options.attributes || {}; + + if (typeof attributes.nonce === 'undefined') { + var nonce = true ? __webpack_require__.nc : 0; + + if (nonce) { + attributes.nonce = nonce; + } + } + + Object.keys(attributes).forEach(function (key) { + style.setAttribute(key, attributes[key]); + }); + + if (typeof options.insert === 'function') { + options.insert(style); + } else { + var target = getTarget(options.insert || 'head'); + + if (!target) { + throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); + } + + target.appendChild(style); + } + + return style; +} + +function removeStyleElement(style) { + // istanbul ignore if + if (style.parentNode === null) { + return false; + } + + style.parentNode.removeChild(style); +} +/* istanbul ignore next */ + + +var replaceText = function replaceText() { + var textStore = []; + return function replace(index, replacement) { + textStore[index] = replacement; + return textStore.filter(Boolean).join('\n'); + }; +}(); + +function applyToSingletonTag(style, index, remove, obj) { + var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE + + /* istanbul ignore if */ + + if (style.styleSheet) { + style.styleSheet.cssText = replaceText(index, css); + } else { + var cssNode = document.createTextNode(css); + var childNodes = style.childNodes; + + if (childNodes[index]) { + style.removeChild(childNodes[index]); + } + + if (childNodes.length) { + style.insertBefore(cssNode, childNodes[index]); + } else { + style.appendChild(cssNode); + } + } +} + +function applyToTag(style, options, obj) { + var css = obj.css; + var media = obj.media; + var sourceMap = obj.sourceMap; + + if (media) { + style.setAttribute('media', media); + } else { + style.removeAttribute('media'); + } + + if (sourceMap && typeof btoa !== 'undefined') { + css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); + } // For old IE + + /* istanbul ignore if */ + + + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + while (style.firstChild) { + style.removeChild(style.firstChild); + } + + style.appendChild(document.createTextNode(css)); + } +} + +var singleton = null; +var singletonCounter = 0; + +function addStyle(obj, options) { + var style; + var update; + var remove; + + if (options.singleton) { + var styleIndex = singletonCounter++; + style = singleton || (singleton = insertStyleElement(options)); + update = applyToSingletonTag.bind(null, style, styleIndex, false); + remove = applyToSingletonTag.bind(null, style, styleIndex, true); + } else { + style = insertStyleElement(options); + update = applyToTag.bind(null, style, options); + + remove = function remove() { + removeStyleElement(style); + }; + } + + update(obj); + return function updateStyle(newObj) { + if (newObj) { + if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { + return; + } + + update(obj = newObj); + } else { + remove(); + } + }; +} + +module.exports = function (list, options) { + options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of diff --git a/src/Actions/WorkflowAction.php b/src/Actions/WorkflowAction.php index 0a1bfcd..fbf01df 100644 --- a/src/Actions/WorkflowAction.php +++ b/src/Actions/WorkflowAction.php @@ -27,7 +27,7 @@ public function uriKey() * * @var bool */ - public $showOnDetail = false; + public $showOnDetail = true; /** * Indicates if this action is available on the resource index view. diff --git a/webpack.mix.js b/webpack.mix.js index 7442cf7..dd9052f 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -1,5 +1,10 @@ let mix = require("laravel-mix"); -mix.setPublicPath("dist") - .js("resources/js/app.js", "js").vue({ version: 3 }) - .sass("resources/sass/app.scss", "css"); +require("./mix"); + +mix + .setPublicPath("dist") + .js("resources/js/app.js", "js") + .vue({ version: 3 }) + .sass("resources/sass/app.scss", "css") + .nova("nova-workflow"); From 2be7bc89c3b89a64f12b84acdc1b89f0a7bdb6e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Strau=C3=9F?= Date: Tue, 9 Aug 2022 14:49:36 +0200 Subject: [PATCH 04/29] wip --- dist/css/app.css | 255 +- dist/js/app.js | 6590 ++++++++++++++++++- docs/installation.md | 18 + resources/js/components/Cards/Workflow3.vue | 6 +- src/Actions/WorkflowTransisitionAction.php | 75 + src/NovaWorkflowServiceProvider.php | 7 + 6 files changed, 6946 insertions(+), 5 deletions(-) create mode 100644 src/Actions/WorkflowTransisitionAction.php diff --git a/dist/css/app.css b/dist/css/app.css index 82d184e..ce3dac2 100644 --- a/dist/css/app.css +++ b/dist/css/app.css @@ -1 +1,254 @@ -:root{--blue:#3b82f6;--cyan:#06b6d4;--lightBlue:#0ea5e9;--green:#22c55e;--lime:#84cc16;--orange:#f97316;--red:#ef4444;--purple:#9f7aea;--gray:#a0aec0;--yellow:#facc15;--indigo:#6366f1;--pink:#ec4899}.bg-blue{background:#3b82f6}.bg-blue-light{background:#b5d0fc}.text-blue-dark,.text-blue-light{color:#0b63f3}.bg-blue-dark{background:#0b63f3}.bg-cyan{background:#06b6d4}.bg-cyan-light{background:#5fe4fa}.text-cyan-dark,.text-cyan-light{color:#058ba2}.bg-cyan-dark{background:#058ba2}.bg-lightBlue{background:#0ea5e9}.bg-lightBlue-light{background:#7fd2f7}.text-lightBlue-dark,.text-lightBlue-light{color:#0b83b9}.bg-lightBlue-dark{background:#0b83b9}.bg-green{background:#22c55e}.bg-green-light{background:#7ee9a5}.text-green-dark,.text-green-light{color:#1a9a49}.bg-green-dark{background:#1a9a49}.bg-lime{background:#84cc16}.bg-lime-light{background:#bef072}.text-lime-dark,.text-lime-light{color:#669e11}.bg-lime-dark{background:#669e11}.bg-orange{background:#f97316}.bg-orange-light{background:#fcbe92}.text-orange-dark,.text-orange-light{color:#d65b06}.bg-orange-dark{background:#d65b06}.bg-red{background:#ef4444}.bg-red-light{background:#f9b9b9}.text-red-dark,.text-red-light{color:#eb1515}.bg-red-dark{background:#eb1515}.bg-purple{background:#9f7aea}.bg-purple-light{background:#eee8fb}.text-purple-dark,.text-purple-light{color:#7f4ee3}.bg-purple-dark{background:#7f4ee3}.bg-gray{background:#a0aec0}.bg-gray-light{background:#edeff3}.text-gray-dark,.text-gray-light{color:#8194ac}.bg-gray-dark{background:#8194ac}.bg-yellow{background:#facc15}.bg-yellow-light{background:#fde792}.text-yellow-dark,.text-yellow-light{color:#d7ad05}.bg-yellow-dark{background:#d7ad05}.bg-indigo{background:#6366f1}.bg-indigo-light{background:#d8d9fc}.text-indigo-dark,.text-indigo-light{color:#3438ed}.bg-indigo-dark{background:#3438ed}.bg-pink{background:#ec4899}.bg-pink-light{background:#f8bcd9}.text-pink-dark,.text-pink-light{color:#e71a7f}.bg-pink-dark{background:#e71a7f} +:root { + --blue: #3b82f6; + --cyan: #06b6d4; + --lightBlue: #0ea5e9; + --green: #22c55e; + --lime: #84cc16; + --orange: #f97316; + --red: #ef4444; + --purple: #9f7aea; + --gray: #a0aec0; + --yellow: #facc15; + --indigo: #6366f1; + --pink: #ec4899; +} + +.bg-blue { + background: #3b82f6; +} + +.bg-blue-light { + background: #b5d0fc; +} + +.text-blue-dark { + color: #0b63f3; +} + +.text-blue-light { + color: #0b63f3; +} + +.bg-blue-dark { + background: #0b63f3; +} + +.bg-cyan { + background: #06b6d4; +} + +.bg-cyan-light { + background: #5fe4fa; +} + +.text-cyan-dark { + color: #058ba2; +} + +.text-cyan-light { + color: #058ba2; +} + +.bg-cyan-dark { + background: #058ba2; +} + +.bg-lightBlue { + background: #0ea5e9; +} + +.bg-lightBlue-light { + background: #7fd2f7; +} + +.text-lightBlue-dark { + color: #0b83b9; +} + +.text-lightBlue-light { + color: #0b83b9; +} + +.bg-lightBlue-dark { + background: #0b83b9; +} + +.bg-green { + background: #22c55e; +} + +.bg-green-light { + background: #7ee9a5; +} + +.text-green-dark { + color: #1a9a49; +} + +.text-green-light { + color: #1a9a49; +} + +.bg-green-dark { + background: #1a9a49; +} + +.bg-lime { + background: #84cc16; +} + +.bg-lime-light { + background: #bef072; +} + +.text-lime-dark { + color: #669e11; +} + +.text-lime-light { + color: #669e11; +} + +.bg-lime-dark { + background: #669e11; +} + +.bg-orange { + background: #f97316; +} + +.bg-orange-light { + background: #fcbe92; +} + +.text-orange-dark { + color: #d65b06; +} + +.text-orange-light { + color: #d65b06; +} + +.bg-orange-dark { + background: #d65b06; +} + +.bg-red { + background: #ef4444; +} + +.bg-red-light { + background: #f9b9b9; +} + +.text-red-dark { + color: #eb1515; +} + +.text-red-light { + color: #eb1515; +} + +.bg-red-dark { + background: #eb1515; +} + +.bg-purple { + background: #9f7aea; +} + +.bg-purple-light { + background: #eee8fb; +} + +.text-purple-dark { + color: #7f4ee3; +} + +.text-purple-light { + color: #7f4ee3; +} + +.bg-purple-dark { + background: #7f4ee3; +} + +.bg-gray { + background: #a0aec0; +} + +.bg-gray-light { + background: #edeff3; +} + +.text-gray-dark { + color: #8194ac; +} + +.text-gray-light { + color: #8194ac; +} + +.bg-gray-dark { + background: #8194ac; +} + +.bg-yellow { + background: #facc15; +} + +.bg-yellow-light { + background: #fde792; +} + +.text-yellow-dark { + color: #d7ad05; +} + +.text-yellow-light { + color: #d7ad05; +} + +.bg-yellow-dark { + background: #d7ad05; +} + +.bg-indigo { + background: #6366f1; +} + +.bg-indigo-light { + background: #d8d9fc; +} + +.text-indigo-dark { + color: #3438ed; +} + +.text-indigo-light { + color: #3438ed; +} + +.bg-indigo-dark { + background: #3438ed; +} + +.bg-pink { + background: #ec4899; +} + +.bg-pink-light { + background: #f8bcd9; +} + +.text-pink-dark { + color: #e71a7f; +} + +.text-pink-light { + color: #e71a7f; +} + +.bg-pink-dark { + background: #e71a7f; +} diff --git a/dist/js/app.js b/dist/js/app.js index 838db75..b563d67 100644 --- a/dist/js/app.js +++ b/dist/js/app.js @@ -1 +1,6589 @@ -(()=>{var e,t={7757:(e,t,r)=>{e.exports=r(5666)},9680:(e,t,r)=>{function n(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var o=n(r(9669)),i=r(129),a=n(r(9996));function s(){return(s=Object.assign||function(e){for(var t=1;t0&&"back_forward"===window.performance.getEntriesByType("navigation")[0].type},r.handleBackForwardVisit=function(e){var t=this;window.history.state.version=e.version,this.setPage(window.history.state,{preserveScroll:!0,preserveState:!0}).then((function(){t.restoreScrollPositions(),b(e)}))},r.locationVisit=function(e,t){try{window.sessionStorage.setItem("inertiaLocationVisit",JSON.stringify({preserveScroll:t})),window.location.href=e.href,m(window.location).href===m(e).href&&window.location.reload()}catch(e){return!1}},r.isLocationVisit=function(){try{return null!==window.sessionStorage.getItem("inertiaLocationVisit")}catch(e){return!1}},r.handleLocationVisit=function(e){var t,r,n,o,i=this,a=JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit")||"");window.sessionStorage.removeItem("inertiaLocationVisit"),e.url+=window.location.hash,e.rememberedState=null!=(t=null==(r=window.history.state)?void 0:r.rememberedState)?t:{},e.scrollRegions=null!=(n=null==(o=window.history.state)?void 0:o.scrollRegions)?n:[],this.setPage(e,{preserveScroll:a.preserveScroll,preserveState:!0}).then((function(){a.preserveScroll&&i.restoreScrollPositions(),b(e)}))},r.isLocationVisitResponse=function(e){return e&&409===e.status&&e.headers["x-inertia-location"]},r.isInertiaResponse=function(e){return null==e?void 0:e.headers["x-inertia"]},r.createVisitId=function(){return this.visitId={},this.visitId},r.cancelVisit=function(e,t){var r=t.cancelled,n=void 0!==r&&r,o=t.interrupted,i=void 0!==o&&o;!e||e.completed||e.cancelled||e.interrupted||(e.cancelToken.cancel(),e.onCancel(),e.completed=!1,e.cancelled=n,e.interrupted=i,g(e),e.onFinish(e))},r.finishVisit=function(e){e.cancelled||e.interrupted||(e.completed=!0,e.cancelled=!1,e.interrupted=!1,g(e),e.onFinish(e))},r.resolvePreserveOption=function(e,t){return"function"==typeof e?e(t):"errors"===e?Object.keys(t.props.errors||{}).length>0:e},r.visit=function(e,r){var n=this,i=void 0===r?{}:r,a=i.method,c=void 0===a?t.n$.GET:a,l=i.data,p=void 0===l?{}:l,d=i.replace,g=void 0!==d&&d,b=i.preserveScroll,w=void 0!==b&&b,x=i.preserveState,S=void 0!==x&&x,j=i.only,E=void 0===j?[]:j,O=i.headers,k=void 0===O?{}:O,A=i.errorBag,N=void 0===A?"":A,T=i.forceFormData,C=void 0!==T&&T,P=i.onCancelToken,L=void 0===P?function(){}:P,R=i.onBefore,V=void 0===R?function(){}:R,B=i.onStart,I=void 0===B?function(){}:B,D=i.onProgress,F=void 0===D?function(){}:D,M=i.onFinish,_=void 0===M?function(){}:M,U=i.onCancel,H=void 0===U?function(){}:U,q=i.onSuccess,$=void 0===q?function(){}:q,z=i.onError,G=void 0===z?function(){}:z,J=i.queryStringArrayFormat,W=void 0===J?"brackets":J,X="string"==typeof e?h(e):e;if(!function e(t){return t instanceof File||t instanceof Blob||t instanceof FileList&&t.length>0||t instanceof FormData&&Array.from(t.values()).some((function(t){return e(t)}))||"object"==typeof t&&null!==t&&Object.values(t).some((function(t){return e(t)}))}(p)&&!C||p instanceof FormData||(p=f(p)),!(p instanceof FormData)){var Q=v(c,X,p,W),Z=Q[1];X=h(Q[0]),p=Z}var K={url:X,method:c,data:p,replace:g,preserveScroll:w,preserveState:S,only:E,headers:k,errorBag:N,forceFormData:C,queryStringArrayFormat:W,cancelled:!1,completed:!1,interrupted:!1};if(!1!==V(K)&&function(e){return y("before",{cancelable:!0,detail:{visit:e}})}(K)){this.activeVisit&&this.cancelVisit(this.activeVisit,{interrupted:!0}),this.saveScrollPositions();var Y=this.createVisitId();this.activeVisit=s({},K,{onCancelToken:L,onBefore:V,onStart:I,onProgress:F,onFinish:_,onCancel:H,onSuccess:$,onError:G,queryStringArrayFormat:W,cancelToken:o.CancelToken.source()}),L({cancel:function(){n.activeVisit&&n.cancelVisit(n.activeVisit,{cancelled:!0})}}),function(e){y("start",{detail:{visit:e}})}(K),I(K),o({method:c,url:m(X).href,data:c===t.n$.GET?{}:p,params:c===t.n$.GET?p:{},cancelToken:this.activeVisit.cancelToken.token,headers:s({},k,{Accept:"text/html, application/xhtml+xml","X-Requested-With":"XMLHttpRequest","X-Inertia":!0},E.length?{"X-Inertia-Partial-Component":this.page.component,"X-Inertia-Partial-Data":E.join(",")}:{},N&&N.length?{"X-Inertia-Error-Bag":N}:{},this.page.version?{"X-Inertia-Version":this.page.version}:{}),onUploadProgress:function(e){p instanceof FormData&&(e.percentage=Math.round(e.loaded/e.total*100),function(e){y("progress",{detail:{progress:e}})}(e),F(e))}}).then((function(e){var t;if(!n.isInertiaResponse(e))return Promise.reject({response:e});var r=e.data;E.length&&r.component===n.page.component&&(r.props=s({},n.page.props,r.props)),w=n.resolvePreserveOption(w,r),(S=n.resolvePreserveOption(S,r))&&null!=(t=window.history.state)&&t.rememberedState&&r.component===n.page.component&&(r.rememberedState=window.history.state.rememberedState);var o=X,i=h(r.url);return o.hash&&!i.hash&&m(o).href===i.href&&(i.hash=o.hash,r.url=i.href),n.setPage(r,{visitId:Y,replace:g,preserveScroll:w,preserveState:S})})).then((function(){var e=n.page.props.errors||{};if(Object.keys(e).length>0){var t=N?e[N]?e[N]:{}:e;return function(e){y("error",{detail:{errors:e}})}(t),G(t)}return y("success",{detail:{page:n.page}}),$(n.page)})).catch((function(e){if(n.isInertiaResponse(e.response))return n.setPage(e.response.data,{visitId:Y});if(n.isLocationVisitResponse(e.response)){var t=h(e.response.headers["x-inertia-location"]),r=X;r.hash&&!t.hash&&m(r).href===t.href&&(t.hash=r.hash),n.locationVisit(t,!0===w)}else{if(!e.response)return Promise.reject(e);y("invalid",{cancelable:!0,detail:{response:e.response}})&&u.show(e.response.data)}})).then((function(){n.activeVisit&&n.finishVisit(n.activeVisit)})).catch((function(e){if(!o.isCancel(e)){var t=y("exception",{cancelable:!0,detail:{exception:e}});if(n.activeVisit&&n.finishVisit(n.activeVisit),t)return Promise.reject(e)}}))}},r.setPage=function(e,t){var r=this,n=void 0===t?{}:t,o=n.visitId,i=void 0===o?this.createVisitId():o,a=n.replace,s=void 0!==a&&a,c=n.preserveScroll,u=void 0!==c&&c,l=n.preserveState,f=void 0!==l&&l;return Promise.resolve(this.resolveComponent(e.component)).then((function(t){i===r.visitId&&(e.scrollRegions=e.scrollRegions||[],e.rememberedState=e.rememberedState||{},(s=s||h(e.url).href===window.location.href)?r.replaceState(e):r.pushState(e),r.swapComponent({component:t,page:e,preserveState:f}).then((function(){u||r.resetScrollPositions(),s||b(e)})))}))},r.pushState=function(e){this.page=e,window.history.pushState(e,"",e.url)},r.replaceState=function(e){this.page=e,window.history.replaceState(e,"",e.url)},r.handlePopstateEvent=function(e){var t=this;if(null!==e.state){var r=e.state,n=this.createVisitId();Promise.resolve(this.resolveComponent(r.component)).then((function(e){n===t.visitId&&(t.page=r,t.swapComponent({component:e,page:r,preserveState:!1}).then((function(){t.restoreScrollPositions(),b(r)})))}))}else{var o=h(this.page.url);o.hash=window.location.hash,this.replaceState(s({},this.page,{url:o.href})),this.resetScrollPositions()}},r.get=function(e,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(e,s({},n,{method:t.n$.GET,data:r}))},r.reload=function(e){return void 0===e&&(e={}),this.visit(window.location.href,s({},e,{preserveScroll:!0,preserveState:!0}))},r.replace=function(e,t){var r;return void 0===t&&(t={}),console.warn("Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia."+(null!=(r=t.method)?r:"get")+"() instead."),this.visit(e,s({preserveState:!0},t,{replace:!0}))},r.post=function(e,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(e,s({preserveState:!0},n,{method:t.n$.POST,data:r}))},r.put=function(e,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(e,s({preserveState:!0},n,{method:t.n$.PUT,data:r}))},r.patch=function(e,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(e,s({preserveState:!0},n,{method:t.n$.PATCH,data:r}))},r.delete=function(e,r){return void 0===r&&(r={}),this.visit(e,s({preserveState:!0},r,{method:t.n$.DELETE}))},r.remember=function(e,t){var r,n;void 0===t&&(t="default"),w||this.replaceState(s({},this.page,{rememberedState:s({},null==(r=this.page)?void 0:r.rememberedState,(n={},n[t]=e,n))}))},r.restore=function(e){var t,r;if(void 0===e&&(e="default"),!w)return null==(t=window.history.state)||null==(r=t.rememberedState)?void 0:r[e]},r.on=function(e,t){var r=function(e){var r=t(e);e.cancelable&&!e.defaultPrevented&&!1===r&&e.preventDefault()};return document.addEventListener("inertia:"+e,r),function(){return document.removeEventListener("inertia:"+e,r)}},e}(),S={buildDOMElement:function(e){var t=document.createElement("template");t.innerHTML=e;var r=t.content.firstChild;if(!e.startsWith(" - diff --git a/src/Events/WorkflowSubscriber.php b/src/Events/WorkflowSubscriber.php index 965fe48..e6eb9ab 100755 --- a/src/Events/WorkflowSubscriber.php +++ b/src/Events/WorkflowSubscriber.php @@ -25,7 +25,7 @@ public function guardEvent(SymfonyGuardEvent $event) } if ($user && $policyExists) { - $event->setBlocked(!$user->can($policyName, $object)); + $event->setBlocked(! $user->can($policyName, $object)); } else { $event->setBlocked(false); } @@ -56,13 +56,15 @@ public function enteredEvent(Event $event) $to = $event->getTransition()->getTos(); $from = $event->getTransition()->getFroms(); - $logModelClass = config('workflow.log_model'); - $log = new $logModelClass(); - $log->fill(['from' => $from[0], 'to' => $to[0], 'transition' => $transitionName]); - $log->subject()->associate($object); + if ($from[0] != $to[0]) { + $logModelClass = config('workflow.log_model'); + $log = new $logModelClass(); + $log->fill(['from' => $from[0], 'to' => $to[0], 'transition' => $transitionName]); + $log->subject()->associate($object); - if (\Auth::user()) { - $log->causer()->associate(\Auth::user()); + if (\Auth::user()) { + $log->causer()->associate(\Auth::user()); + } } // Fälligkeit setzen: Heute + Due In aus Workflow Definition diff --git a/src/Http/Controllers/WorkflowController.php b/src/Http/Controllers/WorkflowController.php index 8eb7a35..94c15c8 100644 --- a/src/Http/Controllers/WorkflowController.php +++ b/src/Http/Controllers/WorkflowController.php @@ -14,20 +14,21 @@ class WorkflowController use AuthorizesRequests; /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ public function index(Request $request) { $model = $this->getModelForResource($request->resourceName, $request->resourceId); + return $this->getWorkflowForModel($model); } public function update(Request $request, $logId) { $request->validate([ - 'dueAt' => 'nullable|date_format:d.m.Y|after:today' + 'dueAt' => 'nullable|date_format:d.m.Y|after:today', ]); $model = $this->getModelForResource($request->resourceName, $request->resourceId); @@ -49,12 +50,14 @@ public function update(Request $request, $logId) } $log->save(); $commentLog->save(); + return $this->getWorkflowForModel($model); } private function getModelForResource($resourceName, $resourceId) { $resource = Nova::resourceInstanceForKey($resourceName); + return $resource->model()->newQueryWithoutScopes()->find($resourceId); } @@ -77,7 +80,7 @@ private function getWorkflowForModel($model) $placeMetadata['responsibleUsers'] = UserResource::collection($definition->users($model, $model->status)); $placeMetadata['lastLog'] = $model->lastLog; $placeMetadata['can'] = [ - 'changeDue' => \Auth::user()->can('changeDue', $model) + 'changeDue' => \Auth::user()->can('changeDue', $model), ]; if ($model->dueIn) { @@ -95,7 +98,7 @@ private function getWorkflowForModel($model) $transitionName = $transition->getName(); $metadata = $metadataStore->getTransitionMetadata($transition); - $policyName = \Str::camel('can_see_' . $transitionName); + $policyName = \Str::camel('can_see_'.$transitionName); $policyExists = false; if ($policy) { $policyExists = method_exists($policy, $policyName); @@ -118,7 +121,7 @@ private function getWorkflowForModel($model) } return array_merge($placeMetadata, [ - 'transitions' => collect($transitions) + 'transitions' => collect($transitions), ]); } } diff --git a/src/Models/Place.php b/src/Models/Place.php index 98cb04f..910b8ee 100644 --- a/src/Models/Place.php +++ b/src/Models/Place.php @@ -16,6 +16,8 @@ class Place public $externalColor; + public $description; + public function __construct(string $label, string $name) { $this->label = $label; @@ -41,6 +43,13 @@ public function dueIn($dueIn) return $this; } + public function description($description) + { + $this->description = $description; + + return $this; + } + public function color($color) { $this->color = $color; @@ -68,6 +77,7 @@ public function metadata() { return [ 'title' => $this->label, + 'description' => $this->description, 'color' => $this->color, 'dueIn' => $this->dueIn, 'externalLabel' => $this->externalLabel, diff --git a/src/Models/Transition.php b/src/Models/Transition.php index aa31e23..241a252 100644 --- a/src/Models/Transition.php +++ b/src/Models/Transition.php @@ -7,8 +7,11 @@ class Transition { public $from = []; + public $to = []; + public $action; + public $entered; protected $userInteraction = true; @@ -25,27 +28,38 @@ public static function make(string $label, string $name) return new static($label,$name); } + public function description($description) + { + $this->description = $description; + + return $this; + } + public function from($place) { $this->from = $place; + return $this; } public function to($place) { $this->to = $place; + return $this; } public function action($action) { $this->action = $action->uriKey(); + return $this; } public function noUserInteraction() { $this->userInteraction = false; + return $this; } @@ -61,7 +75,7 @@ public function toArray() 'from' => $this->from, 'to' => $this->to, 'metadata' => $this->metadata(), - ] + ], ]; } @@ -70,7 +84,7 @@ public function metadata() return [ 'title' => $this->label, 'action' => $this->action, - 'userInteraction' => $this->userInteraction + 'userInteraction' => $this->userInteraction, ]; } } From 2cce5d13cfa00d63fe34d88e354570a4659a8cd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Strau=C3=9F?= Date: Fri, 26 Aug 2022 09:22:49 +0200 Subject: [PATCH 08/29] =?UTF-8?q?=E2=80=9Cwip=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/js/app.js | 2 +- resources/js/components/Cards/Workflow.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/js/app.js b/dist/js/app.js index 410c0fe..5ff75c9 100644 --- a/dist/js/app.js +++ b/dist/js/app.js @@ -1 +1 @@ -(()=>{var e,t={7757:(e,t,r)=>{e.exports=r(5666)},9680:(e,t,r)=>{function n(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var o=n(r(9669)),i=r(129),a=n(r(9996));function s(){return(s=Object.assign||function(e){for(var t=1;t0&&"back_forward"===window.performance.getEntriesByType("navigation")[0].type},r.handleBackForwardVisit=function(e){var t=this;window.history.state.version=e.version,this.setPage(window.history.state,{preserveScroll:!0,preserveState:!0}).then((function(){t.restoreScrollPositions(),b(e)}))},r.locationVisit=function(e,t){try{window.sessionStorage.setItem("inertiaLocationVisit",JSON.stringify({preserveScroll:t})),window.location.href=e.href,m(window.location).href===m(e).href&&window.location.reload()}catch(e){return!1}},r.isLocationVisit=function(){try{return null!==window.sessionStorage.getItem("inertiaLocationVisit")}catch(e){return!1}},r.handleLocationVisit=function(e){var t,r,n,o,i=this,a=JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit")||"");window.sessionStorage.removeItem("inertiaLocationVisit"),e.url+=window.location.hash,e.rememberedState=null!=(t=null==(r=window.history.state)?void 0:r.rememberedState)?t:{},e.scrollRegions=null!=(n=null==(o=window.history.state)?void 0:o.scrollRegions)?n:[],this.setPage(e,{preserveScroll:a.preserveScroll,preserveState:!0}).then((function(){a.preserveScroll&&i.restoreScrollPositions(),b(e)}))},r.isLocationVisitResponse=function(e){return e&&409===e.status&&e.headers["x-inertia-location"]},r.isInertiaResponse=function(e){return null==e?void 0:e.headers["x-inertia"]},r.createVisitId=function(){return this.visitId={},this.visitId},r.cancelVisit=function(e,t){var r=t.cancelled,n=void 0!==r&&r,o=t.interrupted,i=void 0!==o&&o;!e||e.completed||e.cancelled||e.interrupted||(e.cancelToken.cancel(),e.onCancel(),e.completed=!1,e.cancelled=n,e.interrupted=i,g(e),e.onFinish(e))},r.finishVisit=function(e){e.cancelled||e.interrupted||(e.completed=!0,e.cancelled=!1,e.interrupted=!1,g(e),e.onFinish(e))},r.resolvePreserveOption=function(e,t){return"function"==typeof e?e(t):"errors"===e?Object.keys(t.props.errors||{}).length>0:e},r.visit=function(e,r){var n=this,i=void 0===r?{}:r,a=i.method,c=void 0===a?t.n$.GET:a,l=i.data,p=void 0===l?{}:l,d=i.replace,g=void 0!==d&&d,b=i.preserveScroll,w=void 0!==b&&b,x=i.preserveState,S=void 0!==x&&x,j=i.only,E=void 0===j?[]:j,O=i.headers,k=void 0===O?{}:O,A=i.errorBag,N=void 0===A?"":A,T=i.forceFormData,C=void 0!==T&&T,P=i.onCancelToken,L=void 0===P?function(){}:P,R=i.onBefore,I=void 0===R?function(){}:R,V=i.onStart,B=void 0===V?function(){}:V,D=i.onProgress,F=void 0===D?function(){}:D,M=i.onFinish,U=void 0===M?function(){}:M,_=i.onCancel,H=void 0===_?function(){}:_,q=i.onSuccess,$=void 0===q?function(){}:q,z=i.onError,G=void 0===z?function(){}:z,J=i.queryStringArrayFormat,W=void 0===J?"brackets":J,X="string"==typeof e?h(e):e;if(!function e(t){return t instanceof File||t instanceof Blob||t instanceof FileList&&t.length>0||t instanceof FormData&&Array.from(t.values()).some((function(t){return e(t)}))||"object"==typeof t&&null!==t&&Object.values(t).some((function(t){return e(t)}))}(p)&&!C||p instanceof FormData||(p=f(p)),!(p instanceof FormData)){var Q=v(c,X,p,W),Z=Q[1];X=h(Q[0]),p=Z}var K={url:X,method:c,data:p,replace:g,preserveScroll:w,preserveState:S,only:E,headers:k,errorBag:N,forceFormData:C,queryStringArrayFormat:W,cancelled:!1,completed:!1,interrupted:!1};if(!1!==I(K)&&function(e){return y("before",{cancelable:!0,detail:{visit:e}})}(K)){this.activeVisit&&this.cancelVisit(this.activeVisit,{interrupted:!0}),this.saveScrollPositions();var Y=this.createVisitId();this.activeVisit=s({},K,{onCancelToken:L,onBefore:I,onStart:B,onProgress:F,onFinish:U,onCancel:H,onSuccess:$,onError:G,queryStringArrayFormat:W,cancelToken:o.CancelToken.source()}),L({cancel:function(){n.activeVisit&&n.cancelVisit(n.activeVisit,{cancelled:!0})}}),function(e){y("start",{detail:{visit:e}})}(K),B(K),o({method:c,url:m(X).href,data:c===t.n$.GET?{}:p,params:c===t.n$.GET?p:{},cancelToken:this.activeVisit.cancelToken.token,headers:s({},k,{Accept:"text/html, application/xhtml+xml","X-Requested-With":"XMLHttpRequest","X-Inertia":!0},E.length?{"X-Inertia-Partial-Component":this.page.component,"X-Inertia-Partial-Data":E.join(",")}:{},N&&N.length?{"X-Inertia-Error-Bag":N}:{},this.page.version?{"X-Inertia-Version":this.page.version}:{}),onUploadProgress:function(e){p instanceof FormData&&(e.percentage=Math.round(e.loaded/e.total*100),function(e){y("progress",{detail:{progress:e}})}(e),F(e))}}).then((function(e){var t;if(!n.isInertiaResponse(e))return Promise.reject({response:e});var r=e.data;E.length&&r.component===n.page.component&&(r.props=s({},n.page.props,r.props)),w=n.resolvePreserveOption(w,r),(S=n.resolvePreserveOption(S,r))&&null!=(t=window.history.state)&&t.rememberedState&&r.component===n.page.component&&(r.rememberedState=window.history.state.rememberedState);var o=X,i=h(r.url);return o.hash&&!i.hash&&m(o).href===i.href&&(i.hash=o.hash,r.url=i.href),n.setPage(r,{visitId:Y,replace:g,preserveScroll:w,preserveState:S})})).then((function(){var e=n.page.props.errors||{};if(Object.keys(e).length>0){var t=N?e[N]?e[N]:{}:e;return function(e){y("error",{detail:{errors:e}})}(t),G(t)}return y("success",{detail:{page:n.page}}),$(n.page)})).catch((function(e){if(n.isInertiaResponse(e.response))return n.setPage(e.response.data,{visitId:Y});if(n.isLocationVisitResponse(e.response)){var t=h(e.response.headers["x-inertia-location"]),r=X;r.hash&&!t.hash&&m(r).href===t.href&&(t.hash=r.hash),n.locationVisit(t,!0===w)}else{if(!e.response)return Promise.reject(e);y("invalid",{cancelable:!0,detail:{response:e.response}})&&u.show(e.response.data)}})).then((function(){n.activeVisit&&n.finishVisit(n.activeVisit)})).catch((function(e){if(!o.isCancel(e)){var t=y("exception",{cancelable:!0,detail:{exception:e}});if(n.activeVisit&&n.finishVisit(n.activeVisit),t)return Promise.reject(e)}}))}},r.setPage=function(e,t){var r=this,n=void 0===t?{}:t,o=n.visitId,i=void 0===o?this.createVisitId():o,a=n.replace,s=void 0!==a&&a,c=n.preserveScroll,u=void 0!==c&&c,l=n.preserveState,f=void 0!==l&&l;return Promise.resolve(this.resolveComponent(e.component)).then((function(t){i===r.visitId&&(e.scrollRegions=e.scrollRegions||[],e.rememberedState=e.rememberedState||{},(s=s||h(e.url).href===window.location.href)?r.replaceState(e):r.pushState(e),r.swapComponent({component:t,page:e,preserveState:f}).then((function(){u||r.resetScrollPositions(),s||b(e)})))}))},r.pushState=function(e){this.page=e,window.history.pushState(e,"",e.url)},r.replaceState=function(e){this.page=e,window.history.replaceState(e,"",e.url)},r.handlePopstateEvent=function(e){var t=this;if(null!==e.state){var r=e.state,n=this.createVisitId();Promise.resolve(this.resolveComponent(r.component)).then((function(e){n===t.visitId&&(t.page=r,t.swapComponent({component:e,page:r,preserveState:!1}).then((function(){t.restoreScrollPositions(),b(r)})))}))}else{var o=h(this.page.url);o.hash=window.location.hash,this.replaceState(s({},this.page,{url:o.href})),this.resetScrollPositions()}},r.get=function(e,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(e,s({},n,{method:t.n$.GET,data:r}))},r.reload=function(e){return void 0===e&&(e={}),this.visit(window.location.href,s({},e,{preserveScroll:!0,preserveState:!0}))},r.replace=function(e,t){var r;return void 0===t&&(t={}),console.warn("Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia."+(null!=(r=t.method)?r:"get")+"() instead."),this.visit(e,s({preserveState:!0},t,{replace:!0}))},r.post=function(e,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(e,s({preserveState:!0},n,{method:t.n$.POST,data:r}))},r.put=function(e,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(e,s({preserveState:!0},n,{method:t.n$.PUT,data:r}))},r.patch=function(e,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(e,s({preserveState:!0},n,{method:t.n$.PATCH,data:r}))},r.delete=function(e,r){return void 0===r&&(r={}),this.visit(e,s({preserveState:!0},r,{method:t.n$.DELETE}))},r.remember=function(e,t){var r,n;void 0===t&&(t="default"),w||this.replaceState(s({},this.page,{rememberedState:s({},null==(r=this.page)?void 0:r.rememberedState,(n={},n[t]=e,n))}))},r.restore=function(e){var t,r;if(void 0===e&&(e="default"),!w)return null==(t=window.history.state)||null==(r=t.rememberedState)?void 0:r[e]},r.on=function(e,t){var r=function(e){var r=t(e);e.cancelable&&!e.defaultPrevented&&!1===r&&e.preventDefault()};return document.addEventListener("inertia:"+e,r),function(){return document.removeEventListener("inertia:"+e,r)}},e}(),S={buildDOMElement:function(e){var t=document.createElement("template");t.innerHTML=e;var r=t.content.firstChild;if(!e.startsWith("