From 4dde4b357a7525591b3c7cdababdbd0450a13ccc Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Tue, 1 Oct 2024 19:07:23 +0500 Subject: [PATCH] wip --- .../FetchCardHistoryController.php | 22 + .../Loan/LoanOrderMobileFieldsForDetail.php | 20 +- app/Providers/NovaServiceProvider.php | 2 +- composer.json | 10 +- composer.lock | 208 +- lang/tk.json | 1 + nova-components/NovaCustomHtml/.gitignore | 10 + nova-components/NovaCustomHtml/composer.json | 29 + .../NovaCustomHtml/dist/css/field.css | 2 + .../NovaCustomHtml/dist/js/field.js | 25730 ++++++++++++++++ .../NovaCustomHtml/dist/mix-manifest.json | 4 + nova-components/NovaCustomHtml/nova.mix.js | 40 + nova-components/NovaCustomHtml/package.json | 22 + .../NovaCustomHtml/postcss.config.js | 1 + .../NovaCustomHtml/resources/css/field.css | 1 + .../resources/js/components/DetailField.vue | 44 + .../resources/js/components/FormField.vue | 57 + .../resources/js/components/IndexField.vue | 15 + .../NovaCustomHtml/resources/js/field.js | 9 + .../src/FieldServiceProvider.php | 33 + .../NovaCustomHtml/src/NovaCustomHtml.php | 55 + nova-components/NovaCustomHtml/webpack.mix.js | 10 + package.json | 6 +- resources/js/vendor/nova/js/additional.js | 277 +- .../orders/loan/mobile/card-history.blade.php | 47 + routes/web.php | 3 + 26 files changed, 26396 insertions(+), 262 deletions(-) create mode 100644 app/Http/Controllers/FetchCardHistoryController.php create mode 100644 nova-components/NovaCustomHtml/.gitignore create mode 100644 nova-components/NovaCustomHtml/composer.json create mode 100644 nova-components/NovaCustomHtml/dist/css/field.css create mode 100644 nova-components/NovaCustomHtml/dist/js/field.js create mode 100644 nova-components/NovaCustomHtml/dist/mix-manifest.json create mode 100644 nova-components/NovaCustomHtml/nova.mix.js create mode 100644 nova-components/NovaCustomHtml/package.json create mode 100644 nova-components/NovaCustomHtml/postcss.config.js create mode 100644 nova-components/NovaCustomHtml/resources/css/field.css create mode 100644 nova-components/NovaCustomHtml/resources/js/components/DetailField.vue create mode 100644 nova-components/NovaCustomHtml/resources/js/components/FormField.vue create mode 100644 nova-components/NovaCustomHtml/resources/js/components/IndexField.vue create mode 100644 nova-components/NovaCustomHtml/resources/js/field.js create mode 100644 nova-components/NovaCustomHtml/src/FieldServiceProvider.php create mode 100644 nova-components/NovaCustomHtml/src/NovaCustomHtml.php create mode 100644 nova-components/NovaCustomHtml/webpack.mix.js create mode 100644 resources/views/orders/loan/mobile/card-history.blade.php diff --git a/app/Http/Controllers/FetchCardHistoryController.php b/app/Http/Controllers/FetchCardHistoryController.php new file mode 100644 index 0000000..9333de5 --- /dev/null +++ b/app/Http/Controllers/FetchCardHistoryController.php @@ -0,0 +1,22 @@ +acceptJson()->post('http://10.3.158.102:9999/api/clientinfo'); + + return $response->body(); + } +} diff --git a/app/Nova/Resources/Order/Loan/LoanOrderMobileFieldsForDetail.php b/app/Nova/Resources/Order/Loan/LoanOrderMobileFieldsForDetail.php index deec497..2c22bd7 100644 --- a/app/Nova/Resources/Order/Loan/LoanOrderMobileFieldsForDetail.php +++ b/app/Nova/Resources/Order/Loan/LoanOrderMobileFieldsForDetail.php @@ -3,6 +3,7 @@ namespace App\Nova\Resources\Order\Loan; use App\Modules\DateHelper\Repositories\DateHelperRepository; +use App\Nova\Forms\NovaForm; use App\Nova\Resources\Branch\Branch; use App\Nova\Resources\System\Location\Province; use App\Nova\User; @@ -22,6 +23,7 @@ use Laravel\Nova\Fields\Number; use Laravel\Nova\Fields\Select; use Laravel\Nova\Fields\Text; use Laravel\Nova\Panel; +use Nurmuhammet\NovaCustomHtml\NovaCustomHtml; use Nurmuhammet\NovaInputmask\NovaInputmask; class LoanOrderMobileFieldsForDetail @@ -89,19 +91,11 @@ class LoanOrderMobileFieldsForDetail ]), new Panel(__('Card'), [ - Number::make(__('Card number'), 'card_number'), - - Text::make(__('Name on card'), 'card_name'), - - Select::make(__('Card').' '.__('Expiration month'), 'card_month') - ->displayUsingLabels() - ->searchable() - ->options(DateHelperRepository::monthsAsNumber()), - - Select::make(__('Card').' '.__('Expiration year'), 'card_year') - ->displayUsingLabels() - ->searchable() - ->options(DateHelperRepository::yearsUntil()), + NovaCustomHtml::make(__('Data'), 'card_name') + ->html(view('orders.loan.mobile.card-history', [ + 'resource' => $resource + ])->render()) + ->fillUsing(NovaForm::fillEmpty()), ]), new Panel(__('Contact data'), [ diff --git a/app/Providers/NovaServiceProvider.php b/app/Providers/NovaServiceProvider.php index 74bea07..b71889a 100644 --- a/app/Providers/NovaServiceProvider.php +++ b/app/Providers/NovaServiceProvider.php @@ -146,7 +146,7 @@ class NovaServiceProvider extends NovaApplicationServiceProvider public function setupAssets(): void { Nova::style('additional', resource_path('css/vendor/nova/css/additional.css')); - // Nova::script('additional', resource_path('js/vendor/nova/js/additional.js')); + Nova::script('additional', resource_path('js/vendor/nova/js/additional.js')); } /** diff --git a/composer.json b/composer.json index 5786d82..a70b1cc 100644 --- a/composer.json +++ b/composer.json @@ -24,7 +24,6 @@ "laravel/tinker": "^2.8", "maantje/pulse-php-fpm": "^0.2.1", "morrislaptop/laravel-pulse-4xx": "^0.0.2", - "nurmuhammet/nova-custom-html": "^1.0", "nurmuhammet/nova-inputmask": "^1.0", "outl1ne/nova-grid": "@dev", "outl1ne/nova-simple-repeatable": "^2.2", @@ -37,7 +36,8 @@ "stepanenko3/nova-logs-tool": "^2.1", "stevebauman/location": "^7.1", "symfony/filesystem": "^7.0", - "trin4ik/nova-switcher": "^0.4.0" + "trin4ik/nova-switcher": "^0.4.0", + "nurmuhammet/nova-custom-html": "@dev" }, "require-dev": { "fakerphp/faker": "^1.9.1", @@ -98,6 +98,10 @@ "1": { "type": "vcs", "url": "https://github.com/nurmuhammet-ali/nova-tabs" + }, + "2": { + "type": "path", + "url": "./nova-components/NovaCustomHtml" } }, "config": { @@ -111,4 +115,4 @@ }, "minimum-stability": "dev", "prefer-stable": true -} +} \ No newline at end of file diff --git a/composer.lock b/composer.lock index 6f4f4c6..ed812b1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "68508766b98f10cf8e0c0188d45a572e", + "content-hash": "c05733283084ea873c08ebc05828256d", "packages": [ { "name": "adoy/fastcgi-client", @@ -236,16 +236,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.5.1", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a" + "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/063d9aa8696582f5a41dffbbaf3c81024f0a604a", - "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/48a792895a2b7a6ee65dd5442c299d7b835b6137", + "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137", "shasum": "" }, "require": { @@ -255,8 +255,8 @@ }, "require-dev": { "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8 || ^9", "psr/log": "^1.0 || ^2.0 || ^3.0", - "symfony/phpunit-bridge": "^4.2 || ^5", "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", @@ -292,7 +292,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.1" + "source": "https://github.com/composer/ca-bundle/tree/1.5.2" }, "funding": [ { @@ -308,7 +308,7 @@ "type": "tidelift" } ], - "time": "2024-07-08T15:28:20+00:00" + "time": "2024-09-25T07:49:53+00:00" }, { "name": "composer/semver", @@ -393,16 +393,16 @@ }, { "name": "dedoc/scramble", - "version": "v0.11.15", + "version": "v0.11.16", "source": { "type": "git", "url": "https://github.com/dedoc/scramble.git", - "reference": "24dd5810b4d514b67265e5e0ceaedab54c70870c" + "reference": "e44fff18ccaa101f58688e53c0725cbc772ef0e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dedoc/scramble/zipball/24dd5810b4d514b67265e5e0ceaedab54c70870c", - "reference": "24dd5810b4d514b67265e5e0ceaedab54c70870c", + "url": "https://api.github.com/repos/dedoc/scramble/zipball/e44fff18ccaa101f58688e53c0725cbc772ef0e7", + "reference": "e44fff18ccaa101f58688e53c0725cbc772ef0e7", "shasum": "" }, "require": { @@ -456,7 +456,7 @@ ], "support": { "issues": "https://github.com/dedoc/scramble/issues", - "source": "https://github.com/dedoc/scramble/tree/v0.11.15" + "source": "https://github.com/dedoc/scramble/tree/v0.11.16" }, "funding": [ { @@ -464,7 +464,7 @@ "type": "github" } ], - "time": "2024-09-22T13:16:29+00:00" + "time": "2024-09-24T06:34:39+00:00" }, { "name": "denniseilander/pulse-about-application", @@ -2682,16 +2682,16 @@ }, { "name": "laravel/pint", - "version": "v1.17.3", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "9d77be916e145864f10788bb94531d03e1f7b482" + "reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/9d77be916e145864f10788bb94531d03e1f7b482", - "reference": "9d77be916e145864f10788bb94531d03e1f7b482", + "url": "https://api.github.com/repos/laravel/pint/zipball/35c00c05ec43e6b46d295efc0f4386ceb30d50d9", + "reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9", "shasum": "" }, "require": { @@ -2744,7 +2744,7 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-09-03T15:00:28+00:00" + "time": "2024-09-24T17:22:50+00:00" }, { "name": "laravel/prompts", @@ -2959,16 +2959,16 @@ }, { "name": "laravel/serializable-closure", - "version": "v1.3.4", + "version": "v1.3.5", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "61b87392d986dc49ad5ef64e75b1ff5fee24ef81" + "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/61b87392d986dc49ad5ef64e75b1ff5fee24ef81", - "reference": "61b87392d986dc49ad5ef64e75b1ff5fee24ef81", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c", + "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c", "shasum": "" }, "require": { @@ -3016,20 +3016,20 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-08-02T07:48:17+00:00" + "time": "2024-09-23T13:33:08+00:00" }, { "name": "laravel/tinker", - "version": "v2.9.0", + "version": "v2.10.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" + "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "url": "https://api.github.com/repos/laravel/tinker/zipball/ba4d51eb56de7711b3a37d63aa0643e99a339ae5", + "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5", "shasum": "" }, "require": { @@ -3080,9 +3080,9 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.9.0" + "source": "https://github.com/laravel/tinker/tree/v2.10.0" }, - "time": "2024-01-04T16:10:04+00:00" + "time": "2024-09-23T13:32:56+00:00" }, { "name": "laravel/ui", @@ -3337,16 +3337,16 @@ }, { "name": "league/flysystem", - "version": "3.28.0", + "version": "3.29.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c" + "reference": "0adc0d9a51852e170e0028a60bd271726626d3f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", - "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0adc0d9a51852e170e0028a60bd271726626d3f0", + "reference": "0adc0d9a51852e170e0028a60bd271726626d3f0", "shasum": "" }, "require": { @@ -3414,22 +3414,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.28.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.29.0" }, - "time": "2024-05-22T10:09:12+00:00" + "time": "2024-09-29T11:59:11+00:00" }, { "name": "league/flysystem-local", - "version": "3.28.0", + "version": "3.29.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40" + "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40", - "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e0e8d52ce4b2ed154148453d321e97c8e931bd27", + "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27", "shasum": "" }, "require": { @@ -3463,9 +3463,9 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.29.0" }, - "time": "2024-05-06T20:05:52+00:00" + "time": "2024-08-09T21:24:39+00:00" }, { "name": "league/mime-type-detection", @@ -4343,16 +4343,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.2.0", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "23c79fbbfb725fb92af9bcf41065c8e9a0d49ddb" + "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/23c79fbbfb725fb92af9bcf41065c8e9a0d49ddb", - "reference": "23c79fbbfb725fb92af9bcf41065c8e9a0d49ddb", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3abf7425cd284141dc5d8d14a9ee444de3345d1a", + "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a", "shasum": "" }, "require": { @@ -4395,9 +4395,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.2.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.0" }, - "time": "2024-09-15T16:40:33+00:00" + "time": "2024-09-29T13:56:26+00:00" }, { "name": "nova-kit/nova-packages-tool", @@ -4541,17 +4541,11 @@ }, { "name": "nurmuhammet/nova-custom-html", - "version": "1.0.10", - "source": { - "type": "git", - "url": "https://github.com/nurmuhammet-ali/nova-custom-html.git", - "reference": "d8d424b54d254f93ff838cb15772c443dfbac8fd" - }, + "version": "dev-main", "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nurmuhammet-ali/nova-custom-html/zipball/d8d424b54d254f93ff838cb15772c443dfbac8fd", - "reference": "d8d424b54d254f93ff838cb15772c443dfbac8fd", - "shasum": "" + "type": "path", + "url": "./nova-components/NovaCustomHtml", + "reference": "77e55d81c56c59eca8f4d4a6259f4c6cb52e7898" }, "require": { "php": "^7.3|^8.0" @@ -4569,7 +4563,6 @@ "Nurmuhammet\\NovaCustomHtml\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -4578,11 +4571,9 @@ "laravel", "nova" ], - "support": { - "issues": "https://github.com/nurmuhammet-ali/nova-custom-html/issues", - "source": "https://github.com/nurmuhammet-ali/nova-custom-html/tree/1.0.10" - }, - "time": "2024-01-26T20:59:45+00:00" + "transport-options": { + "relative": true + } }, { "name": "nurmuhammet/nova-inputmask", @@ -4633,16 +4624,16 @@ }, { "name": "openspout/openspout", - "version": "v4.24.5", + "version": "v4.26.0", "source": { "type": "git", "url": "https://github.com/openspout/openspout.git", - "reference": "393299ae21153f042f48b185f2adeb4b157d1d93" + "reference": "a49b947c0c109f4fd112f9b5c6d6cb3e6baf8b50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openspout/openspout/zipball/393299ae21153f042f48b185f2adeb4b157d1d93", - "reference": "393299ae21153f042f48b185f2adeb4b157d1d93", + "url": "https://api.github.com/repos/openspout/openspout/zipball/a49b947c0c109f4fd112f9b5c6d6cb3e6baf8b50", + "reference": "a49b947c0c109f4fd112f9b5c6d6cb3e6baf8b50", "shasum": "" }, "require": { @@ -4652,17 +4643,17 @@ "ext-libxml": "*", "ext-xmlreader": "*", "ext-zip": "*", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0" }, "require-dev": { "ext-zlib": "*", - "friendsofphp/php-cs-fixer": "^3.60.0", + "friendsofphp/php-cs-fixer": "^3.64.0", "infection/infection": "^0.29.6", "phpbench/phpbench": "^1.3.1", - "phpstan/phpstan": "^1.11.8", + "phpstan/phpstan": "^1.12.4", "phpstan/phpstan-phpunit": "^1.4.0", - "phpstan/phpstan-strict-rules": "^1.6.0", - "phpunit/phpunit": "^10.5.20 || ^11.2.8" + "phpstan/phpstan-strict-rules": "^1.6.1", + "phpunit/phpunit": "^11.3.6" }, "suggest": { "ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)", @@ -4710,7 +4701,7 @@ ], "support": { "issues": "https://github.com/openspout/openspout/issues", - "source": "https://github.com/openspout/openspout/tree/v4.24.5" + "source": "https://github.com/openspout/openspout/tree/v4.26.0" }, "funding": [ { @@ -4722,7 +4713,7 @@ "type": "github" } ], - "time": "2024-07-26T05:48:04+00:00" + "time": "2024-09-24T14:04:43+00:00" }, { "name": "outl1ne/nova-grid", @@ -4832,16 +4823,16 @@ }, { "name": "outl1ne/nova-translatable", - "version": "2.3.1", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/outl1ne/nova-translatable.git", - "reference": "5398fa87c86cfcab7402891145e59ceeebd827dd" + "reference": "1269bab6e645511a7bebbd37f5fc33b904283523" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/outl1ne/nova-translatable/zipball/5398fa87c86cfcab7402891145e59ceeebd827dd", - "reference": "5398fa87c86cfcab7402891145e59ceeebd827dd", + "url": "https://api.github.com/repos/outl1ne/nova-translatable/zipball/1269bab6e645511a7bebbd37f5fc33b904283523", + "reference": "1269bab6e645511a7bebbd37f5fc33b904283523", "shasum": "" }, "require": { @@ -4889,9 +4880,9 @@ ], "support": { "issues": "https://github.com/outl1ne/nova-translatable/issues", - "source": "https://github.com/outl1ne/nova-translatable/tree/2.3.1" + "source": "https://github.com/outl1ne/nova-translatable/tree/2.3.2" }, - "time": "2024-09-12T15:12:19+00:00" + "time": "2024-09-27T07:27:08+00:00" }, { "name": "outl1ne/nova-translations-loader", @@ -5018,16 +5009,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.31.0", + "version": "1.32.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "249f15fb843bf240cf058372dad29e100cee6c17" + "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/249f15fb843bf240cf058372dad29e100cee6c17", - "reference": "249f15fb843bf240cf058372dad29e100cee6c17", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6ca22b154efdd9e3c68c56f5d94670920a1c19a4", + "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4", "shasum": "" }, "require": { @@ -5059,9 +5050,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.31.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.32.0" }, - "time": "2024-09-22T11:32:18+00:00" + "time": "2024-09-26T07:23:32+00:00" }, { "name": "psr/cache", @@ -10136,26 +10127,26 @@ }, { "name": "filp/whoops", - "version": "2.15.4", + "version": "2.16.0", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + "reference": "befcdc0e5dce67252aa6322d82424be928214fa2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "url": "https://api.github.com/repos/filp/whoops/zipball/befcdc0e5dce67252aa6322d82424be928214fa2", + "reference": "befcdc0e5dce67252aa6322d82424be928214fa2", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", + "php": "^7.1 || ^8.0", "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^4.0 || ^5.0" }, "suggest": { "symfony/var-dumper": "Pretty print complex values better with var-dumper available", @@ -10195,7 +10186,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.15.4" + "source": "https://github.com/filp/whoops/tree/2.16.0" }, "funding": [ { @@ -10203,7 +10194,7 @@ "type": "github" } ], - "time": "2023-11-03T12:00:00+00:00" + "time": "2024-09-25T12:00:00+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -11140,16 +11131,16 @@ }, { "name": "laravel/sail", - "version": "v1.32.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "4a7e41d280861ca7e35710cea011a07669b4003b" + "reference": "d54af9d5745e3680d8a6463ffd9f314aa53eb2d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/4a7e41d280861ca7e35710cea011a07669b4003b", - "reference": "4a7e41d280861ca7e35710cea011a07669b4003b", + "url": "https://api.github.com/repos/laravel/sail/zipball/d54af9d5745e3680d8a6463ffd9f314aa53eb2d1", + "reference": "d54af9d5745e3680d8a6463ffd9f314aa53eb2d1", "shasum": "" }, "require": { @@ -11199,7 +11190,7 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-09-11T20:14:29+00:00" + "time": "2024-09-22T19:04:21+00:00" }, { "name": "mockery/mockery", @@ -11587,16 +11578,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.4", + "version": "1.12.5", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "ffa517cb918591b93acc9b95c0bebdcd0e4538bd" + "reference": "7e6c6cb7cecb0a6254009a1a8a7d54ec99812b17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ffa517cb918591b93acc9b95c0bebdcd0e4538bd", - "reference": "ffa517cb918591b93acc9b95c0bebdcd0e4538bd", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/7e6c6cb7cecb0a6254009a1a8a7d54ec99812b17", + "reference": "7e6c6cb7cecb0a6254009a1a8a7d54ec99812b17", "shasum": "" }, "require": { @@ -11641,7 +11632,7 @@ "type": "github" } ], - "time": "2024-09-19T07:58:01+00:00" + "time": "2024-09-26T12:45:22+00:00" }, { "name": "phpunit/php-code-coverage", @@ -13563,7 +13554,8 @@ "minimum-stability": "dev", "stability-flags": { "eolica/nova-locale-switcher": 20, - "outl1ne/nova-grid": 20 + "outl1ne/nova-grid": 20, + "nurmuhammet/nova-custom-html": 20 }, "prefer-stable": true, "prefer-lowest": false, diff --git a/lang/tk.json b/lang/tk.json index 871c971..c627124 100644 --- a/lang/tk.json +++ b/lang/tk.json @@ -305,6 +305,7 @@ "or": "ýada", "Amount of loan": "Karz mukdary", "Name on card": "Kartdaky ady", + "Expiration": "Möhleti", "Expiration month": "Möhleti (aý)", "Expiration year": "Möhleti (ýyl)", "Guarantor": "Zamun", diff --git a/nova-components/NovaCustomHtml/.gitignore b/nova-components/NovaCustomHtml/.gitignore new file mode 100644 index 0000000..b817577 --- /dev/null +++ b/nova-components/NovaCustomHtml/.gitignore @@ -0,0 +1,10 @@ +/.idea +/vendor +/node_modules +package-lock.json +composer.phar +composer.lock +phpunit.xml +.phpunit.result.cache +.DS_Store +Thumbs.db diff --git a/nova-components/NovaCustomHtml/composer.json b/nova-components/NovaCustomHtml/composer.json new file mode 100644 index 0000000..3bd20d0 --- /dev/null +++ b/nova-components/NovaCustomHtml/composer.json @@ -0,0 +1,29 @@ +{ + "name": "nurmuhammet/nova-custom-html", + "description": "A Laravel Nova field.", + "keywords": [ + "laravel", + "nova" + ], + "license": "MIT", + "require": { + "php": "^7.3|^8.0" + }, + "autoload": { + "psr-4": { + "Nurmuhammet\\NovaCustomHtml\\": "src/" + } + }, + "extra": { + "laravel": { + "providers": [ + "Nurmuhammet\\NovaCustomHtml\\FieldServiceProvider" + ] + } + }, + "config": { + "sort-packages": true + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/nova-components/NovaCustomHtml/dist/css/field.css b/nova-components/NovaCustomHtml/dist/css/field.css new file mode 100644 index 0000000..7690fbe --- /dev/null +++ b/nova-components/NovaCustomHtml/dist/css/field.css @@ -0,0 +1,2 @@ +/* Nova Field CSS */ + diff --git a/nova-components/NovaCustomHtml/dist/js/field.js b/nova-components/NovaCustomHtml/dist/js/field.js new file mode 100644 index 0000000..3e77a15 --- /dev/null +++ b/nova-components/NovaCustomHtml/dist/js/field.js @@ -0,0 +1,25730 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./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/DetailField.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/DetailField.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: ['index', 'resource', 'resourceName', 'resourceId', 'field'], + /* + * Set the initial, internal value for the field. + */ + setInitialValue: function setInitialValue() { + this.fullWidth = this.field.fullWidth || true; + this.value = this.field.value || ''; + this.html = this.field.html || ''; + this.alert_message = this.field.alert_message || null; + this.hidden = this.field.hidden || false; + }, + computed: { + classes: function classes() { + return ['remove-last-margin-bottom', 'leading-normal', 'w-full', 'py-4', 'px-8']; + } + }, + mounted: function mounted() { + if (this.alert_message) { + alert(this.alert_message); + } + } +}); + +/***/ }), + +/***/ "./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/FormField.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/FormField.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 laravel_nova__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! laravel-nova */ "../../nova/resources/js/mixins/packages.js"); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + mixins: [laravel_nova__WEBPACK_IMPORTED_MODULE_0__.DependentFormField, laravel_nova__WEBPACK_IMPORTED_MODULE_0__.HandlesValidationErrors], + props: ['resourceName', 'resourceId', 'field'], + methods: { + /* + * Set the initial, internal value for the field. + */ + setInitialValue: function setInitialValue() { + this.fullWidth = this.field.fullWidth || true; + this.value = this.field.value || ''; + this.html = this.field.html || ''; + this.alert_message = this.field.alert_message || null; + this.hidden = this.field.hidden || false; + }, + /** + * Fill the given FormData object with the field's internal value. + */ + fill: function fill(formData) { + formData.append(this.field.attribute, this.value || ''); + } + }, + computed: { + classes: function classes() { + return ['remove-last-margin-bottom', 'leading-normal', 'w-full', 'py-4', 'px-8']; + } + }, + mounted: function mounted() { + if (this.alert_message) { + alert(this.alert_message); + } + } +}); + +/***/ }), + +/***/ "./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/IndexField.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/IndexField.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: ['resourceName', 'field'], + computed: { + fieldValue: function fieldValue() { + return this.field.displayedAs || this.field.value; + } + } +}); + +/***/ }), + +/***/ "./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/DetailField.vue?vue&type=template&id=0224618e": +/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./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/DetailField.vue?vue&type=template&id=0224618e ***! + \*********************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__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 */ "vue"); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__); + +var _hoisted_1 = ["innerHTML"]; +function render(_ctx, _cache, $props, $setup, $data, $options) { + var _component_FieldWrapper = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("FieldWrapper"); + return $props.field.visible ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_FieldWrapper, { + key: 0, + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)({ + 'hidden': _ctx.hidden, + 'w-full': _ctx.fullWidth + }) + }, { + "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { + return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", { + innerHTML: $props.field.html, + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.classes) + }, null, 10 /* CLASS, PROPS */, _hoisted_1)]; + }), + _: 1 /* STABLE */ + }, 8 /* PROPS */, ["class"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", 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/FormField.vue?vue&type=template&id=c023248a": +/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./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/FormField.vue?vue&type=template&id=c023248a ***! + \*******************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__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 */ "vue"); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__); + +var _hoisted_1 = ["innerHTML"]; +function render(_ctx, _cache, $props, $setup, $data, $options) { + var _component_FieldWrapper = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("FieldWrapper"); + return _ctx.currentField.visible ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_FieldWrapper, { + key: 0, + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)({ + 'hidden': _ctx.hidden, + 'w-full': _ctx.fullWidth + }) + }, { + "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () { + return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", { + innerHTML: _ctx.currentField.html, + "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.classes) + }, null, 10 /* CLASS, PROPS */, _hoisted_1)]; + }), + _: 1 /* STABLE */ + }, 8 /* PROPS */, ["class"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", 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/IndexField.vue?vue&type=template&id=9e63f81a": +/*!********************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./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/IndexField.vue?vue&type=template&id=9e63f81a ***! + \********************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__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 */ "vue"); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__); + +function render(_ctx, _cache, $props, $setup, $data, $options) { + return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.fieldValue), 1 /* TEXT */); +} + +/***/ }), + +/***/ "./resources/js/field.js": +/*!*******************************!*\ + !*** ./resources/js/field.js ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _components_IndexField__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/IndexField */ "./resources/js/components/IndexField.vue"); +/* harmony import */ var _components_DetailField__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/DetailField */ "./resources/js/components/DetailField.vue"); +/* harmony import */ var _components_FormField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/FormField */ "./resources/js/components/FormField.vue"); + + + +Nova.booting(function (app, store) { + app.component('index-nova-custom-html', _components_IndexField__WEBPACK_IMPORTED_MODULE_0__["default"]); + app.component('detail-nova-custom-html', _components_DetailField__WEBPACK_IMPORTED_MODULE_1__["default"]); + app.component('form-nova-custom-html', _components_FormField__WEBPACK_IMPORTED_MODULE_2__["default"]); +}); + +/***/ }), + +/***/ "../../nova/resources/js/composables/useLocalization.js": +/*!**************************************************************!*\ + !*** ../../nova/resources/js/composables/useLocalization.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ useLocalization: () => (/* binding */ useLocalization) +/* harmony export */ }); +/* harmony import */ var _util_localization__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/localization */ "../../nova/resources/js/util/localization.js"); + +function useLocalization() { + return { + __: function __(key, replace) { + return (0,_util_localization__WEBPACK_IMPORTED_MODULE_0__["default"])(key, replace); + } + }; +} + +/***/ }), + +/***/ "../../nova/resources/js/mixins/CopiesToClipboard.js": +/*!***********************************************************!*\ + !*** ../../nova/resources/js/mixins/CopiesToClipboard.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 */ useCopyValueToClipboard: () => (/* binding */ useCopyValueToClipboard) +/* harmony export */ }); +var mixin = { + methods: { + copyValueToClipboard: function copyValueToClipboard(value) { + if (navigator.clipboard) { + navigator.clipboard.writeText(value); + } else if (window.clipboardData) { + window.clipboardData.setData('Text', value); + } else { + var input = document.createElement('input'); + var _ref = [document.documentElement.scrollTop, document.documentElement.scrollLeft], + scrollTop = _ref[0], + scrollLeft = _ref[1]; + document.body.appendChild(input); + input.value = value; + input.focus(); + input.select(); + document.documentElement.scrollTop = scrollTop; + document.documentElement.scrollLeft = scrollLeft; + document.execCommand('copy'); + input.remove(); + } + } + } +}; +function useCopyValueToClipboard() { + return { + copyValueToClipboard: function copyValueToClipboard(value) { + return mixin.methods.copyValueToClipboard(value); + } + }; +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mixin); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/DependentFormField.js": +/*!************************************************************!*\ + !*** ../../nova/resources/js/mixins/DependentFormField.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 axios__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! axios */ "../../nova/node_modules/axios/index.js"); +/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ "../../nova/node_modules/lodash/debounce.js"); +/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var lodash_forIn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/forIn */ "../../nova/node_modules/lodash/forIn.js"); +/* harmony import */ var lodash_forIn__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_forIn__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/get */ "../../nova/node_modules/lodash/get.js"); +/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var lodash_identity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/identity */ "../../nova/node_modules/lodash/identity.js"); +/* harmony import */ var lodash_identity__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_identity__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/isEmpty */ "../../nova/node_modules/lodash/isEmpty.js"); +/* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isNil */ "../../nova/node_modules/lodash/isNil.js"); +/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isNil__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var lodash_pickBy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/pickBy */ "../../nova/node_modules/lodash/pickBy.js"); +/* harmony import */ var lodash_pickBy__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_pickBy__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _FormField__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./FormField */ "../../nova/resources/js/mixins/FormField.js"); +/* harmony import */ var _propTypes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./propTypes */ "../../nova/resources/js/mixins/propTypes.js"); +/* harmony import */ var _util_filled__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../util/filled */ "../../nova/resources/js/util/filled.js"); +/* harmony import */ var _util_escapeUnicode__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../util/escapeUnicode */ "../../nova/resources/js/util/escapeUnicode.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } + + + + + + + + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + "extends": _FormField__WEBPACK_IMPORTED_MODULE_7__["default"], + emits: ['field-shown', 'field-hidden'], + props: _objectSpread(_objectSpread({}, (0,_propTypes__WEBPACK_IMPORTED_MODULE_8__.mapProps)(['shownViaNewRelationModal', 'field', 'viaResource', 'viaResourceId', 'viaRelationship', 'resourceName', 'resourceId', 'relatedResourceName', 'relatedResourceId'])), {}, { + syncEndpoint: { + type: String, + required: false + } + }), + data: function data() { + return { + dependentFieldDebouncer: null, + canceller: null, + watchedFields: {}, + watchedEvents: {}, + syncedField: null, + pivot: false, + editMode: 'create' + }; + }, + created: function created() { + this.dependentFieldDebouncer = lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(function (callback) { + return callback(); + }, 50); + }, + mounted: function mounted() { + var _this = this; + if (this.relatedResourceName !== '' && !lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(this.relatedResourceName)) { + this.pivot = true; + if (this.relatedResourceId !== '' && !lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(this.relatedResourceId)) { + this.editMode = 'update-attached'; + } else { + this.editMode = 'attach'; + } + } else { + if (this.resourceId !== '' && !lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(this.resourceId)) { + this.editMode = 'update'; + } + } + if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default()(this.dependsOn)) { + lodash_forIn__WEBPACK_IMPORTED_MODULE_1___default()(this.dependsOn, function (defaultValue, dependsOn) { + _this.watchedEvents[dependsOn] = function (value) { + _this.watchedFields[dependsOn] = value; + _this.dependentFieldDebouncer(function () { + _this.watchedFields[dependsOn] = value; + _this.syncField(); + }); + }; + _this.watchedFields[dependsOn] = defaultValue; + Nova.$on(_this.getFieldAttributeChangeEventName(dependsOn), _this.watchedEvents[dependsOn]); + }); + } + }, + beforeUnmount: function beforeUnmount() { + var _this2 = this; + if (this.canceller !== null) this.canceller(); + if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default()(this.watchedEvents)) { + lodash_forIn__WEBPACK_IMPORTED_MODULE_1___default()(this.watchedEvents, function (event, dependsOn) { + Nova.$off(_this2.getFieldAttributeChangeEventName(dependsOn), event); + }); + } + }, + methods: { + /* + * Set the initial value for the field + */ + setInitialValue: function setInitialValue() { + this.value = !(this.currentField.value === undefined || this.currentField.value === null) ? this.currentField.value : this.value; + }, + /** + * Provide a function to fills FormData when field is visible. + */ + fillIfVisible: function fillIfVisible(formData, attribute, value) { + if (this.currentlyIsVisible) { + formData.append(attribute, value); + } + }, + syncField: function syncField() { + var _this3 = this; + if (this.canceller !== null) this.canceller(); + Nova.request().patch(this.syncEndpoint || this.syncFieldEndpoint, this.dependentFieldValues, { + params: lodash_pickBy__WEBPACK_IMPORTED_MODULE_6___default()({ + editing: true, + editMode: this.editMode, + viaResource: this.viaResource, + viaResourceId: this.viaResourceId, + viaRelationship: this.viaRelationship, + field: this.fieldAttribute, + component: this.field.dependentComponentKey + }, (lodash_identity__WEBPACK_IMPORTED_MODULE_3___default())), + cancelToken: new axios__WEBPACK_IMPORTED_MODULE_11__.CancelToken(function (canceller) { + _this3.canceller = canceller; + }) + }).then(function (response) { + var previousValue = _this3.currentField.value; + var wasVisible = _this3.currentlyIsVisible; + _this3.syncedField = response.data; + if (_this3.syncedField.visible !== wasVisible) { + _this3.$emit(_this3.syncedField.visible === true ? 'field-shown' : 'field-hidden', _this3.fieldAttribute); + } + if (lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(_this3.syncedField.value)) { + _this3.syncedField.value = previousValue; + } else { + _this3.setInitialValue(); + } + var emitChangesEvent = !_this3.syncedFieldValueHasNotChanged(); + _this3.onSyncedField(); + if (_this3.syncedField.dependentShouldEmitChangesEvent && emitChangesEvent) { + _this3.emitOnSyncedFieldValueChange(); + } + })["catch"](function (e) { + if ((0,axios__WEBPACK_IMPORTED_MODULE_11__.isCancel)(e)) { + return; + } + throw e; + }); + }, + onSyncedField: function onSyncedField() { + // + }, + emitOnSyncedFieldValueChange: function emitOnSyncedFieldValueChange() { + this.emitFieldValueChange(this.field.attribute, this.currentField.value); + }, + syncedFieldValueHasNotChanged: function syncedFieldValueHasNotChanged() { + var _this$value; + var value = this.currentField.value; + if ((0,_util_filled__WEBPACK_IMPORTED_MODULE_9__["default"])(value)) { + return !(0,_util_filled__WEBPACK_IMPORTED_MODULE_9__["default"])(this.value); + } + return !lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(value) && (value === null || value === void 0 ? void 0 : value.toString()) === ((_this$value = this.value) === null || _this$value === void 0 ? void 0 : _this$value.toString()); + } + }, + computed: { + /** + * Determine the current field + */ + currentField: function currentField() { + return this.syncedField || this.field; + }, + /** + * Determine if the field is in visible mode + */ + currentlyIsVisible: function currentlyIsVisible() { + return this.currentField.visible; + }, + /** + * Determine if the field is in readonly mode + */ + currentlyIsReadonly: function currentlyIsReadonly() { + if (this.syncedField !== null) { + return Boolean(this.syncedField.readonly || lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(this.syncedField, 'extraAttributes.readonly')); + } + return Boolean(this.field.readonly || lodash_get__WEBPACK_IMPORTED_MODULE_2___default()(this.field, 'extraAttributes.readonly')); + }, + dependsOn: function dependsOn() { + return this.field.dependsOn || []; + }, + currentFieldValues: function currentFieldValues() { + return _defineProperty({}, this.fieldAttribute, this.value); + }, + dependentFieldValues: function dependentFieldValues() { + return _objectSpread(_objectSpread({}, this.currentFieldValues), this.watchedFields); + }, + encodedDependentFieldValues: function encodedDependentFieldValues() { + return btoa((0,_util_escapeUnicode__WEBPACK_IMPORTED_MODULE_10__.escapeUnicode)(JSON.stringify(this.dependentFieldValues))); + }, + syncFieldEndpoint: function syncFieldEndpoint() { + if (this.editMode === 'update-attached') { + return "/nova-api/".concat(this.resourceName, "/").concat(this.resourceId, "/update-pivot-fields/").concat(this.relatedResourceName, "/").concat(this.relatedResourceId); + } else if (this.editMode === 'attach') { + return "/nova-api/".concat(this.resourceName, "/").concat(this.resourceId, "/creation-pivot-fields/").concat(this.relatedResourceName); + } else if (this.editMode === 'update') { + return "/nova-api/".concat(this.resourceName, "/").concat(this.resourceId, "/update-fields"); + } + return "/nova-api/".concat(this.resourceName, "/creation-fields"); + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/FieldValue.js": +/*!****************************************************!*\ + !*** ../../nova/resources/js/mixins/FieldValue.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 _util_filled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/filled */ "../../nova/resources/js/util/filled.js"); +/* harmony import */ var lodash_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isArray */ "../../nova/node_modules/lodash/isArray.js"); +/* harmony import */ var lodash_isArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isArray__WEBPACK_IMPORTED_MODULE_1__); + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: ['field'], + methods: { + isEqualsToValue: function isEqualsToValue(value) { + var _this$field$value, _this$field$value2; + if (lodash_isArray__WEBPACK_IMPORTED_MODULE_1___default()(this.field.value) && (0,_util_filled__WEBPACK_IMPORTED_MODULE_0__["default"])(value)) { + return Boolean(this.field.value.includes(value) || this.field.value.includes(value.toString())); + } + return Boolean(this.field.value === value || ((_this$field$value = this.field.value) === null || _this$field$value === void 0 ? void 0 : _this$field$value.toString()) === value || this.field.value === (value === null || value === void 0 ? void 0 : value.toString()) || ((_this$field$value2 = this.field.value) === null || _this$field$value2 === void 0 ? void 0 : _this$field$value2.toString()) === (value === null || value === void 0 ? void 0 : value.toString())); + } + }, + computed: { + fieldAttribute: function fieldAttribute() { + return this.field.attribute; + }, + fieldHasValue: function fieldHasValue() { + return (0,_util_filled__WEBPACK_IMPORTED_MODULE_0__["default"])(this.field.value); + }, + usesCustomizedDisplay: function usesCustomizedDisplay() { + return this.field.usesCustomizedDisplay && (0,_util_filled__WEBPACK_IMPORTED_MODULE_0__["default"])(this.field.displayedAs); + }, + fieldValue: function fieldValue() { + var _this$field$displayed; + if (!this.usesCustomizedDisplay && !this.fieldHasValue) { + return null; + } + return String((_this$field$displayed = this.field.displayedAs) !== null && _this$field$displayed !== void 0 ? _this$field$displayed : this.field.value); + }, + shouldDisplayAsHtml: function shouldDisplayAsHtml() { + return this.field.asHtml; + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/FormEvents.js": +/*!****************************************************!*\ + !*** ../../nova/resources/js/mixins/FormEvents.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 lodash_isNil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isNil */ "../../nova/node_modules/lodash/isNil.js"); +/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isNil__WEBPACK_IMPORTED_MODULE_0__); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: { + formUniqueId: { + type: String + } + }, + methods: { + emitFieldValue: function emitFieldValue(attribute, value) { + Nova.$emit("".concat(attribute, "-value"), value); + if (this.hasFormUniqueId === true) { + Nova.$emit("".concat(this.formUniqueId, "-").concat(attribute, "-value"), value); + } + }, + emitFieldValueChange: function emitFieldValueChange(attribute, value) { + Nova.$emit("".concat(attribute, "-change"), value); + if (this.hasFormUniqueId === true) { + Nova.$emit("".concat(this.formUniqueId, "-").concat(attribute, "-change"), value); + } + }, + /** + * Get field attribute value event name. + */ + getFieldAttributeValueEventName: function getFieldAttributeValueEventName(attribute) { + return this.hasFormUniqueId === true ? "".concat(this.formUniqueId, "-").concat(attribute, "-value") : "".concat(attribute, "-value"); + }, + /** + * Get field attribue value event name. + */ + getFieldAttributeChangeEventName: function getFieldAttributeChangeEventName(attribute) { + return this.hasFormUniqueId === true ? "".concat(this.formUniqueId, "-").concat(attribute, "-change") : "".concat(attribute, "-change"); + } + }, + computed: { + /** + * Return the field attribute. + */ + fieldAttribute: function fieldAttribute() { + return this.field.attribute; + }, + /** + * Determine if the field has Form Unique ID. + */ + hasFormUniqueId: function hasFormUniqueId() { + return !lodash_isNil__WEBPACK_IMPORTED_MODULE_0___default()(this.formUniqueId) && this.formUniqueId !== ''; + }, + /** + * Get field attribue value event name. + */ + fieldAttributeValueEventName: function fieldAttributeValueEventName() { + return this.getFieldAttributeValueEventName(this.fieldAttribute); + }, + /** + * Get field attribue value event name. + */ + fieldAttributeChangeEventName: function fieldAttributeChangeEventName() { + return this.getFieldAttributeChangeEventName(this.fieldAttribute); + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/FormField.js": +/*!***************************************************!*\ + !*** ../../nova/resources/js/mixins/FormField.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 lodash_get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/get */ "../../nova/node_modules/lodash/get.js"); +/* harmony import */ var lodash_get__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_get__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _propTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./propTypes */ "../../nova/resources/js/mixins/propTypes.js"); +/* harmony import */ var _FormEvents__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormEvents */ "../../nova/resources/js/mixins/FormEvents.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + "extends": _FormEvents__WEBPACK_IMPORTED_MODULE_2__["default"], + props: _objectSpread({}, (0,_propTypes__WEBPACK_IMPORTED_MODULE_1__.mapProps)(['nested', 'shownViaNewRelationModal', 'field', 'viaResource', 'viaResourceId', 'viaRelationship', 'resourceName', 'resourceId', 'showHelpText', 'mode'])), + emits: ['field-changed'], + data: function data() { + return { + value: this.fieldDefaultValue() + }; + }, + created: function created() { + this.setInitialValue(); + }, + mounted: function mounted() { + // Add a default fill method for the field + this.field.fill = this.fill; + + // Register a global event for setting the field's value + Nova.$on(this.fieldAttributeValueEventName, this.listenToValueChanges); + }, + beforeUnmount: function beforeUnmount() { + Nova.$off(this.fieldAttributeValueEventName, this.listenToValueChanges); + }, + methods: { + /* + * Set the initial value for the field + */ + setInitialValue: function setInitialValue() { + this.value = !(this.field.value === undefined || this.field.value === null) ? this.field.value : this.fieldDefaultValue(); + }, + /** + * Return the field default value. + */ + fieldDefaultValue: function fieldDefaultValue() { + return ''; + }, + /** + * Provide a function that fills a passed FormData object with the + * field's internal value attribute + */ + fill: function fill(formData) { + this.fillIfVisible(formData, this.fieldAttribute, String(this.value)); + }, + /** + * Provide a function to fills FormData when field is visible. + */ + fillIfVisible: function fillIfVisible(formData, attribute, value) { + if (this.isVisible) { + formData.append(attribute, value); + } + }, + /** + * Update the field's internal value + */ + handleChange: function handleChange(event) { + this.value = event.target.value; + if (this.field) { + this.emitFieldValueChange(this.fieldAttribute, this.value); + this.$emit('field-changed'); + } + }, + /** + * Clean up any side-effects when removing this field dynamically (Repeater). + */ + beforeRemove: function beforeRemove() { + // + }, + listenToValueChanges: function listenToValueChanges(value) { + this.value = value; + } + }, + computed: { + /** + * Determine the current field. + */ + currentField: function currentField() { + return this.field; + }, + /** + * Determine if the field should use all the available white-space. + */ + fullWidthContent: function fullWidthContent() { + return this.currentField.fullWidth || this.field.fullWidth; + }, + /** + * Return the placeholder text for the field. + */ + placeholder: function placeholder() { + return this.currentField.placeholder || this.field.name; + }, + /** + * Determine if the field is in visible mode + */ + isVisible: function isVisible() { + return this.field.visible; + }, + /** + * Determine if the field is in readonly mode + */ + isReadonly: function isReadonly() { + return Boolean(this.field.readonly || lodash_get__WEBPACK_IMPORTED_MODULE_0___default()(this.field, 'extraAttributes.readonly')); + }, + /** + * Determine if the field is accessed from Action + */ + isActionRequest: function isActionRequest() { + return ['action-fullscreen', 'action-modal'].includes(this.mode); + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/HandlesFieldAttachments.js": +/*!*****************************************************************!*\ + !*** ../../nova/resources/js/mixins/HandlesFieldAttachments.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 form_backend_validation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! form-backend-validation */ "../../nova/node_modules/form-backend-validation/dist/index.js"); +/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isNil */ "../../nova/node_modules/lodash/isNil.js"); +/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isNil__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _propTypes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./propTypes */ "../../nova/resources/js/mixins/propTypes.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); } +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } +function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + emits: ['file-upload-started', 'file-upload-finished'], + props: (0,_propTypes__WEBPACK_IMPORTED_MODULE_2__.mapProps)(['resourceName']), + created: function created() { + var _this = this; + return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var _yield$Nova$request$g, draftId; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + if (!_this.field.withFiles) { + _context.next = 6; + break; + } + _context.next = 3; + return Nova.request().get("/nova-api/".concat(_this.resourceName, "/field-attachment/").concat(_this.fieldAttribute, "/draftId")); + case 3: + _yield$Nova$request$g = _context.sent; + draftId = _yield$Nova$request$g.data.draftId; + _this.draftId = draftId; + case 6: + case "end": + return _context.stop(); + } + }, _callee); + }))(); + }, + data: function data() { + return { + draftId: null, + files: [], + filesToRemove: [] + }; + }, + methods: { + /** + * Upload an attachment + */ + uploadAttachment: function uploadAttachment(file, _ref) { + var _this2 = this; + var onUploadProgress = _ref.onUploadProgress, + onCompleted = _ref.onCompleted, + onFailure = _ref.onFailure; + var data = new FormData(); + data.append('Content-Type', file.type); + data.append('attachment', file); + data.append('draftId', this.draftId); + if (lodash_isNil__WEBPACK_IMPORTED_MODULE_1___default()(onUploadProgress)) { + onUploadProgress = function onUploadProgress() {}; + } + if (lodash_isNil__WEBPACK_IMPORTED_MODULE_1___default()(onFailure)) { + onFailure = function onFailure() {}; + } + if (lodash_isNil__WEBPACK_IMPORTED_MODULE_1___default()(onCompleted)) { + throw 'Missing onCompleted parameter'; + } + this.$emit('file-upload-started'); + Nova.request().post("/nova-api/".concat(this.resourceName, "/field-attachment/").concat(this.fieldAttribute), data, { + onUploadProgress: onUploadProgress + }).then(function (_ref2) { + var _ref2$data = _ref2.data, + path = _ref2$data.path, + url = _ref2$data.url; + _this2.files.push({ + path: path, + url: url + }); + var response = onCompleted(path, url); + _this2.$emit('file-upload-finished'); + return response; + })["catch"](function (error) { + onFailure(error); + if (error.response.status == 422) { + var validationErrors = new form_backend_validation__WEBPACK_IMPORTED_MODULE_0__.Errors(error.response.data.errors); + Nova.error(_this2.__('An error occurred while uploading the file: :error', { + error: validationErrors.first('attachment') + })); + } else { + Nova.error(_this2.__('An error occurred while uploading the file.')); + } + }); + }, + /** + * Remove an attachment from the server + */ + flagFileForRemoval: function flagFileForRemoval(url) { + var fileIndex = this.files.findIndex(function (file) { + return file.url === url; + }); + if (fileIndex !== -1) { + this.filesToRemove.push(this.files[fileIndex]); + return; + } + // Case of deleting a file which was added prior to this draft + this.filesToRemove.push({ + url: url + }); + }, + unflagFileForRemoval: function unflagFileForRemoval(url) { + var fileIndex = this.filesToRemove.findIndex(function (file) { + return file.url === url; + }); + if (fileIndex === -1) { + return; + } + this.filesToRemove.splice(fileIndex, 1); + }, + /** + * Purge pending attachments for the draft + */ + clearAttachments: function clearAttachments() { + if (this.field.withFiles) { + Nova.request()["delete"]("/nova-api/".concat(this.resourceName, "/field-attachment/").concat(this.fieldAttribute, "/").concat(this.draftId)).then(function (response) {})["catch"](function (error) {}); + } + }, + clearFilesMarkedForRemoval: function clearFilesMarkedForRemoval() { + var _this3 = this; + if (this.field.withFiles) { + this.filesToRemove.forEach(function (file) { + console.log('deleting', file); + Nova.request()["delete"]("/nova-api/".concat(_this3.resourceName, "/field-attachment/").concat(_this3.fieldAttribute), { + params: { + attachment: file.path, + attachmentUrl: file.url, + draftId: _this3.draftId + } + }).then(function (response) {})["catch"](function (error) {}); + }); + } + }, + /** + * Fill draft id for the field + */ + fillAttachmentDraftId: function fillAttachmentDraftId(formData) { + var attribute = this.fieldAttribute; + var _attribute$split = attribute.split('['), + _attribute$split2 = _toArray(_attribute$split), + name = _attribute$split2[0], + nested = _attribute$split2.slice(1); + if (!lodash_isNil__WEBPACK_IMPORTED_MODULE_1___default()(nested) && nested.length > 0) { + var last = nested.pop(); + if (nested.length > 0) { + attribute = "".concat(name, "[").concat(nested.join('['), "[").concat(last.slice(0, -1), "DraftId]"); + } else { + attribute = "".concat(name, "[").concat(last.slice(0, -1), "DraftId]"); + } + } else { + attribute = "".concat(attribute, "DraftId"); + } + this.fillIfVisible(formData, attribute, this.draftId); + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/HandlesFormRequest.js": +/*!************************************************************!*\ + !*** ../../nova/resources/js/mixins/HandlesFormRequest.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 form_backend_validation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! form-backend-validation */ "../../nova/node_modules/form-backend-validation/dist/index.js"); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: { + formUniqueId: { + type: String + } + }, + data: function data() { + return { + validationErrors: new form_backend_validation__WEBPACK_IMPORTED_MODULE_0__.Errors() + }; + }, + methods: { + /** + * Handle all response error. + */ + handleResponseError: function handleResponseError(error) { + if (error.response === undefined || error.response.status == 500) { + Nova.error(this.__('There was a problem submitting the form.')); + } else if (error.response.status == 422) { + this.validationErrors = new form_backend_validation__WEBPACK_IMPORTED_MODULE_0__.Errors(error.response.data.errors); + Nova.error(this.__('There was a problem submitting the form.')); + } else { + Nova.error(this.__('There was a problem submitting the form.') + ' "' + error.response.statusText + '"'); + } + }, + /** + * Handle creating response error. + */ + handleOnCreateResponseError: function handleOnCreateResponseError(error) { + this.handleResponseError(error); + }, + /** + * Handle updating response error. + */ + handleOnUpdateResponseError: function handleOnUpdateResponseError(error) { + if (error.response && error.response.status == 409) { + Nova.error(this.__('Another user has updated this resource since this page was loaded. Please refresh the page and try again.')); + } else { + this.handleResponseError(error); + } + }, + /** + * Reset validation errors. + */ + resetErrors: function resetErrors() { + this.validationErrors = new form_backend_validation__WEBPACK_IMPORTED_MODULE_0__.Errors(); + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/HandlesPanelVisibility.js": +/*!****************************************************************!*\ + !*** ../../nova/resources/js/mixins/HandlesPanelVisibility.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 lodash_each__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/each */ "../../nova/node_modules/lodash/each.js"); +/* harmony import */ var lodash_each__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_each__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var lodash_filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/filter */ "../../nova/node_modules/lodash/filter.js"); +/* harmony import */ var lodash_filter__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_filter__WEBPACK_IMPORTED_MODULE_1__); + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + emits: ['field-shown', 'field-hidden'], + data: function data() { + return { + visibleFieldsForPanel: {} + }; + }, + created: function created() { + var _this = this; + lodash_each__WEBPACK_IMPORTED_MODULE_0___default()(this.panel.fields, function (field) { + _this.visibleFieldsForPanel[field.attribute] = field.visible; + }); + }, + methods: { + handleFieldShown: function handleFieldShown(field) { + this.visibleFieldsForPanel[field] = true; + this.$emit('field-shown', field); + }, + handleFieldHidden: function handleFieldHidden(field) { + this.visibleFieldsForPanel[field] = false; + this.$emit('field-hidden', field); + } + }, + computed: { + visibleFieldsCount: function visibleFieldsCount() { + return Object.entries(lodash_filter__WEBPACK_IMPORTED_MODULE_1___default()(this.visibleFieldsForPanel, function (visible) { + return visible === true; + })).length; + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/HandlesUploads.js": +/*!********************************************************!*\ + !*** ../../nova/resources/js/mixins/HandlesUploads.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 { + isWorking: false, + fileUploadsCount: 0 + }; + }, + methods: { + /** + * Handle file upload finishing + */ + handleFileUploadFinished: function handleFileUploadFinished() { + this.fileUploadsCount--; + if (this.fileUploadsCount < 1) { + this.fileUploadsCount = 0; + this.isWorking = false; + } + }, + /** + * Handle file upload starting + */ + handleFileUploadStarted: function handleFileUploadStarted() { + this.isWorking = true; + this.fileUploadsCount++; + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/HandlesValidationErrors.js": +/*!*****************************************************************!*\ + !*** ../../nova/resources/js/mixins/HandlesValidationErrors.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 form_backend_validation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! form-backend-validation */ "../../nova/node_modules/form-backend-validation/dist/index.js"); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: { + errors: { + "default": function _default() { + return new form_backend_validation__WEBPACK_IMPORTED_MODULE_0__.Errors(); + } + } + }, + inject: { + index: { + "default": null + }, + viaParent: { + "default": null + } + }, + data: function data() { + return { + errorClass: 'form-control-bordered-error' + }; + }, + computed: { + errorClasses: function errorClasses() { + return this.hasError ? [this.errorClass] : []; + }, + fieldAttribute: function fieldAttribute() { + return this.field.attribute; + }, + validationKey: function validationKey() { + return this.nestedValidationKey || this.field.validationKey; + }, + hasError: function hasError() { + return this.errors.has(this.validationKey); + }, + firstError: function firstError() { + if (this.hasError) { + return this.errors.first(this.validationKey); + } + }, + nestedAttribute: function nestedAttribute() { + if (this.viaParent) { + return "".concat(this.viaParent, "[").concat(this.index, "][").concat(this.field.attribute, "]"); + } + }, + nestedValidationKey: function nestedValidationKey() { + if (this.viaParent) { + return "".concat(this.viaParent, ".").concat(this.index, ".fields.").concat(this.field.attribute); + } + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/HasCards.js": +/*!**************************************************!*\ + !*** ../../nova/resources/js/mixins/HasCards.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 lodash_filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/filter */ "../../nova/node_modules/lodash/filter.js"); +/* harmony import */ var lodash_filter__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_filter__WEBPACK_IMPORTED_MODULE_0__); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: { + loadCards: { + type: Boolean, + "default": true + } + }, + data: function data() { + return { + cards: [] + }; + }, + /** + * Fetch all of the metrics panels for this view + */ + created: function created() { + this.fetchCards(); + }, + watch: { + cardsEndpoint: function cardsEndpoint() { + this.fetchCards(); + } + }, + methods: { + fetchCards: function fetchCards() { + var _this = this; + return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var _yield$Nova$request$g, cards; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + if (!_this.loadCards) { + _context.next = 6; + break; + } + _context.next = 3; + return Nova.request().get(_this.cardsEndpoint, { + params: _this.extraCardParams + }); + case 3: + _yield$Nova$request$g = _context.sent; + cards = _yield$Nova$request$g.data; + _this.cards = cards; + case 6: + case "end": + return _context.stop(); + } + }, _callee); + }))(); + } + }, + computed: { + /** + * Determine whether we have cards to show on the Dashboard. + */ + shouldShowCards: function shouldShowCards() { + return this.cards.length > 0; + }, + /** + * Determine if the cards array contains some detail-only cards. + */ + hasDetailOnlyCards: function hasDetailOnlyCards() { + return lodash_filter__WEBPACK_IMPORTED_MODULE_0___default()(this.cards, function (c) { + return c.onlyOnDetail == true; + }).length > 0; + }, + /** + * Get the extra card params to pass to the endpoint. + */ + extraCardParams: function extraCardParams() { + return null; + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/Localization.js": +/*!******************************************************!*\ + !*** ../../nova/resources/js/mixins/Localization.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 _util_localization__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/localization */ "../../nova/resources/js/util/localization.js"); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + methods: { + /** + * Translate the given key. + */ + __: function __(key, replace) { + return (0,_util_localization__WEBPACK_IMPORTED_MODULE_0__["default"])(key, replace); + } + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/MetricBehavior.js": +/*!********************************************************!*\ + !*** ../../nova/resources/js/mixins/MetricBehavior.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__ = ({ + created: function created() { + Nova.$on('metric-refresh', this.fetch); + Nova.$on('resources-deleted', this.fetch); + Nova.$on('resources-detached', this.fetch); + Nova.$on('resources-restored', this.fetch); + if (this.card.refreshWhenActionRuns) { + Nova.$on('action-executed', this.fetch); + } + }, + beforeUnmount: function beforeUnmount() { + Nova.$off('metric-refresh', this.fetch); + Nova.$off('resources-deleted', this.fetch); + Nova.$off('resources-detached', this.fetch); + Nova.$off('resources-restored', this.fetch); + Nova.$off('action-executed', this.fetch); + } +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/PreventsFormAbandonment.js": +/*!*****************************************************************!*\ + !*** ../../nova/resources/js/mixins/PreventsFormAbandonment.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 vuex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuex */ "../../nova/node_modules/vuex/dist/vuex.esm-bundler.js"); +/* harmony import */ var _inertiajs_inertia__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @inertiajs/inertia */ "../../nova/node_modules/@inertiajs/inertia/dist/index.js"); +/* harmony import */ var _util_filled__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/filled */ "../../nova/resources/js/util/filled.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + created: function created() { + var _this = this; + this.removeOnNavigationChangesEvent = _inertiajs_inertia__WEBPACK_IMPORTED_MODULE_0__.Inertia.on('before', function (event) { + _this.removeOnNavigationChangesEvent(); + _this.handlePreventFormAbandonmentOnInertia(event); + }); + window.addEventListener('beforeunload', this.handlePreventFormAbandonmentOnInertia); + this.removeOnBeforeUnloadEvent = function () { + window.removeEventListener('beforeunload', _this.handlePreventFormAbandonmentOnInertia); + _this.removeOnBeforeUnloadEvent = function () {}; + }; + }, + mounted: function mounted() { + var _this2 = this; + window.onpopstate = function (event) { + _this2.handlePreventFormAbandonmentOnPopState(event); + }; + }, + beforeUnmount: function beforeUnmount() { + this.removeOnBeforeUnloadEvent(); + }, + unmounted: function unmounted() { + this.removeOnNavigationChangesEvent(); + this.resetPushState(); + }, + data: function data() { + return { + removeOnNavigationChangesEvent: null, + removeOnBeforeUnloadEvent: null, + navigateBackUsingHistory: true + }; + }, + methods: _objectSpread(_objectSpread({}, (0,vuex__WEBPACK_IMPORTED_MODULE_2__.mapMutations)(['allowLeavingForm', 'preventLeavingForm', 'triggerPushState', 'resetPushState'])), {}, { + /** + * Prevent accidental abandonment only if form was changed. + */ + updateFormStatus: function updateFormStatus() { + if (this.canLeaveForm === true) { + this.triggerPushState(); + } + this.preventLeavingForm(); + }, + enableNavigateBackUsingHistory: function enableNavigateBackUsingHistory() { + this.navigateBackUsingHistory = false; + }, + disableNavigateBackUsingHistory: function disableNavigateBackUsingHistory() { + this.navigateBackUsingHistory = false; + }, + handlePreventFormAbandonment: function handlePreventFormAbandonment(proceed, revert) { + if (this.canLeaveForm) { + proceed(); + return; + } + var answer = window.confirm(this.__('Do you really want to leave? You have unsaved changes.')); + if (answer) { + proceed(); + return; + } + revert(); + }, + handlePreventFormAbandonmentOnInertia: function handlePreventFormAbandonmentOnInertia(event) { + var _this3 = this; + this.handlePreventFormAbandonment(function () { + _this3.handleProceedingToNextPage(); + _this3.allowLeavingForm(); + }, function () { + _inertiajs_inertia__WEBPACK_IMPORTED_MODULE_0__.Inertia.ignoreHistoryState = true; + event.preventDefault(); + event.returnValue = ''; + _this3.removeOnNavigationChangesEvent = _inertiajs_inertia__WEBPACK_IMPORTED_MODULE_0__.Inertia.on('before', function (event) { + _this3.removeOnNavigationChangesEvent(); + _this3.handlePreventFormAbandonmentOnInertia(event); + }); + }); + }, + handlePreventFormAbandonmentOnPopState: function handlePreventFormAbandonmentOnPopState(event) { + var _this4 = this; + event.stopImmediatePropagation(); + event.stopPropagation(); + this.handlePreventFormAbandonment(function () { + _this4.handleProceedingToPreviousPage(); + _this4.allowLeavingForm(); + }, function () { + _this4.triggerPushState(); + }); + }, + handleProceedingToPreviousPage: function handleProceedingToPreviousPage() { + window.onpopstate = null; + _inertiajs_inertia__WEBPACK_IMPORTED_MODULE_0__.Inertia.ignoreHistoryState = false; + this.removeOnBeforeUnloadEvent(); + if (!this.canLeaveFormToPreviousPage && this.navigateBackUsingHistory) { + window.history.back(); + } + }, + handleProceedingToNextPage: function handleProceedingToNextPage() { + window.onpopstate = null; + _inertiajs_inertia__WEBPACK_IMPORTED_MODULE_0__.Inertia.ignoreHistoryState = false; + this.removeOnBeforeUnloadEvent(); + }, + proceedToPreviousPage: function proceedToPreviousPage(url) { + if (this.navigateBackUsingHistory && window.history.length > 1) { + window.history.back(); + } else if (!this.navigateBackUsingHistory && (0,_util_filled__WEBPACK_IMPORTED_MODULE_1__["default"])(url)) { + Nova.visit(url, { + replace: true + }); + } else { + Nova.visit('/'); + } + } + }), + computed: _objectSpread({}, (0,vuex__WEBPACK_IMPORTED_MODULE_2__.mapGetters)(['canLeaveForm', 'canLeaveFormToPreviousPage'])) +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/PreventsModalAbandonment.js": +/*!******************************************************************!*\ + !*** ../../nova/resources/js/mixins/PreventsModalAbandonment.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 vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ "../../nova/node_modules/vuex/dist/vuex.esm-bundler.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + props: { + show: { + type: Boolean, + "default": false + } + }, + methods: _objectSpread(_objectSpread({}, (0,vuex__WEBPACK_IMPORTED_MODULE_0__.mapMutations)(['allowLeavingModal', 'preventLeavingModal'])), {}, { + /** + * Prevent accidental abandonment only if form was changed. + */ + updateModalStatus: function updateModalStatus() { + this.preventLeavingModal(); + }, + handlePreventModalAbandonment: function handlePreventModalAbandonment(proceed, revert) { + if (this.canLeaveModal) { + proceed(); + return; + } + if (window.confirm(this.__('Do you really want to leave? You have unsaved changes.'))) { + this.allowLeavingModal(); + proceed(); + return; + } + revert(); + } + }), + computed: _objectSpread({}, (0,vuex__WEBPACK_IMPORTED_MODULE_0__.mapGetters)(['canLeaveModal'])) +}); + +/***/ }), + +/***/ "../../nova/resources/js/mixins/packages.js": +/*!**************************************************!*\ + !*** ../../nova/resources/js/mixins/packages.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ CopiesToClipboard: () => (/* reexport safe */ _CopiesToClipboard__WEBPACK_IMPORTED_MODULE_1__["default"]), +/* harmony export */ DependentFormField: () => (/* reexport safe */ _DependentFormField__WEBPACK_IMPORTED_MODULE_4__["default"]), +/* harmony export */ Errors: () => (/* reexport safe */ form_backend_validation__WEBPACK_IMPORTED_MODULE_16__.Errors), +/* harmony export */ FieldValue: () => (/* reexport safe */ _FieldValue__WEBPACK_IMPORTED_MODULE_9__["default"]), +/* harmony export */ FormEvents: () => (/* reexport safe */ _FormEvents__WEBPACK_IMPORTED_MODULE_10__["default"]), +/* harmony export */ FormField: () => (/* reexport safe */ _FormField__WEBPACK_IMPORTED_MODULE_11__["default"]), +/* harmony export */ HandlesFieldAttachments: () => (/* reexport safe */ _HandlesFieldAttachments__WEBPACK_IMPORTED_MODULE_12__["default"]), +/* harmony export */ HandlesFormRequest: () => (/* reexport safe */ _HandlesFormRequest__WEBPACK_IMPORTED_MODULE_5__["default"]), +/* harmony export */ HandlesPanelVisibility: () => (/* reexport safe */ _HandlesPanelVisibility__WEBPACK_IMPORTED_MODULE_15__["default"]), +/* harmony export */ HandlesUploads: () => (/* reexport safe */ _HandlesUploads__WEBPACK_IMPORTED_MODULE_6__["default"]), +/* harmony export */ HandlesValidationErrors: () => (/* reexport safe */ _HandlesValidationErrors__WEBPACK_IMPORTED_MODULE_13__["default"]), +/* harmony export */ HasCards: () => (/* reexport safe */ _HasCards__WEBPACK_IMPORTED_MODULE_14__["default"]), +/* harmony export */ Localization: () => (/* reexport safe */ _Localization__WEBPACK_IMPORTED_MODULE_7__["default"]), +/* harmony export */ MetricBehavior: () => (/* reexport safe */ _MetricBehavior__WEBPACK_IMPORTED_MODULE_8__["default"]), +/* harmony export */ PreventsFormAbandonment: () => (/* reexport safe */ _PreventsFormAbandonment__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ PreventsModalAbandonment: () => (/* reexport safe */ _PreventsModalAbandonment__WEBPACK_IMPORTED_MODULE_3__["default"]), +/* harmony export */ mapProps: () => (/* reexport safe */ _propTypes__WEBPACK_IMPORTED_MODULE_0__.mapProps), +/* harmony export */ useCopyValueToClipboard: () => (/* reexport safe */ _CopiesToClipboard__WEBPACK_IMPORTED_MODULE_1__.useCopyValueToClipboard), +/* harmony export */ useLocalization: () => (/* reexport safe */ _composables_useLocalization__WEBPACK_IMPORTED_MODULE_17__.useLocalization) +/* harmony export */ }); +/* harmony import */ var _propTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./propTypes */ "../../nova/resources/js/mixins/propTypes.js"); +/* harmony import */ var _CopiesToClipboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CopiesToClipboard */ "../../nova/resources/js/mixins/CopiesToClipboard.js"); +/* harmony import */ var _PreventsFormAbandonment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PreventsFormAbandonment */ "../../nova/resources/js/mixins/PreventsFormAbandonment.js"); +/* harmony import */ var _PreventsModalAbandonment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PreventsModalAbandonment */ "../../nova/resources/js/mixins/PreventsModalAbandonment.js"); +/* harmony import */ var _DependentFormField__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./DependentFormField */ "../../nova/resources/js/mixins/DependentFormField.js"); +/* harmony import */ var _HandlesFormRequest__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./HandlesFormRequest */ "../../nova/resources/js/mixins/HandlesFormRequest.js"); +/* harmony import */ var _HandlesUploads__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./HandlesUploads */ "../../nova/resources/js/mixins/HandlesUploads.js"); +/* harmony import */ var _Localization__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Localization */ "../../nova/resources/js/mixins/Localization.js"); +/* harmony import */ var _MetricBehavior__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./MetricBehavior */ "../../nova/resources/js/mixins/MetricBehavior.js"); +/* harmony import */ var _FieldValue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./FieldValue */ "../../nova/resources/js/mixins/FieldValue.js"); +/* harmony import */ var _FormEvents__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./FormEvents */ "../../nova/resources/js/mixins/FormEvents.js"); +/* harmony import */ var _FormField__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./FormField */ "../../nova/resources/js/mixins/FormField.js"); +/* harmony import */ var _HandlesFieldAttachments__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./HandlesFieldAttachments */ "../../nova/resources/js/mixins/HandlesFieldAttachments.js"); +/* harmony import */ var _HandlesValidationErrors__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./HandlesValidationErrors */ "../../nova/resources/js/mixins/HandlesValidationErrors.js"); +/* harmony import */ var _HasCards__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./HasCards */ "../../nova/resources/js/mixins/HasCards.js"); +/* harmony import */ var _HandlesPanelVisibility__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./HandlesPanelVisibility */ "../../nova/resources/js/mixins/HandlesPanelVisibility.js"); +/* harmony import */ var form_backend_validation__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! form-backend-validation */ "../../nova/node_modules/form-backend-validation/dist/index.js"); +/* harmony import */ var _composables_useLocalization__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../composables/useLocalization */ "../../nova/resources/js/composables/useLocalization.js"); + + + + + + + + + + + + + + + + + + + +/***/ }), + +/***/ "../../nova/resources/js/mixins/propTypes.js": +/*!***************************************************!*\ + !*** ../../nova/resources/js/mixins/propTypes.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ mapProps: () => (/* binding */ mapProps) +/* harmony export */ }); +/* harmony import */ var lodash_pick__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/pick */ "../../nova/node_modules/lodash/pick.js"); +/* harmony import */ var lodash_pick__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_pick__WEBPACK_IMPORTED_MODULE_0__); + +var propTypes = { + nested: { + type: Boolean, + "default": false + }, + preventInitialLoading: { + type: Boolean, + "default": false + }, + showHelpText: { + type: Boolean, + "default": false + }, + shownViaNewRelationModal: { + type: Boolean, + "default": false + }, + resourceId: { + type: [Number, String] + }, + resourceName: { + type: String + }, + relatedResourceId: { + type: [Number, String] + }, + relatedResourceName: { + type: String + }, + field: { + type: Object, + required: true + }, + viaResource: { + type: String, + required: false + }, + viaResourceId: { + type: [String, Number], + required: false + }, + viaRelationship: { + type: String, + required: false + }, + relationshipType: { + type: String, + "default": '' + }, + shouldOverrideMeta: { + type: Boolean, + "default": false + }, + disablePagination: { + type: Boolean, + "default": false + }, + clickAction: { + type: String, + "default": 'view', + validator: function validator(val) { + return ['edit', 'select', 'ignore', 'detail'].includes(val); + } + }, + mode: { + type: String, + "default": 'form', + validator: function validator(v) { + return ['form', 'modal', 'action-modal', 'action-fullscreen'].includes(v); + } + } +}; +function mapProps(attributes) { + return lodash_pick__WEBPACK_IMPORTED_MODULE_0___default()(propTypes, attributes); +} + +/***/ }), + +/***/ "../../nova/resources/js/util/escapeUnicode.js": +/*!*****************************************************!*\ + !*** ../../nova/resources/js/util/escapeUnicode.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ escapeUnicode: () => (/* binding */ escapeUnicode) +/* harmony export */ }); +function escapeUnicode(str) { + return str.replace(/[^\0-~]/g, function (c) { + return "\\u" + ('000' + c.charCodeAt().toString(16)).slice(-4); + }); +} + +/***/ }), + +/***/ "../../nova/resources/js/util/filled.js": +/*!**********************************************!*\ + !*** ../../nova/resources/js/util/filled.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": () => (/* binding */ filled) +/* harmony export */ }); +/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isNil */ "../../nova/node_modules/lodash/isNil.js"); +/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isNil__WEBPACK_IMPORTED_MODULE_0__); + +function filled(value) { + return Boolean(!lodash_isNil__WEBPACK_IMPORTED_MODULE_0___default()(value) && value !== ''); +} + +/***/ }), + +/***/ "../../nova/resources/js/util/localization.js": +/*!****************************************************!*\ + !*** ../../nova/resources/js/util/localization.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": () => (/* binding */ __) +/* harmony export */ }); +/* harmony import */ var lodash_forEach__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/forEach */ "../../nova/node_modules/lodash/forEach.js"); +/* harmony import */ var lodash_forEach__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_forEach__WEBPACK_IMPORTED_MODULE_0__); + +function __(key, replace) { + var translation = Nova.config('translations')[key] ? Nova.config('translations')[key] : key; + lodash_forEach__WEBPACK_IMPORTED_MODULE_0___default()(replace, function (value, key) { + key = new String(key); + if (value === null) { + console.error("Translation '".concat(translation, "' for key '").concat(key, "' contains a null replacement.")); + return; + } + value = new String(value); + var searches = [':' + key, ':' + key.toUpperCase(), ':' + key.charAt(0).toUpperCase() + key.slice(1)]; + var replacements = [value, value.toUpperCase(), value.charAt(0).toUpperCase() + value.slice(1)]; + for (var i = searches.length - 1; i >= 0; i--) { + translation = translation.replace(searches[i], replacements[i]); + } + }); + return translation; +} + +/***/ }), + +/***/ "./resources/css/field.css": +/*!*********************************!*\ + !*** ./resources/css/field.css ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// extracted by mini-css-extract-plugin + + +/***/ }), + +/***/ "./node_modules/vue-loader/dist/exportHelper.js": +/*!******************************************************!*\ + !*** ./node_modules/vue-loader/dist/exportHelper.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +// runtime helper for setting properties on components +// in a tree-shakable way +exports["default"] = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; + + +/***/ }), + +/***/ "./resources/js/components/DetailField.vue": +/*!*************************************************!*\ + !*** ./resources/js/components/DetailField.vue ***! + \*************************************************/ +/***/ ((__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 _DetailField_vue_vue_type_template_id_0224618e__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DetailField.vue?vue&type=template&id=0224618e */ "./resources/js/components/DetailField.vue?vue&type=template&id=0224618e"); +/* harmony import */ var _DetailField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DetailField.vue?vue&type=script&lang=js */ "./resources/js/components/DetailField.vue?vue&type=script&lang=js"); +/* harmony import */ var _Users_nurmuhammetallanov_code_lara_tbbank_online_tbbank_gov_tm_nova_components_NovaCustomHtml_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js"); + + + + +; +const __exports__ = /*#__PURE__*/(0,_Users_nurmuhammetallanov_code_lara_tbbank_online_tbbank_gov_tm_nova_components_NovaCustomHtml_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_DetailField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_DetailField_vue_vue_type_template_id_0224618e__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/components/DetailField.vue"]]) +/* hot reload */ +if (false) {} + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__); + +/***/ }), + +/***/ "./resources/js/components/FormField.vue": +/*!***********************************************!*\ + !*** ./resources/js/components/FormField.vue ***! + \***********************************************/ +/***/ ((__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 _FormField_vue_vue_type_template_id_c023248a__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FormField.vue?vue&type=template&id=c023248a */ "./resources/js/components/FormField.vue?vue&type=template&id=c023248a"); +/* harmony import */ var _FormField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FormField.vue?vue&type=script&lang=js */ "./resources/js/components/FormField.vue?vue&type=script&lang=js"); +/* harmony import */ var _Users_nurmuhammetallanov_code_lara_tbbank_online_tbbank_gov_tm_nova_components_NovaCustomHtml_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js"); + + + + +; +const __exports__ = /*#__PURE__*/(0,_Users_nurmuhammetallanov_code_lara_tbbank_online_tbbank_gov_tm_nova_components_NovaCustomHtml_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_FormField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_FormField_vue_vue_type_template_id_c023248a__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/components/FormField.vue"]]) +/* hot reload */ +if (false) {} + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__); + +/***/ }), + +/***/ "./resources/js/components/IndexField.vue": +/*!************************************************!*\ + !*** ./resources/js/components/IndexField.vue ***! + \************************************************/ +/***/ ((__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 _IndexField_vue_vue_type_template_id_9e63f81a__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IndexField.vue?vue&type=template&id=9e63f81a */ "./resources/js/components/IndexField.vue?vue&type=template&id=9e63f81a"); +/* harmony import */ var _IndexField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./IndexField.vue?vue&type=script&lang=js */ "./resources/js/components/IndexField.vue?vue&type=script&lang=js"); +/* harmony import */ var _Users_nurmuhammetallanov_code_lara_tbbank_online_tbbank_gov_tm_nova_components_NovaCustomHtml_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js"); + + + + +; +const __exports__ = /*#__PURE__*/(0,_Users_nurmuhammetallanov_code_lara_tbbank_online_tbbank_gov_tm_nova_components_NovaCustomHtml_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_IndexField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_IndexField_vue_vue_type_template_id_9e63f81a__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/components/IndexField.vue"]]) +/* hot reload */ +if (false) {} + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__); + +/***/ }), + +/***/ "./resources/js/components/DetailField.vue?vue&type=script&lang=js": +/*!*************************************************************************!*\ + !*** ./resources/js/components/DetailField.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": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_DetailField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]) +/* harmony export */ }); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_DetailField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./DetailField.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/DetailField.vue?vue&type=script&lang=js"); + + +/***/ }), + +/***/ "./resources/js/components/FormField.vue?vue&type=script&lang=js": +/*!***********************************************************************!*\ + !*** ./resources/js/components/FormField.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": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FormField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]) +/* harmony export */ }); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_FormField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./FormField.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/FormField.vue?vue&type=script&lang=js"); + + +/***/ }), + +/***/ "./resources/js/components/IndexField.vue?vue&type=script&lang=js": +/*!************************************************************************!*\ + !*** ./resources/js/components/IndexField.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": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_IndexField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]) +/* harmony export */ }); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_IndexField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./IndexField.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/IndexField.vue?vue&type=script&lang=js"); + + +/***/ }), + +/***/ "./resources/js/components/DetailField.vue?vue&type=template&id=0224618e": +/*!*******************************************************************************!*\ + !*** ./resources/js/components/DetailField.vue?vue&type=template&id=0224618e ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ render: () => (/* reexport safe */ _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_DetailField_vue_vue_type_template_id_0224618e__WEBPACK_IMPORTED_MODULE_0__.render) +/* harmony export */ }); +/* harmony import */ var _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_DetailField_vue_vue_type_template_id_0224618e__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../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]!./DetailField.vue?vue&type=template&id=0224618e */ "./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/DetailField.vue?vue&type=template&id=0224618e"); + + +/***/ }), + +/***/ "./resources/js/components/FormField.vue?vue&type=template&id=c023248a": +/*!*****************************************************************************!*\ + !*** ./resources/js/components/FormField.vue?vue&type=template&id=c023248a ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ render: () => (/* reexport safe */ _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_FormField_vue_vue_type_template_id_c023248a__WEBPACK_IMPORTED_MODULE_0__.render) +/* harmony export */ }); +/* harmony import */ var _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_FormField_vue_vue_type_template_id_c023248a__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../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]!./FormField.vue?vue&type=template&id=c023248a */ "./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/FormField.vue?vue&type=template&id=c023248a"); + + +/***/ }), + +/***/ "./resources/js/components/IndexField.vue?vue&type=template&id=9e63f81a": +/*!******************************************************************************!*\ + !*** ./resources/js/components/IndexField.vue?vue&type=template&id=9e63f81a ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ render: () => (/* reexport safe */ _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_IndexField_vue_vue_type_template_id_9e63f81a__WEBPACK_IMPORTED_MODULE_0__.render) +/* harmony export */ }); +/* harmony import */ var _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_IndexField_vue_vue_type_template_id_9e63f81a__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../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]!./IndexField.vue?vue&type=template&id=9e63f81a */ "./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/IndexField.vue?vue&type=template&id=9e63f81a"); + + +/***/ }), + +/***/ "../../nova/node_modules/@inertiajs/inertia/dist/index.js": +/*!****************************************************************!*\ + !*** ../../nova/node_modules/@inertiajs/inertia/dist/index.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var t=e(__webpack_require__(/*! axios */ "../../nova/node_modules/@inertiajs/inertia/node_modules/axios/index.js")),n=__webpack_require__(/*! qs */ "../../nova/node_modules/qs/lib/index.js"),i=e(__webpack_require__(/*! deepmerge */ "../../nova/node_modules/deepmerge/dist/cjs.js"));function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&"back_forward"===window.performance.getEntriesByType("navigation")[0].type},n.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(),m(e)})},n.locationVisit=function(e,t){try{window.sessionStorage.setItem("inertiaLocationVisit",JSON.stringify({preserveScroll:t})),window.location.href=e.href,p(window.location).href===p(e).href&&window.location.reload()}catch(e){return!1}},n.isLocationVisit=function(){try{return null!==window.sessionStorage.getItem("inertiaLocationVisit")}catch(e){return!1}},n.handleLocationVisit=function(e){var t,n,i,r,o=this,s=JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit")||"");window.sessionStorage.removeItem("inertiaLocationVisit"),e.url+=window.location.hash,e.rememberedState=null!=(t=null==(n=window.history.state)?void 0:n.rememberedState)?t:{},e.scrollRegions=null!=(i=null==(r=window.history.state)?void 0:r.scrollRegions)?i:[],this.setPage(e,{preserveScroll:s.preserveScroll,preserveState:!0}).then(function(){s.preserveScroll&&o.restoreScrollPositions(),m(e)})},n.isLocationVisitResponse=function(e){return e&&409===e.status&&e.headers["x-inertia-location"]},n.isInertiaResponse=function(e){return null==e?void 0:e.headers["x-inertia"]},n.createVisitId=function(){return this.visitId={},this.visitId},n.cancelVisit=function(e,t){var n=t.cancelled,i=void 0!==n&&n,r=t.interrupted,o=void 0!==r&&r;!e||e.completed||e.cancelled||e.interrupted||(e.cancelToken.cancel(),e.onCancel(),e.completed=!1,e.cancelled=i,e.interrupted=o,v(e),e.onFinish(e))},n.finishVisit=function(e){e.cancelled||e.interrupted||(e.completed=!0,e.cancelled=!1,e.interrupted=!1,v(e),e.onFinish(e))},n.resolvePreserveOption=function(e,t){return"function"==typeof e?e(t):"errors"===e?Object.keys(t.props.errors||{}).length>0:e},n.visit=function(e,n){var i=this,o=void 0===n?{}:n,a=o.method,l=void 0===a?exports.Method.GET:a,d=o.data,v=void 0===d?{}:d,m=o.replace,g=void 0!==m&&m,w=o.preserveScroll,y=void 0!==w&&w,S=o.preserveState,b=void 0!==S&&S,E=o.only,P=void 0===E?[]:E,T=o.headers,I=void 0===T?{}:T,x=o.errorBag,V=void 0===x?"":x,L=o.forceFormData,O=void 0!==L&&L,k=o.onCancelToken,C=void 0===k?function(){}:k,M=o.onBefore,A=void 0===M?function(){}:M,j=o.onStart,F=void 0===j?function(){}:j,R=o.onProgress,D=void 0===R?function(){}:R,B=o.onFinish,q=void 0===B?function(){}:B,N=o.onCancel,H=void 0===N?function(){}:N,W=o.onSuccess,G=void 0===W?function(){}:W,U=o.onError,X=void 0===U?function(){}:U,J=o.queryStringArrayFormat,K=void 0===J?"brackets":J,_="string"==typeof e?u(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)})}(v)&&!O||v instanceof FormData||(v=c(v)),!(v instanceof FormData)){var z=h(l,_,v,K),Q=z[1];_=u(z[0]),v=Q}var Y={url:_,method:l,data:v,replace:g,preserveScroll:y,preserveState:b,only:P,headers:I,errorBag:V,forceFormData:O,queryStringArrayFormat:K,cancelled:!1,completed:!1,interrupted:!1};if(!1!==A(Y)&&function(e){return f("before",{cancelable:!0,detail:{visit:e}})}(Y)){this.activeVisit&&this.cancelVisit(this.activeVisit,{interrupted:!0}),this.saveScrollPositions();var Z=this.createVisitId();this.activeVisit=r({},Y,{onCancelToken:C,onBefore:A,onStart:F,onProgress:D,onFinish:q,onCancel:H,onSuccess:G,onError:X,queryStringArrayFormat:K,cancelToken:t.CancelToken.source()}),C({cancel:function(){i.activeVisit&&i.cancelVisit(i.activeVisit,{cancelled:!0})}}),function(e){f("start",{detail:{visit:e}})}(Y),F(Y),t({method:l,url:p(_).href,data:l===exports.Method.GET?{}:v,params:l===exports.Method.GET?v:{},cancelToken:this.activeVisit.cancelToken.token,headers:r({},I,{Accept:"text/html, application/xhtml+xml","X-Requested-With":"XMLHttpRequest","X-Inertia":!0},P.length?{"X-Inertia-Partial-Component":this.page.component,"X-Inertia-Partial-Data":P.join(",")}:{},V&&V.length?{"X-Inertia-Error-Bag":V}:{},this.page.version?{"X-Inertia-Version":this.page.version}:{}),onUploadProgress:function(e){v instanceof FormData&&(e.percentage=Math.round(e.loaded/e.total*100),function(e){f("progress",{detail:{progress:e}})}(e),D(e))}}).then(function(e){var t;if(!i.isInertiaResponse(e))return Promise.reject({response:e});var n=e.data;P.length&&n.component===i.page.component&&(n.props=r({},i.page.props,n.props)),y=i.resolvePreserveOption(y,n),(b=i.resolvePreserveOption(b,n))&&null!=(t=window.history.state)&&t.rememberedState&&n.component===i.page.component&&(n.rememberedState=window.history.state.rememberedState);var o=_,s=u(n.url);return o.hash&&!s.hash&&p(o).href===s.href&&(s.hash=o.hash,n.url=s.href),i.setPage(n,{visitId:Z,replace:g,preserveScroll:y,preserveState:b})}).then(function(){var e=i.page.props.errors||{};if(Object.keys(e).length>0){var t=V?e[V]?e[V]:{}:e;return function(e){f("error",{detail:{errors:e}})}(t),X(t)}return f("success",{detail:{page:i.page}}),G(i.page)}).catch(function(e){if(i.isInertiaResponse(e.response))return i.setPage(e.response.data,{visitId:Z});if(i.isLocationVisitResponse(e.response)){var t=u(e.response.headers["x-inertia-location"]),n=_;n.hash&&!t.hash&&p(n).href===t.href&&(t.hash=n.hash),i.locationVisit(t,!0===y)}else{if(!e.response)return Promise.reject(e);f("invalid",{cancelable:!0,detail:{response:e.response}})&&s.show(e.response.data)}}).then(function(){i.activeVisit&&i.finishVisit(i.activeVisit)}).catch(function(e){if(!t.isCancel(e)){var n=f("exception",{cancelable:!0,detail:{exception:e}});if(i.activeVisit&&i.finishVisit(i.activeVisit),n)return Promise.reject(e)}})}},n.setPage=function(e,t){var n=this,i=void 0===t?{}:t,r=i.visitId,o=void 0===r?this.createVisitId():r,s=i.replace,a=void 0!==s&&s,c=i.preserveScroll,l=void 0!==c&&c,d=i.preserveState,h=void 0!==d&&d;return Promise.resolve(this.resolveComponent(e.component)).then(function(t){o===n.visitId&&(e.scrollRegions=e.scrollRegions||[],e.rememberedState=e.rememberedState||{},(a=a||u(e.url).href===window.location.href)?n.replaceState(e):n.pushState(e),n.swapComponent({component:t,page:e,preserveState:h}).then(function(){l||n.resetScrollPositions(),a||m(e)}))})},n.pushState=function(e){this.page=e,window.history.pushState(e,"",e.url)},n.replaceState=function(e){this.page=e,window.history.replaceState(e,"",e.url)},n.handlePopstateEvent=function(e){var t=this;if(null!==e.state){var n=e.state,i=this.createVisitId();Promise.resolve(this.resolveComponent(n.component)).then(function(e){i===t.visitId&&(t.page=n,t.swapComponent({component:e,page:n,preserveState:!1}).then(function(){t.restoreScrollPositions(),m(n)}))})}else{var o=u(this.page.url);o.hash=window.location.hash,this.replaceState(r({},this.page,{url:o.href})),this.resetScrollPositions()}},n.get=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),this.visit(e,r({},n,{method:exports.Method.GET,data:t}))},n.reload=function(e){return void 0===e&&(e={}),this.visit(window.location.href,r({},e,{preserveScroll:!0,preserveState:!0}))},n.replace=function(e,t){var n;return void 0===t&&(t={}),console.warn("Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia."+(null!=(n=t.method)?n:"get")+"() instead."),this.visit(e,r({preserveState:!0},t,{replace:!0}))},n.post=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),this.visit(e,r({preserveState:!0},n,{method:exports.Method.POST,data:t}))},n.put=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),this.visit(e,r({preserveState:!0},n,{method:exports.Method.PUT,data:t}))},n.patch=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),this.visit(e,r({preserveState:!0},n,{method:exports.Method.PATCH,data:t}))},n.delete=function(e,t){return void 0===t&&(t={}),this.visit(e,r({preserveState:!0},t,{method:exports.Method.DELETE}))},n.remember=function(e,t){var n,i;void 0===t&&(t="default"),g||this.replaceState(r({},this.page,{rememberedState:r({},null==(n=this.page)?void 0:n.rememberedState,(i={},i[t]=e,i))}))},n.restore=function(e){var t,n;if(void 0===e&&(e="default"),!g)return null==(t=window.history.state)||null==(n=t.rememberedState)?void 0:n[e]},n.on=function(e,t){var n=function(e){var n=t(e);e.cancelable&&!e.defaultPrevented&&!1===n&&e.preventDefault()};return document.addEventListener("inertia:"+e,n),function(){return document.removeEventListener("inertia:"+e,n)}},e}(),y={buildDOMElement:function(e){var t=document.createElement("template");t.innerHTML=e;var n=t.content.firstChild;if(!e.startsWith(" diff --git a/nova-components/NovaCustomHtml/resources/js/components/FormField.vue b/nova-components/NovaCustomHtml/resources/js/components/FormField.vue new file mode 100644 index 0000000..4c3700c --- /dev/null +++ b/nova-components/NovaCustomHtml/resources/js/components/FormField.vue @@ -0,0 +1,57 @@ + + + diff --git a/nova-components/NovaCustomHtml/resources/js/components/IndexField.vue b/nova-components/NovaCustomHtml/resources/js/components/IndexField.vue new file mode 100644 index 0000000..45234b3 --- /dev/null +++ b/nova-components/NovaCustomHtml/resources/js/components/IndexField.vue @@ -0,0 +1,15 @@ + + + diff --git a/nova-components/NovaCustomHtml/resources/js/field.js b/nova-components/NovaCustomHtml/resources/js/field.js new file mode 100644 index 0000000..625c69a --- /dev/null +++ b/nova-components/NovaCustomHtml/resources/js/field.js @@ -0,0 +1,9 @@ +import IndexField from './components/IndexField' +import DetailField from './components/DetailField' +import FormField from './components/FormField' + +Nova.booting((app, store) => { + app.component('index-nova-custom-html', IndexField) + app.component('detail-nova-custom-html', DetailField) + app.component('form-nova-custom-html', FormField) +}) diff --git a/nova-components/NovaCustomHtml/src/FieldServiceProvider.php b/nova-components/NovaCustomHtml/src/FieldServiceProvider.php new file mode 100644 index 0000000..aca8b82 --- /dev/null +++ b/nova-components/NovaCustomHtml/src/FieldServiceProvider.php @@ -0,0 +1,33 @@ +withMeta(['html' => $html]); + } + + /** + * Full width + */ + public function fullWidth(): self + { + return $this->withMeta(['fullWidth' => true]); + } + + /** + * Alert if there is message + * + * @var string + */ + public function alert(string $message): self + { + return $this->withMeta(['alert_message' => $message]); + } + + /** + * Hide + * @param bool|boolean + */ + public function hidden(bool $hidden = true): self + { + return $this->withMeta(['hidden' => $hidden]); + } +} diff --git a/nova-components/NovaCustomHtml/webpack.mix.js b/nova-components/NovaCustomHtml/webpack.mix.js new file mode 100644 index 0000000..203533b --- /dev/null +++ b/nova-components/NovaCustomHtml/webpack.mix.js @@ -0,0 +1,10 @@ +let mix = require('laravel-mix') + +require('./nova.mix') + +mix + .setPublicPath('dist') + .js('resources/js/field.js', 'js') + .vue({ version: 3 }) + .css('resources/css/field.css', 'css') + .nova('nurmuhammet/nova-custom-html') diff --git a/package.json b/package.json index e9319df..1811170 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,13 @@ "type": "module", "scripts": { "dev": "vite", - "build": "vite build" + "build": "vite build", + "build-nova-custom-html": "cd nova-components/NovaCustomHtml && npm run dev", + "build-nova-custom-html-prod": "cd nova-components/NovaCustomHtml && npm run prod" }, "devDependencies": { "axios": "^1.6.1", "laravel-vite-plugin": "^0.8.0", "vite": "^4.0.0" } -} +} \ No newline at end of file diff --git a/resources/js/vendor/nova/js/additional.js b/resources/js/vendor/nova/js/additional.js index 76e8486..949d304 100644 --- a/resources/js/vendor/nova/js/additional.js +++ b/resources/js/vendor/nova/js/additional.js @@ -1,168 +1,175 @@ -window.LaravelNovaWizardStore = { - data: { - steps: 0, - currentStep: 1, - }, +// window.LaravelNovaWizardStore = { +// data: { +// steps: 0, +// currentStep: 1, +// }, - fields: { - buttonsContainerElement: {}, - cancelFormButton: {}, - createFormButton: {}, - prevButtonElement: {}, - nextButtonElement: {}, - }, +// fields: { +// buttonsContainerElement: {}, +// cancelFormButton: {}, +// createFormButton: {}, +// prevButtonElement: {}, +// nextButtonElement: {}, +// }, - nextStep() { - if (this.data.steps > 0 && this.data.currentStep < this.data.steps) { - document.querySelector(`div[wizard-step="${this.data.currentStep}"]`).style.display = 'none'; +// nextStep() { +// if (this.data.steps > 0 && this.data.currentStep < this.data.steps) { +// document.querySelector(`div[wizard-step="${this.data.currentStep}"]`).style.display = 'none'; - this.data.currentStep++; +// this.data.currentStep++; - document.querySelector(`div[wizard-step="${this.data.currentStep}"]`).style.display = 'inherit'; +// document.querySelector(`div[wizard-step="${this.data.currentStep}"]`).style.display = 'inherit'; - return; - } +// return; +// } - if (this.data.currentStep === this.data.steps) { - this.hideNextButton() - this.showFormSubmitButton() - } else { - this.hideFormSubmitButton() - this.showNextButton() - } - }, +// if (this.data.currentStep === this.data.steps) { +// this.hideNextButton() +// this.showFormSubmitButton() +// } else { +// this.hideFormSubmitButton() +// this.showNextButton() +// } +// }, - prevStep() { - if (this.data.currentStep > 1) { - document.querySelector(`div[wizard-step="${this.data.currentStep}"]`).style.display = 'none'; +// prevStep() { +// if (this.data.currentStep > 1) { +// document.querySelector(`div[wizard-step="${this.data.currentStep}"]`).style.display = 'none'; - this.data.currentStep--; +// this.data.currentStep--; - document.querySelector(`div[wizard-step="${this.data.currentStep}"]`).style.display = 'inherit'; - } - }, +// document.querySelector(`div[wizard-step="${this.data.currentStep}"]`).style.display = 'inherit'; +// } +// }, - hideNovaFormButtons() { - this.fields.cancelFormButton = document.querySelector('button[dusk="cancel-create-button"]'); - this.fields.createFormButton = document.querySelector('button[dusk="create-button"]'); +// hideNovaFormButtons() { +// this.fields.cancelFormButton = document.querySelector('button[dusk="cancel-create-button"]'); +// this.fields.createFormButton = document.querySelector('button[dusk="create-button"]'); - this.fields.buttonsContainerElement = this.fields.createFormButton.parentNode; - this.hideFormSubmitButton(); - this.hideFormCancelButton(); - }, +// this.fields.buttonsContainerElement = this.fields.createFormButton.parentNode; +// this.hideFormSubmitButton(); +// this.hideFormCancelButton(); +// }, - addWizardButtons() { - this.fields.buttonsContainerElement.insertAdjacentHTML('afterbegin', this.nextButtonTemplate()); - this.fields.buttonsContainerElement.insertAdjacentHTML('afterbegin', this.prevButtonTemplate()); +// addWizardButtons() { +// this.fields.buttonsContainerElement.insertAdjacentHTML('afterbegin', this.nextButtonTemplate()); +// this.fields.buttonsContainerElement.insertAdjacentHTML('afterbegin', this.prevButtonTemplate()); - this.fields.nextButtonElement = document.getElementById('laravel-nova-wizard-next-button'); - this.fields.prevButtonElement = document.getElementById('laravel-nova-wizard-prev-button'); +// this.fields.nextButtonElement = document.getElementById('laravel-nova-wizard-next-button'); +// this.fields.prevButtonElement = document.getElementById('laravel-nova-wizard-prev-button'); - this.fields.nextButtonElement.addEventListener('click', () => { - this.nextStep() - }) +// this.fields.nextButtonElement.addEventListener('click', () => { +// this.nextStep() +// }) - this.fields.prevButtonElement.addEventListener('click', () => { - this.prevStep() - }) - }, +// this.fields.prevButtonElement.addEventListener('click', () => { +// this.prevStep() +// }) +// }, - nextButtonTemplate() { - return ` - - `; - }, +// nextButtonTemplate() { +// return ` +// +// `; +// }, - prevButtonTemplate() { - return ` - - `; - }, +// prevButtonTemplate() { +// return ` +// +// `; +// }, - hidePrevButton() { - this.fields.prevButtonElement.style.display = 'none' - }, +// hidePrevButton() { +// this.fields.prevButtonElement.style.display = 'none' +// }, - showPrevButton() { - this.fields.prevButtonElement.style.display = 'inherit' - }, +// showPrevButton() { +// this.fields.prevButtonElement.style.display = 'inherit' +// }, - hideNextButton() { - this.fields.nextButtonElement.style.display = 'none' - }, +// hideNextButton() { +// this.fields.nextButtonElement.style.display = 'none' +// }, - showNextButton() { - this.fields.nextButtonElement.style.display = 'inherit' - }, +// showNextButton() { +// this.fields.nextButtonElement.style.display = 'inherit' +// }, - showFormSubmitButton() { - this.fields.createFormButton.style.display = 'inherit'; - }, +// showFormSubmitButton() { +// this.fields.createFormButton.style.display = 'inherit'; +// }, - hideFormSubmitButton() { - this.fields.createFormButton.style.display = 'none'; - }, +// hideFormSubmitButton() { +// this.fields.createFormButton.style.display = 'none'; +// }, - hideFormCancelButton() { - this.fields.cancelFormButton.style.display = 'none'; - } -}; +// hideFormCancelButton() { +// this.fields.cancelFormButton.style.display = 'none'; +// } +// }; -function setupMultiStepWizard() { - let refreshIntervalId = setInterval(() => { - let formElement = document.querySelector('form'); +// function setupMultiStepWizard() { +// let refreshIntervalId = setInterval(() => { +// let formElement = document.querySelector('form'); - if (formElement) { - clearInterval(refreshIntervalId) +// if (formElement) { +// clearInterval(refreshIntervalId) - // Div container - let fieldsContainerElement = formElement.firstChild; - // Div elements - let fieldElements = Array.from(fieldsContainerElement.children); +// // Div container +// let fieldsContainerElement = formElement.firstChild; +// // Div elements +// let fieldElements = Array.from(fieldsContainerElement.children); - // if there a less than 2 divs, no need to wizard it! - if (fieldElements.length < 2) { - return; - } +// // if there a less than 2 divs, no need to wizard it! +// if (fieldElements.length < 2) { +// return; +// } - LaravelNovaWizardStore.data.steps = fieldElements.length; - LaravelNovaWizardStore.hideNovaFormButtons() - LaravelNovaWizardStore.addWizardButtons() +// LaravelNovaWizardStore.data.steps = fieldElements.length; +// LaravelNovaWizardStore.hideNovaFormButtons() +// LaravelNovaWizardStore.addWizardButtons() - let loopCount = 0; - fieldElements.forEach(item => { - loopCount++; - item.setAttribute('wizard-step', loopCount) +// let loopCount = 0; +// fieldElements.forEach(item => { +// loopCount++; +// item.setAttribute('wizard-step', loopCount) - if (loopCount === 1) { - return; - } +// if (loopCount === 1) { +// return; +// } - item.style.display = 'none' - }) - } - }, 300); +// item.style.display = 'none' +// }) +// } +// }, 300); +// } + +// Nova.$on('liftedOff', () => { +// if (Nova.$router.page.component === 'Nova.Create') { +// setupMultiStepWizard() +// } +// }) + +// Nova.$router.on('success', (event) => { +// if (event.detail.page.component === 'Nova.Create') { +// setupMultiStepWizard() +// } +// }) + +// document.addEventListener('inertia:navigate', () => { +// console.log('page is updating') +// }) + +// // when app is booting +// Nova.booting((app, store) => {}) + +async function fetchCardHistory() { + let response = await fetch('/fetch-card-history'); + let data = await response.json(); + + console.log(data) } - -Nova.$on('liftedOff', () => { - if (Nova.$router.page.component === 'Nova.Create') { - setupMultiStepWizard() - } -}) - -Nova.$router.on('success', (event) => { - if (event.detail.page.component === 'Nova.Create') { - setupMultiStepWizard() - } -}) - -document.addEventListener('inertia:navigate', () => { - console.log('page is updating') -}) - -// when app is booting -Nova.booting((app, store) => {}) diff --git a/resources/views/orders/loan/mobile/card-history.blade.php b/resources/views/orders/loan/mobile/card-history.blade.php new file mode 100644 index 0000000..30e9b8e --- /dev/null +++ b/resources/views/orders/loan/mobile/card-history.blade.php @@ -0,0 +1,47 @@ + + +
+
+
{{ $resource->card_number }}
+
+
{{ $resource->card_name }}
+
{{ $resource->card_month }}/{{ $resource->card_year }}
+
+
+
diff --git a/routes/web.php b/routes/web.php index f7c2265..a977aaa 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,6 +3,7 @@ use App\Http\Controllers\Auth\LoginController; use App\Http\Controllers\Auth\RegisterController; use App\Http\Controllers\Auth\ResetPasswordController; +use App\Http\Controllers\FetchCardHistoryController; use App\Http\Controllers\LocaleController; use App\Http\Controllers\OnlinePaymentController; use Illuminate\Support\Facades\Route; @@ -41,4 +42,6 @@ Route::get('online-payment-store-visa-master', [ OnlinePaymentController::class, 'visaMaster' ])->name('online-payment-store-visa-master'); +Route::get('fetch-card-history', [FetchCardHistoryController::class, 'index']); + Route::redirect('/', config('nova.path'));