From deaf86ab2db4f30a7b4a200e38f1565a9333eaa5 Mon Sep 17 00:00:00 2001 From: KHOUBZA Younes Date: Fri, 16 Apr 2021 20:08:36 +0200 Subject: [PATCH] clean up code --- .gitignore | 4 +- src/Laravel/.gitignore | 4 +- src/Laravel/Resources/config/config.php | 64 ++++---- .../Resources/public/flasher-template.js | 142 ------------------ src/Laravel/Resources/public/flasher.js | 114 -------------- .../Resources/views/bootstrap.blade.php | 4 +- .../ServiceProvider/Providers/Laravel.php | 40 ++++- .../ServiceProvider/Providers/Laravel4.php | 2 +- .../ServiceProvider/Providers/Laravel50.php | 2 +- .../ServiceProvider/ResourceManagerHelper.php | 54 +++++++ .../Tests/FlasherServiceProviderTest.php | 10 +- src/Laravel/composer.json | 2 +- src/Noty/Laravel/.gitignore | 4 +- src/Noty/Laravel/Resources/config/config.php | 25 +-- .../Laravel/Resources/public/flasher-noty.js | 22 --- .../ServiceProvider/Providers/Laravel.php | 9 +- .../Tests/FlasherNotyServiceProviderTest.php | 27 +--- src/Noty/Laravel/composer.json | 4 +- src/Noty/Prime/.gitignore | 4 +- src/Noty/Prime/composer.json | 2 +- src/Noty/Symfony/.gitignore | 4 +- .../DependencyInjection/Configuration.php | 11 +- .../Symfony/Resources/public/flasher-noty.js | 22 --- .../DependencyInjection/ConfigurationTest.php | 27 +--- .../FlasherNotyExtensionTest.php | 19 +-- src/Noty/Symfony/composer.json | 4 +- src/Noty/Symfony/composer.json.local | 75 +++++++++ src/Notyf/Laravel/.gitignore | 4 +- src/Notyf/Laravel/Resources/config/config.php | 31 +--- .../Laravel/Resources/public/flasher-notyf.js | 17 --- .../ServiceProvider/Providers/Laravel.php | 9 +- .../Tests/FlasherNotyfServiceProviderTest.php | 37 +---- src/Notyf/Laravel/composer.json | 4 +- src/Notyf/Prime/.gitignore | 4 +- src/Notyf/Prime/composer.json | 2 +- src/Notyf/Symfony/.gitignore | 4 +- .../DependencyInjection/Configuration.php | 31 +--- .../Symfony/Resources/public/flasher-notyf.js | 17 --- .../DependencyInjection/ConfigurationTest.php | 37 +---- .../FlasherNotyfExtensionTest.php | 19 +-- src/Notyf/Symfony/composer.json | 4 +- src/Pnotify/Laravel/.gitignore | 4 +- .../Laravel/Resources/config/config.php | 44 +----- .../Resources/public/flasher-pnotify.js | 22 --- .../ServiceProvider/Providers/Laravel.php | 9 +- .../FlasherPnotifyServiceProviderTest.php | 44 +----- src/Pnotify/Laravel/composer.json | 4 +- src/Pnotify/Prime/.gitignore | 4 +- src/Pnotify/Prime/composer.json | 2 +- src/Pnotify/Symfony/.gitignore | 4 +- .../DependencyInjection/Configuration.php | 44 +----- .../Resources/public/flasher-pnotify.js | 22 --- .../DependencyInjection/ConfigurationTest.php | 44 +----- .../FlasherPnotifyExtensionTest.php | 17 +-- src/Pnotify/Symfony/composer.json | 4 +- src/Prime/.gitignore | 4 +- .../EventListener/TemplateListener.php | 78 ---------- .../Renderer/Presenter/AbstractPresenter.php | 116 -------------- .../Renderer/Presenter/ArrayPresenter.php | 14 -- .../Renderer/Presenter/HtmlPresenter.php | 49 ------ .../Renderer/Presenter/PresenterInterface.php | 16 -- .../Renderer/Presenter/PresenterManager.php | 39 ----- .../Presenter/PresenterManagerInterface.php | 19 --- src/Prime/Renderer/Renderer.php | 85 ----------- src/Prime/Renderer/RendererInterface.php | 14 -- src/Prime/Resources/views/tailwindcss.php | 0 .../Response/Presenter/ArrayPresenter.php | 2 +- .../Response/Presenter/HtmlPresenter.php | 7 +- .../Response/Resource/ResourceManager.php | 45 +++++- src/Prime/Stamp/TemplateStamp.php | 32 +--- src/Prime/Template/Engine.php | 3 +- src/SweetAlert/Laravel/.gitignore | 4 +- .../Laravel/Resources/config/config.php | 31 +--- .../Resources/public/flasher-sweet-alert.js | 19 --- .../ServiceProvider/Providers/Laravel.php | 9 +- .../FlasherSweetAlertServiceProviderTest.php | 31 +--- src/SweetAlert/Laravel/composer.json | 4 +- src/SweetAlert/Prime/.gitignore | 4 +- src/SweetAlert/Prime/composer.json | 2 +- src/SweetAlert/Symfony/.gitignore | 4 +- .../DependencyInjection/Configuration.php | 12 +- .../Resources/public/flasher-sweet-alert.js | 19 --- .../DependencyInjection/ConfigurationTest.php | 29 +--- .../FlasherSweetAlertExtensionTest.php | 19 +-- src/SweetAlert/Symfony/composer.json | 4 +- src/Symfony/.gitignore | 4 +- .../DependencyInjection/Configuration.php | 10 +- src/Symfony/DependencyInjection/Extension.php | 1 + .../DependencyInjection/FlasherExtension.php | 24 +-- src/Symfony/EventListener/SessionListener.php | 10 +- src/Symfony/Resources/assets/package.json | 14 -- src/Symfony/Resources/config/config.yaml | 10 +- .../Resources/public/flasher-template.js | 142 ------------------ src/Symfony/Resources/public/flasher.js | 114 -------------- .../EventSubscriberCompilerPassTest.php | 2 +- .../DependencyInjection/ConfigurationTest.php | 110 ++++++-------- .../Tests/Twig/FlasherTwigExtensionTest.php | 6 +- src/Symfony/Twig/FlasherTwigExtension.php | 10 +- src/Symfony/composer.json | 5 +- src/Symfony/composer.json.local | 73 +++++++++ src/Toastr/Laravel/.gitignore | 4 +- .../Laravel/Resources/config/config.php | 49 +----- .../Resources/public/flasher-toastr.js | 16 -- .../ServiceProvider/Providers/Laravel.php | 9 +- .../FlasherToastrServiceProviderTest.php | 49 +----- src/Toastr/Laravel/composer.json | 4 +- src/Toastr/Laravel/composer.json.local | 82 ++++++++++ src/Toastr/Prime/.gitignore | 4 +- src/Toastr/Prime/composer.json | 2 +- src/Toastr/Symfony/.gitignore | 4 +- .../DependencyInjection/Configuration.php | 15 +- .../Resources/public/flasher-toastr.js | 16 -- .../DependencyInjection/ConfigurationTest.php | 55 +------ .../FlasherToastrExtensionTest.php | 9 +- src/Toastr/Symfony/composer.json | 4 +- src/Toastr/Symfony/composer.json.local | 75 +++++++++ 116 files changed, 764 insertions(+), 2071 deletions(-) delete mode 100644 src/Laravel/Resources/public/flasher-template.js delete mode 100644 src/Laravel/Resources/public/flasher.js create mode 100644 src/Laravel/ServiceProvider/ResourceManagerHelper.php delete mode 100644 src/Noty/Laravel/Resources/public/flasher-noty.js delete mode 100644 src/Noty/Symfony/Resources/public/flasher-noty.js create mode 100644 src/Noty/Symfony/composer.json.local delete mode 100644 src/Notyf/Laravel/Resources/public/flasher-notyf.js delete mode 100644 src/Notyf/Symfony/Resources/public/flasher-notyf.js delete mode 100644 src/Pnotify/Laravel/Resources/public/flasher-pnotify.js delete mode 100644 src/Pnotify/Symfony/Resources/public/flasher-pnotify.js delete mode 100644 src/Prime/EventDispatcher/EventListener/TemplateListener.php delete mode 100644 src/Prime/Renderer/Presenter/AbstractPresenter.php delete mode 100644 src/Prime/Renderer/Presenter/ArrayPresenter.php delete mode 100644 src/Prime/Renderer/Presenter/HtmlPresenter.php delete mode 100644 src/Prime/Renderer/Presenter/PresenterInterface.php delete mode 100644 src/Prime/Renderer/Presenter/PresenterManager.php delete mode 100644 src/Prime/Renderer/Presenter/PresenterManagerInterface.php delete mode 100644 src/Prime/Renderer/Renderer.php delete mode 100644 src/Prime/Renderer/RendererInterface.php delete mode 100644 src/Prime/Resources/views/tailwindcss.php delete mode 100644 src/SweetAlert/Laravel/Resources/public/flasher-sweet-alert.js delete mode 100644 src/SweetAlert/Symfony/Resources/public/flasher-sweet-alert.js delete mode 100644 src/Symfony/Resources/assets/package.json delete mode 100644 src/Symfony/Resources/public/flasher-template.js delete mode 100644 src/Symfony/Resources/public/flasher.js create mode 100644 src/Symfony/composer.json.local delete mode 100644 src/Toastr/Laravel/Resources/public/flasher-toastr.js create mode 100644 src/Toastr/Laravel/composer.json.local delete mode 100644 src/Toastr/Symfony/Resources/public/flasher-toastr.js create mode 100644 src/Toastr/Symfony/composer.json.local diff --git a/.gitignore b/.gitignore index 409f0e32..89d72688 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -.idea/ -vendor/ +.idea +vendor composer.lock .phpunit.result.cache .phpcs-cache diff --git a/src/Laravel/.gitignore b/src/Laravel/.gitignore index 409f0e32..89d72688 100644 --- a/src/Laravel/.gitignore +++ b/src/Laravel/.gitignore @@ -1,5 +1,5 @@ -.idea/ -vendor/ +.idea +vendor composer.lock .phpunit.result.cache .phpcs-cache diff --git a/src/Laravel/Resources/config/config.php b/src/Laravel/Resources/config/config.php index 0dbadb90..0ed02bea 100644 --- a/src/Laravel/Resources/config/config.php +++ b/src/Laravel/Resources/config/config.php @@ -3,8 +3,34 @@ return array( 'default' => 'template', - 'scripts' => array( - '/vendor/flasher/flasher.js', + 'root_scripts' => array( + 'https://cdn.jsdelivr.net/npm/@flasher/flasher@0.1.3/dist/flasher.min.js' + ), + + 'template_factory' => array( + 'default' => 'tailwindcss', + 'templates' => array( + 'tailwindcss' => array( + 'view' => 'flasher::tailwindcss', + 'styles' => array( + 'https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.1.1/base.min.css', + 'https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.1.1/utilities.css' + ), + ), + 'tailwindcss_bg' => array( + 'view' => 'flasher::tailwindcss_bg', + "styles" => array( + 'https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.1.1/base.min.css', + 'https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.1.1/utilities.css', + ), + ), + 'bootstrap' => array( + 'view' => 'flasher::bootstrap', + 'styles' => array( + "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.3/css/bootstrap.min.css", + ), + ), + ), ), 'auto_create_from_session' => true, @@ -22,38 +48,4 @@ return array( 'restored', ), ), - - 'adapters' => array( - 'template' => array( - 'default' => 'tailwindcss', - 'templates' => array( - 'tailwindcss' => array( - 'view' => 'flasher::tailwindcss', - 'styles' => array( - 'https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css', - ), - ), - 'tailwindcss_bg' => array( - 'view' => 'flasher::tailwindcss_bg', - 'styles' => array( - 'https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css', - ), - ), - 'bootstrap' => array( - 'view' => 'flasher::bootstrap', - 'styles' => array( - 'https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.3/css/bootstrap.min.css', - ), - ), - ), - 'scripts' => array( - '/vendor/flasher/flasher-template.js', - ), - 'styles' => array(), - 'options' => array( - 'timeout' => 5000, - 'position' => 'top-right', - ), - ), - ), ); diff --git a/src/Laravel/Resources/public/flasher-template.js b/src/Laravel/Resources/public/flasher-template.js deleted file mode 100644 index 383bbf36..00000000 --- a/src/Laravel/Resources/public/flasher-template.js +++ /dev/null @@ -1,142 +0,0 @@ -PHPFlasher.addFactory('template', (function () { - 'use strict'; - - var exports = {}; - var options = { - timeout: 5000, - fps: 30, - position: 'top-right', - direction: 'top' - }; - - exports.render = function (envelope) { - renderEnvelope(envelope); - }; - - exports.renderOptions = function (_setting) { - options = extend({}, options, _setting); - }; - - var renderEnvelope = function (envelope) { - var position = options.position; - - if (undefined !== envelope.options && undefined !== envelope.options.position) { - position = envelope.options.position; - } - - var container = document.getElementById('flasher-container-' + position); - if (null === container) { - container = document.createElement('div'); - container.id = "flasher-container-" + options.position; - container.style.position = "fixed"; - container.style.maxWidth = "304px"; - container.style.width = "100%"; - - switch (options.position) { - case "top-left": - container.style.top = 0; - container.style.left = "0.5em"; - break; - case "top-right": - container.style.top = 0; - container.style.right = "0.5em"; - break; - case "bottom-left": - container.style.bottom = 0; - container.style.left = "0.5em"; - break; - case "bottom-right": - default: - container.style.bottom = 0; - container.style.right = "0.5em"; - break; - } - document.getElementsByTagName('body')[0].appendChild(container); - } - - var template = stringToHTML(envelope.template); - template.style.transition = '0.8s'; - - switch (options.direction) { - case "top": - container.insertBefore(template, container.firstChild); - break; - case "bottom": - default: - container.appendChild(template); - break; - } - - var progressBar = template.querySelector('.flasher-progress'); - if (null !== progressBar) { - var width = 0; - var lapse = 1000 / options.fps; - - var showProgress = function () { - width++; - var percent = (1 - lapse * width / options.timeout) * 100; - progressBar.style.width = percent + '%'; - - if (percent <= 0) { - template.style.opacity = 0; - clearInterval(progress); - - setTimeout(function () { - template.remove(); - }, 900); - } - } - - var progress = setInterval(showProgress, lapse); - - template.addEventListener('mouseover', function () { - clearInterval(progress); - }); - - template.addEventListener("mouseout", function () { - progress = setInterval(showProgress, lapse); - }); - } - } - - var stringToHTML = function (str) { - var support = (function () { - if (!window.DOMParser) return false; - var parser = new DOMParser(); - try { - parser.parseFromString('x', 'text/html'); - } catch (err) { - return false; - } - return true; - })(); - - if (support) { - var parser = new DOMParser(); - var doc = parser.parseFromString(str, 'text/html'); - return doc.body.firstChild; - } - - var dom = document.createElement('div'); - dom.innerHTML = str; - return dom.firstElementChild; - }; - - var extend = function (out) { - out = out || {}; - - for (var i = 1; i < arguments.length; i++) { - if (!arguments[i]) - continue; - - for (var key in arguments[i]) { - if (arguments[i].hasOwnProperty(key)) - out[key] = arguments[i][key]; - } - } - - return out; - }; - - return exports; -})()); diff --git a/src/Laravel/Resources/public/flasher.js b/src/Laravel/Resources/public/flasher.js deleted file mode 100644 index ad3db142..00000000 --- a/src/Laravel/Resources/public/flasher.js +++ /dev/null @@ -1,114 +0,0 @@ -var PHPFlasher = (function () { - 'use strict'; - - var exports = {}; - var factories = {}; - - exports.render = function (_options) { - exports.addStyles(getStyles(_options), function () { - exports.addScripts(getScripts(_options), function () { - exports.renderOptions(_options.options); - exports.renderEnvelopes(_options.envelopes); - }); - }); - }; - - exports.addFactory = function (alias, factory) { - factories[alias] = factory; - }; - - exports.addStyles = function (urls, callback) { - if (0 === urls.length) { - if ("function" === typeof callback) { - callback(); - } - - return this; - } - - if (null !== document.querySelector('link[href="' + urls[0] + '"]')) { - return exports.addStyles(urls.slice(1), callback); - } - - var tag = document.createElement('link'); - - tag.href = urls[0]; - tag.type = 'text/css'; - tag.rel = 'stylesheet'; - tag.onload = function () { - exports.addStyles(urls.slice(1), callback); - }; - - document.head.appendChild(tag); - - return this; - }; - - exports.addScripts = function (urls, callback) { - if (0 === urls.length) { - if ("function" === typeof callback) { - callback(); - } - - return this; - } - - if (null !== document.querySelector('script[src="' + urls[0] + '"]')) { - return exports.addScripts(urls.slice(1), callback); - } - - var tag = document.createElement('script'); - - tag.src = urls[0]; - tag.type = 'text/javascript'; - tag.onload = function () { - exports.addScripts(urls.slice(1), callback); - }; - - document.body.appendChild(tag); - - return this; - }; - - exports.renderOptions = function (options) { - Object.keys(options).forEach(function (library) { - factories[library].renderOptions(options[library]); - }); - }; - - exports.renderEnvelopes = function (envelopes) { - envelopes.forEach(function (envelope) { - factories[envelope.handler].render(envelope); - }) - }; - - var getStyles = function (_options) { - var styles = _options.styles; - - _options.envelopes.forEach(function (envelope) { - if (undefined !== envelope.context && undefined !== envelope.context.styles) { - styles = styles.concat(envelope.context.styles); - } - }); - - return styles.filter(function (item, pos) { - return styles.indexOf(item) === pos; - }); - } - - var getScripts = function (_options) { - var scripts = _options.scripts; - - _options.envelopes.forEach(function (envelope) { - if (undefined !== envelope.context && undefined !== envelope.context.scripts) { - scripts = scripts.concat(envelope.context.scripts); - } - }); - - return scripts.filter(function (item, pos) { - return scripts.indexOf(item) === pos; - }); - } - - return exports; -})(); diff --git a/src/Laravel/Resources/views/bootstrap.blade.php b/src/Laravel/Resources/views/bootstrap.blade.php index 68cdc05e..fef4310a 100644 --- a/src/Laravel/Resources/views/bootstrap.blade.php +++ b/src/Laravel/Resources/views/bootstrap.blade.php @@ -25,8 +25,8 @@ ?>
-