diff --git a/includes/url-public.php b/includes/url-public.php index 726b022..f6ab180 100644 --- a/includes/url-public.php +++ b/includes/url-public.php @@ -88,10 +88,11 @@ function handle_search($request) { $smarty -> assign('nbs_by_page', $nbs_by_page); $smarty -> assign('status_list', $status_list); - add_css_file('lib/bootstrap4-dialog/bootstrap-dialog.min.css'); - add_js_file('lib/bootstrap4-dialog/bootstrap-dialog.min.js'); - add_js_file('lib/myconfirm.js'); - add_js_file('js/search.js'); + add_js_file(array( + 'lib/bootstrap4dialog/dist/js/bootstrap4dialog.min.js', + 'js/myconfirm.js', + 'js/search.js' + )); display_template("search.tpl", _("Search")); } @@ -111,9 +112,10 @@ function handle_show($request) { $smarty->assign('item', $item); // Dialog - add_css_file('lib/bootstrap4-dialog/bootstrap-dialog.min.css'); - add_js_file('lib/bootstrap4-dialog/bootstrap-dialog.min.js'); - add_js_file('lib/myconfirm.js'); + add_js_file(array( + 'lib/bootstrap4dialog/dist/js/bootstrap4dialog.min.js', + 'js/myconfirm.js', + )); display_template("show.tpl", sprintf(_("Element %s"), (is_array($item)?$item['name']:"#".$request -> id))); } diff --git a/lang/fr_FR.UTF8/LC_MESSAGES/DEFAULT.po b/lang/fr_FR.UTF8/LC_MESSAGES/DEFAULT.po index f6cef8e..a7ec58a 100644 --- a/lang/fr_FR.UTF8/LC_MESSAGES/DEFAULT.po +++ b/lang/fr_FR.UTF8/LC_MESSAGES/DEFAULT.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2022-04-24 16:39+0200\n" +"POT-Creation-Date: 2022-04-24 16:47+0200\n" "PO-Revision-Date: \n" "Last-Translator: Benjamin Renard \n" "Language-Team: \n" @@ -17,8 +17,8 @@ msgid "Invalid element identifier." msgstr "Identifiant d'élément invalide." #: /home/brenard/dev/eesyphp/includes/url-helpers.php:9 -#: /home/brenard/dev/eesyphp/includes/url-public.php:203 -#: /home/brenard/dev/eesyphp/includes/url-public.php:227 +#: /home/brenard/dev/eesyphp/includes/url-public.php:205 +#: /home/brenard/dev/eesyphp/includes/url-public.php:229 #, php-format msgid "Item #% s not found." msgstr "L'élément #%s est introuvable." @@ -52,25 +52,25 @@ msgstr "" "Une erreur est survenue en listant les éléments. Si le problème persiste, " "merci de prendre contact avec le support." -#: /home/brenard/dev/eesyphp/includes/url-public.php:96 +#: /home/brenard/dev/eesyphp/includes/url-public.php:97 msgid "Search" msgstr "Rechercher" -#: /home/brenard/dev/eesyphp/includes/url-public.php:118 +#: /home/brenard/dev/eesyphp/includes/url-public.php:120 #, php-format msgid "Element %s" msgstr "Élément %s" -#: /home/brenard/dev/eesyphp/includes/url-public.php:130 +#: /home/brenard/dev/eesyphp/includes/url-public.php:132 #, php-format msgid "The element '% s' has been created." msgstr "L'élément '%s' a bien été créé." -#: /home/brenard/dev/eesyphp/includes/url-public.php:134 +#: /home/brenard/dev/eesyphp/includes/url-public.php:136 msgid "An error occurred while saving this item." msgstr "Une erreur est survenue en enregistrant cet élément." -#: /home/brenard/dev/eesyphp/includes/url-public.php:140 +#: /home/brenard/dev/eesyphp/includes/url-public.php:142 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to add this item." @@ -78,29 +78,29 @@ msgstr "" "Des erreurs empêchent l'enregistrement de cet élément. Merci de les corriger " "avant de tenter d'ajouter cet élément." -#: /home/brenard/dev/eesyphp/includes/url-public.php:146 +#: /home/brenard/dev/eesyphp/includes/url-public.php:148 msgid "New" msgstr "Nouveau" -#: /home/brenard/dev/eesyphp/includes/url-public.php:156 +#: /home/brenard/dev/eesyphp/includes/url-public.php:158 msgid "You cannot edit this item." msgstr "Vous ne pouvez pas modifier cet élément." -#: /home/brenard/dev/eesyphp/includes/url-public.php:169 +#: /home/brenard/dev/eesyphp/includes/url-public.php:171 #, php-format msgid "You have not made any changes to element '% s'." msgstr "Vous n'avez apporté aucune modification à l'élément '%s'." -#: /home/brenard/dev/eesyphp/includes/url-public.php:173 +#: /home/brenard/dev/eesyphp/includes/url-public.php:175 #, php-format msgid "The element '% s' has been updated successfully." msgstr "L'élément '%s' a bien été mise à jour." -#: /home/brenard/dev/eesyphp/includes/url-public.php:177 +#: /home/brenard/dev/eesyphp/includes/url-public.php:179 msgid "An error occurred while updating this item." msgstr "Une erreur est survenue en mettant à jour cet élément." -#: /home/brenard/dev/eesyphp/includes/url-public.php:184 +#: /home/brenard/dev/eesyphp/includes/url-public.php:186 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to save your changes." @@ -108,38 +108,38 @@ msgstr "" "Des erreurs empêchent l'enregistrement de cet élément. Merci de les corriger " "avant de tenter d'enregistrer vos modifications." -#: /home/brenard/dev/eesyphp/includes/url-public.php:194 +#: /home/brenard/dev/eesyphp/includes/url-public.php:196 #, php-format msgid "Element %s: Modification" msgstr "Élément %s : Modification" -#: /home/brenard/dev/eesyphp/includes/url-public.php:207 +#: /home/brenard/dev/eesyphp/includes/url-public.php:209 msgid "This item is already archived." msgstr "Cet élément est déjà archivé." -#: /home/brenard/dev/eesyphp/includes/url-public.php:210 +#: /home/brenard/dev/eesyphp/includes/url-public.php:212 msgid "You cannot archive this item." msgstr "Vous ne pouvez pas archiver cet élément." -#: /home/brenard/dev/eesyphp/includes/url-public.php:213 +#: /home/brenard/dev/eesyphp/includes/url-public.php:215 #, php-format msgid "The element '% s' has been archived successfully." msgstr "L'élément '%s' a bien été archivé." -#: /home/brenard/dev/eesyphp/includes/url-public.php:216 +#: /home/brenard/dev/eesyphp/includes/url-public.php:218 msgid "An error occurred while archiving this item." msgstr "Une erreur est survenue en archivant cet élément." -#: /home/brenard/dev/eesyphp/includes/url-public.php:230 +#: /home/brenard/dev/eesyphp/includes/url-public.php:232 msgid "You cannot delete this item." msgstr "Vous ne pouvez pas supprimer cet élément." -#: /home/brenard/dev/eesyphp/includes/url-public.php:233 +#: /home/brenard/dev/eesyphp/includes/url-public.php:235 #, php-format msgid "The element '% s' has been deleted successfully." msgstr "L'élément '%s' a bien été supprimé." -#: /home/brenard/dev/eesyphp/includes/url-public.php:236 +#: /home/brenard/dev/eesyphp/includes/url-public.php:238 msgid "An error occurred while deleting this item." msgstr "Une erreur est survenue en supprimant cet élément." diff --git a/lang/headers.pot b/lang/headers.pot index 33a554c..594e590 100644 --- a/lang/headers.pot +++ b/lang/headers.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" -"POT-Creation-Date: 2022-04-24 16:39+0200\n" -"PO-Revision-Date: 2022-04-24 16:39+0200\n" +"POT-Creation-Date: 2022-04-24 16:47+0200\n" +"PO-Revision-Date: 2022-04-24 16:47+0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" \ No newline at end of file diff --git a/lang/messages.pot b/lang/messages.pot index 95ea5c6..70d6606 100644 --- a/lang/messages.pot +++ b/lang/messages.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" -"POT-Creation-Date: 2022-04-24 16:39+0200\n" -"PO-Revision-Date: 2022-04-24 16:39+0200\n" +"POT-Creation-Date: 2022-04-24 16:47+0200\n" +"PO-Revision-Date: 2022-04-24 16:47+0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -11,8 +11,8 @@ msgid "Invalid element identifier." msgstr "" #: /home/brenard/dev/eesyphp/includes/url-helpers.php:9 -#: /home/brenard/dev/eesyphp/includes/url-public.php:203 -#: /home/brenard/dev/eesyphp/includes/url-public.php:227 +#: /home/brenard/dev/eesyphp/includes/url-public.php:205 +#: /home/brenard/dev/eesyphp/includes/url-public.php:229 #, php-format msgid "Item #% s not found." msgstr "" @@ -44,90 +44,90 @@ msgid "" "contact support." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:96 +#: /home/brenard/dev/eesyphp/includes/url-public.php:97 msgid "Search" msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:118 +#: /home/brenard/dev/eesyphp/includes/url-public.php:120 #, php-format msgid "Element %s" msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:130 +#: /home/brenard/dev/eesyphp/includes/url-public.php:132 #, php-format msgid "The element '% s' has been created." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:134 +#: /home/brenard/dev/eesyphp/includes/url-public.php:136 msgid "An error occurred while saving this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:140 +#: /home/brenard/dev/eesyphp/includes/url-public.php:142 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to add this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:146 +#: /home/brenard/dev/eesyphp/includes/url-public.php:148 msgid "New" msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:156 +#: /home/brenard/dev/eesyphp/includes/url-public.php:158 msgid "You cannot edit this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:169 +#: /home/brenard/dev/eesyphp/includes/url-public.php:171 #, php-format msgid "You have not made any changes to element '% s'." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:173 +#: /home/brenard/dev/eesyphp/includes/url-public.php:175 #, php-format msgid "The element '% s' has been updated successfully." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:177 +#: /home/brenard/dev/eesyphp/includes/url-public.php:179 msgid "An error occurred while updating this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:184 +#: /home/brenard/dev/eesyphp/includes/url-public.php:186 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to save your changes." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:194 +#: /home/brenard/dev/eesyphp/includes/url-public.php:196 #, php-format msgid "Element %s: Modification" msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:207 +#: /home/brenard/dev/eesyphp/includes/url-public.php:209 msgid "This item is already archived." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:210 +#: /home/brenard/dev/eesyphp/includes/url-public.php:212 msgid "You cannot archive this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:213 +#: /home/brenard/dev/eesyphp/includes/url-public.php:215 #, php-format msgid "The element '% s' has been archived successfully." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:216 +#: /home/brenard/dev/eesyphp/includes/url-public.php:218 msgid "An error occurred while archiving this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:230 +#: /home/brenard/dev/eesyphp/includes/url-public.php:232 msgid "You cannot delete this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:233 +#: /home/brenard/dev/eesyphp/includes/url-public.php:235 #, php-format msgid "The element '% s' has been deleted successfully." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:236 +#: /home/brenard/dev/eesyphp/includes/url-public.php:238 msgid "An error occurred while deleting this item." msgstr "" diff --git a/lang/php-messages.pot b/lang/php-messages.pot index 1df1fad..c99a6b7 100644 --- a/lang/php-messages.pot +++ b/lang/php-messages.pot @@ -3,8 +3,8 @@ msgid "Invalid element identifier." msgstr "" #: /home/brenard/dev/eesyphp/includes/url-helpers.php:9 -#: /home/brenard/dev/eesyphp/includes/url-public.php:203 -#: /home/brenard/dev/eesyphp/includes/url-public.php:227 +#: /home/brenard/dev/eesyphp/includes/url-public.php:205 +#: /home/brenard/dev/eesyphp/includes/url-public.php:229 #, php-format msgid "Item #% s not found." msgstr "" @@ -36,90 +36,90 @@ msgid "" "contact support." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:96 +#: /home/brenard/dev/eesyphp/includes/url-public.php:97 msgid "Search" msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:118 +#: /home/brenard/dev/eesyphp/includes/url-public.php:120 #, php-format msgid "Element %s" msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:130 +#: /home/brenard/dev/eesyphp/includes/url-public.php:132 #, php-format msgid "The element '% s' has been created." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:134 +#: /home/brenard/dev/eesyphp/includes/url-public.php:136 msgid "An error occurred while saving this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:140 +#: /home/brenard/dev/eesyphp/includes/url-public.php:142 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to add this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:146 +#: /home/brenard/dev/eesyphp/includes/url-public.php:148 msgid "New" msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:156 +#: /home/brenard/dev/eesyphp/includes/url-public.php:158 msgid "You cannot edit this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:169 +#: /home/brenard/dev/eesyphp/includes/url-public.php:171 #, php-format msgid "You have not made any changes to element '% s'." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:173 +#: /home/brenard/dev/eesyphp/includes/url-public.php:175 #, php-format msgid "The element '% s' has been updated successfully." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:177 +#: /home/brenard/dev/eesyphp/includes/url-public.php:179 msgid "An error occurred while updating this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:184 +#: /home/brenard/dev/eesyphp/includes/url-public.php:186 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to save your changes." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:194 +#: /home/brenard/dev/eesyphp/includes/url-public.php:196 #, php-format msgid "Element %s: Modification" msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:207 +#: /home/brenard/dev/eesyphp/includes/url-public.php:209 msgid "This item is already archived." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:210 +#: /home/brenard/dev/eesyphp/includes/url-public.php:212 msgid "You cannot archive this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:213 +#: /home/brenard/dev/eesyphp/includes/url-public.php:215 #, php-format msgid "The element '% s' has been archived successfully." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:216 +#: /home/brenard/dev/eesyphp/includes/url-public.php:218 msgid "An error occurred while archiving this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:230 +#: /home/brenard/dev/eesyphp/includes/url-public.php:232 msgid "You cannot delete this item." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:233 +#: /home/brenard/dev/eesyphp/includes/url-public.php:235 #, php-format msgid "The element '% s' has been deleted successfully." msgstr "" -#: /home/brenard/dev/eesyphp/includes/url-public.php:236 +#: /home/brenard/dev/eesyphp/includes/url-public.php:238 msgid "An error occurred while deleting this item." msgstr "" diff --git a/public_html/js/myconfirm.js b/public_html/js/myconfirm.js new file mode 100644 index 0000000..66b8940 --- /dev/null +++ b/public_html/js/myconfirm.js @@ -0,0 +1,219 @@ +var myconfirm = function(opts) { + var confirm = false; + var dialog = Bootstrap4Dialog.show({ + title: opts.title || _('Confirmation'), + message: opts.question || _('Do you confirm?'), + autodestroy: true, + type: opts.type || Bootstrap4Dialog.TYPE_LIGHT, + scrollable: opts.scrollable || false, + buttons: [ + { + label: opts.cancel_label || _('Cancel'), + action: function(dialog) { + dialog.modal('hide'); + } + }, + { + label: opts.confirm_label || _('Validate'), + cssClass: 'btn-danger', + action: function(dialog) { + confirm = true; + dialog.modal('hide'); + } + } + ], + close: function() { + if (confirm) { + if (jQuery.type(opts.onconfirm) == 'function') { + opts.onconfirm(opts.data); + } + } + else { + if (jQuery.type(opts.oncancel) == 'function') { + opts.oncancel(opts.data); + } + } + } + }); + return dialog; +}; + +var myalert = function(msg, title, opts) { + if (!opts) opts={}; + var dialog = Bootstrap4Dialog.show({ + title: title || opts.title || _('Error'), + message: msg, + autodestroy: true, + type: opts.type || Bootstrap4Dialog.TYPE_DANGER, + size: opts.size || Bootstrap4Dialog.SIZE_MEDIUM, + scrollable: opts.scrollable || false, + buttons: [ + { + label: opts.btnLabel || _('OK'), + cssClass: opts.btnCssClass ||'btn-primary', + action: function(dialog) { + dialog.modal('hide'); + } + }, + ], + close: function() { + if ($.type(opts.onclose) == 'function') { + opts.onclose(opts.data); + } + } + }); + return dialog; +}; + +var myprompt = function(opts) { + if ($.type(opts) != "object") { + opts={}; + } + var submited = false; + + var onSubmitBtnClick = function(dialog) { + submited = true; + var val = dialog.getModalBody().find('input').val(); + if (jQuery.type(opts.onsubmit) == 'function') { + if (!opts.onsubmit(val, opts.data)) { + if (jQuery.type(opts.onerror) == 'function') { + opts.onerror(val, opts.data); + } + if (!opts.closeonerror) { + return false; + } + } + } + dialog.modal('hide'); + }; + + var dialog = Bootstrap4Dialog.show({ + title: opts.title || _('Question'), + message: "", + autodestroy: true, + type: opts.type || Bootstrap4Dialog.TYPE_INFO, + size: opts.size || Bootstrap4Dialog.SIZE_MEDIUM, + data: { + oncancel: opts.oncancel, + onsubmit: opts.onsubmit, + onerror: opts.onerror, + closeonerror: opts.closeonerror || false, + default_answer: opts.default_answer, + onSubmitBtnClick: onSubmitBtnClick, + data: opts.data, + submited: false, + }, + buttons: [ + { + label: opts.cancel_label || _('Cancel'), + action: function(dialog) { + dialog.modal('hide'); + } + }, + { + label: opts.submit_label || _('Validate'), + cssClass: 'btn-danger', + action: onSubmitBtnClick + } + ], + open: function() { + var input = dialog.getModalBody().find('input'); + input.on('keyup', function (e) { + if (e.keyCode == 13) { + opts.onSubmitBtnClick(dialog); + } + }); + if (opts.default_answer) { + input.val(opts.default_answer); + } + }, + close: function() { + if (!submited && jQuery.type(opts.oncancel) == 'function') { + opts.oncancel(opts.data); + } + } + }); +}; + +var myloadingalert = function(opts) { + if (!opts) opts={}; + var opened = false; + var closed = false; + var dialog = Bootstrap4Dialog.show({ + title: opts.title || _('Please wait'), + message: opts.message || _('Please wait while your request is being processed.'), + autodestroy: true, + type: opts.type || Bootstrap4Dialog.TYPE_INFO, + size: opts.size || Bootstrap4Dialog.SIZE_NORMAL, + centered: opts.centered || true, + closable: opts.closable || false, + open: function () { + if (closed) + dialog.modal('hide'); + opened = true; + } + }); + return { + 'modal': dialog, + 'close': function() { + if (opened) + dialog.modal('hide'); + closed = true; + } + }; +}; + +$( document ).ready(function () { + // Manage .myconfirm-link + $('.myconfirm-link').click(function(event) { + event.preventDefault(); + myconfirm({ + title: $(this).data("myconfirm-title") || _("Confirmation"), + question: "

"+($(this).data("myconfirm-question") || _("Are you sure?"))+"

", + onconfirm: function(data) { + window.location = data.confirm_url; + }, + data: { + confirm_url: $(this).data('myconfirm-url') + } + }); + }); + + // Manage .myloading-link + $('.myloading-link').click(function(event) { + event.preventDefault(); + myloadingalert({ + title: $(this).data("myloading-title"), + message: $(this).data("myloading-message"), + }); + window.location = $(this).data('myloading-url'); + }); + + // Manage .myconfirm-btn + $('.myconfirm-btn').click(function(event) { + if ($(this).data('myconfirm-btn-confirmed') == '1') { + $(this).data('myconfirm-btn-confirmed', ''); + return true; + } + event.preventDefault(); + myconfirm({ + title: $(this).data("myconfirm-title") || _("Confirmation"), + question: "

"+($(this).data("myconfirm-question") || _("Are you sure?"))+"

", + onconfirm: function(data) { + data.btn.data('myconfirm-btn-confirmed', 1); + data.btn.click(); + }, + data: { + btn: $(this) + } + }); + }); + + // Manage .myloading-btn + $('.myloading-btn').click(function(event) { + myloadingalert({ + title: $(this).data("myloading-title"), + message: $(this).data("myloading-message"), + }); + }); +}); diff --git a/public_html/lib/bootstrap4-dialog/bootstrap-dialog.min.css b/public_html/lib/bootstrap4-dialog/bootstrap-dialog.min.css deleted file mode 100644 index c9000fc..0000000 --- a/public_html/lib/bootstrap4-dialog/bootstrap-dialog.min.css +++ /dev/null @@ -1 +0,0 @@ -.bootstrap-dialog .modal-header{border-top-left-radius:4px;border-top-right-radius:4px}.bootstrap-dialog .bootstrap-dialog-title{color:#fff;display:inline-block;font-size:16px}.bootstrap-dialog .bootstrap-dialog-message{font-size:14px}.bootstrap-dialog .bootstrap-dialog-button-icon{margin-right:3px}.bootstrap-dialog .bootstrap-dialog-close-button{font-size:20px;float:right;opacity:.9;filter:alpha(opacity=90)}.bootstrap-dialog .bootstrap-dialog-close-button:hover{cursor:pointer;opacity:1;filter:alpha(opacity=100)}.bootstrap-dialog.type-default .modal-header{background-color:#fff}.bootstrap-dialog.type-default .bootstrap-dialog-title{color:#333}.bootstrap-dialog.type-info .modal-header{background-color:#5bc0de}.bootstrap-dialog.type-primary .modal-header{background-color:#337ab7}.bootstrap-dialog.type-success .modal-header{background-color:#5cb85c}.bootstrap-dialog.type-warning .modal-header{background-color:#f0ad4e}.bootstrap-dialog.type-danger .modal-header{background-color:#d9534f}.bootstrap-dialog.size-large .bootstrap-dialog-title{font-size:24px}.bootstrap-dialog.size-large .bootstrap-dialog-close-button{font-size:30px}.bootstrap-dialog.size-large .bootstrap-dialog-message{font-size:18px}.bootstrap-dialog .icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} \ No newline at end of file diff --git a/public_html/lib/bootstrap4-dialog/bootstrap-dialog.min.js b/public_html/lib/bootstrap4-dialog/bootstrap-dialog.min.js deleted file mode 100644 index 6d004c6..0000000 --- a/public_html/lib/bootstrap4-dialog/bootstrap-dialog.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(t,e){"use strict";"undefined"!=typeof module&&module.exports?module.exports=e(require("jquery"),require("bootstrap")):"function"==typeof define&&define.amd?define("bootstrap-dialog",["jquery","bootstrap"],function(t){return e(t)}):t.BootstrapDialog=e(t.jQuery)}(this,function(t){"use strict";var e=t.fn.modal.Constructor,n=function(n,o){return/4\.0\.\d+(-(alpha|beta|rc)\.\d+)?/.test(t.fn.modal.Constructor.VERSION)?new e(n,o):void e.call(this,n,o)};n.getModalVersion=function(){var e=null;return e="undefined"==typeof t.fn.modal.Constructor.VERSION?"v3.1":/3\.2\.\d+/.test(t.fn.modal.Constructor.VERSION)?"v3.2":/3\.3\.[1,2]/.test(t.fn.modal.Constructor.VERSION)?"v3.3":/4\.0\.\d+(-(alpha|beta|rc)\.\d+)?/.test(t.fn.modal.Constructor.VERSION)?"v4.0":"v3.3.4"},n.ORIGINAL_BODY_PADDING=parseInt(t("body").css("padding-right")||0,10),n.METHODS_TO_OVERRIDE={},n.METHODS_TO_OVERRIDE["v3.1"]={},n.METHODS_TO_OVERRIDE["v3.2"]={hide:function(e){if(e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()){this.isShown=!1;var n=this.getGlobalOpenedDialogs();0===n.length&&this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal()}}},n.METHODS_TO_OVERRIDE["v3.3"]={setScrollbar:function(){var t=n.ORIGINAL_BODY_PADDING;this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},resetScrollbar:function(){var t=this.getGlobalOpenedDialogs();0===t.length&&this.$body.css("padding-right",n.ORIGINAL_BODY_PADDING)},hideModal:function(){this.$element.hide(),this.backdrop(t.proxy(function(){var t=this.getGlobalOpenedDialogs();0===t.length&&this.$body.removeClass("modal-open"),this.resetAdjustments(),this.resetScrollbar(),this.$element.trigger("hidden.bs.modal")},this))}},n.METHODS_TO_OVERRIDE["v3.3.4"]=t.extend({},n.METHODS_TO_OVERRIDE["v3.3"]),n.METHODS_TO_OVERRIDE["v4.0"]=t.extend({},n.METHODS_TO_OVERRIDE["v3.3"]),n.prototype={constructor:n,getGlobalOpenedDialogs:function(){var e=[];return t.each(o.dialogs,function(t,n){n.isRealized()&&n.isOpened()&&e.push(n)}),e}},n.prototype=t.extend(n.prototype,e.prototype,n.METHODS_TO_OVERRIDE[n.getModalVersion()]);var o=function(e){this.defaultOptions=t.extend(!0,{id:o.newGuid(),buttons:[],data:{},onshow:null,onshown:null,onhide:null,onhidden:null},o.defaultOptions),this.indexedButtons={},this.registeredButtonHotkeys={},this.draggableData={isMouseDown:!1,mouseOffset:{}},this.realized=!1,this.opened=!1,this.initOptions(e),this.holdThisInstance()};return o.BootstrapDialogModal=n,o.NAMESPACE="bootstrap-dialog",o.TYPE_DEFAULT="type-default",o.TYPE_INFO="type-info",o.TYPE_PRIMARY="type-primary",o.TYPE_SUCCESS="type-success",o.TYPE_WARNING="type-warning",o.TYPE_DANGER="type-danger",o.DEFAULT_TEXTS={},o.DEFAULT_TEXTS[o.TYPE_DEFAULT]="Information",o.DEFAULT_TEXTS[o.TYPE_INFO]="Information",o.DEFAULT_TEXTS[o.TYPE_PRIMARY]="Information",o.DEFAULT_TEXTS[o.TYPE_SUCCESS]="Success",o.DEFAULT_TEXTS[o.TYPE_WARNING]="Warning",o.DEFAULT_TEXTS[o.TYPE_DANGER]="Danger",o.DEFAULT_TEXTS.OK="OK",o.DEFAULT_TEXTS.CANCEL="Cancel",o.DEFAULT_TEXTS.CONFIRM="Confirmation",o.SIZE_NORMAL="size-normal",o.SIZE_SMALL="size-small",o.SIZE_WIDE="size-wide",o.SIZE_LARGE="size-large",o.BUTTON_SIZES={},o.BUTTON_SIZES[o.SIZE_NORMAL]="",o.BUTTON_SIZES[o.SIZE_SMALL]="",o.BUTTON_SIZES[o.SIZE_WIDE]="",o.BUTTON_SIZES[o.SIZE_LARGE]="btn-lg",o.ICON_SPINNER="glyphicon glyphicon-asterisk",o.defaultOptions={type:o.TYPE_PRIMARY,size:o.SIZE_NORMAL,cssClass:"",title:null,message:null,nl2br:!0,closable:!0,closeByBackdrop:!0,closeByKeyboard:!0,closeIcon:"×",spinicon:o.ICON_SPINNER,autodestroy:!0,draggable:!1,animate:!0,description:"",tabindex:-1},o.configDefaultOptions=function(e){o.defaultOptions=t.extend(!0,o.defaultOptions,e)},o.dialogs={},o.openAll=function(){t.each(o.dialogs,function(t,e){e.open()})},o.closeAll=function(){t.each(o.dialogs,function(t,e){e.close()})},o.getDialog=function(t){var e=null;return"undefined"!=typeof o.dialogs[t]&&(e=o.dialogs[t]),e},o.setDialog=function(t){return o.dialogs[t.getId()]=t,t},o.addDialog=function(t){return o.setDialog(t)},o.moveFocus=function(){var e=null;t.each(o.dialogs,function(t,n){n.isRealized()&&n.isOpened()&&(e=n)}),null!==e&&e.getModal().focus()},o.METHODS_TO_OVERRIDE={},o.METHODS_TO_OVERRIDE["v3.1"]={handleModalBackdropEvent:function(){return this.getModal().on("click",{dialog:this},function(t){t.target===this&&t.data.dialog.isClosable()&&t.data.dialog.canCloseByBackdrop()&&t.data.dialog.close()}),this},updateZIndex:function(){if(this.isOpened()){var e=1040,n=1050,i=0;t.each(o.dialogs,function(t,e){e.isRealized()&&e.isOpened()&&i++});var a=this.getModal(),s=this.getModalBackdrop(a);a.css("z-index",n+20*(i-1)),s.css("z-index",e+20*(i-1))}return this},open:function(){return!this.isRealized()&&this.realize(),this.getModal().modal("show"),this.updateZIndex(),this}},o.METHODS_TO_OVERRIDE["v3.2"]={handleModalBackdropEvent:o.METHODS_TO_OVERRIDE["v3.1"].handleModalBackdropEvent,updateZIndex:o.METHODS_TO_OVERRIDE["v3.1"].updateZIndex,open:o.METHODS_TO_OVERRIDE["v3.1"].open},o.METHODS_TO_OVERRIDE["v3.3"]={},o.METHODS_TO_OVERRIDE["v3.3.4"]=t.extend({},o.METHODS_TO_OVERRIDE["v3.1"]),o.METHODS_TO_OVERRIDE["v4.0"]={getModalBackdrop:function(e){return t(e.data("bs.modal")._backdrop)},handleModalBackdropEvent:o.METHODS_TO_OVERRIDE["v3.1"].handleModalBackdropEvent,updateZIndex:o.METHODS_TO_OVERRIDE["v3.1"].updateZIndex,open:o.METHODS_TO_OVERRIDE["v3.1"].open,getModalForBootstrapDialogModal:function(){return this.getModal().get(0)}},o.prototype={constructor:o,initOptions:function(e){return this.options=t.extend(!0,this.defaultOptions,e),this},holdThisInstance:function(){return o.addDialog(this),this},initModalStuff:function(){return this.setModal(this.createModal()).setModalDialog(this.createModalDialog()).setModalContent(this.createModalContent()).setModalHeader(this.createModalHeader()).setModalBody(this.createModalBody()).setModalFooter(this.createModalFooter()),this.getModal().append(this.getModalDialog()),this.getModalDialog().append(this.getModalContent()),this.getModalContent().append(this.getModalHeader()).append(this.getModalBody()).append(this.getModalFooter()),this},createModal:function(){var e=t('');return e.prop("id",this.getId()),e.attr("aria-labelledby",this.getId()+"_title"),e},getModal:function(){return this.$modal},setModal:function(t){return this.$modal=t,this},getModalBackdrop:function(t){return t.data("bs.modal").$backdrop},getModalForBootstrapDialogModal:function(){return this.getModal()},createModalDialog:function(){return t('')},getModalDialog:function(){return this.$modalDialog},setModalDialog:function(t){return this.$modalDialog=t,this},createModalContent:function(){return t('')},getModalContent:function(){return this.$modalContent},setModalContent:function(t){return this.$modalContent=t,this},createModalHeader:function(){return t('')},getModalHeader:function(){return this.$modalHeader},setModalHeader:function(t){return this.$modalHeader=t,this},createModalBody:function(){return t('')},getModalBody:function(){return this.$modalBody},setModalBody:function(t){return this.$modalBody=t,this},createModalFooter:function(){return t('')},getModalFooter:function(){return this.$modalFooter},setModalFooter:function(t){return this.$modalFooter=t,this},createDynamicContent:function(t){var e=null;return e="function"==typeof t?t.call(t,this):t,"string"==typeof e&&(e=this.formatStringContent(e)),e},formatStringContent:function(t){return this.options.nl2br?t.replace(/\r\n/g,"
").replace(/[\r\n]/g,"
"):t},setData:function(t,e){return this.options.data[t]=e,this},getData:function(t){return this.options.data[t]},setId:function(t){return this.options.id=t,this},getId:function(){return this.options.id},getType:function(){return this.options.type},setType:function(t){return this.options.type=t,this.updateType(),this},updateType:function(){if(this.isRealized()){var t=[o.TYPE_DEFAULT,o.TYPE_INFO,o.TYPE_PRIMARY,o.TYPE_SUCCESS,o.TYPE_WARNING,o.TYPE_DANGER];this.getModal().removeClass(t.join(" ")).addClass(this.getType())}return this},getSize:function(){return this.options.size},setSize:function(t){return this.options.size=t,this.updateSize(),this},updateSize:function(){if(this.isRealized()){var e=this;this.getModal().removeClass(o.SIZE_NORMAL).removeClass(o.SIZE_SMALL).removeClass(o.SIZE_WIDE).removeClass(o.SIZE_LARGE),this.getModal().addClass(this.getSize()),this.getModalDialog().removeClass("modal-sm"),this.getSize()===o.SIZE_SMALL&&this.getModalDialog().addClass("modal-sm"),this.getModalDialog().removeClass("modal-lg"),this.getSize()===o.SIZE_WIDE&&this.getModalDialog().addClass("modal-lg"),t.each(this.options.buttons,function(n,o){var i=e.getButton(o.id),a=["btn-lg","btn-sm","btn-xs"],s=!1;if("string"==typeof o.cssClass){var d=o.cssClass.split(" ");t.each(d,function(e,n){t.inArray(n,a)!==-1&&(s=!0)})}s||(i.removeClass(a.join(" ")),i.addClass(e.getButtonSize()))})}return this},getCssClass:function(){return this.options.cssClass},setCssClass:function(t){return this.options.cssClass=t,this},getTitle:function(){return this.options.title},setTitle:function(t){return this.options.title=t,this.updateTitle(),this},updateTitle:function(){if(this.isRealized()){var t=null!==this.getTitle()?this.createDynamicContent(this.getTitle()):this.getDefaultText();this.getModalHeader().find("."+this.getNamespace("title")).html("").append(t).prop("id",this.getId()+"_title")}return this},getMessage:function(){return this.options.message},setMessage:function(t){return this.options.message=t,this.updateMessage(),this},updateMessage:function(){if(this.isRealized()){var t=this.createDynamicContent(this.getMessage());this.getModalBody().find("."+this.getNamespace("message")).html("").append(t)}return this},isClosable:function(){return this.options.closable},setClosable:function(t){return this.options.closable=t,this.updateClosable(),this},setCloseByBackdrop:function(t){return this.options.closeByBackdrop=t,this},canCloseByBackdrop:function(){return this.options.closeByBackdrop},setCloseByKeyboard:function(t){return this.options.closeByKeyboard=t,this},canCloseByKeyboard:function(){return this.options.closeByKeyboard},isAnimate:function(){return this.options.animate},setAnimate:function(t){return this.options.animate=t,this},updateAnimate:function(){return this.isRealized()&&this.getModal().toggleClass("fade",this.isAnimate()),this},getSpinicon:function(){return this.options.spinicon},setSpinicon:function(t){return this.options.spinicon=t,this},addButton:function(t){return this.options.buttons.push(t),this},addButtons:function(e){var n=this;return t.each(e,function(t,e){n.addButton(e)}),this},getButtons:function(){return this.options.buttons},setButtons:function(t){return this.options.buttons=t,this.updateButtons(),this},getButton:function(t){return"undefined"!=typeof this.indexedButtons[t]?this.indexedButtons[t]:null},getButtonSize:function(){return"undefined"!=typeof o.BUTTON_SIZES[this.getSize()]?o.BUTTON_SIZES[this.getSize()]:""},updateButtons:function(){return this.isRealized()&&(0===this.getButtons().length?this.getModalFooter().hide():this.getModalFooter().show().find("."+this.getNamespace("footer")).html("").append(this.createFooterButtons())),this},isAutodestroy:function(){return this.options.autodestroy},setAutodestroy:function(t){this.options.autodestroy=t},getDescription:function(){return this.options.description},setDescription:function(t){return this.options.description=t,this},setTabindex:function(t){return this.options.tabindex=t,this},getTabindex:function(){return this.options.tabindex},updateTabindex:function(){return this.isRealized()&&this.getModal().attr("tabindex",this.getTabindex()),this},getDefaultText:function(){return o.DEFAULT_TEXTS[this.getType()]},getNamespace:function(t){return o.NAMESPACE+"-"+t},createHeaderContent:function(){var e=t("
");return e.addClass(this.getNamespace("header")),e.append(this.createTitleContent()),e.prepend(this.createCloseButton()),e},createTitleContent:function(){var e=t("
");return e.addClass(this.getNamespace("title")),e},createCloseButton:function(){var e=t("
");e.addClass(this.getNamespace("close-button"));var n=t('');return n.append(this.options.closeIcon),e.append(n),e.on("click",{dialog:this},function(t){t.data.dialog.close()}),e},createBodyContent:function(){var e=t("
");return e.addClass(this.getNamespace("body")),e.append(this.createMessageContent()),e},createMessageContent:function(){var e=t("
");return e.addClass(this.getNamespace("message")),e},createFooterContent:function(){var e=t("
");return e.addClass(this.getNamespace("footer")),e},createFooterButtons:function(){var e=this,n=t("
");return n.addClass(this.getNamespace("footer-buttons")),this.indexedButtons={},t.each(this.options.buttons,function(t,i){i.id||(i.id=o.newGuid());var a=e.createButton(i);e.indexedButtons[i.id]=a,n.append(a)}),n},createButton:function(e){var n=t('');return n.prop("id",e.id),n.data("button",e),"undefined"!=typeof e.icon&&""!==t.trim(e.icon)&&n.append(this.createButtonIcon(e.icon)),"undefined"!=typeof e.label&&n.append(e.label),"undefined"!=typeof e.cssClass&&""!==t.trim(e.cssClass)?n.addClass(e.cssClass):n.addClass("btn-default"),"undefined"!=typeof e.hotkey&&(this.registeredButtonHotkeys[e.hotkey]=n),n.on("click",{dialog:this,$button:n,button:e},function(t){var e=t.data.dialog,n=t.data.$button,o=n.data("button");if(o.autospin&&n.toggleSpin(!0),"function"==typeof o.action)return o.action.call(n,e,t)}),this.enhanceButton(n),"undefined"!=typeof e.enabled&&n.toggleEnable(e.enabled),n},enhanceButton:function(t){return t.dialog=this,t.toggleEnable=function(t){var e=this;return"undefined"!=typeof t?e.prop("disabled",!t).toggleClass("disabled",!t):e.prop("disabled",!e.prop("disabled")),e},t.enable=function(){var t=this;return t.toggleEnable(!0),t},t.disable=function(){var t=this;return t.toggleEnable(!1),t},t.toggleSpin=function(e){var n=this,o=n.dialog,i=n.find("."+o.getNamespace("button-icon"));return"undefined"==typeof e&&(e=!(t.find(".icon-spin").length>0)),e?(i.hide(),t.prepend(o.createButtonIcon(o.getSpinicon()).addClass("icon-spin"))):(i.show(),t.find(".icon-spin").remove()),n},t.spin=function(){var t=this;return t.toggleSpin(!0),t},t.stopSpin=function(){var t=this;return t.toggleSpin(!1),t},this},createButtonIcon:function(e){var n=t("");return n.addClass(this.getNamespace("button-icon")).addClass(e),n},enableButtons:function(e){return t.each(this.indexedButtons,function(t,n){n.toggleEnable(e)}),this},updateClosable:function(){return this.isRealized()&&this.getModalHeader().find("."+this.getNamespace("close-button")).toggle(this.isClosable()),this},onShow:function(t){return this.options.onshow=t,this},onShown:function(t){return this.options.onshown=t,this},onHide:function(t){return this.options.onhide=t,this},onHidden:function(t){return this.options.onhidden=t,this},isRealized:function(){return this.realized},setRealized:function(t){return this.realized=t,this},isOpened:function(){return this.opened},setOpened:function(t){return this.opened=t,this},handleModalEvents:function(){return this.getModal().on("show.bs.modal",{dialog:this},function(t){var e=t.data.dialog;if(e.setOpened(!0),e.isModalEvent(t)&&"function"==typeof e.options.onshow){var n=e.options.onshow(e);return n===!1&&e.setOpened(!1),n}}),this.getModal().on("shown.bs.modal",{dialog:this},function(t){var e=t.data.dialog;e.isModalEvent(t)&&"function"==typeof e.options.onshown&&e.options.onshown(e)}),this.getModal().on("hide.bs.modal",{dialog:this},function(t){var e=t.data.dialog;if(e.setOpened(!1),e.isModalEvent(t)&&"function"==typeof e.options.onhide){var n=e.options.onhide(e);return n===!1&&e.setOpened(!0),n}}),this.getModal().on("hidden.bs.modal",{dialog:this},function(e){var n=e.data.dialog;n.isModalEvent(e)&&"function"==typeof n.options.onhidden&&n.options.onhidden(n),n.isAutodestroy()&&(n.setRealized(!1),delete o.dialogs[n.getId()],t(this).remove()),o.moveFocus()}),this.handleModalBackdropEvent(),this.getModal().on("keyup",{dialog:this},function(t){27===t.which&&t.data.dialog.isClosable()&&t.data.dialog.canCloseByKeyboard()&&t.data.dialog.close()}),this.getModal().on("keyup",{dialog:this},function(e){var n=e.data.dialog;if("undefined"!=typeof n.registeredButtonHotkeys[e.which]){var o=t(n.registeredButtonHotkeys[e.which]);!o.prop("disabled")&&o.focus().trigger("click")}}),this},handleModalBackdropEvent:function(){return this.getModal().on("click",{dialog:this},function(e){t(e.target).hasClass("modal-backdrop")&&e.data.dialog.isClosable()&&e.data.dialog.canCloseByBackdrop()&&e.data.dialog.close()}),this},isModalEvent:function(t){return"undefined"!=typeof t.namespace&&"bs.modal"===t.namespace},makeModalDraggable:function(){return this.options.draggable&&(this.getModalHeader().addClass(this.getNamespace("draggable")).on("mousedown",{dialog:this},function(t){var e=t.data.dialog;e.draggableData.isMouseDown=!0;var n=e.getModalDialog().offset();e.draggableData.mouseOffset={top:t.clientY-n.top,left:t.clientX-n.left}}),this.getModal().on("mouseup mouseleave",{dialog:this},function(t){t.data.dialog.draggableData.isMouseDown=!1}),t("body").on("mousemove",{dialog:this},function(t){var e=t.data.dialog;e.draggableData.isMouseDown&&e.getModalDialog().offset({top:t.clientY-e.draggableData.mouseOffset.top,left:t.clientX-e.draggableData.mouseOffset.left})})),this},realize:function(){return this.initModalStuff(),this.getModal().addClass(o.NAMESPACE).addClass(this.getCssClass()),this.updateSize(),this.getDescription()&&this.getModal().attr("aria-describedby",this.getDescription()),this.getModalFooter().append(this.createFooterContent()),this.getModalHeader().append(this.createHeaderContent()),this.getModalBody().append(this.createBodyContent()),this.getModal().data("bs.modal",new n(this.getModalForBootstrapDialogModal(),{backdrop:"static",keyboard:!1,show:!1})),this.makeModalDraggable(),this.handleModalEvents(),this.setRealized(!0),this.updateButtons(),this.updateType(),this.updateTitle(),this.updateMessage(),this.updateClosable(),this.updateAnimate(),this.updateSize(),this.updateTabindex(),this},open:function(){return!this.isRealized()&&this.realize(),this.getModal().modal("show"),this},close:function(){return!this.isRealized()&&this.realize(),this.getModal().modal("hide"),this}},o.prototype=t.extend(o.prototype,o.METHODS_TO_OVERRIDE[n.getModalVersion()]),o.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0,n="x"===t?e:3&e|8;return n.toString(16)})},o.show=function(t){return new o(t).open()},o.alert=function(){var e={},n={type:o.TYPE_PRIMARY,title:null,message:null,closable:!1,draggable:!1,buttonLabel:o.DEFAULT_TEXTS.OK,callback:null};e="object"==typeof arguments[0]&&arguments[0].constructor==={}.constructor?t.extend(!0,n,arguments[0]):t.extend(!0,n,{message:arguments[0],callback:"undefined"!=typeof arguments[1]?arguments[1]:null});var i=new o(e);return i.setData("callback",e.callback),i.addButton({label:e.buttonLabel,action:function(t){return("function"!=typeof t.getData("callback")||t.getData("callback").call(this,!0)!==!1)&&(t.setData("btnClicked",!0),t.close())}}),"function"==typeof i.options.onhide?i.onHide(function(t){var e=!0;return!t.getData("btnClicked")&&t.isClosable()&&"function"==typeof t.getData("callback")&&(e=t.getData("callback")(!1)),e!==!1&&(e=this.onhide(t))}.bind({onhide:i.options.onhide})):i.onHide(function(t){var e=!0;return!t.getData("btnClicked")&&t.isClosable()&&"function"==typeof t.getData("callback")&&(e=t.getData("callback")(!1)),e}),i.open()},o.confirm=function(){var e={},n={type:o.TYPE_PRIMARY,title:null,message:null,closable:!1,draggable:!1,btnCancelLabel:o.DEFAULT_TEXTS.CANCEL,btnCancelClass:null,btnOKLabel:o.DEFAULT_TEXTS.OK,btnOKClass:null,callback:null};e="object"==typeof arguments[0]&&arguments[0].constructor==={}.constructor?t.extend(!0,n,arguments[0]):t.extend(!0,n,{message:arguments[0],callback:"undefined"!=typeof arguments[1]?arguments[1]:null}),null===e.btnOKClass&&(e.btnOKClass=["btn",e.type.split("-")[1]].join("-"));var i=new o(e);return i.setData("callback",e.callback),i.addButton({label:e.btnCancelLabel,cssClass:e.btnCancelClass,action:function(t){return("function"!=typeof t.getData("callback")||t.getData("callback").call(this,!1)!==!1)&&t.close()}}),i.addButton({label:e.btnOKLabel,cssClass:e.btnOKClass,action:function(t){return("function"!=typeof t.getData("callback")||t.getData("callback").call(this,!0)!==!1)&&t.close()}}),i.open()},o.warning=function(t,e){return new o({type:o.TYPE_WARNING,message:t}).open()},o.danger=function(t,e){return new o({type:o.TYPE_DANGER,message:t}).open()},o.success=function(t,e){return new o({type:o.TYPE_SUCCESS,message:t}).open()},o}); \ No newline at end of file diff --git a/public_html/lib/bootstrap4-dialog/css/bootstrap-dialog.css b/public_html/lib/bootstrap4-dialog/css/bootstrap-dialog.css deleted file mode 100644 index 5e80cf3..0000000 --- a/public_html/lib/bootstrap4-dialog/css/bootstrap-dialog.css +++ /dev/null @@ -1,111 +0,0 @@ -.bootstrap-dialog { - /* dialog types */ - /** - * Icon animation - * Copied from font-awesome: http://fontawesome.io/ - **/ - /** End of icon animation **/ -} -.bootstrap-dialog .modal-header { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} -.bootstrap-dialog .bootstrap-dialog-title { - color: #fff; - display: inline-block; - font-size: 16px; -} -.bootstrap-dialog .bootstrap-dialog-message { - font-size: 14px; -} -.bootstrap-dialog .bootstrap-dialog-button-icon { - margin-right: 3px; -} -.bootstrap-dialog .bootstrap-dialog-close-button { - font-size: 20px; - float: right; - opacity: 0.9; - filter: alpha(opacity=90); -} -.bootstrap-dialog .bootstrap-dialog-close-button:hover { - cursor: pointer; - opacity: 1; - filter: alpha(opacity=100); -} -.bootstrap-dialog.type-default .modal-header { - background-color: #fff; -} -.bootstrap-dialog.type-default .bootstrap-dialog-title { - color: #333; -} -.bootstrap-dialog.type-info .modal-header { - background-color: #5bc0de; -} -.bootstrap-dialog.type-primary .modal-header { - background-color: #337ab7; -} -.bootstrap-dialog.type-success .modal-header { - background-color: #5cb85c; -} -.bootstrap-dialog.type-warning .modal-header { - background-color: #f0ad4e; -} -.bootstrap-dialog.type-danger .modal-header { - background-color: #d9534f; -} -.bootstrap-dialog.size-large .bootstrap-dialog-title { - font-size: 24px; -} -.bootstrap-dialog.size-large .bootstrap-dialog-close-button { - font-size: 30px; -} -.bootstrap-dialog.size-large .bootstrap-dialog-message { - font-size: 18px; -} -.bootstrap-dialog .icon-spin { - display: inline-block; - -moz-animation: spin 2s infinite linear; - -o-animation: spin 2s infinite linear; - -webkit-animation: spin 2s infinite linear; - animation: spin 2s infinite linear; -} -@-moz-keyframes spin { - 0% { - -moz-transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(359deg); - } -} -@-webkit-keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - } -} -@-o-keyframes spin { - 0% { - -o-transform: rotate(0deg); - } - 100% { - -o-transform: rotate(359deg); - } -} -@-ms-keyframes spin { - 0% { - -ms-transform: rotate(0deg); - } - 100% { - -ms-transform: rotate(359deg); - } -} -@keyframes spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(359deg); - } -} diff --git a/public_html/lib/bootstrap4-dialog/css/bootstrap-dialog.min.css b/public_html/lib/bootstrap4-dialog/css/bootstrap-dialog.min.css deleted file mode 100644 index c9000fc..0000000 --- a/public_html/lib/bootstrap4-dialog/css/bootstrap-dialog.min.css +++ /dev/null @@ -1 +0,0 @@ -.bootstrap-dialog .modal-header{border-top-left-radius:4px;border-top-right-radius:4px}.bootstrap-dialog .bootstrap-dialog-title{color:#fff;display:inline-block;font-size:16px}.bootstrap-dialog .bootstrap-dialog-message{font-size:14px}.bootstrap-dialog .bootstrap-dialog-button-icon{margin-right:3px}.bootstrap-dialog .bootstrap-dialog-close-button{font-size:20px;float:right;opacity:.9;filter:alpha(opacity=90)}.bootstrap-dialog .bootstrap-dialog-close-button:hover{cursor:pointer;opacity:1;filter:alpha(opacity=100)}.bootstrap-dialog.type-default .modal-header{background-color:#fff}.bootstrap-dialog.type-default .bootstrap-dialog-title{color:#333}.bootstrap-dialog.type-info .modal-header{background-color:#5bc0de}.bootstrap-dialog.type-primary .modal-header{background-color:#337ab7}.bootstrap-dialog.type-success .modal-header{background-color:#5cb85c}.bootstrap-dialog.type-warning .modal-header{background-color:#f0ad4e}.bootstrap-dialog.type-danger .modal-header{background-color:#d9534f}.bootstrap-dialog.size-large .bootstrap-dialog-title{font-size:24px}.bootstrap-dialog.size-large .bootstrap-dialog-close-button{font-size:30px}.bootstrap-dialog.size-large .bootstrap-dialog-message{font-size:18px}.bootstrap-dialog .icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} \ No newline at end of file diff --git a/public_html/lib/bootstrap4-dialog/js/bootstrap-dialog.js b/public_html/lib/bootstrap4-dialog/js/bootstrap-dialog.js deleted file mode 100644 index 608f0f7..0000000 --- a/public_html/lib/bootstrap4-dialog/js/bootstrap-dialog.js +++ /dev/null @@ -1,1389 +0,0 @@ -/* global define */ - -/* ================================================ - * Make use of Bootstrap's modal more monkey-friendly. - * - * For Bootstrap 3. - * - * javanoob@hotmail.com - * - * https://github.com/nakupanda/bootstrap3-dialog - * - * Licensed under The MIT License. - * ================================================ */ -(function (root, factory) { - - "use strict"; - - // CommonJS module is defined - if (typeof module !== 'undefined' && module.exports) { - module.exports = factory(require('jquery'), require('bootstrap')); - } - // AMD module is defined - else if (typeof define === "function" && define.amd) { - define("bootstrap-dialog", ["jquery", "bootstrap"], function ($) { - return factory($); - }); - } else { - // planted over the root! - root.BootstrapDialog = factory(root.jQuery); - } - -}(this, function ($) { - - "use strict"; - - /* ================================================ - * Definition of BootstrapDialogModal. - * Extend Bootstrap Modal and override some functions. - * BootstrapDialogModal === Modified Modal. - * ================================================ */ - var Modal = $.fn.modal.Constructor; - var BootstrapDialogModal = function(element, options) { - if (/4\.0\.\d+(-(alpha|beta|rc)\.\d+)?/.test($.fn.modal.Constructor.VERSION)) { - return new Modal(element, options); - } else { - Modal.call(this, element, options); - } - }; - BootstrapDialogModal.getModalVersion = function () { - var version = null; - if (typeof $.fn.modal.Constructor.VERSION === 'undefined') { - version = 'v3.1'; - } else if (/3\.2\.\d+/.test($.fn.modal.Constructor.VERSION)) { - version = 'v3.2'; - } else if (/3\.3\.[1,2]/.test($.fn.modal.Constructor.VERSION)) { - version = 'v3.3'; // v3.3.1, v3.3.2 - } else if (/4\.0\.\d+(-(alpha|beta|rc)\.\d+)?/.test($.fn.modal.Constructor.VERSION)) { - version = 'v4.0'; - } else { - version = 'v3.3.4'; - } - - return version; - }; - BootstrapDialogModal.ORIGINAL_BODY_PADDING = parseInt(($('body').css('padding-right') || 0), 10); - BootstrapDialogModal.METHODS_TO_OVERRIDE = {}; - BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.1'] = {}; - BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.2'] = { - hide: function (e) { - if (e) { - e.preventDefault(); - } - e = $.Event('hide.bs.modal'); - - this.$element.trigger(e); - - if (!this.isShown || e.isDefaultPrevented()) { - return; - } - - this.isShown = false; - - // Remove css class 'modal-open' when the last opened dialog is closing. - var openedDialogs = this.getGlobalOpenedDialogs(); - if (openedDialogs.length === 0) { - this.$body.removeClass('modal-open'); - } - - this.resetScrollbar(); - this.escape(); - - $(document).off('focusin.bs.modal'); - - this.$element - .removeClass('in') - .attr('aria-hidden', true) - .off('click.dismiss.bs.modal'); - - $.support.transition && this.$element.hasClass('fade') ? - this.$element - .one('bsTransitionEnd', $.proxy(this.hideModal, this)) - .emulateTransitionEnd(300) : - this.hideModal(); - } - }; - BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3'] = { - /** - * Overrided. - * - * @returns {undefined} - */ - setScrollbar: function () { - var bodyPad = BootstrapDialogModal.ORIGINAL_BODY_PADDING; - if (this.bodyIsOverflowing) { - this.$body.css('padding-right', bodyPad + this.scrollbarWidth); - } - }, - /** - * Overrided. - * - * @returns {undefined} - */ - resetScrollbar: function () { - var openedDialogs = this.getGlobalOpenedDialogs(); - if (openedDialogs.length === 0) { - this.$body.css('padding-right', BootstrapDialogModal.ORIGINAL_BODY_PADDING); - } - }, - /** - * Overrided. - * - * @returns {undefined} - */ - hideModal: function () { - this.$element.hide(); - this.backdrop($.proxy(function () { - var openedDialogs = this.getGlobalOpenedDialogs(); - if (openedDialogs.length === 0) { - this.$body.removeClass('modal-open'); - } - this.resetAdjustments(); - this.resetScrollbar(); - this.$element.trigger('hidden.bs.modal'); - }, this)); - } - }; - BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3.4'] = $.extend({}, BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3']); - BootstrapDialogModal.METHODS_TO_OVERRIDE['v4.0'] = $.extend({}, BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3']); - BootstrapDialogModal.prototype = { - constructor: BootstrapDialogModal, - /** - * New function, to get the dialogs that opened by BootstrapDialog. - * - * @returns {undefined} - */ - getGlobalOpenedDialogs: function () { - var openedDialogs = []; - $.each(BootstrapDialog.dialogs, function (id, dialogInstance) { - if (dialogInstance.isRealized() && dialogInstance.isOpened()) { - openedDialogs.push(dialogInstance); - } - }); - - return openedDialogs; - } - }; - - // Add compatible methods. - BootstrapDialogModal.prototype = $.extend(BootstrapDialogModal.prototype, Modal.prototype, BootstrapDialogModal.METHODS_TO_OVERRIDE[BootstrapDialogModal.getModalVersion()]); - - /* ================================================ - * Definition of BootstrapDialog. - * ================================================ */ - var BootstrapDialog = function (options) { - this.defaultOptions = $.extend(true, { - id: BootstrapDialog.newGuid(), - buttons: [], - data: {}, - onshow: null, - onshown: null, - onhide: null, - onhidden: null - }, BootstrapDialog.defaultOptions); - this.indexedButtons = {}; - this.registeredButtonHotkeys = {}; - this.draggableData = { - isMouseDown: false, - mouseOffset: {} - }; - this.realized = false; - this.opened = false; - this.initOptions(options); - this.holdThisInstance(); - }; - - BootstrapDialog.BootstrapDialogModal = BootstrapDialogModal; - - /** - * Some constants. - */ - BootstrapDialog.NAMESPACE = 'bootstrap-dialog'; - BootstrapDialog.TYPE_DEFAULT = 'type-default'; - BootstrapDialog.TYPE_INFO = 'type-info'; - BootstrapDialog.TYPE_PRIMARY = 'type-primary'; - BootstrapDialog.TYPE_SUCCESS = 'type-success'; - BootstrapDialog.TYPE_WARNING = 'type-warning'; - BootstrapDialog.TYPE_DANGER = 'type-danger'; - BootstrapDialog.DEFAULT_TEXTS = {}; - BootstrapDialog.DEFAULT_TEXTS[BootstrapDialog.TYPE_DEFAULT] = 'Information'; - BootstrapDialog.DEFAULT_TEXTS[BootstrapDialog.TYPE_INFO] = 'Information'; - BootstrapDialog.DEFAULT_TEXTS[BootstrapDialog.TYPE_PRIMARY] = 'Information'; - BootstrapDialog.DEFAULT_TEXTS[BootstrapDialog.TYPE_SUCCESS] = 'Success'; - BootstrapDialog.DEFAULT_TEXTS[BootstrapDialog.TYPE_WARNING] = 'Warning'; - BootstrapDialog.DEFAULT_TEXTS[BootstrapDialog.TYPE_DANGER] = 'Danger'; - BootstrapDialog.DEFAULT_TEXTS['OK'] = 'OK'; - BootstrapDialog.DEFAULT_TEXTS['CANCEL'] = 'Cancel'; - BootstrapDialog.DEFAULT_TEXTS['CONFIRM'] = 'Confirmation'; - BootstrapDialog.SIZE_NORMAL = 'size-normal'; - BootstrapDialog.SIZE_SMALL = 'size-small'; - BootstrapDialog.SIZE_WIDE = 'size-wide'; // size-wide is equal to modal-lg - BootstrapDialog.SIZE_LARGE = 'size-large'; - BootstrapDialog.BUTTON_SIZES = {}; - BootstrapDialog.BUTTON_SIZES[BootstrapDialog.SIZE_NORMAL] = ''; - BootstrapDialog.BUTTON_SIZES[BootstrapDialog.SIZE_SMALL] = ''; - BootstrapDialog.BUTTON_SIZES[BootstrapDialog.SIZE_WIDE] = ''; - BootstrapDialog.BUTTON_SIZES[BootstrapDialog.SIZE_LARGE] = 'btn-lg'; - BootstrapDialog.ICON_SPINNER = 'glyphicon glyphicon-asterisk'; - - /** - * Default options. - */ - BootstrapDialog.defaultOptions = { - type: BootstrapDialog.TYPE_PRIMARY, - size: BootstrapDialog.SIZE_NORMAL, - cssClass: '', - title: null, - message: null, - nl2br: true, - closable: true, - closeByBackdrop: true, - closeByKeyboard: true, - closeIcon: '×', - spinicon: BootstrapDialog.ICON_SPINNER, - autodestroy: true, - draggable: false, - animate: true, - description: '', - tabindex: -1 - }; - - /** - * Config default options. - */ - BootstrapDialog.configDefaultOptions = function (options) { - BootstrapDialog.defaultOptions = $.extend(true, BootstrapDialog.defaultOptions, options); - }; - - /** - * Open / Close all created dialogs all at once. - */ - BootstrapDialog.dialogs = {}; - BootstrapDialog.openAll = function () { - $.each(BootstrapDialog.dialogs, function (id, dialogInstance) { - dialogInstance.open(); - }); - }; - BootstrapDialog.closeAll = function () { - $.each(BootstrapDialog.dialogs, function (id, dialogInstance) { - dialogInstance.close(); - }); - }; - - /** - * Get dialog instance by given id. - * - * @returns dialog instance - */ - BootstrapDialog.getDialog = function (id) { - var dialog = null; - if (typeof BootstrapDialog.dialogs[id] !== 'undefined') { - dialog = BootstrapDialog.dialogs[id]; - } - - return dialog; - }; - - /** - * Set a dialog. - * - * @returns the dialog that has just been set. - */ - BootstrapDialog.setDialog = function (dialog) { - BootstrapDialog.dialogs[dialog.getId()] = dialog; - - return dialog; - }; - - /** - * Alias of BootstrapDialog.setDialog(dialog) - * - * @param {type} dialog - * @returns {unresolved} - */ - BootstrapDialog.addDialog = function (dialog) { - return BootstrapDialog.setDialog(dialog); - }; - - /** - * Move focus to next visible dialog. - */ - BootstrapDialog.moveFocus = function () { - var lastDialogInstance = null; - $.each(BootstrapDialog.dialogs, function (id, dialogInstance) { - if (dialogInstance.isRealized() && dialogInstance.isOpened()) { - lastDialogInstance = dialogInstance; - } - }); - if (lastDialogInstance !== null) { - lastDialogInstance.getModal().focus(); - } - }; - - BootstrapDialog.METHODS_TO_OVERRIDE = {}; - BootstrapDialog.METHODS_TO_OVERRIDE['v3.1'] = { - handleModalBackdropEvent: function () { - this.getModal().on('click', {dialog: this}, function (event) { - event.target === this && event.data.dialog.isClosable() && event.data.dialog.canCloseByBackdrop() && event.data.dialog.close(); - }); - - return this; - }, - /** - * To make multiple opened dialogs look better. - * - * Will be removed in later version, after Bootstrap Modal >= 3.3.0, updating z-index is unnecessary. - */ - updateZIndex: function () { - if (this.isOpened()) { - var zIndexBackdrop = 1040; - var zIndexModal = 1050; - var dialogCount = 0; - $.each(BootstrapDialog.dialogs, function (dialogId, dialogInstance) { - if (dialogInstance.isRealized() && dialogInstance.isOpened()) { - dialogCount++; - } - }); - var $modal = this.getModal(); - var $backdrop = this.getModalBackdrop($modal); - $modal.css('z-index', zIndexModal + (dialogCount - 1) * 20); - $backdrop.css('z-index', zIndexBackdrop + (dialogCount - 1) * 20); - } - - return this; - }, - open: function () { - !this.isRealized() && this.realize(); - this.getModal().modal('show'); - this.updateZIndex(); - - return this; - } - }; - BootstrapDialog.METHODS_TO_OVERRIDE['v3.2'] = { - handleModalBackdropEvent: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['handleModalBackdropEvent'], - updateZIndex: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['updateZIndex'], - open: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['open'] - }; - BootstrapDialog.METHODS_TO_OVERRIDE['v3.3'] = {}; - BootstrapDialog.METHODS_TO_OVERRIDE['v3.3.4'] = $.extend({}, BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']); - BootstrapDialog.METHODS_TO_OVERRIDE['v4.0'] = { - getModalBackdrop: function ($modal) { - return $($modal.data('bs.modal')._backdrop); - }, - handleModalBackdropEvent: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['handleModalBackdropEvent'], - updateZIndex: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['updateZIndex'], - open: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['open'], - getModalForBootstrapDialogModal : function () { - return this.getModal().get(0); - } - }; - BootstrapDialog.prototype = { - constructor: BootstrapDialog, - initOptions: function (options) { - this.options = $.extend(true, this.defaultOptions, options); - - return this; - }, - holdThisInstance: function () { - BootstrapDialog.addDialog(this); - - return this; - }, - initModalStuff: function () { - this.setModal(this.createModal()) - .setModalDialog(this.createModalDialog()) - .setModalContent(this.createModalContent()) - .setModalHeader(this.createModalHeader()) - .setModalBody(this.createModalBody()) - .setModalFooter(this.createModalFooter()); - - this.getModal().append(this.getModalDialog()); - this.getModalDialog().append(this.getModalContent()); - this.getModalContent() - .append(this.getModalHeader()) - .append(this.getModalBody()) - .append(this.getModalFooter()); - - return this; - }, - createModal: function () { - var $modal = $(''); - $modal.prop('id', this.getId()); - $modal.attr('aria-labelledby', this.getId() + '_title'); - - return $modal; - }, - getModal: function () { - return this.$modal; - }, - setModal: function ($modal) { - this.$modal = $modal; - - return this; - }, - getModalBackdrop: function ($modal) { - return $modal.data('bs.modal').$backdrop; - }, - getModalForBootstrapDialogModal: function () { - return this.getModal(); - }, - createModalDialog: function () { - return $(''); - }, - getModalDialog: function () { - return this.$modalDialog; - }, - setModalDialog: function ($modalDialog) { - this.$modalDialog = $modalDialog; - - return this; - }, - createModalContent: function () { - return $(''); - }, - getModalContent: function () { - return this.$modalContent; - }, - setModalContent: function ($modalContent) { - this.$modalContent = $modalContent; - - return this; - }, - createModalHeader: function () { - return $(''); - }, - getModalHeader: function () { - return this.$modalHeader; - }, - setModalHeader: function ($modalHeader) { - this.$modalHeader = $modalHeader; - - return this; - }, - createModalBody: function () { - return $(''); - }, - getModalBody: function () { - return this.$modalBody; - }, - setModalBody: function ($modalBody) { - this.$modalBody = $modalBody; - - return this; - }, - createModalFooter: function () { - return $(''); - }, - getModalFooter: function () { - return this.$modalFooter; - }, - setModalFooter: function ($modalFooter) { - this.$modalFooter = $modalFooter; - - return this; - }, - createDynamicContent: function (rawContent) { - var content = null; - if (typeof rawContent === 'function') { - content = rawContent.call(rawContent, this); - } else { - content = rawContent; - } - if (typeof content === 'string') { - content = this.formatStringContent(content); - } - - return content; - }, - formatStringContent: function (content) { - if (this.options.nl2br) { - return content.replace(/\r\n/g, '
').replace(/[\r\n]/g, '
'); - } - - return content; - }, - setData: function (key, value) { - this.options.data[key] = value; - - return this; - }, - getData: function (key) { - return this.options.data[key]; - }, - setId: function (id) { - this.options.id = id; - - return this; - }, - getId: function () { - return this.options.id; - }, - getType: function () { - return this.options.type; - }, - setType: function (type) { - this.options.type = type; - this.updateType(); - - return this; - }, - updateType: function () { - if (this.isRealized()) { - var types = [BootstrapDialog.TYPE_DEFAULT, - BootstrapDialog.TYPE_INFO, - BootstrapDialog.TYPE_PRIMARY, - BootstrapDialog.TYPE_SUCCESS, - BootstrapDialog.TYPE_WARNING, - BootstrapDialog.TYPE_DANGER]; - - this.getModal().removeClass(types.join(' ')).addClass(this.getType()); - } - - return this; - }, - getSize: function () { - return this.options.size; - }, - setSize: function (size) { - this.options.size = size; - this.updateSize(); - - return this; - }, - updateSize: function () { - if (this.isRealized()) { - var dialog = this; - - // Dialog size - this.getModal().removeClass(BootstrapDialog.SIZE_NORMAL) - .removeClass(BootstrapDialog.SIZE_SMALL) - .removeClass(BootstrapDialog.SIZE_WIDE) - .removeClass(BootstrapDialog.SIZE_LARGE); - this.getModal().addClass(this.getSize()); - - // Smaller dialog. - this.getModalDialog().removeClass('modal-sm'); - if (this.getSize() === BootstrapDialog.SIZE_SMALL) { - this.getModalDialog().addClass('modal-sm'); - } - - // Wider dialog. - this.getModalDialog().removeClass('modal-lg'); - if (this.getSize() === BootstrapDialog.SIZE_WIDE) { - this.getModalDialog().addClass('modal-lg'); - } - - // Button size - $.each(this.options.buttons, function (index, button) { - var $button = dialog.getButton(button.id); - var buttonSizes = ['btn-lg', 'btn-sm', 'btn-xs']; - var sizeClassSpecified = false; - if (typeof button['cssClass'] === 'string') { - var btnClasses = button['cssClass'].split(' '); - $.each(btnClasses, function (index, btnClass) { - if ($.inArray(btnClass, buttonSizes) !== -1) { - sizeClassSpecified = true; - } - }); - } - if (!sizeClassSpecified) { - $button.removeClass(buttonSizes.join(' ')); - $button.addClass(dialog.getButtonSize()); - } - }); - } - - return this; - }, - getCssClass: function () { - return this.options.cssClass; - }, - setCssClass: function (cssClass) { - this.options.cssClass = cssClass; - - return this; - }, - getTitle: function () { - return this.options.title; - }, - setTitle: function (title) { - this.options.title = title; - this.updateTitle(); - - return this; - }, - updateTitle: function () { - if (this.isRealized()) { - var title = this.getTitle() !== null ? this.createDynamicContent(this.getTitle()) : this.getDefaultText(); - this.getModalHeader().find('.' + this.getNamespace('title')).html('').append(title).prop('id', this.getId() + '_title'); - } - - return this; - }, - getMessage: function () { - return this.options.message; - }, - setMessage: function (message) { - this.options.message = message; - this.updateMessage(); - - return this; - }, - updateMessage: function () { - if (this.isRealized()) { - var message = this.createDynamicContent(this.getMessage()); - this.getModalBody().find('.' + this.getNamespace('message')).html('').append(message); - } - - return this; - }, - isClosable: function () { - return this.options.closable; - }, - setClosable: function (closable) { - this.options.closable = closable; - this.updateClosable(); - - return this; - }, - setCloseByBackdrop: function (closeByBackdrop) { - this.options.closeByBackdrop = closeByBackdrop; - - return this; - }, - canCloseByBackdrop: function () { - return this.options.closeByBackdrop; - }, - setCloseByKeyboard: function (closeByKeyboard) { - this.options.closeByKeyboard = closeByKeyboard; - - return this; - }, - canCloseByKeyboard: function () { - return this.options.closeByKeyboard; - }, - isAnimate: function () { - return this.options.animate; - }, - setAnimate: function (animate) { - this.options.animate = animate; - - return this; - }, - updateAnimate: function () { - if (this.isRealized()) { - this.getModal().toggleClass('fade', this.isAnimate()); - } - - return this; - }, - getSpinicon: function () { - return this.options.spinicon; - }, - setSpinicon: function (spinicon) { - this.options.spinicon = spinicon; - - return this; - }, - addButton: function (button) { - this.options.buttons.push(button); - - return this; - }, - addButtons: function (buttons) { - var that = this; - $.each(buttons, function (index, button) { - that.addButton(button); - }); - - return this; - }, - getButtons: function () { - return this.options.buttons; - }, - setButtons: function (buttons) { - this.options.buttons = buttons; - this.updateButtons(); - - return this; - }, - /** - * If there is id provided for a button option, it will be in dialog.indexedButtons list. - * - * In that case you can use dialog.getButton(id) to find the button. - * - * @param {type} id - * @returns {undefined} - */ - getButton: function (id) { - if (typeof this.indexedButtons[id] !== 'undefined') { - return this.indexedButtons[id]; - } - - return null; - }, - getButtonSize: function () { - if (typeof BootstrapDialog.BUTTON_SIZES[this.getSize()] !== 'undefined') { - return BootstrapDialog.BUTTON_SIZES[this.getSize()]; - } - - return ''; - }, - updateButtons: function () { - if (this.isRealized()) { - if (this.getButtons().length === 0) { - this.getModalFooter().hide(); - } else { - this.getModalFooter().show().find('.' + this.getNamespace('footer')).html('').append(this.createFooterButtons()); - } - } - - return this; - }, - isAutodestroy: function () { - return this.options.autodestroy; - }, - setAutodestroy: function (autodestroy) { - this.options.autodestroy = autodestroy; - }, - getDescription: function () { - return this.options.description; - }, - setDescription: function (description) { - this.options.description = description; - - return this; - }, - setTabindex: function (tabindex) { - this.options.tabindex = tabindex; - - return this; - }, - getTabindex: function () { - return this.options.tabindex; - }, - updateTabindex: function () { - if (this.isRealized()) { - this.getModal().attr('tabindex', this.getTabindex()); - } - - return this; - }, - getDefaultText: function () { - return BootstrapDialog.DEFAULT_TEXTS[this.getType()]; - }, - getNamespace: function (name) { - return BootstrapDialog.NAMESPACE + '-' + name; - }, - createHeaderContent: function () { - var $container = $('
'); - $container.addClass(this.getNamespace('header')); - - // title - $container.append(this.createTitleContent()); - - // Close button - $container.prepend(this.createCloseButton()); - - return $container; - }, - createTitleContent: function () { - var $title = $('
'); - $title.addClass(this.getNamespace('title')); - - return $title; - }, - createCloseButton: function () { - var $container = $('
'); - $container.addClass(this.getNamespace('close-button')); - var $icon = $(''); - $icon.append(this.options.closeIcon); - $container.append($icon); - $container.on('click', {dialog: this}, function (event) { - event.data.dialog.close(); - }); - - return $container; - }, - createBodyContent: function () { - var $container = $('
'); - $container.addClass(this.getNamespace('body')); - - // Message - $container.append(this.createMessageContent()); - - return $container; - }, - createMessageContent: function () { - var $message = $('
'); - $message.addClass(this.getNamespace('message')); - - return $message; - }, - createFooterContent: function () { - var $container = $('
'); - $container.addClass(this.getNamespace('footer')); - - return $container; - }, - createFooterButtons: function () { - var that = this; - var $container = $('
'); - $container.addClass(this.getNamespace('footer-buttons')); - this.indexedButtons = {}; - $.each(this.options.buttons, function (index, button) { - if (!button.id) { - button.id = BootstrapDialog.newGuid(); - } - var $button = that.createButton(button); - that.indexedButtons[button.id] = $button; - $container.append($button); - }); - - return $container; - }, - createButton: function (button) { - var $button = $(''); - $button.prop('id', button.id); - $button.data('button', button); - - // Icon - if (typeof button.icon !== 'undefined' && $.trim(button.icon) !== '') { - $button.append(this.createButtonIcon(button.icon)); - } - - // Label - if (typeof button.label !== 'undefined') { - $button.append(button.label); - } - - // Css class - if (typeof button.cssClass !== 'undefined' && $.trim(button.cssClass) !== '') { - $button.addClass(button.cssClass); - } else { - $button.addClass('btn-default'); - } - - // Hotkey - if (typeof button.hotkey !== 'undefined') { - this.registeredButtonHotkeys[button.hotkey] = $button; - } - - // Button on click - $button.on('click', {dialog: this, $button: $button, button: button}, function (event) { - var dialog = event.data.dialog; - var $button = event.data.$button; - var button = $button.data('button'); - if (button.autospin) { - $button.toggleSpin(true); - } - if (typeof button.action === 'function') { - return button.action.call($button, dialog, event); - } - }); - - // Dynamically add extra functions to $button - this.enhanceButton($button); - - //Initialize enabled or not - if (typeof button.enabled !== 'undefined') { - $button.toggleEnable(button.enabled); - } - - return $button; - }, - /** - * Dynamically add extra functions to $button - * - * Using '$this' to reference 'this' is just for better readability. - * - * @param {type} $button - * @returns {_L13.BootstrapDialog.prototype} - */ - enhanceButton: function ($button) { - $button.dialog = this; - - // Enable / Disable - $button.toggleEnable = function (enable) { - var $this = this; - if (typeof enable !== 'undefined') { - $this.prop("disabled", !enable).toggleClass('disabled', !enable); - } else { - $this.prop("disabled", !$this.prop("disabled")); - } - - return $this; - }; - $button.enable = function () { - var $this = this; - $this.toggleEnable(true); - - return $this; - }; - $button.disable = function () { - var $this = this; - $this.toggleEnable(false); - - return $this; - }; - - // Icon spinning, helpful for indicating ajax loading status. - $button.toggleSpin = function (spin) { - var $this = this; - var dialog = $this.dialog; - var $icon = $this.find('.' + dialog.getNamespace('button-icon')); - if (typeof spin === 'undefined') { - spin = !($button.find('.icon-spin').length > 0); - } - if (spin) { - $icon.hide(); - $button.prepend(dialog.createButtonIcon(dialog.getSpinicon()).addClass('icon-spin')); - } else { - $icon.show(); - $button.find('.icon-spin').remove(); - } - - return $this; - }; - $button.spin = function () { - var $this = this; - $this.toggleSpin(true); - - return $this; - }; - $button.stopSpin = function () { - var $this = this; - $this.toggleSpin(false); - - return $this; - }; - - return this; - }, - createButtonIcon: function (icon) { - var $icon = $(''); - $icon.addClass(this.getNamespace('button-icon')).addClass(icon); - - return $icon; - }, - /** - * Invoke this only after the dialog is realized. - * - * @param {type} enable - * @returns {undefined} - */ - enableButtons: function (enable) { - $.each(this.indexedButtons, function (id, $button) { - $button.toggleEnable(enable); - }); - - return this; - }, - /** - * Invoke this only after the dialog is realized. - * - * @returns {undefined} - */ - updateClosable: function () { - if (this.isRealized()) { - // Close button - this.getModalHeader().find('.' + this.getNamespace('close-button')).toggle(this.isClosable()); - } - - return this; - }, - /** - * Set handler for modal event 'show.bs.modal'. - * This is a setter! - */ - onShow: function (onshow) { - this.options.onshow = onshow; - - return this; - }, - /** - * Set handler for modal event 'shown.bs.modal'. - * This is a setter! - */ - onShown: function (onshown) { - this.options.onshown = onshown; - - return this; - }, - /** - * Set handler for modal event 'hide.bs.modal'. - * This is a setter! - */ - onHide: function (onhide) { - this.options.onhide = onhide; - - return this; - }, - /** - * Set handler for modal event 'hidden.bs.modal'. - * This is a setter! - */ - onHidden: function (onhidden) { - this.options.onhidden = onhidden; - - return this; - }, - isRealized: function () { - return this.realized; - }, - setRealized: function (realized) { - this.realized = realized; - - return this; - }, - isOpened: function () { - return this.opened; - }, - setOpened: function (opened) { - this.opened = opened; - - return this; - }, - handleModalEvents: function () { - this.getModal().on('show.bs.modal', {dialog: this}, function (event) { - var dialog = event.data.dialog; - dialog.setOpened(true); - if (dialog.isModalEvent(event) && typeof dialog.options.onshow === 'function') { - var openIt = dialog.options.onshow(dialog); - if (openIt === false) { - dialog.setOpened(false); - } - - return openIt; - } - }); - this.getModal().on('shown.bs.modal', {dialog: this}, function (event) { - var dialog = event.data.dialog; - dialog.isModalEvent(event) && typeof dialog.options.onshown === 'function' && dialog.options.onshown(dialog); - }); - this.getModal().on('hide.bs.modal', {dialog: this}, function (event) { - var dialog = event.data.dialog; - dialog.setOpened(false); - if (dialog.isModalEvent(event) && typeof dialog.options.onhide === 'function') { - var hideIt = dialog.options.onhide(dialog); - if (hideIt === false) { - dialog.setOpened(true); - } - - return hideIt; - } - }); - this.getModal().on('hidden.bs.modal', {dialog: this}, function (event) { - var dialog = event.data.dialog; - dialog.isModalEvent(event) && typeof dialog.options.onhidden === 'function' && dialog.options.onhidden(dialog); - if (dialog.isAutodestroy()) { - dialog.setRealized(false); - delete BootstrapDialog.dialogs[dialog.getId()]; - $(this).remove(); - } - BootstrapDialog.moveFocus(); - }); - - // Backdrop, I did't find a way to change bs3 backdrop option after the dialog is popped up, so here's a new wheel. - this.handleModalBackdropEvent(); - - // ESC key support - this.getModal().on('keyup', {dialog: this}, function (event) { - event.which === 27 && event.data.dialog.isClosable() && event.data.dialog.canCloseByKeyboard() && event.data.dialog.close(); - }); - - // Button hotkey - this.getModal().on('keyup', {dialog: this}, function (event) { - var dialog = event.data.dialog; - if (typeof dialog.registeredButtonHotkeys[event.which] !== 'undefined') { - var $button = $(dialog.registeredButtonHotkeys[event.which]); - !$button.prop('disabled') && $button.focus().trigger('click'); - } - }); - - return this; - }, - handleModalBackdropEvent: function () { - this.getModal().on('click', {dialog: this}, function (event) { - $(event.target).hasClass('modal-backdrop') && event.data.dialog.isClosable() && event.data.dialog.canCloseByBackdrop() && event.data.dialog.close(); - }); - - return this; - }, - isModalEvent: function (event) { - return typeof event.namespace !== 'undefined' && event.namespace === 'bs.modal'; - }, - makeModalDraggable: function () { - if (this.options.draggable) { - this.getModalHeader().addClass(this.getNamespace('draggable')).on('mousedown', {dialog: this}, function (event) { - var dialog = event.data.dialog; - dialog.draggableData.isMouseDown = true; - var dialogOffset = dialog.getModalDialog().offset(); - dialog.draggableData.mouseOffset = { - top: event.clientY - dialogOffset.top, - left: event.clientX - dialogOffset.left - }; - }); - this.getModal().on('mouseup mouseleave', {dialog: this}, function (event) { - event.data.dialog.draggableData.isMouseDown = false; - }); - $('body').on('mousemove', {dialog: this}, function (event) { - var dialog = event.data.dialog; - if (!dialog.draggableData.isMouseDown) { - return; - } - dialog.getModalDialog().offset({ - top: event.clientY - dialog.draggableData.mouseOffset.top, - left: event.clientX - dialog.draggableData.mouseOffset.left - }); - }); - } - - return this; - }, - realize: function () { - this.initModalStuff(); - this.getModal().addClass(BootstrapDialog.NAMESPACE) - .addClass(this.getCssClass()); - this.updateSize(); - if (this.getDescription()) { - this.getModal().attr('aria-describedby', this.getDescription()); - } - this.getModalFooter().append(this.createFooterContent()); - this.getModalHeader().append(this.createHeaderContent()); - this.getModalBody().append(this.createBodyContent()); - this.getModal().data('bs.modal', new BootstrapDialogModal(this.getModalForBootstrapDialogModal(), { - backdrop: 'static', - keyboard: false, - show: false - })); - this.makeModalDraggable(); - this.handleModalEvents(); - this.setRealized(true); - this.updateButtons(); - this.updateType(); - this.updateTitle(); - this.updateMessage(); - this.updateClosable(); - this.updateAnimate(); - this.updateSize(); - this.updateTabindex(); - - return this; - }, - open: function () { - !this.isRealized() && this.realize(); - this.getModal().modal('show'); - - return this; - }, - close: function () { - !this.isRealized() && this.realize(); - this.getModal().modal('hide'); - - return this; - } - }; - - // Add compatible methods. - BootstrapDialog.prototype = $.extend(BootstrapDialog.prototype, BootstrapDialog.METHODS_TO_OVERRIDE[BootstrapDialogModal.getModalVersion()]); - - /** - * RFC4122 version 4 compliant unique id creator. - * - * Added by https://github.com/tufanbarisyildirim/ - * - * @returns {String} - */ - BootstrapDialog.newGuid = function () { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8); - return v.toString(16); - }); - }; - - /* ================================================ - * For lazy people - * ================================================ */ - - /** - * Shortcut function: show - * - * @param {type} options - * @returns the created dialog instance - */ - BootstrapDialog.show = function (options) { - return new BootstrapDialog(options).open(); - }; - - /** - * Alert window - * - * @returns the created dialog instance - */ - BootstrapDialog.alert = function () { - var alertOptions = {}; - var defaultAlertOptions = { - type: BootstrapDialog.TYPE_PRIMARY, - title: null, - message: null, - closable: false, - draggable: false, - buttonLabel: BootstrapDialog.DEFAULT_TEXTS.OK, - callback: null - }; - - if (typeof arguments[0] === 'object' && arguments[0].constructor === {}.constructor) { - alertOptions = $.extend(true, defaultAlertOptions, arguments[0]); - } else { - alertOptions = $.extend(true, defaultAlertOptions, { - message: arguments[0], - callback: typeof arguments[1] !== 'undefined' ? arguments[1] : null - }); - } - - var dialog = new BootstrapDialog(alertOptions); - dialog.setData('callback', alertOptions.callback); - dialog.addButton({ - label: alertOptions.buttonLabel, - action: function (dialog) { - if (typeof dialog.getData('callback') === 'function' && dialog.getData('callback').call(this, true) === false) { - return false; - } - dialog.setData('btnClicked', true); - - return dialog.close(); - } - }); - if (typeof dialog.options.onhide === 'function') { - dialog.onHide(function (dialog) { - var hideIt = true; - if (!dialog.getData('btnClicked') && dialog.isClosable() && typeof dialog.getData('callback') === 'function') { - hideIt = dialog.getData('callback')(false); - } - if (hideIt === false) { - return false; - } - hideIt = this.onhide(dialog); - - return hideIt; - }.bind({ - onhide: dialog.options.onhide - })); - } else { - dialog.onHide(function (dialog) { - var hideIt = true; - if (!dialog.getData('btnClicked') && dialog.isClosable() && typeof dialog.getData('callback') === 'function') { - hideIt = dialog.getData('callback')(false); - } - - return hideIt; - }); - } - - return dialog.open(); - }; - - /** - * Confirm window - * - * @returns the created dialog instance - */ - BootstrapDialog.confirm = function () { - var confirmOptions = {}; - var defaultConfirmOptions = { - type: BootstrapDialog.TYPE_PRIMARY, - title: null, - message: null, - closable: false, - draggable: false, - btnCancelLabel: BootstrapDialog.DEFAULT_TEXTS.CANCEL, - btnCancelClass: null, - btnOKLabel: BootstrapDialog.DEFAULT_TEXTS.OK, - btnOKClass: null, - callback: null - }; - if (typeof arguments[0] === 'object' && arguments[0].constructor === {}.constructor) { - confirmOptions = $.extend(true, defaultConfirmOptions, arguments[0]); - } else { - confirmOptions = $.extend(true, defaultConfirmOptions, { - message: arguments[0], - callback: typeof arguments[1] !== 'undefined' ? arguments[1] : null - }); - } - if (confirmOptions.btnOKClass === null) { - confirmOptions.btnOKClass = ['btn', confirmOptions.type.split('-')[1]].join('-'); - } - - var dialog = new BootstrapDialog(confirmOptions); - dialog.setData('callback', confirmOptions.callback); - dialog.addButton({ - label: confirmOptions.btnCancelLabel, - cssClass: confirmOptions.btnCancelClass, - action: function (dialog) { - if (typeof dialog.getData('callback') === 'function' && dialog.getData('callback').call(this, false) === false) { - return false; - } - - return dialog.close(); - } - }); - dialog.addButton({ - label: confirmOptions.btnOKLabel, - cssClass: confirmOptions.btnOKClass, - action: function (dialog) { - if (typeof dialog.getData('callback') === 'function' && dialog.getData('callback').call(this, true) === false) { - return false; - } - - return dialog.close(); - } - }); - - return dialog.open(); - - }; - - /** - * Warning window - * - * @param {type} message - * @returns the created dialog instance - */ - BootstrapDialog.warning = function (message, callback) { - return new BootstrapDialog({ - type: BootstrapDialog.TYPE_WARNING, - message: message - }).open(); - }; - - /** - * Danger window - * - * @param {type} message - * @returns the created dialog instance - */ - BootstrapDialog.danger = function (message, callback) { - return new BootstrapDialog({ - type: BootstrapDialog.TYPE_DANGER, - message: message - }).open(); - }; - - /** - * Success window - * - * @param {type} message - * @returns the created dialog instance - */ - BootstrapDialog.success = function (message, callback) { - return new BootstrapDialog({ - type: BootstrapDialog.TYPE_SUCCESS, - message: message - }).open(); - }; - - return BootstrapDialog; - -})); diff --git a/public_html/lib/bootstrap4-dialog/js/bootstrap-dialog.min.js b/public_html/lib/bootstrap4-dialog/js/bootstrap-dialog.min.js deleted file mode 100644 index 6d004c6..0000000 --- a/public_html/lib/bootstrap4-dialog/js/bootstrap-dialog.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(t,e){"use strict";"undefined"!=typeof module&&module.exports?module.exports=e(require("jquery"),require("bootstrap")):"function"==typeof define&&define.amd?define("bootstrap-dialog",["jquery","bootstrap"],function(t){return e(t)}):t.BootstrapDialog=e(t.jQuery)}(this,function(t){"use strict";var e=t.fn.modal.Constructor,n=function(n,o){return/4\.0\.\d+(-(alpha|beta|rc)\.\d+)?/.test(t.fn.modal.Constructor.VERSION)?new e(n,o):void e.call(this,n,o)};n.getModalVersion=function(){var e=null;return e="undefined"==typeof t.fn.modal.Constructor.VERSION?"v3.1":/3\.2\.\d+/.test(t.fn.modal.Constructor.VERSION)?"v3.2":/3\.3\.[1,2]/.test(t.fn.modal.Constructor.VERSION)?"v3.3":/4\.0\.\d+(-(alpha|beta|rc)\.\d+)?/.test(t.fn.modal.Constructor.VERSION)?"v4.0":"v3.3.4"},n.ORIGINAL_BODY_PADDING=parseInt(t("body").css("padding-right")||0,10),n.METHODS_TO_OVERRIDE={},n.METHODS_TO_OVERRIDE["v3.1"]={},n.METHODS_TO_OVERRIDE["v3.2"]={hide:function(e){if(e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()){this.isShown=!1;var n=this.getGlobalOpenedDialogs();0===n.length&&this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal()}}},n.METHODS_TO_OVERRIDE["v3.3"]={setScrollbar:function(){var t=n.ORIGINAL_BODY_PADDING;this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},resetScrollbar:function(){var t=this.getGlobalOpenedDialogs();0===t.length&&this.$body.css("padding-right",n.ORIGINAL_BODY_PADDING)},hideModal:function(){this.$element.hide(),this.backdrop(t.proxy(function(){var t=this.getGlobalOpenedDialogs();0===t.length&&this.$body.removeClass("modal-open"),this.resetAdjustments(),this.resetScrollbar(),this.$element.trigger("hidden.bs.modal")},this))}},n.METHODS_TO_OVERRIDE["v3.3.4"]=t.extend({},n.METHODS_TO_OVERRIDE["v3.3"]),n.METHODS_TO_OVERRIDE["v4.0"]=t.extend({},n.METHODS_TO_OVERRIDE["v3.3"]),n.prototype={constructor:n,getGlobalOpenedDialogs:function(){var e=[];return t.each(o.dialogs,function(t,n){n.isRealized()&&n.isOpened()&&e.push(n)}),e}},n.prototype=t.extend(n.prototype,e.prototype,n.METHODS_TO_OVERRIDE[n.getModalVersion()]);var o=function(e){this.defaultOptions=t.extend(!0,{id:o.newGuid(),buttons:[],data:{},onshow:null,onshown:null,onhide:null,onhidden:null},o.defaultOptions),this.indexedButtons={},this.registeredButtonHotkeys={},this.draggableData={isMouseDown:!1,mouseOffset:{}},this.realized=!1,this.opened=!1,this.initOptions(e),this.holdThisInstance()};return o.BootstrapDialogModal=n,o.NAMESPACE="bootstrap-dialog",o.TYPE_DEFAULT="type-default",o.TYPE_INFO="type-info",o.TYPE_PRIMARY="type-primary",o.TYPE_SUCCESS="type-success",o.TYPE_WARNING="type-warning",o.TYPE_DANGER="type-danger",o.DEFAULT_TEXTS={},o.DEFAULT_TEXTS[o.TYPE_DEFAULT]="Information",o.DEFAULT_TEXTS[o.TYPE_INFO]="Information",o.DEFAULT_TEXTS[o.TYPE_PRIMARY]="Information",o.DEFAULT_TEXTS[o.TYPE_SUCCESS]="Success",o.DEFAULT_TEXTS[o.TYPE_WARNING]="Warning",o.DEFAULT_TEXTS[o.TYPE_DANGER]="Danger",o.DEFAULT_TEXTS.OK="OK",o.DEFAULT_TEXTS.CANCEL="Cancel",o.DEFAULT_TEXTS.CONFIRM="Confirmation",o.SIZE_NORMAL="size-normal",o.SIZE_SMALL="size-small",o.SIZE_WIDE="size-wide",o.SIZE_LARGE="size-large",o.BUTTON_SIZES={},o.BUTTON_SIZES[o.SIZE_NORMAL]="",o.BUTTON_SIZES[o.SIZE_SMALL]="",o.BUTTON_SIZES[o.SIZE_WIDE]="",o.BUTTON_SIZES[o.SIZE_LARGE]="btn-lg",o.ICON_SPINNER="glyphicon glyphicon-asterisk",o.defaultOptions={type:o.TYPE_PRIMARY,size:o.SIZE_NORMAL,cssClass:"",title:null,message:null,nl2br:!0,closable:!0,closeByBackdrop:!0,closeByKeyboard:!0,closeIcon:"×",spinicon:o.ICON_SPINNER,autodestroy:!0,draggable:!1,animate:!0,description:"",tabindex:-1},o.configDefaultOptions=function(e){o.defaultOptions=t.extend(!0,o.defaultOptions,e)},o.dialogs={},o.openAll=function(){t.each(o.dialogs,function(t,e){e.open()})},o.closeAll=function(){t.each(o.dialogs,function(t,e){e.close()})},o.getDialog=function(t){var e=null;return"undefined"!=typeof o.dialogs[t]&&(e=o.dialogs[t]),e},o.setDialog=function(t){return o.dialogs[t.getId()]=t,t},o.addDialog=function(t){return o.setDialog(t)},o.moveFocus=function(){var e=null;t.each(o.dialogs,function(t,n){n.isRealized()&&n.isOpened()&&(e=n)}),null!==e&&e.getModal().focus()},o.METHODS_TO_OVERRIDE={},o.METHODS_TO_OVERRIDE["v3.1"]={handleModalBackdropEvent:function(){return this.getModal().on("click",{dialog:this},function(t){t.target===this&&t.data.dialog.isClosable()&&t.data.dialog.canCloseByBackdrop()&&t.data.dialog.close()}),this},updateZIndex:function(){if(this.isOpened()){var e=1040,n=1050,i=0;t.each(o.dialogs,function(t,e){e.isRealized()&&e.isOpened()&&i++});var a=this.getModal(),s=this.getModalBackdrop(a);a.css("z-index",n+20*(i-1)),s.css("z-index",e+20*(i-1))}return this},open:function(){return!this.isRealized()&&this.realize(),this.getModal().modal("show"),this.updateZIndex(),this}},o.METHODS_TO_OVERRIDE["v3.2"]={handleModalBackdropEvent:o.METHODS_TO_OVERRIDE["v3.1"].handleModalBackdropEvent,updateZIndex:o.METHODS_TO_OVERRIDE["v3.1"].updateZIndex,open:o.METHODS_TO_OVERRIDE["v3.1"].open},o.METHODS_TO_OVERRIDE["v3.3"]={},o.METHODS_TO_OVERRIDE["v3.3.4"]=t.extend({},o.METHODS_TO_OVERRIDE["v3.1"]),o.METHODS_TO_OVERRIDE["v4.0"]={getModalBackdrop:function(e){return t(e.data("bs.modal")._backdrop)},handleModalBackdropEvent:o.METHODS_TO_OVERRIDE["v3.1"].handleModalBackdropEvent,updateZIndex:o.METHODS_TO_OVERRIDE["v3.1"].updateZIndex,open:o.METHODS_TO_OVERRIDE["v3.1"].open,getModalForBootstrapDialogModal:function(){return this.getModal().get(0)}},o.prototype={constructor:o,initOptions:function(e){return this.options=t.extend(!0,this.defaultOptions,e),this},holdThisInstance:function(){return o.addDialog(this),this},initModalStuff:function(){return this.setModal(this.createModal()).setModalDialog(this.createModalDialog()).setModalContent(this.createModalContent()).setModalHeader(this.createModalHeader()).setModalBody(this.createModalBody()).setModalFooter(this.createModalFooter()),this.getModal().append(this.getModalDialog()),this.getModalDialog().append(this.getModalContent()),this.getModalContent().append(this.getModalHeader()).append(this.getModalBody()).append(this.getModalFooter()),this},createModal:function(){var e=t('');return e.prop("id",this.getId()),e.attr("aria-labelledby",this.getId()+"_title"),e},getModal:function(){return this.$modal},setModal:function(t){return this.$modal=t,this},getModalBackdrop:function(t){return t.data("bs.modal").$backdrop},getModalForBootstrapDialogModal:function(){return this.getModal()},createModalDialog:function(){return t('')},getModalDialog:function(){return this.$modalDialog},setModalDialog:function(t){return this.$modalDialog=t,this},createModalContent:function(){return t('')},getModalContent:function(){return this.$modalContent},setModalContent:function(t){return this.$modalContent=t,this},createModalHeader:function(){return t('')},getModalHeader:function(){return this.$modalHeader},setModalHeader:function(t){return this.$modalHeader=t,this},createModalBody:function(){return t('')},getModalBody:function(){return this.$modalBody},setModalBody:function(t){return this.$modalBody=t,this},createModalFooter:function(){return t('')},getModalFooter:function(){return this.$modalFooter},setModalFooter:function(t){return this.$modalFooter=t,this},createDynamicContent:function(t){var e=null;return e="function"==typeof t?t.call(t,this):t,"string"==typeof e&&(e=this.formatStringContent(e)),e},formatStringContent:function(t){return this.options.nl2br?t.replace(/\r\n/g,"
").replace(/[\r\n]/g,"
"):t},setData:function(t,e){return this.options.data[t]=e,this},getData:function(t){return this.options.data[t]},setId:function(t){return this.options.id=t,this},getId:function(){return this.options.id},getType:function(){return this.options.type},setType:function(t){return this.options.type=t,this.updateType(),this},updateType:function(){if(this.isRealized()){var t=[o.TYPE_DEFAULT,o.TYPE_INFO,o.TYPE_PRIMARY,o.TYPE_SUCCESS,o.TYPE_WARNING,o.TYPE_DANGER];this.getModal().removeClass(t.join(" ")).addClass(this.getType())}return this},getSize:function(){return this.options.size},setSize:function(t){return this.options.size=t,this.updateSize(),this},updateSize:function(){if(this.isRealized()){var e=this;this.getModal().removeClass(o.SIZE_NORMAL).removeClass(o.SIZE_SMALL).removeClass(o.SIZE_WIDE).removeClass(o.SIZE_LARGE),this.getModal().addClass(this.getSize()),this.getModalDialog().removeClass("modal-sm"),this.getSize()===o.SIZE_SMALL&&this.getModalDialog().addClass("modal-sm"),this.getModalDialog().removeClass("modal-lg"),this.getSize()===o.SIZE_WIDE&&this.getModalDialog().addClass("modal-lg"),t.each(this.options.buttons,function(n,o){var i=e.getButton(o.id),a=["btn-lg","btn-sm","btn-xs"],s=!1;if("string"==typeof o.cssClass){var d=o.cssClass.split(" ");t.each(d,function(e,n){t.inArray(n,a)!==-1&&(s=!0)})}s||(i.removeClass(a.join(" ")),i.addClass(e.getButtonSize()))})}return this},getCssClass:function(){return this.options.cssClass},setCssClass:function(t){return this.options.cssClass=t,this},getTitle:function(){return this.options.title},setTitle:function(t){return this.options.title=t,this.updateTitle(),this},updateTitle:function(){if(this.isRealized()){var t=null!==this.getTitle()?this.createDynamicContent(this.getTitle()):this.getDefaultText();this.getModalHeader().find("."+this.getNamespace("title")).html("").append(t).prop("id",this.getId()+"_title")}return this},getMessage:function(){return this.options.message},setMessage:function(t){return this.options.message=t,this.updateMessage(),this},updateMessage:function(){if(this.isRealized()){var t=this.createDynamicContent(this.getMessage());this.getModalBody().find("."+this.getNamespace("message")).html("").append(t)}return this},isClosable:function(){return this.options.closable},setClosable:function(t){return this.options.closable=t,this.updateClosable(),this},setCloseByBackdrop:function(t){return this.options.closeByBackdrop=t,this},canCloseByBackdrop:function(){return this.options.closeByBackdrop},setCloseByKeyboard:function(t){return this.options.closeByKeyboard=t,this},canCloseByKeyboard:function(){return this.options.closeByKeyboard},isAnimate:function(){return this.options.animate},setAnimate:function(t){return this.options.animate=t,this},updateAnimate:function(){return this.isRealized()&&this.getModal().toggleClass("fade",this.isAnimate()),this},getSpinicon:function(){return this.options.spinicon},setSpinicon:function(t){return this.options.spinicon=t,this},addButton:function(t){return this.options.buttons.push(t),this},addButtons:function(e){var n=this;return t.each(e,function(t,e){n.addButton(e)}),this},getButtons:function(){return this.options.buttons},setButtons:function(t){return this.options.buttons=t,this.updateButtons(),this},getButton:function(t){return"undefined"!=typeof this.indexedButtons[t]?this.indexedButtons[t]:null},getButtonSize:function(){return"undefined"!=typeof o.BUTTON_SIZES[this.getSize()]?o.BUTTON_SIZES[this.getSize()]:""},updateButtons:function(){return this.isRealized()&&(0===this.getButtons().length?this.getModalFooter().hide():this.getModalFooter().show().find("."+this.getNamespace("footer")).html("").append(this.createFooterButtons())),this},isAutodestroy:function(){return this.options.autodestroy},setAutodestroy:function(t){this.options.autodestroy=t},getDescription:function(){return this.options.description},setDescription:function(t){return this.options.description=t,this},setTabindex:function(t){return this.options.tabindex=t,this},getTabindex:function(){return this.options.tabindex},updateTabindex:function(){return this.isRealized()&&this.getModal().attr("tabindex",this.getTabindex()),this},getDefaultText:function(){return o.DEFAULT_TEXTS[this.getType()]},getNamespace:function(t){return o.NAMESPACE+"-"+t},createHeaderContent:function(){var e=t("
");return e.addClass(this.getNamespace("header")),e.append(this.createTitleContent()),e.prepend(this.createCloseButton()),e},createTitleContent:function(){var e=t("
");return e.addClass(this.getNamespace("title")),e},createCloseButton:function(){var e=t("
");e.addClass(this.getNamespace("close-button"));var n=t('');return n.append(this.options.closeIcon),e.append(n),e.on("click",{dialog:this},function(t){t.data.dialog.close()}),e},createBodyContent:function(){var e=t("
");return e.addClass(this.getNamespace("body")),e.append(this.createMessageContent()),e},createMessageContent:function(){var e=t("
");return e.addClass(this.getNamespace("message")),e},createFooterContent:function(){var e=t("
");return e.addClass(this.getNamespace("footer")),e},createFooterButtons:function(){var e=this,n=t("
");return n.addClass(this.getNamespace("footer-buttons")),this.indexedButtons={},t.each(this.options.buttons,function(t,i){i.id||(i.id=o.newGuid());var a=e.createButton(i);e.indexedButtons[i.id]=a,n.append(a)}),n},createButton:function(e){var n=t('');return n.prop("id",e.id),n.data("button",e),"undefined"!=typeof e.icon&&""!==t.trim(e.icon)&&n.append(this.createButtonIcon(e.icon)),"undefined"!=typeof e.label&&n.append(e.label),"undefined"!=typeof e.cssClass&&""!==t.trim(e.cssClass)?n.addClass(e.cssClass):n.addClass("btn-default"),"undefined"!=typeof e.hotkey&&(this.registeredButtonHotkeys[e.hotkey]=n),n.on("click",{dialog:this,$button:n,button:e},function(t){var e=t.data.dialog,n=t.data.$button,o=n.data("button");if(o.autospin&&n.toggleSpin(!0),"function"==typeof o.action)return o.action.call(n,e,t)}),this.enhanceButton(n),"undefined"!=typeof e.enabled&&n.toggleEnable(e.enabled),n},enhanceButton:function(t){return t.dialog=this,t.toggleEnable=function(t){var e=this;return"undefined"!=typeof t?e.prop("disabled",!t).toggleClass("disabled",!t):e.prop("disabled",!e.prop("disabled")),e},t.enable=function(){var t=this;return t.toggleEnable(!0),t},t.disable=function(){var t=this;return t.toggleEnable(!1),t},t.toggleSpin=function(e){var n=this,o=n.dialog,i=n.find("."+o.getNamespace("button-icon"));return"undefined"==typeof e&&(e=!(t.find(".icon-spin").length>0)),e?(i.hide(),t.prepend(o.createButtonIcon(o.getSpinicon()).addClass("icon-spin"))):(i.show(),t.find(".icon-spin").remove()),n},t.spin=function(){var t=this;return t.toggleSpin(!0),t},t.stopSpin=function(){var t=this;return t.toggleSpin(!1),t},this},createButtonIcon:function(e){var n=t("");return n.addClass(this.getNamespace("button-icon")).addClass(e),n},enableButtons:function(e){return t.each(this.indexedButtons,function(t,n){n.toggleEnable(e)}),this},updateClosable:function(){return this.isRealized()&&this.getModalHeader().find("."+this.getNamespace("close-button")).toggle(this.isClosable()),this},onShow:function(t){return this.options.onshow=t,this},onShown:function(t){return this.options.onshown=t,this},onHide:function(t){return this.options.onhide=t,this},onHidden:function(t){return this.options.onhidden=t,this},isRealized:function(){return this.realized},setRealized:function(t){return this.realized=t,this},isOpened:function(){return this.opened},setOpened:function(t){return this.opened=t,this},handleModalEvents:function(){return this.getModal().on("show.bs.modal",{dialog:this},function(t){var e=t.data.dialog;if(e.setOpened(!0),e.isModalEvent(t)&&"function"==typeof e.options.onshow){var n=e.options.onshow(e);return n===!1&&e.setOpened(!1),n}}),this.getModal().on("shown.bs.modal",{dialog:this},function(t){var e=t.data.dialog;e.isModalEvent(t)&&"function"==typeof e.options.onshown&&e.options.onshown(e)}),this.getModal().on("hide.bs.modal",{dialog:this},function(t){var e=t.data.dialog;if(e.setOpened(!1),e.isModalEvent(t)&&"function"==typeof e.options.onhide){var n=e.options.onhide(e);return n===!1&&e.setOpened(!0),n}}),this.getModal().on("hidden.bs.modal",{dialog:this},function(e){var n=e.data.dialog;n.isModalEvent(e)&&"function"==typeof n.options.onhidden&&n.options.onhidden(n),n.isAutodestroy()&&(n.setRealized(!1),delete o.dialogs[n.getId()],t(this).remove()),o.moveFocus()}),this.handleModalBackdropEvent(),this.getModal().on("keyup",{dialog:this},function(t){27===t.which&&t.data.dialog.isClosable()&&t.data.dialog.canCloseByKeyboard()&&t.data.dialog.close()}),this.getModal().on("keyup",{dialog:this},function(e){var n=e.data.dialog;if("undefined"!=typeof n.registeredButtonHotkeys[e.which]){var o=t(n.registeredButtonHotkeys[e.which]);!o.prop("disabled")&&o.focus().trigger("click")}}),this},handleModalBackdropEvent:function(){return this.getModal().on("click",{dialog:this},function(e){t(e.target).hasClass("modal-backdrop")&&e.data.dialog.isClosable()&&e.data.dialog.canCloseByBackdrop()&&e.data.dialog.close()}),this},isModalEvent:function(t){return"undefined"!=typeof t.namespace&&"bs.modal"===t.namespace},makeModalDraggable:function(){return this.options.draggable&&(this.getModalHeader().addClass(this.getNamespace("draggable")).on("mousedown",{dialog:this},function(t){var e=t.data.dialog;e.draggableData.isMouseDown=!0;var n=e.getModalDialog().offset();e.draggableData.mouseOffset={top:t.clientY-n.top,left:t.clientX-n.left}}),this.getModal().on("mouseup mouseleave",{dialog:this},function(t){t.data.dialog.draggableData.isMouseDown=!1}),t("body").on("mousemove",{dialog:this},function(t){var e=t.data.dialog;e.draggableData.isMouseDown&&e.getModalDialog().offset({top:t.clientY-e.draggableData.mouseOffset.top,left:t.clientX-e.draggableData.mouseOffset.left})})),this},realize:function(){return this.initModalStuff(),this.getModal().addClass(o.NAMESPACE).addClass(this.getCssClass()),this.updateSize(),this.getDescription()&&this.getModal().attr("aria-describedby",this.getDescription()),this.getModalFooter().append(this.createFooterContent()),this.getModalHeader().append(this.createHeaderContent()),this.getModalBody().append(this.createBodyContent()),this.getModal().data("bs.modal",new n(this.getModalForBootstrapDialogModal(),{backdrop:"static",keyboard:!1,show:!1})),this.makeModalDraggable(),this.handleModalEvents(),this.setRealized(!0),this.updateButtons(),this.updateType(),this.updateTitle(),this.updateMessage(),this.updateClosable(),this.updateAnimate(),this.updateSize(),this.updateTabindex(),this},open:function(){return!this.isRealized()&&this.realize(),this.getModal().modal("show"),this},close:function(){return!this.isRealized()&&this.realize(),this.getModal().modal("hide"),this}},o.prototype=t.extend(o.prototype,o.METHODS_TO_OVERRIDE[n.getModalVersion()]),o.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0,n="x"===t?e:3&e|8;return n.toString(16)})},o.show=function(t){return new o(t).open()},o.alert=function(){var e={},n={type:o.TYPE_PRIMARY,title:null,message:null,closable:!1,draggable:!1,buttonLabel:o.DEFAULT_TEXTS.OK,callback:null};e="object"==typeof arguments[0]&&arguments[0].constructor==={}.constructor?t.extend(!0,n,arguments[0]):t.extend(!0,n,{message:arguments[0],callback:"undefined"!=typeof arguments[1]?arguments[1]:null});var i=new o(e);return i.setData("callback",e.callback),i.addButton({label:e.buttonLabel,action:function(t){return("function"!=typeof t.getData("callback")||t.getData("callback").call(this,!0)!==!1)&&(t.setData("btnClicked",!0),t.close())}}),"function"==typeof i.options.onhide?i.onHide(function(t){var e=!0;return!t.getData("btnClicked")&&t.isClosable()&&"function"==typeof t.getData("callback")&&(e=t.getData("callback")(!1)),e!==!1&&(e=this.onhide(t))}.bind({onhide:i.options.onhide})):i.onHide(function(t){var e=!0;return!t.getData("btnClicked")&&t.isClosable()&&"function"==typeof t.getData("callback")&&(e=t.getData("callback")(!1)),e}),i.open()},o.confirm=function(){var e={},n={type:o.TYPE_PRIMARY,title:null,message:null,closable:!1,draggable:!1,btnCancelLabel:o.DEFAULT_TEXTS.CANCEL,btnCancelClass:null,btnOKLabel:o.DEFAULT_TEXTS.OK,btnOKClass:null,callback:null};e="object"==typeof arguments[0]&&arguments[0].constructor==={}.constructor?t.extend(!0,n,arguments[0]):t.extend(!0,n,{message:arguments[0],callback:"undefined"!=typeof arguments[1]?arguments[1]:null}),null===e.btnOKClass&&(e.btnOKClass=["btn",e.type.split("-")[1]].join("-"));var i=new o(e);return i.setData("callback",e.callback),i.addButton({label:e.btnCancelLabel,cssClass:e.btnCancelClass,action:function(t){return("function"!=typeof t.getData("callback")||t.getData("callback").call(this,!1)!==!1)&&t.close()}}),i.addButton({label:e.btnOKLabel,cssClass:e.btnOKClass,action:function(t){return("function"!=typeof t.getData("callback")||t.getData("callback").call(this,!0)!==!1)&&t.close()}}),i.open()},o.warning=function(t,e){return new o({type:o.TYPE_WARNING,message:t}).open()},o.danger=function(t,e){return new o({type:o.TYPE_DANGER,message:t}).open()},o.success=function(t,e){return new o({type:o.TYPE_SUCCESS,message:t}).open()},o}); \ No newline at end of file diff --git a/public_html/lib/bootstrap4-dialog/less/bootstrap-dialog.less b/public_html/lib/bootstrap4-dialog/less/bootstrap-dialog.less deleted file mode 100644 index 7fef580..0000000 --- a/public_html/lib/bootstrap4-dialog/less/bootstrap-dialog.less +++ /dev/null @@ -1,2043 +0,0 @@ -// -// Variables -// -------------------------------------------------- - - -//== Colors -// -//## Gray and brand colors for use across Bootstrap. - -@gray-base: #000; -@gray-darker: lighten(@gray-base, 13.5%); // #222 -@gray-dark: lighten(@gray-base, 20%); // #333 -@gray: lighten(@gray-base, 33.5%); // #555 -@gray-light: lighten(@gray-base, 46.7%); // #777 -@gray-lighter: lighten(@gray-base, 93.5%); // #eee - -@brand-primary: darken(#428bca, 6.5%); // #337ab7 -@brand-success: #5cb85c; -@brand-info: #5bc0de; -@brand-warning: #f0ad4e; -@brand-danger: #d9534f; - - -//== Scaffolding -// -//## Settings for some of the most global styles. - -//** Background color for ``. -@body-bg: #fff; -//** Global text color on ``. -@text-color: @gray-dark; - -//** Global textual link color. -@link-color: @brand-primary; -//** Link hover color set via `darken()` function. -@link-hover-color: darken(@link-color, 15%); -//** Link hover decoration. -@link-hover-decoration: underline; - - -//== Typography -// -//## Font, line-height, and color for body text, headings, and more. - -@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif; -@font-family-serif: Georgia, "Times New Roman", Times, serif; -//** Default monospace fonts for ``, ``, and `
`.
-@font-family-monospace:   Menlo, Monaco, Consolas, "Courier New", monospace;
-@font-family-base:        @font-family-sans-serif;
-
-@font-size-base:          14px;
-@font-size-large:         ceil((@font-size-base * 1.25)); // ~18px
-@font-size-small:         ceil((@font-size-base * 0.85)); // ~12px
-
-@font-size-h1:            floor((@font-size-base * 2.6)); // ~36px
-@font-size-h2:            floor((@font-size-base * 2.15)); // ~30px
-@font-size-h3:            ceil((@font-size-base * 1.7)); // ~24px
-@font-size-h4:            ceil((@font-size-base * 1.25)); // ~18px
-@font-size-h5:            @font-size-base;
-@font-size-h6:            ceil((@font-size-base * 0.85)); // ~12px
-
-//** Unit-less `line-height` for use in components like buttons.
-@line-height-base:        1.428571429; // 20/14
-//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
-@line-height-computed:    floor((@font-size-base * @line-height-base)); // ~20px
-
-//** By default, this inherits from the ``.
-@headings-font-family:    inherit;
-@headings-font-weight:    500;
-@headings-line-height:    1.1;
-@headings-color:          inherit;
-
-
-//== Iconography
-//
-//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
-
-//** Load fonts from this directory.
-@icon-font-path:          "../fonts/";
-//** File name for all font files.
-@icon-font-name:          "glyphicons-halflings-regular";
-//** Element ID within SVG icon file.
-@icon-font-svg-id:        "glyphicons_halflingsregular";
-
-
-//== Components
-//
-//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
-
-@padding-base-vertical:     6px;
-@padding-base-horizontal:   12px;
-
-@padding-large-vertical:    10px;
-@padding-large-horizontal:  16px;
-
-@padding-small-vertical:    5px;
-@padding-small-horizontal:  10px;
-
-@padding-xs-vertical:       1px;
-@padding-xs-horizontal:     5px;
-
-@line-height-large:         1.3333333; // extra decimals for Win 8.1 Chrome
-@line-height-small:         1.5;
-
-@border-radius-base:        4px;
-@border-radius-large:       6px;
-@border-radius-small:       3px;
-
-//** Global color for active items (e.g., navs or dropdowns).
-@component-active-color:    #fff;
-//** Global background color for active items (e.g., navs or dropdowns).
-@component-active-bg:       @brand-primary;
-
-//** Width of the `border` for generating carets that indicate dropdowns.
-@caret-width-base:          4px;
-//** Carets increase slightly in size for larger components.
-@caret-width-large:         5px;
-
-
-//== Tables
-//
-//## Customizes the `.table` component with basic values, each used across all table variations.
-
-//** Padding for ``s and ``s.
-@table-cell-padding:            8px;
-//** Padding for cells in `.table-condensed`.
-@table-condensed-cell-padding:  5px;
-
-//** Default background color used for all tables.
-@table-bg:                      transparent;
-//** Background color used for `.table-striped`.
-@table-bg-accent:               #f9f9f9;
-//** Background color used for `.table-hover`.
-@table-bg-hover:                #f5f5f5;
-@table-bg-active:               @table-bg-hover;
-
-//** Border color for table and cell borders.
-@table-border-color:            #ddd;
-
-
-//== Buttons
-//
-//## For each of Bootstrap's buttons, define text, background and border color.
-
-@btn-font-weight:                normal;
-
-@btn-default-color:              #333;
-@btn-default-bg:                 #fff;
-@btn-default-border:             #ccc;
-
-@btn-primary-color:              #fff;
-@btn-primary-bg:                 @brand-primary;
-@btn-primary-border:             darken(@btn-primary-bg, 5%);
-
-@btn-success-color:              #fff;
-@btn-success-bg:                 @brand-success;
-@btn-success-border:             darken(@btn-success-bg, 5%);
-
-@btn-info-color:                 #fff;
-@btn-info-bg:                    @brand-info;
-@btn-info-border:                darken(@btn-info-bg, 5%);
-
-@btn-warning-color:              #fff;
-@btn-warning-bg:                 @brand-warning;
-@btn-warning-border:             darken(@btn-warning-bg, 5%);
-
-@btn-danger-color:               #fff;
-@btn-danger-bg:                  @brand-danger;
-@btn-danger-border:              darken(@btn-danger-bg, 5%);
-
-@btn-link-disabled-color:        @gray-light;
-
-// Allows for customizing button radius independently from global border radius
-@btn-border-radius-base:         @border-radius-base;
-@btn-border-radius-large:        @border-radius-large;
-@btn-border-radius-small:        @border-radius-small;
-
-
-//== Forms
-//
-//##
-
-//** `` background color
-@input-bg:                       #fff;
-//** `` background color
-@input-bg-disabled:              @gray-lighter;
-
-//** Text color for ``s
-@input-color:                    @gray;
-//** `` border color
-@input-border:                   #ccc;
-
-// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
-//** Default `.form-control` border radius
-// This has no effect on ``s in CSS.
-@input-border-radius:            @border-radius-base;
-//** Large `.form-control` border radius
-@input-border-radius-large:      @border-radius-large;
-//** Small `.form-control` border radius
-@input-border-radius-small:      @border-radius-small;
-
-//** Border color for inputs on focus
-@input-border-focus:             #66afe9;
-
-//** Placeholder text color
-@input-color-placeholder:        #999;
-
-//** Default `.form-control` height
-@input-height-base:              (@line-height-computed + (@padding-base-vertical * 2) + 2);
-//** Large `.form-control` height
-@input-height-large:             (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
-//** Small `.form-control` height
-@input-height-small:             (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
-
-//** `.form-group` margin
-@form-group-margin-bottom:       15px;
-
-@legend-color:                   @gray-dark;
-@legend-border-color:            #e5e5e5;
-
-//** Background color for textual input addons
-@input-group-addon-bg:           @gray-lighter;
-//** Border color for textual input addons
-@input-group-addon-border-color: @input-border;
-
-//** Disabled cursor for form controls and buttons.
-@cursor-disabled:                not-allowed;
-
-
-//== Dropdowns
-//
-//## Dropdown menu container and contents.
-
-//** Background for the dropdown menu.
-@dropdown-bg:                    #fff;
-//** Dropdown menu `border-color`.
-@dropdown-border:                rgba(0,0,0,.15);
-//** Dropdown menu `border-color` **for IE8**.
-@dropdown-fallback-border:       #ccc;
-//** Divider color for between dropdown items.
-@dropdown-divider-bg:            #e5e5e5;
-
-//** Dropdown link text color.
-@dropdown-link-color:            @gray-dark;
-//** Hover color for dropdown links.
-@dropdown-link-hover-color:      darken(@gray-dark, 5%);
-//** Hover background for dropdown links.
-@dropdown-link-hover-bg:         #f5f5f5;
-
-//** Active dropdown menu item text color.
-@dropdown-link-active-color:     @component-active-color;
-//** Active dropdown menu item background color.
-@dropdown-link-active-bg:        @component-active-bg;
-
-//** Disabled dropdown menu item background color.
-@dropdown-link-disabled-color:   @gray-light;
-
-//** Text color for headers within dropdown menus.
-@dropdown-header-color:          @gray-light;
-
-//** Deprecated `@dropdown-caret-color` as of v3.1.0
-@dropdown-caret-color:           #000;
-
-
-//-- Z-index master list
-//
-// Warning: Avoid customizing these values. They're used for a bird's eye view
-// of components dependent on the z-axis and are designed to all work together.
-//
-// Note: These variables are not generated into the Customizer.
-
-@zindex-navbar:            1000;
-@zindex-dropdown:          1000;
-@zindex-popover:           1060;
-@zindex-tooltip:           1070;
-@zindex-navbar-fixed:      1030;
-@zindex-modal-background:  1040;
-@zindex-modal:             1050;
-
-
-//== Media queries breakpoints
-//
-//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
-
-// Extra small screen / phone
-//** Deprecated `@screen-xs` as of v3.0.1
-@screen-xs:                  480px;
-//** Deprecated `@screen-xs-min` as of v3.2.0
-@screen-xs-min:              @screen-xs;
-//** Deprecated `@screen-phone` as of v3.0.1
-@screen-phone:               @screen-xs-min;
-
-// Small screen / tablet
-//** Deprecated `@screen-sm` as of v3.0.1
-@screen-sm:                  768px;
-@screen-sm-min:              @screen-sm;
-//** Deprecated `@screen-tablet` as of v3.0.1
-@screen-tablet:              @screen-sm-min;
-
-// Medium screen / desktop
-//** Deprecated `@screen-md` as of v3.0.1
-@screen-md:                  992px;
-@screen-md-min:              @screen-md;
-//** Deprecated `@screen-desktop` as of v3.0.1
-@screen-desktop:             @screen-md-min;
-
-// Large screen / wide desktop
-//** Deprecated `@screen-lg` as of v3.0.1
-@screen-lg:                  1200px;
-@screen-lg-min:              @screen-lg;
-//** Deprecated `@screen-lg-desktop` as of v3.0.1
-@screen-lg-desktop:          @screen-lg-min;
-
-// So media queries don't overlap when required, provide a maximum
-@screen-xs-max:              (@screen-sm-min - 1);
-@screen-sm-max:              (@screen-md-min - 1);
-@screen-md-max:              (@screen-lg-min - 1);
-
-
-//== Grid system
-//
-//## Define your custom responsive grid.
-
-//** Number of columns in the grid.
-@grid-columns:              12;
-//** Padding between columns. Gets divided in half for the left and right.
-@grid-gutter-width:         30px;
-// Navbar collapse
-//** Point at which the navbar becomes uncollapsed.
-@grid-float-breakpoint:     @screen-sm-min;
-//** Point at which the navbar begins collapsing.
-@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
-
-
-//== Container sizes
-//
-//## Define the maximum width of `.container` for different screen sizes.
-
-// Small screen / tablet
-@container-tablet:             (720px + @grid-gutter-width);
-//** For `@screen-sm-min` and up.
-@container-sm:                 @container-tablet;
-
-// Medium screen / desktop
-@container-desktop:            (940px + @grid-gutter-width);
-//** For `@screen-md-min` and up.
-@container-md:                 @container-desktop;
-
-// Large screen / wide desktop
-@container-large-desktop:      (1140px + @grid-gutter-width);
-//** For `@screen-lg-min` and up.
-@container-lg:                 @container-large-desktop;
-
-
-//== Navbar
-//
-//##
-
-// Basics of a navbar
-@navbar-height:                    50px;
-@navbar-margin-bottom:             @line-height-computed;
-@navbar-border-radius:             @border-radius-base;
-@navbar-padding-horizontal:        floor((@grid-gutter-width / 2));
-@navbar-padding-vertical:          ((@navbar-height - @line-height-computed) / 2);
-@navbar-collapse-max-height:       340px;
-
-@navbar-default-color:             #777;
-@navbar-default-bg:                #f8f8f8;
-@navbar-default-border:            darken(@navbar-default-bg, 6.5%);
-
-// Navbar links
-@navbar-default-link-color:                #777;
-@navbar-default-link-hover-color:          #333;
-@navbar-default-link-hover-bg:             transparent;
-@navbar-default-link-active-color:         #555;
-@navbar-default-link-active-bg:            darken(@navbar-default-bg, 6.5%);
-@navbar-default-link-disabled-color:       #ccc;
-@navbar-default-link-disabled-bg:          transparent;
-
-// Navbar brand label
-@navbar-default-brand-color:               @navbar-default-link-color;
-@navbar-default-brand-hover-color:         darken(@navbar-default-brand-color, 10%);
-@navbar-default-brand-hover-bg:            transparent;
-
-// Navbar toggle
-@navbar-default-toggle-hover-bg:           #ddd;
-@navbar-default-toggle-icon-bar-bg:        #888;
-@navbar-default-toggle-border-color:       #ddd;
-
-
-//=== Inverted navbar
-// Reset inverted navbar basics
-@navbar-inverse-color:                      lighten(@gray-light, 15%);
-@navbar-inverse-bg:                         #222;
-@navbar-inverse-border:                     darken(@navbar-inverse-bg, 10%);
-
-// Inverted navbar links
-@navbar-inverse-link-color:                 lighten(@gray-light, 15%);
-@navbar-inverse-link-hover-color:           #fff;
-@navbar-inverse-link-hover-bg:              transparent;
-@navbar-inverse-link-active-color:          @navbar-inverse-link-hover-color;
-@navbar-inverse-link-active-bg:             darken(@navbar-inverse-bg, 10%);
-@navbar-inverse-link-disabled-color:        #444;
-@navbar-inverse-link-disabled-bg:           transparent;
-
-// Inverted navbar brand label
-@navbar-inverse-brand-color:                @navbar-inverse-link-color;
-@navbar-inverse-brand-hover-color:          #fff;
-@navbar-inverse-brand-hover-bg:             transparent;
-
-// Inverted navbar toggle
-@navbar-inverse-toggle-hover-bg:            #333;
-@navbar-inverse-toggle-icon-bar-bg:         #fff;
-@navbar-inverse-toggle-border-color:        #333;
-
-
-//== Navs
-//
-//##
-
-//=== Shared nav styles
-@nav-link-padding:                          10px 15px;
-@nav-link-hover-bg:                         @gray-lighter;
-
-@nav-disabled-link-color:                   @gray-light;
-@nav-disabled-link-hover-color:             @gray-light;
-
-//== Tabs
-@nav-tabs-border-color:                     #ddd;
-
-@nav-tabs-link-hover-border-color:          @gray-lighter;
-
-@nav-tabs-active-link-hover-bg:             @body-bg;
-@nav-tabs-active-link-hover-color:          @gray;
-@nav-tabs-active-link-hover-border-color:   #ddd;
-
-@nav-tabs-justified-link-border-color:            #ddd;
-@nav-tabs-justified-active-link-border-color:     @body-bg;
-
-//== Pills
-@nav-pills-border-radius:                   @border-radius-base;
-@nav-pills-active-link-hover-bg:            @component-active-bg;
-@nav-pills-active-link-hover-color:         @component-active-color;
-
-
-//== Pagination
-//
-//##
-
-@pagination-color:                     @link-color;
-@pagination-bg:                        #fff;
-@pagination-border:                    #ddd;
-
-@pagination-hover-color:               @link-hover-color;
-@pagination-hover-bg:                  @gray-lighter;
-@pagination-hover-border:              #ddd;
-
-@pagination-active-color:              #fff;
-@pagination-active-bg:                 @brand-primary;
-@pagination-active-border:             @brand-primary;
-
-@pagination-disabled-color:            @gray-light;
-@pagination-disabled-bg:               #fff;
-@pagination-disabled-border:           #ddd;
-
-
-//== Pager
-//
-//##
-
-@pager-bg:                             @pagination-bg;
-@pager-border:                         @pagination-border;
-@pager-border-radius:                  15px;
-
-@pager-hover-bg:                       @pagination-hover-bg;
-
-@pager-active-bg:                      @pagination-active-bg;
-@pager-active-color:                   @pagination-active-color;
-
-@pager-disabled-color:                 @pagination-disabled-color;
-
-
-//== Jumbotron
-//
-//##
-
-@jumbotron-padding:              30px;
-@jumbotron-color:                inherit;
-@jumbotron-bg:                   @gray-lighter;
-@jumbotron-heading-color:        inherit;
-@jumbotron-font-size:            ceil((@font-size-base * 1.5));
-@jumbotron-heading-font-size:    ceil((@font-size-base * 4.5));
-
-
-//== Form states and alerts
-//
-//## Define colors for form feedback states and, by default, alerts.
-
-@state-success-text:             #3c763d;
-@state-success-bg:               #dff0d8;
-@state-success-border:           darken(spin(@state-success-bg, -10), 5%);
-
-@state-info-text:                #31708f;
-@state-info-bg:                  #d9edf7;
-@state-info-border:              darken(spin(@state-info-bg, -10), 7%);
-
-@state-warning-text:             #8a6d3b;
-@state-warning-bg:               #fcf8e3;
-@state-warning-border:           darken(spin(@state-warning-bg, -10), 5%);
-
-@state-danger-text:              #a94442;
-@state-danger-bg:                #f2dede;
-@state-danger-border:            darken(spin(@state-danger-bg, -10), 5%);
-
-
-//== Tooltips
-//
-//##
-
-//** Tooltip max width
-@tooltip-max-width:           200px;
-//** Tooltip text color
-@tooltip-color:               #fff;
-//** Tooltip background color
-@tooltip-bg:                  #000;
-@tooltip-opacity:             .9;
-
-//** Tooltip arrow width
-@tooltip-arrow-width:         5px;
-//** Tooltip arrow color
-@tooltip-arrow-color:         @tooltip-bg;
-
-
-//== Popovers
-//
-//##
-
-//** Popover body background color
-@popover-bg:                          #fff;
-//** Popover maximum width
-@popover-max-width:                   276px;
-//** Popover border color
-@popover-border-color:                rgba(0,0,0,.2);
-//** Popover fallback border color
-@popover-fallback-border-color:       #ccc;
-
-//** Popover title background color
-@popover-title-bg:                    darken(@popover-bg, 3%);
-
-//** Popover arrow width
-@popover-arrow-width:                 10px;
-//** Popover arrow color
-@popover-arrow-color:                 @popover-bg;
-
-//** Popover outer arrow width
-@popover-arrow-outer-width:           (@popover-arrow-width + 1);
-//** Popover outer arrow color
-@popover-arrow-outer-color:           fadein(@popover-border-color, 5%);
-//** Popover outer arrow fallback color
-@popover-arrow-outer-fallback-color:  darken(@popover-fallback-border-color, 20%);
-
-
-//== Labels
-//
-//##
-
-//** Default label background color
-@label-default-bg:            @gray-light;
-//** Primary label background color
-@label-primary-bg:            @brand-primary;
-//** Success label background color
-@label-success-bg:            @brand-success;
-//** Info label background color
-@label-info-bg:               @brand-info;
-//** Warning label background color
-@label-warning-bg:            @brand-warning;
-//** Danger label background color
-@label-danger-bg:             @brand-danger;
-
-//** Default label text color
-@label-color:                 #fff;
-//** Default text color of a linked label
-@label-link-hover-color:      #fff;
-
-
-//== Modals
-//
-//##
-
-//** Padding applied to the modal body
-@modal-inner-padding:         15px;
-
-//** Padding applied to the modal title
-@modal-title-padding:         15px;
-//** Modal title line-height
-@modal-title-line-height:     @line-height-base;
-
-//** Background color of modal content area
-@modal-content-bg:                             #fff;
-//** Modal content border color
-@modal-content-border-color:                   rgba(0,0,0,.2);
-//** Modal content border color **for IE8**
-@modal-content-fallback-border-color:          #999;
-
-//** Modal backdrop background color
-@modal-backdrop-bg:           #000;
-//** Modal backdrop opacity
-@modal-backdrop-opacity:      .5;
-//** Modal header border color
-@modal-header-border-color:   #e5e5e5;
-//** Modal footer border color
-@modal-footer-border-color:   @modal-header-border-color;
-
-@modal-lg:                    900px;
-@modal-md:                    600px;
-@modal-sm:                    300px;
-
-
-//== Alerts
-//
-//## Define alert colors, border radius, and padding.
-
-@alert-padding:               15px;
-@alert-border-radius:         @border-radius-base;
-@alert-link-font-weight:      bold;
-
-@alert-success-bg:            @state-success-bg;
-@alert-success-text:          @state-success-text;
-@alert-success-border:        @state-success-border;
-
-@alert-info-bg:               @state-info-bg;
-@alert-info-text:             @state-info-text;
-@alert-info-border:           @state-info-border;
-
-@alert-warning-bg:            @state-warning-bg;
-@alert-warning-text:          @state-warning-text;
-@alert-warning-border:        @state-warning-border;
-
-@alert-danger-bg:             @state-danger-bg;
-@alert-danger-text:           @state-danger-text;
-@alert-danger-border:         @state-danger-border;
-
-
-//== Progress bars
-//
-//##
-
-//** Background color of the whole progress component
-@progress-bg:                 #f5f5f5;
-//** Progress bar text color
-@progress-bar-color:          #fff;
-//** Variable for setting rounded corners on progress bar.
-@progress-border-radius:      @border-radius-base;
-
-//** Default progress bar color
-@progress-bar-bg:             @brand-primary;
-//** Success progress bar color
-@progress-bar-success-bg:     @brand-success;
-//** Warning progress bar color
-@progress-bar-warning-bg:     @brand-warning;
-//** Danger progress bar color
-@progress-bar-danger-bg:      @brand-danger;
-//** Info progress bar color
-@progress-bar-info-bg:        @brand-info;
-
-
-//== List group
-//
-//##
-
-//** Background color on `.list-group-item`
-@list-group-bg:                 #fff;
-//** `.list-group-item` border color
-@list-group-border:             #ddd;
-//** List group border radius
-@list-group-border-radius:      @border-radius-base;
-
-//** Background color of single list items on hover
-@list-group-hover-bg:           #f5f5f5;
-//** Text color of active list items
-@list-group-active-color:       @component-active-color;
-//** Background color of active list items
-@list-group-active-bg:          @component-active-bg;
-//** Border color of active list elements
-@list-group-active-border:      @list-group-active-bg;
-//** Text color for content within active list items
-@list-group-active-text-color:  lighten(@list-group-active-bg, 40%);
-
-//** Text color of disabled list items
-@list-group-disabled-color:      @gray-light;
-//** Background color of disabled list items
-@list-group-disabled-bg:         @gray-lighter;
-//** Text color for content within disabled list items
-@list-group-disabled-text-color: @list-group-disabled-color;
-
-@list-group-link-color:         #555;
-@list-group-link-hover-color:   @list-group-link-color;
-@list-group-link-heading-color: #333;
-
-
-//== Panels
-//
-//##
-
-@panel-bg:                    #fff;
-@panel-body-padding:          15px;
-@panel-heading-padding:       10px 15px;
-@panel-footer-padding:        @panel-heading-padding;
-@panel-border-radius:         @border-radius-base;
-
-//** Border color for elements within panels
-@panel-inner-border:          #ddd;
-@panel-footer-bg:             #f5f5f5;
-
-@panel-default-text:          @gray-dark;
-@panel-default-border:        #ddd;
-@panel-default-heading-bg:    #f5f5f5;
-
-@panel-primary-text:          #fff;
-@panel-primary-border:        @brand-primary;
-@panel-primary-heading-bg:    @brand-primary;
-
-@panel-success-text:          @state-success-text;
-@panel-success-border:        @state-success-border;
-@panel-success-heading-bg:    @state-success-bg;
-
-@panel-info-text:             @state-info-text;
-@panel-info-border:           @state-info-border;
-@panel-info-heading-bg:       @state-info-bg;
-
-@panel-warning-text:          @state-warning-text;
-@panel-warning-border:        @state-warning-border;
-@panel-warning-heading-bg:    @state-warning-bg;
-
-@panel-danger-text:           @state-danger-text;
-@panel-danger-border:         @state-danger-border;
-@panel-danger-heading-bg:     @state-danger-bg;
-
-
-//== Thumbnails
-//
-//##
-
-//** Padding around the thumbnail image
-@thumbnail-padding:           4px;
-//** Thumbnail background color
-@thumbnail-bg:                @body-bg;
-//** Thumbnail border color
-@thumbnail-border:            #ddd;
-//** Thumbnail border radius
-@thumbnail-border-radius:     @border-radius-base;
-
-//** Custom text color for thumbnail captions
-@thumbnail-caption-color:     @text-color;
-//** Padding around the thumbnail caption
-@thumbnail-caption-padding:   9px;
-
-
-//== Wells
-//
-//##
-
-@well-bg:                     #f5f5f5;
-@well-border:                 darken(@well-bg, 7%);
-
-
-//== Badges
-//
-//##
-
-@badge-color:                 #fff;
-//** Linked badge text color on hover
-@badge-link-hover-color:      #fff;
-@badge-bg:                    @gray-light;
-
-//** Badge text color in active nav link
-@badge-active-color:          @link-color;
-//** Badge background color in active nav link
-@badge-active-bg:             #fff;
-
-@badge-font-weight:           bold;
-@badge-line-height:           1;
-@badge-border-radius:         10px;
-
-
-//== Breadcrumbs
-//
-//##
-
-@breadcrumb-padding-vertical:   8px;
-@breadcrumb-padding-horizontal: 15px;
-//** Breadcrumb background color
-@breadcrumb-bg:                 #f5f5f5;
-//** Breadcrumb text color
-@breadcrumb-color:              #ccc;
-//** Text color of current page in the breadcrumb
-@breadcrumb-active-color:       @gray-light;
-//** Textual separator for between breadcrumb elements
-@breadcrumb-separator:          "/";
-
-
-//== Carousel
-//
-//##
-
-@carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6);
-
-@carousel-control-color:                      #fff;
-@carousel-control-width:                      15%;
-@carousel-control-opacity:                    .5;
-@carousel-control-font-size:                  20px;
-
-@carousel-indicator-active-bg:                #fff;
-@carousel-indicator-border-color:             #fff;
-
-@carousel-caption-color:                      #fff;
-
-
-//== Close
-//
-//##
-
-@close-font-weight:           bold;
-@close-color:                 #000;
-@close-text-shadow:           0 1px 0 #fff;
-
-
-//== Code
-//
-//##
-
-@code-color:                  #c7254e;
-@code-bg:                     #f9f2f4;
-
-@kbd-color:                   #fff;
-@kbd-bg:                      #333;
-
-@pre-bg:                      #f5f5f5;
-@pre-color:                   @gray-dark;
-@pre-border-color:            #ccc;
-@pre-scrollable-max-height:   340px;
-
-
-//== Type
-//
-//##
-
-//** Horizontal offset for forms and lists.
-@component-offset-horizontal: 180px;
-//** Text muted color
-@text-muted:                  @gray-light;
-//** Abbreviations and acronyms border color
-@abbr-border-color:           @gray-light;
-//** Headings small color
-@headings-small-color:        @gray-light;
-//** Blockquote small color
-@blockquote-small-color:      @gray-light;
-//** Blockquote font size
-@blockquote-font-size:        (@font-size-base * 1.25);
-//** Blockquote border color
-@blockquote-border-color:     @gray-lighter;
-//** Page header border color
-@page-header-border-color:    @gray-lighter;
-//** Width of horizontal description list titles
-@dl-horizontal-offset:        @component-offset-horizontal;
-//** Point at which .dl-horizontal becomes horizontal
-@dl-horizontal-breakpoint:    @grid-float-breakpoint;
-//** Horizontal line color.
-@hr-border:                   @gray-lighter;
-
-// Alerts
-
-.alert-variant(@background; @border; @text-color) {
-  background-color: @background;
-  border-color: @border;
-  color: @text-color;
-
-  hr {
-    border-top-color: darken(@border, 5%);
-  }
-  .alert-link {
-    color: darken(@text-color, 10%);
-  }
-}
-
-// Contextual backgrounds
-
-.bg-variant(@color) {
-  background-color: @color;
-  a&:hover,
-  a&:focus {
-    background-color: darken(@color, 10%);
-  }
-}
-
-// Single side border-radius
-
-.border-top-radius(@radius) {
-  border-top-right-radius: @radius;
-   border-top-left-radius: @radius;
-}
-.border-right-radius(@radius) {
-  border-bottom-right-radius: @radius;
-     border-top-right-radius: @radius;
-}
-.border-bottom-radius(@radius) {
-  border-bottom-right-radius: @radius;
-   border-bottom-left-radius: @radius;
-}
-.border-left-radius(@radius) {
-  border-bottom-left-radius: @radius;
-     border-top-left-radius: @radius;
-}
-
-// Button variants
-//
-// Easily pump out default styles, as well as :hover, :focus, :active,
-// and disabled options for all buttons
-
-.button-variant(@color; @background; @border) {
-  color: @color;
-  background-color: @background;
-  border-color: @border;
-
-  &:focus,
-  &.focus {
-    color: @color;
-    background-color: darken(@background, 10%);
-        border-color: darken(@border, 25%);
-  }
-  &:hover {
-    color: @color;
-    background-color: darken(@background, 10%);
-        border-color: darken(@border, 12%);
-  }
-  &:active,
-  &.active,
-  .open > .dropdown-toggle& {
-    color: @color;
-    background-color: darken(@background, 10%);
-        border-color: darken(@border, 12%);
-
-    &:hover,
-    &:focus,
-    &.focus {
-      color: @color;
-      background-color: darken(@background, 17%);
-          border-color: darken(@border, 25%);
-    }
-  }
-  &:active,
-  &.active,
-  .open > .dropdown-toggle& {
-    background-image: none;
-  }
-  &.disabled,
-  &[disabled],
-  fieldset[disabled] & {
-    &:hover,
-    &:focus,
-    &.focus {
-      background-color: @background;
-          border-color: @border;
-    }
-  }
-
-  .badge {
-    color: @background;
-    background-color: @color;
-  }
-}
-
-// Button sizes
-.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
-  padding: @padding-vertical @padding-horizontal;
-  font-size: @font-size;
-  line-height: @line-height;
-  border-radius: @border-radius;
-}
-
-// Center-align a block level element
-
-.center-block() {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-// Clearfix
-//
-// For modern browsers
-// 1. The space content is one way to avoid an Opera bug when the
-//    contenteditable attribute is included anywhere else in the document.
-//    Otherwise it causes space to appear at the top and bottom of elements
-//    that are clearfixed.
-// 2. The use of `table` rather than `block` is only necessary if using
-//    `:before` to contain the top-margins of child elements.
-//
-// Source: http://nicolasgallagher.com/micro-clearfix-hack/
-
-.clearfix() {
-  &:before,
-  &:after {
-    content: " "; // 1
-    display: table; // 2
-  }
-  &:after {
-    clear: both;
-  }
-}
-
-// Form validation states
-//
-// Used in forms.less to generate the form validation CSS for warnings, errors,
-// and successes.
-
-.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {
-  // Color the label and help text
-  .help-block,
-  .control-label,
-  .radio,
-  .checkbox,
-  .radio-inline,
-  .checkbox-inline,
-  &.radio label,
-  &.checkbox label,
-  &.radio-inline label,
-  &.checkbox-inline label  {
-    color: @text-color;
-  }
-  // Set the border and box shadow on specific inputs to match
-  .form-control {
-    border-color: @border-color;
-    .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
-    &:focus {
-      border-color: darken(@border-color, 10%);
-      @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);
-      .box-shadow(@shadow);
-    }
-  }
-  // Set validation states also for addons
-  .input-group-addon {
-    color: @text-color;
-    border-color: @border-color;
-    background-color: @background-color;
-  }
-  // Optional feedback icon
-  .form-control-feedback {
-    color: @text-color;
-  }
-}
-
-
-// Form control focus state
-//
-// Generate a customized focus state and for any input with the specified color,
-// which defaults to the `@input-border-focus` variable.
-//
-// We highly encourage you to not customize the default value, but instead use
-// this to tweak colors on an as-needed basis. This aesthetic change is based on
-// WebKit's default styles, but applicable to a wider range of browsers. Its
-// usability and accessibility should be taken into account with any change.
-//
-// Example usage: change the default blue border and shadow to white for better
-// contrast against a dark gray background.
-.form-control-focus(@color: @input-border-focus) {
-  @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);
-  &:focus {
-    border-color: @color;
-    outline: 0;
-    .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}");
-  }
-}
-
-// Form control sizing
-//
-// Relative text size, padding, and border-radii changes for form controls. For
-// horizontal sizing, wrap controls in the predefined grid classes. `",
-    autodestroy: true,
-    type: opts.type || 'type-info',
-    size: opts.size || 'size-normal',
-    data: {
-      oncancel: opts.oncancel,
-      onsubmit: opts.onsubmit,
-      onerror: opts.onerror,
-      closeonerror: opts.closeonerror || false,
-      default_answer: opts.default_answer,
-      onSubmitBtnClick: onSubmitBtnClick,
-      data: opts.data,
-      submited: false,
-    },
-    buttons: [
-      {
-        label: opts.cancel_label || 'Annuler',
-        action: function(dialog) {
-          dialog.close();
-        }
-      },
-      {
-        label: opts.submit_label || 'Valider',
-        cssClass: 'btn-danger',
-        action: onSubmitBtnClick
-      }
-    ],
-    onshow: function(dialog) {
-      var input = dialog.getModalBody().find('input');
-      input.on('keyup', function (e) {
-        if (e.keyCode == 13) {
-          dialog.getData('onSubmitBtnClick')(dialog);
-        }
-      });
-      if (dialog.getData('default_answer')) {
-        input.val(dialog.getData('default_answer'));
-      }
-    },
-    onhidden: function(dialog) {
-      if (!dialog.getData('submited') && jQuery.type(dialog.getData('oncancel')) == 'function') {
-        dialog.getData('oncancel')(dialog.getData('data'));
-      }
-    }
-  });
-}
-
-var myloadingalert=function(msg,opts) {
-  if ($.type(opts) != "object") {
-    opts={};
-  }
-  BootstrapDialog.show({
-    title: opts.title || 'Merci de patienter',
-    message: msg,
-    autodestroy: true,
-    type: opts.type || 'type-info',
-    size: opts.size || 'size-normal',
-    closable: opts.closable || false,
-  });
-};
-
-$( document ).ready(function () {
-  // Manage .myconfirm-link
-  $('.myconfirm-link').click(function(event) {
-    event.preventDefault();
-    myconfirm({
-      title: $(this).data("myconfirm-title") || "Confirmation",
-      question: "

"+($(this).data("myconfirm-question") || "Êtes-vous sûre ?")+"

", - onconfirm: function(data) { - window.location = data.confirm_url; - }, - data: { - confirm_url: $(this).data('myconfirm-url') - } - }); - }); - - // Manage .myconfirm-btn - $('.myconfirm-btn').click(function(event) { - if ($(this).data('myconfirm-btn-confirmed') == '1') { - $(this).data('myconfirm-btn-confirmed', ''); - return true; - } - event.preventDefault(); - myconfirm({ - title: $(this).data("myconfirm-title") || "Confirmation", - question: "

"+($(this).data("myconfirm-question") || "Êtes-vous sûre ?")+"

", - onconfirm: function(data) { - data.btn.data('myconfirm-btn-confirmed', 1); - data.btn.click(); - }, - data: { - btn: $(this) - } - }); - }); -});