Merge pull request #788 from ae-utbm/manifest-static-files
Manifest static files
3
.github/workflows/deploy.yml
vendored
@ -40,8 +40,7 @@ jobs:
|
|||||||
poetry install --with prod --without docs,tests
|
poetry install --with prod --without docs,tests
|
||||||
poetry run ./manage.py install_xapian
|
poetry run ./manage.py install_xapian
|
||||||
poetry run ./manage.py migrate
|
poetry run ./manage.py migrate
|
||||||
echo "yes" | poetry run ./manage.py collectstatic
|
poetry run ./manage.py collectstatic --clear --noinput
|
||||||
poetry run ./manage.py compilestatic
|
|
||||||
poetry run ./manage.py compilemessages
|
poetry run ./manage.py compilemessages
|
||||||
|
|
||||||
sudo systemctl restart uwsgi
|
sudo systemctl restart uwsgi
|
||||||
|
3
.github/workflows/taiste.yml
vendored
@ -39,8 +39,7 @@ jobs:
|
|||||||
poetry install --with prod --without docs,tests
|
poetry install --with prod --without docs,tests
|
||||||
poetry run ./manage.py install_xapian
|
poetry run ./manage.py install_xapian
|
||||||
poetry run ./manage.py migrate
|
poetry run ./manage.py migrate
|
||||||
echo "yes" | poetry run ./manage.py collectstatic
|
poetry run ./manage.py collectstatic --clear --noinput
|
||||||
poetry run ./manage.py compilestatic
|
|
||||||
poetry run ./manage.py compilemessages
|
poetry run ./manage.py compilemessages
|
||||||
|
|
||||||
sudo systemctl restart uwsgi
|
sudo systemctl restart uwsgi
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 273 KiB After Width: | Height: | Size: 273 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 275 KiB After Width: | Height: | Size: 275 KiB |
Before Width: | Height: | Size: 275 KiB After Width: | Height: | Size: 275 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 242 KiB |
@ -2,7 +2,7 @@
|
|||||||
<html lang="fr">
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<title>{% trans %}Slideshow{% endtrans %}</title>
|
<title>{% trans %}Slideshow{% endtrans %}</title>
|
||||||
<link href="{{ scss('com/slideshow.scss') }}" rel="stylesheet" type="text/css" />
|
<link href="{{ scss('com/css/slideshow.scss') }}" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="slideshow">
|
<div id="slideshow">
|
||||||
|
@ -1,69 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# Copyright 2017
|
|
||||||
# - Sli <antoine@bartuccio.fr>
|
|
||||||
#
|
|
||||||
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
|
|
||||||
# http://ae.utbm.fr.
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
|
||||||
# the terms of the GNU General Public License a published by the Free Software
|
|
||||||
# Foundation; either version 3 of the License, or (at your option) any later
|
|
||||||
# version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
||||||
# details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License along with
|
|
||||||
# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple
|
|
||||||
# Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
import sys
|
|
||||||
|
|
||||||
import sass
|
|
||||||
from django.conf import settings
|
|
||||||
from django.core.management.base import BaseCommand
|
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
|
||||||
"""Compiles scss in static folder for production."""
|
|
||||||
|
|
||||||
help = "Compile scss files from static folder"
|
|
||||||
|
|
||||||
def compile(self, filename: str):
|
|
||||||
args = {
|
|
||||||
"filename": filename,
|
|
||||||
"include_paths": settings.STATIC_ROOT.name,
|
|
||||||
"output_style": "compressed",
|
|
||||||
}
|
|
||||||
if settings.SASS_PRECISION:
|
|
||||||
args["precision"] = settings.SASS_PRECISION
|
|
||||||
return sass.compile(**args)
|
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
|
||||||
if not settings.STATIC_ROOT.is_dir():
|
|
||||||
raise Exception(
|
|
||||||
"No static folder availaible, please use collectstatic before compiling scss"
|
|
||||||
)
|
|
||||||
to_exec = list(settings.STATIC_ROOT.rglob("*.scss"))
|
|
||||||
if len(to_exec) == 0:
|
|
||||||
self.stdout.write("Nothing to compile.")
|
|
||||||
sys.exit(0)
|
|
||||||
self.stdout.write("---- Compiling scss files ---")
|
|
||||||
for file in to_exec:
|
|
||||||
# remove existing css files that will be replaced
|
|
||||||
# keeping them while compiling the scss would break
|
|
||||||
# import statements resolution
|
|
||||||
css_file = file.with_suffix(".css")
|
|
||||||
if css_file.exists():
|
|
||||||
css_file.unlink()
|
|
||||||
compiled_files = {file: self.compile(str(file.resolve())) for file in to_exec}
|
|
||||||
for file, scss in compiled_files.items():
|
|
||||||
file.replace(file.with_suffix(".css")).write_text(scss)
|
|
||||||
self.stdout.write(
|
|
||||||
"Files compiled : \n" + "\n- ".join(str(f) for f in compiled_files)
|
|
||||||
)
|
|
@ -1,55 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# Copyright 2017
|
|
||||||
# - Sli <antoine@bartuccio.fr>
|
|
||||||
#
|
|
||||||
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
|
|
||||||
# http://ae.utbm.fr.
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
|
||||||
# the terms of the GNU General Public License a published by the Free Software
|
|
||||||
# Foundation; either version 3 of the License, or (at your option) any later
|
|
||||||
# version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
||||||
# details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License along with
|
|
||||||
# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple
|
|
||||||
# Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
import functools
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
import sass
|
|
||||||
from django.conf import settings
|
|
||||||
from django.core.files.base import ContentFile
|
|
||||||
from django.templatetags.static import static
|
|
||||||
from django_jinja.builtins.filters import static
|
|
||||||
|
|
||||||
from core.scss.storage import ScssFileStorage, find_file
|
|
||||||
|
|
||||||
|
|
||||||
@functools.cache
|
|
||||||
def _scss_storage():
|
|
||||||
return ScssFileStorage()
|
|
||||||
|
|
||||||
|
|
||||||
def process_scss_path(path: Path):
|
|
||||||
css_path = path.with_suffix(".css")
|
|
||||||
if settings.DEBUG:
|
|
||||||
compile_args = {
|
|
||||||
"filename": find_file(path),
|
|
||||||
"include_paths": settings.SASS_INCLUDE_FOLDERS,
|
|
||||||
}
|
|
||||||
if settings.SASS_PRECISION:
|
|
||||||
compile_args["precision"] = settings.SASS_PRECISION
|
|
||||||
content = sass.compile(**compile_args)
|
|
||||||
storage = _scss_storage()
|
|
||||||
if storage.exists(css_path):
|
|
||||||
storage.delete(css_path)
|
|
||||||
storage.save(css_path, ContentFile(content))
|
|
||||||
return static(css_path)
|
|
@ -1,43 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# Copyright 2017
|
|
||||||
# - Sli <antoine@bartuccio.fr>
|
|
||||||
#
|
|
||||||
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
|
|
||||||
# http://ae.utbm.fr.
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
|
||||||
# the terms of the GNU General Public License a published by the Free Software
|
|
||||||
# Foundation; either version 3 of the License, or (at your option) any later
|
|
||||||
# version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
||||||
# details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License along with
|
|
||||||
# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple
|
|
||||||
# Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
from django.contrib.staticfiles.finders import get_finders
|
|
||||||
from django.core.files.storage import FileSystemStorage
|
|
||||||
|
|
||||||
|
|
||||||
class ScssFileStorage(FileSystemStorage):
|
|
||||||
def __init__(self, location=None, base_url=None, *args, **kwargs):
|
|
||||||
if location is None:
|
|
||||||
location = settings.STATIC_ROOT
|
|
||||||
if base_url is None:
|
|
||||||
base_url = settings.STATIC_URL
|
|
||||||
super().__init__(location, base_url, *args, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
def find_file(path):
|
|
||||||
for finder in get_finders():
|
|
||||||
result = finder.find(path)
|
|
||||||
if result:
|
|
||||||
return result
|
|
3
core/static/core/js/sentry/bundle.min.js
vendored
11008
core/static/core/js/ui/external/jquery/jquery.js
vendored
@ -1,39 +0,0 @@
|
|||||||
/* French initialisation for the jQuery UI date picker plugin. */
|
|
||||||
/* Written by Keith Wood (kbwood{at}iinet.com.au),
|
|
||||||
Stéphane Nahmani (sholby@sholby.net),
|
|
||||||
Stéphane Raimbault <stephane.raimbault@gmail.com> */
|
|
||||||
( function( factory ) {
|
|
||||||
if ( typeof define === "function" && define.amd ) {
|
|
||||||
|
|
||||||
// AMD. Register as an anonymous module.
|
|
||||||
define( [ "../widgets/datepicker" ], factory );
|
|
||||||
} else {
|
|
||||||
|
|
||||||
// Browser globals
|
|
||||||
factory( jQuery.datepicker );
|
|
||||||
}
|
|
||||||
}( function( datepicker ) {
|
|
||||||
|
|
||||||
datepicker.regional.fr = {
|
|
||||||
closeText: "Fermer",
|
|
||||||
prevText: "Précédent",
|
|
||||||
nextText: "Suivant",
|
|
||||||
currentText: "Aujourd'hui",
|
|
||||||
monthNames: [ "janvier", "février", "mars", "avril", "mai", "juin",
|
|
||||||
"juillet", "août", "septembre", "octobre", "novembre", "décembre" ],
|
|
||||||
monthNamesShort: [ "janv.", "févr.", "mars", "avr.", "mai", "juin",
|
|
||||||
"juil.", "août", "sept.", "oct.", "nov.", "déc." ],
|
|
||||||
dayNames: [ "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" ],
|
|
||||||
dayNamesShort: [ "dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam." ],
|
|
||||||
dayNamesMin: [ "D","L","M","M","J","V","S" ],
|
|
||||||
weekHeader: "Sem.",
|
|
||||||
dateFormat: "dd/mm/yy",
|
|
||||||
firstDay: 1,
|
|
||||||
isRTL: false,
|
|
||||||
showMonthAfterYear: false,
|
|
||||||
yearSuffix: "" };
|
|
||||||
datepicker.setDefaults( datepicker.regional.fr );
|
|
||||||
|
|
||||||
return datepicker.regional.fr;
|
|
||||||
|
|
||||||
} ) );
|
|
1313
core/static/core/js/ui/jquery-ui.css
vendored
18686
core/static/core/js/ui/jquery-ui.js
vendored
886
core/static/core/js/ui/jquery-ui.structure.css
vendored
@ -1,886 +0,0 @@
|
|||||||
/*!
|
|
||||||
* jQuery UI CSS Framework 1.12.0
|
|
||||||
* http://jqueryui.com
|
|
||||||
*
|
|
||||||
* Copyright jQuery Foundation and other contributors
|
|
||||||
* Released under the MIT license.
|
|
||||||
* http://jquery.org/license
|
|
||||||
*
|
|
||||||
* http://api.jqueryui.com/category/theming/
|
|
||||||
*/
|
|
||||||
.ui-draggable-handle {
|
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
|
||||||
}
|
|
||||||
/* Layout helpers
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-helper-hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.ui-helper-hidden-accessible {
|
|
||||||
border: 0;
|
|
||||||
clip: rect(0 0 0 0);
|
|
||||||
height: 1px;
|
|
||||||
margin: -1px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0;
|
|
||||||
position: absolute;
|
|
||||||
width: 1px;
|
|
||||||
}
|
|
||||||
.ui-helper-reset {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
border: 0;
|
|
||||||
outline: 0;
|
|
||||||
line-height: 1.3;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size: 100%;
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
.ui-helper-clearfix:before,
|
|
||||||
.ui-helper-clearfix:after {
|
|
||||||
content: "";
|
|
||||||
display: table;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
.ui-helper-clearfix:after {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.ui-helper-zfix {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
position: absolute;
|
|
||||||
opacity: 0;
|
|
||||||
filter:Alpha(Opacity=0); /* support: IE8 */
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-front {
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Interaction Cues
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-state-disabled {
|
|
||||||
cursor: default !important;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Icons
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-icon {
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-top: -.25em;
|
|
||||||
position: relative;
|
|
||||||
text-indent: -99999px;
|
|
||||||
overflow: hidden;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-widget-icon-block {
|
|
||||||
left: 50%;
|
|
||||||
margin-left: -8px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Misc visuals
|
|
||||||
----------------------------------*/
|
|
||||||
|
|
||||||
/* Overlays */
|
|
||||||
.ui-widget-overlay {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
.ui-resizable {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.ui-resizable-handle {
|
|
||||||
position: absolute;
|
|
||||||
font-size: 0.1px;
|
|
||||||
display: block;
|
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
|
||||||
}
|
|
||||||
.ui-resizable-disabled .ui-resizable-handle,
|
|
||||||
.ui-resizable-autohide .ui-resizable-handle {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.ui-resizable-n {
|
|
||||||
cursor: n-resize;
|
|
||||||
height: 7px;
|
|
||||||
width: 100%;
|
|
||||||
top: -5px;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.ui-resizable-s {
|
|
||||||
cursor: s-resize;
|
|
||||||
height: 7px;
|
|
||||||
width: 100%;
|
|
||||||
bottom: -5px;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.ui-resizable-e {
|
|
||||||
cursor: e-resize;
|
|
||||||
width: 7px;
|
|
||||||
right: -5px;
|
|
||||||
top: 0;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
.ui-resizable-w {
|
|
||||||
cursor: w-resize;
|
|
||||||
width: 7px;
|
|
||||||
left: -5px;
|
|
||||||
top: 0;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
.ui-resizable-se {
|
|
||||||
cursor: se-resize;
|
|
||||||
width: 12px;
|
|
||||||
height: 12px;
|
|
||||||
right: 1px;
|
|
||||||
bottom: 1px;
|
|
||||||
}
|
|
||||||
.ui-resizable-sw {
|
|
||||||
cursor: sw-resize;
|
|
||||||
width: 9px;
|
|
||||||
height: 9px;
|
|
||||||
left: -5px;
|
|
||||||
bottom: -5px;
|
|
||||||
}
|
|
||||||
.ui-resizable-nw {
|
|
||||||
cursor: nw-resize;
|
|
||||||
width: 9px;
|
|
||||||
height: 9px;
|
|
||||||
left: -5px;
|
|
||||||
top: -5px;
|
|
||||||
}
|
|
||||||
.ui-resizable-ne {
|
|
||||||
cursor: ne-resize;
|
|
||||||
width: 9px;
|
|
||||||
height: 9px;
|
|
||||||
right: -5px;
|
|
||||||
top: -5px;
|
|
||||||
}
|
|
||||||
.ui-selectable {
|
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
|
||||||
}
|
|
||||||
.ui-selectable-helper {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 100;
|
|
||||||
border: 1px dotted black;
|
|
||||||
}
|
|
||||||
.ui-sortable-handle {
|
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
|
||||||
}
|
|
||||||
.ui-accordion .ui-accordion-header {
|
|
||||||
display: block;
|
|
||||||
cursor: pointer;
|
|
||||||
position: relative;
|
|
||||||
margin: 2px 0 0 0;
|
|
||||||
padding: .5em .5em .5em .7em;
|
|
||||||
font-size: 100%;
|
|
||||||
}
|
|
||||||
.ui-accordion .ui-accordion-content {
|
|
||||||
padding: 1em 2.2em;
|
|
||||||
border-top: 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.ui-autocomplete {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
.ui-menu {
|
|
||||||
list-style: none;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
display: block;
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
.ui-menu .ui-menu {
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
.ui-menu .ui-menu-item {
|
|
||||||
margin: 0;
|
|
||||||
cursor: pointer;
|
|
||||||
/* support: IE10, see #8844 */
|
|
||||||
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
|
|
||||||
}
|
|
||||||
.ui-menu .ui-menu-item-wrapper {
|
|
||||||
position: relative;
|
|
||||||
padding: 3px 1em 3px .4em;
|
|
||||||
}
|
|
||||||
.ui-menu .ui-menu-divider {
|
|
||||||
margin: 5px 0;
|
|
||||||
height: 0;
|
|
||||||
font-size: 0;
|
|
||||||
line-height: 0;
|
|
||||||
border-width: 1px 0 0 0;
|
|
||||||
}
|
|
||||||
.ui-menu .ui-state-focus,
|
|
||||||
.ui-menu .ui-state-active {
|
|
||||||
margin: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* icon support */
|
|
||||||
.ui-menu-icons {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.ui-menu-icons .ui-menu-item-wrapper {
|
|
||||||
padding-left: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* left-aligned */
|
|
||||||
.ui-menu .ui-icon {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: .2em;
|
|
||||||
margin: auto 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* right-aligned */
|
|
||||||
.ui-menu .ui-menu-icon {
|
|
||||||
left: auto;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
.ui-button {
|
|
||||||
padding: .4em 1em;
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
line-height: normal;
|
|
||||||
margin-right: .1em;
|
|
||||||
cursor: pointer;
|
|
||||||
vertical-align: middle;
|
|
||||||
text-align: center;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
|
|
||||||
/* Support: IE <= 11 */
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-button,
|
|
||||||
.ui-button:link,
|
|
||||||
.ui-button:visited,
|
|
||||||
.ui-button:hover,
|
|
||||||
.ui-button:active {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* to make room for the icon, a width needs to be set here */
|
|
||||||
.ui-button-icon-only {
|
|
||||||
width: 2em;
|
|
||||||
box-sizing: border-box;
|
|
||||||
text-indent: -9999px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* no icon support for input elements */
|
|
||||||
input.ui-button.ui-button-icon-only {
|
|
||||||
text-indent: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* button icon element(s) */
|
|
||||||
.ui-button-icon-only .ui-icon {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
margin-top: -8px;
|
|
||||||
margin-left: -8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-button.ui-icon-notext .ui-icon {
|
|
||||||
padding: 0;
|
|
||||||
width: 2.1em;
|
|
||||||
height: 2.1em;
|
|
||||||
text-indent: -9999px;
|
|
||||||
white-space: nowrap;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
input.ui-button.ui-icon-notext .ui-icon {
|
|
||||||
width: auto;
|
|
||||||
height: auto;
|
|
||||||
text-indent: 0;
|
|
||||||
white-space: normal;
|
|
||||||
padding: .4em 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* workarounds */
|
|
||||||
/* Support: Firefox 5 - 40 */
|
|
||||||
input.ui-button::-moz-focus-inner,
|
|
||||||
button.ui-button::-moz-focus-inner {
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.ui-controlgroup {
|
|
||||||
vertical-align: middle;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
.ui-controlgroup > .ui-controlgroup-item {
|
|
||||||
float: left;
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
.ui-controlgroup > .ui-controlgroup-item:focus,
|
|
||||||
.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
|
|
||||||
z-index: 9999;
|
|
||||||
}
|
|
||||||
.ui-controlgroup-vertical > .ui-controlgroup-item {
|
|
||||||
display: block;
|
|
||||||
float: none;
|
|
||||||
width: 100%;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
.ui-controlgroup-vertical .ui-controlgroup-item {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.ui-controlgroup .ui-controlgroup-label {
|
|
||||||
padding: .4em 1em;
|
|
||||||
}
|
|
||||||
.ui-controlgroup .ui-controlgroup-label span {
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
|
|
||||||
border-left: none;
|
|
||||||
}
|
|
||||||
.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
|
|
||||||
border-right: none;
|
|
||||||
}
|
|
||||||
.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Spinner specific style fixes */
|
|
||||||
.ui-controlgroup-vertical .ui-spinner-input {
|
|
||||||
|
|
||||||
/* Support: IE8 only, Android < 4.4 only */
|
|
||||||
width: 75%;
|
|
||||||
width: calc( 100% - 2.4em );
|
|
||||||
}
|
|
||||||
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
|
|
||||||
border-top-style: solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-checkboxradio-label .ui-icon-background {
|
|
||||||
box-shadow: inset 1px 1px 1px #ccc;
|
|
||||||
border-radius: .12em;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
.ui-checkboxradio-radio-label .ui-icon-background {
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
border-radius: 1em;
|
|
||||||
overflow: visible;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
|
|
||||||
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
|
|
||||||
background-image: none;
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
border-width: 4px;
|
|
||||||
border-style: solid;
|
|
||||||
}
|
|
||||||
.ui-checkboxradio-disabled {
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
.ui-datepicker {
|
|
||||||
width: 17em;
|
|
||||||
padding: .2em .2em 0;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-header {
|
|
||||||
position: relative;
|
|
||||||
padding: .2em 0;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-prev,
|
|
||||||
.ui-datepicker .ui-datepicker-next {
|
|
||||||
position: absolute;
|
|
||||||
top: 2px;
|
|
||||||
width: 1.8em;
|
|
||||||
height: 1.8em;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-prev-hover,
|
|
||||||
.ui-datepicker .ui-datepicker-next-hover {
|
|
||||||
top: 1px;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-prev {
|
|
||||||
left: 2px;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-next {
|
|
||||||
right: 2px;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-prev-hover {
|
|
||||||
left: 1px;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-next-hover {
|
|
||||||
right: 1px;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-prev span,
|
|
||||||
.ui-datepicker .ui-datepicker-next span {
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
margin-left: -8px;
|
|
||||||
top: 50%;
|
|
||||||
margin-top: -8px;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-title {
|
|
||||||
margin: 0 2.3em;
|
|
||||||
line-height: 1.8em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-title select {
|
|
||||||
font-size: 1em;
|
|
||||||
margin: 1px 0;
|
|
||||||
}
|
|
||||||
.ui-datepicker select.ui-datepicker-month,
|
|
||||||
.ui-datepicker select.ui-datepicker-year {
|
|
||||||
width: 45%;
|
|
||||||
}
|
|
||||||
.ui-datepicker table {
|
|
||||||
width: 100%;
|
|
||||||
font-size: .9em;
|
|
||||||
border-collapse: collapse;
|
|
||||||
margin: 0 0 .4em;
|
|
||||||
}
|
|
||||||
.ui-datepicker th {
|
|
||||||
padding: .7em .3em;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: bold;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
.ui-datepicker td {
|
|
||||||
border: 0;
|
|
||||||
padding: 1px;
|
|
||||||
}
|
|
||||||
.ui-datepicker td span,
|
|
||||||
.ui-datepicker td a {
|
|
||||||
display: block;
|
|
||||||
padding: .2em;
|
|
||||||
text-align: right;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-buttonpane {
|
|
||||||
background-image: none;
|
|
||||||
margin: .7em 0 0 0;
|
|
||||||
padding: 0 .2em;
|
|
||||||
border-left: 0;
|
|
||||||
border-right: 0;
|
|
||||||
border-bottom: 0;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-buttonpane button {
|
|
||||||
float: right;
|
|
||||||
margin: .5em .2em .4em;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: .2em .6em .3em .6em;
|
|
||||||
width: auto;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* with multiple calendars */
|
|
||||||
.ui-datepicker.ui-datepicker-multi {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
.ui-datepicker-multi .ui-datepicker-group {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.ui-datepicker-multi .ui-datepicker-group table {
|
|
||||||
width: 95%;
|
|
||||||
margin: 0 auto .4em;
|
|
||||||
}
|
|
||||||
.ui-datepicker-multi-2 .ui-datepicker-group {
|
|
||||||
width: 50%;
|
|
||||||
}
|
|
||||||
.ui-datepicker-multi-3 .ui-datepicker-group {
|
|
||||||
width: 33.3%;
|
|
||||||
}
|
|
||||||
.ui-datepicker-multi-4 .ui-datepicker-group {
|
|
||||||
width: 25%;
|
|
||||||
}
|
|
||||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
|
|
||||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
|
|
||||||
border-left-width: 0;
|
|
||||||
}
|
|
||||||
.ui-datepicker-multi .ui-datepicker-buttonpane {
|
|
||||||
clear: left;
|
|
||||||
}
|
|
||||||
.ui-datepicker-row-break {
|
|
||||||
clear: both;
|
|
||||||
width: 100%;
|
|
||||||
font-size: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* RTL support */
|
|
||||||
.ui-datepicker-rtl {
|
|
||||||
direction: rtl;
|
|
||||||
}
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-prev {
|
|
||||||
right: 2px;
|
|
||||||
left: auto;
|
|
||||||
}
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-next {
|
|
||||||
left: 2px;
|
|
||||||
right: auto;
|
|
||||||
}
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-prev:hover {
|
|
||||||
right: 1px;
|
|
||||||
left: auto;
|
|
||||||
}
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-next:hover {
|
|
||||||
left: 1px;
|
|
||||||
right: auto;
|
|
||||||
}
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-buttonpane {
|
|
||||||
clear: right;
|
|
||||||
}
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-group {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
|
|
||||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
|
|
||||||
border-right-width: 0;
|
|
||||||
border-left-width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icons */
|
|
||||||
.ui-datepicker .ui-icon {
|
|
||||||
display: block;
|
|
||||||
text-indent: -99999px;
|
|
||||||
overflow: hidden;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
left: .5em;
|
|
||||||
top: .3em;
|
|
||||||
}
|
|
||||||
.ui-dialog {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
padding: .2em;
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-dialog-titlebar {
|
|
||||||
padding: .4em 1em;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-dialog-title {
|
|
||||||
float: left;
|
|
||||||
margin: .1em 0;
|
|
||||||
white-space: nowrap;
|
|
||||||
width: 90%;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-dialog-titlebar-close {
|
|
||||||
position: absolute;
|
|
||||||
right: .3em;
|
|
||||||
top: 50%;
|
|
||||||
width: 20px;
|
|
||||||
margin: -10px 0 0 0;
|
|
||||||
padding: 1px;
|
|
||||||
height: 20px;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-dialog-content {
|
|
||||||
position: relative;
|
|
||||||
border: 0;
|
|
||||||
padding: .5em 1em;
|
|
||||||
background: none;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-dialog-buttonpane {
|
|
||||||
text-align: left;
|
|
||||||
border-width: 1px 0 0 0;
|
|
||||||
background-image: none;
|
|
||||||
margin-top: .5em;
|
|
||||||
padding: .3em 1em .5em .4em;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-dialog-buttonpane button {
|
|
||||||
margin: .5em .4em .5em 0;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-resizable-n {
|
|
||||||
height: 2px;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-resizable-e {
|
|
||||||
width: 2px;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-resizable-s {
|
|
||||||
height: 2px;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-resizable-w {
|
|
||||||
width: 2px;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-resizable-se,
|
|
||||||
.ui-dialog .ui-resizable-sw,
|
|
||||||
.ui-dialog .ui-resizable-ne,
|
|
||||||
.ui-dialog .ui-resizable-nw {
|
|
||||||
width: 7px;
|
|
||||||
height: 7px;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-resizable-se {
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-resizable-sw {
|
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-resizable-ne {
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.ui-dialog .ui-resizable-nw {
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.ui-draggable .ui-dialog-titlebar {
|
|
||||||
cursor: move;
|
|
||||||
}
|
|
||||||
.ui-progressbar {
|
|
||||||
height: 2em;
|
|
||||||
text-align: left;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.ui-progressbar .ui-progressbar-value {
|
|
||||||
margin: -1px;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
.ui-progressbar .ui-progressbar-overlay {
|
|
||||||
background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
|
|
||||||
height: 100%;
|
|
||||||
filter: alpha(opacity=25); /* support: IE8 */
|
|
||||||
opacity: 0.25;
|
|
||||||
}
|
|
||||||
.ui-progressbar-indeterminate .ui-progressbar-value {
|
|
||||||
background-image: none;
|
|
||||||
}
|
|
||||||
.ui-selectmenu-menu {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.ui-selectmenu-menu .ui-menu {
|
|
||||||
overflow: auto;
|
|
||||||
overflow-x: hidden;
|
|
||||||
padding-bottom: 1px;
|
|
||||||
}
|
|
||||||
.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
|
|
||||||
font-size: 1em;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 1.5;
|
|
||||||
padding: 2px 0.4em;
|
|
||||||
margin: 0.5em 0 0 0;
|
|
||||||
height: auto;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
.ui-selectmenu-open {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.ui-selectmenu-text {
|
|
||||||
display: block;
|
|
||||||
margin-right: 20px;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
}
|
|
||||||
.ui-selectmenu-button.ui-button {
|
|
||||||
text-align: left;
|
|
||||||
white-space: nowrap;
|
|
||||||
width: 14em;
|
|
||||||
}
|
|
||||||
.ui-selectmenu-icon.ui-icon {
|
|
||||||
float: right;
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
.ui-slider {
|
|
||||||
position: relative;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
.ui-slider .ui-slider-handle {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 2;
|
|
||||||
width: 1.2em;
|
|
||||||
height: 1.2em;
|
|
||||||
cursor: default;
|
|
||||||
-ms-touch-action: none;
|
|
||||||
touch-action: none;
|
|
||||||
}
|
|
||||||
.ui-slider .ui-slider-range {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 1;
|
|
||||||
font-size: .7em;
|
|
||||||
display: block;
|
|
||||||
border: 0;
|
|
||||||
background-position: 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* support: IE8 - See #6727 */
|
|
||||||
.ui-slider.ui-state-disabled .ui-slider-handle,
|
|
||||||
.ui-slider.ui-state-disabled .ui-slider-range {
|
|
||||||
filter: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-slider-horizontal {
|
|
||||||
height: .8em;
|
|
||||||
}
|
|
||||||
.ui-slider-horizontal .ui-slider-handle {
|
|
||||||
top: -.3em;
|
|
||||||
margin-left: -.6em;
|
|
||||||
}
|
|
||||||
.ui-slider-horizontal .ui-slider-range {
|
|
||||||
top: 0;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
.ui-slider-horizontal .ui-slider-range-min {
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.ui-slider-horizontal .ui-slider-range-max {
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-slider-vertical {
|
|
||||||
width: .8em;
|
|
||||||
height: 100px;
|
|
||||||
}
|
|
||||||
.ui-slider-vertical .ui-slider-handle {
|
|
||||||
left: -.3em;
|
|
||||||
margin-left: 0;
|
|
||||||
margin-bottom: -.6em;
|
|
||||||
}
|
|
||||||
.ui-slider-vertical .ui-slider-range {
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.ui-slider-vertical .ui-slider-range-min {
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.ui-slider-vertical .ui-slider-range-max {
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.ui-spinner {
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.ui-spinner-input {
|
|
||||||
border: none;
|
|
||||||
background: none;
|
|
||||||
color: inherit;
|
|
||||||
padding: .222em 0;
|
|
||||||
margin: .2em 0;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-left: .4em;
|
|
||||||
margin-right: 2em;
|
|
||||||
}
|
|
||||||
.ui-spinner-button {
|
|
||||||
width: 1.6em;
|
|
||||||
height: 50%;
|
|
||||||
font-size: .5em;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
text-align: center;
|
|
||||||
position: absolute;
|
|
||||||
cursor: default;
|
|
||||||
display: block;
|
|
||||||
overflow: hidden;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
/* more specificity required here to override default borders */
|
|
||||||
.ui-spinner a.ui-spinner-button {
|
|
||||||
border-top-style: none;
|
|
||||||
border-bottom-style: none;
|
|
||||||
border-right-style: none;
|
|
||||||
}
|
|
||||||
.ui-spinner-up {
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.ui-spinner-down {
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.ui-tabs {
|
|
||||||
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
|
||||||
padding: .2em;
|
|
||||||
}
|
|
||||||
.ui-tabs .ui-tabs-nav {
|
|
||||||
margin: 0;
|
|
||||||
padding: .2em .2em 0;
|
|
||||||
}
|
|
||||||
.ui-tabs .ui-tabs-nav li {
|
|
||||||
list-style: none;
|
|
||||||
float: left;
|
|
||||||
position: relative;
|
|
||||||
top: 0;
|
|
||||||
margin: 1px .2em 0 0;
|
|
||||||
border-bottom-width: 0;
|
|
||||||
padding: 0;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
|
|
||||||
float: left;
|
|
||||||
padding: .5em 1em;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
|
||||||
margin-bottom: -1px;
|
|
||||||
padding-bottom: 1px;
|
|
||||||
}
|
|
||||||
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
|
|
||||||
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
|
|
||||||
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
|
|
||||||
cursor: text;
|
|
||||||
}
|
|
||||||
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.ui-tabs .ui-tabs-panel {
|
|
||||||
display: block;
|
|
||||||
border-width: 0;
|
|
||||||
padding: 1em 1.4em;
|
|
||||||
background: none;
|
|
||||||
}
|
|
||||||
.ui-tooltip {
|
|
||||||
padding: 8px;
|
|
||||||
position: absolute;
|
|
||||||
z-index: 9999;
|
|
||||||
max-width: 300px;
|
|
||||||
}
|
|
||||||
body .ui-tooltip {
|
|
||||||
border-width: 2px;
|
|
||||||
}
|
|
444
core/static/core/js/ui/jquery-ui.theme.css
vendored
@ -1,444 +0,0 @@
|
|||||||
/*!
|
|
||||||
* jQuery UI CSS Framework 1.12.0
|
|
||||||
* http://jqueryui.com
|
|
||||||
*
|
|
||||||
* Copyright jQuery Foundation and other contributors
|
|
||||||
* Released under the MIT license.
|
|
||||||
* http://jquery.org/license
|
|
||||||
*
|
|
||||||
* http://api.jqueryui.com/category/theming/
|
|
||||||
*
|
|
||||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/* Component containers
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-widget {
|
|
||||||
font-family: Arial,Helvetica,sans-serif;
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
.ui-widget .ui-widget {
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
.ui-widget input,
|
|
||||||
.ui-widget select,
|
|
||||||
.ui-widget textarea,
|
|
||||||
.ui-widget button {
|
|
||||||
font-family: Arial,Helvetica,sans-serif;
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
.ui-widget.ui-widget-content {
|
|
||||||
border: 1px solid #c5c5c5;
|
|
||||||
}
|
|
||||||
.ui-widget-content {
|
|
||||||
border: 1px solid #dddddd;
|
|
||||||
background: #ffffff;
|
|
||||||
color: #333333;
|
|
||||||
}
|
|
||||||
.ui-widget-content a {
|
|
||||||
color: #333333;
|
|
||||||
}
|
|
||||||
.ui-widget-header {
|
|
||||||
border: 1px solid #dddddd;
|
|
||||||
background: #e9e9e9;
|
|
||||||
color: #333333;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.ui-widget-header a {
|
|
||||||
color: #333333;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Interaction states
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-state-default,
|
|
||||||
.ui-widget-content .ui-state-default,
|
|
||||||
.ui-widget-header .ui-state-default,
|
|
||||||
.ui-button,
|
|
||||||
|
|
||||||
/* We use html here because we need a greater specificity to make sure disabled
|
|
||||||
works properly when clicked or hovered */
|
|
||||||
html .ui-button.ui-state-disabled:hover,
|
|
||||||
html .ui-button.ui-state-disabled:active {
|
|
||||||
border: 1px solid #c5c5c5;
|
|
||||||
background: #f6f6f6;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #454545;
|
|
||||||
}
|
|
||||||
.ui-state-default a,
|
|
||||||
.ui-state-default a:link,
|
|
||||||
.ui-state-default a:visited,
|
|
||||||
a.ui-button,
|
|
||||||
a:link.ui-button,
|
|
||||||
a:visited.ui-button,
|
|
||||||
.ui-button {
|
|
||||||
color: #454545;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.ui-state-hover,
|
|
||||||
.ui-widget-content .ui-state-hover,
|
|
||||||
.ui-widget-header .ui-state-hover,
|
|
||||||
.ui-state-focus,
|
|
||||||
.ui-widget-content .ui-state-focus,
|
|
||||||
.ui-widget-header .ui-state-focus,
|
|
||||||
.ui-button:hover,
|
|
||||||
.ui-button:focus {
|
|
||||||
border: 1px solid #cccccc;
|
|
||||||
background: #ededed;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #2b2b2b;
|
|
||||||
}
|
|
||||||
.ui-state-hover a,
|
|
||||||
.ui-state-hover a:hover,
|
|
||||||
.ui-state-hover a:link,
|
|
||||||
.ui-state-hover a:visited,
|
|
||||||
.ui-state-focus a,
|
|
||||||
.ui-state-focus a:hover,
|
|
||||||
.ui-state-focus a:link,
|
|
||||||
.ui-state-focus a:visited,
|
|
||||||
a.ui-button:hover,
|
|
||||||
a.ui-button:focus {
|
|
||||||
color: #2b2b2b;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-visual-focus {
|
|
||||||
box-shadow: 0 0 3px 1px rgb(94, 158, 214);
|
|
||||||
}
|
|
||||||
.ui-state-active,
|
|
||||||
.ui-widget-content .ui-state-active,
|
|
||||||
.ui-widget-header .ui-state-active,
|
|
||||||
a.ui-button:active,
|
|
||||||
.ui-button:active,
|
|
||||||
.ui-button.ui-state-active:hover {
|
|
||||||
border: 1px solid #003eff;
|
|
||||||
background: #007fff;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
.ui-icon-background,
|
|
||||||
.ui-state-active .ui-icon-background {
|
|
||||||
border: #003eff;
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
|
||||||
.ui-state-active a,
|
|
||||||
.ui-state-active a:link,
|
|
||||||
.ui-state-active a:visited {
|
|
||||||
color: #ffffff;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Interaction Cues
|
|
||||||
----------------------------------*/
|
|
||||||
.ui-state-highlight,
|
|
||||||
.ui-widget-content .ui-state-highlight,
|
|
||||||
.ui-widget-header .ui-state-highlight {
|
|
||||||
border: 1px solid #dad55e;
|
|
||||||
background: #fffa90;
|
|
||||||
color: #777620;
|
|
||||||
}
|
|
||||||
.ui-state-checked {
|
|
||||||
border: 1px solid #dad55e;
|
|
||||||
background: #fffa90;
|
|
||||||
}
|
|
||||||
.ui-state-highlight a,
|
|
||||||
.ui-widget-content .ui-state-highlight a,
|
|
||||||
.ui-widget-header .ui-state-highlight a {
|
|
||||||
color: #777620;
|
|
||||||
}
|
|
||||||
.ui-state-error,
|
|
||||||
.ui-widget-content .ui-state-error,
|
|
||||||
.ui-widget-header .ui-state-error {
|
|
||||||
border: 1px solid #f1a899;
|
|
||||||
background: #fddfdf;
|
|
||||||
color: #5f3f3f;
|
|
||||||
}
|
|
||||||
.ui-state-error a,
|
|
||||||
.ui-widget-content .ui-state-error a,
|
|
||||||
.ui-widget-header .ui-state-error a {
|
|
||||||
color: #5f3f3f;
|
|
||||||
}
|
|
||||||
.ui-state-error-text,
|
|
||||||
.ui-widget-content .ui-state-error-text,
|
|
||||||
.ui-widget-header .ui-state-error-text {
|
|
||||||
color: #5f3f3f;
|
|
||||||
}
|
|
||||||
.ui-priority-primary,
|
|
||||||
.ui-widget-content .ui-priority-primary,
|
|
||||||
.ui-widget-header .ui-priority-primary {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.ui-priority-secondary,
|
|
||||||
.ui-widget-content .ui-priority-secondary,
|
|
||||||
.ui-widget-header .ui-priority-secondary {
|
|
||||||
opacity: .7;
|
|
||||||
filter:Alpha(Opacity=70); /* support: IE8 */
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
.ui-state-disabled,
|
|
||||||
.ui-widget-content .ui-state-disabled,
|
|
||||||
.ui-widget-header .ui-state-disabled {
|
|
||||||
opacity: .35;
|
|
||||||
filter:Alpha(Opacity=35); /* support: IE8 */
|
|
||||||
background-image: none;
|
|
||||||
}
|
|
||||||
.ui-state-disabled .ui-icon {
|
|
||||||
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icons
|
|
||||||
----------------------------------*/
|
|
||||||
|
|
||||||
/* states and images */
|
|
||||||
.ui-icon {
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
}
|
|
||||||
.ui-icon,
|
|
||||||
.ui-widget-content .ui-icon {
|
|
||||||
background-image: url("images/ui-icons_444444_256x240.png");
|
|
||||||
}
|
|
||||||
.ui-widget-header .ui-icon {
|
|
||||||
background-image: url("images/ui-icons_444444_256x240.png");
|
|
||||||
}
|
|
||||||
.ui-button .ui-icon {
|
|
||||||
background-image: url("images/ui-icons_777777_256x240.png");
|
|
||||||
}
|
|
||||||
.ui-state-hover .ui-icon,
|
|
||||||
.ui-state-focus .ui-icon,
|
|
||||||
.ui-button:hover .ui-icon,
|
|
||||||
.ui-button:focus .ui-icon,
|
|
||||||
.ui-state-default .ui-icon {
|
|
||||||
background-image: url("images/ui-icons_555555_256x240.png");
|
|
||||||
}
|
|
||||||
.ui-state-active .ui-icon,
|
|
||||||
.ui-button:active .ui-icon {
|
|
||||||
background-image: url("images/ui-icons_ffffff_256x240.png");
|
|
||||||
}
|
|
||||||
.ui-state-highlight .ui-icon,
|
|
||||||
.ui-button .ui-state-highlight.ui-icon {
|
|
||||||
background-image: url("images/ui-icons_777620_256x240.png");
|
|
||||||
}
|
|
||||||
.ui-state-error .ui-icon,
|
|
||||||
.ui-state-error-text .ui-icon {
|
|
||||||
background-image: url("images/ui-icons_cc0000_256x240.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* positioning */
|
|
||||||
.ui-icon-blank { background-position: 16px 16px; }
|
|
||||||
.ui-icon-caret-1-n { background-position: 0 0; }
|
|
||||||
.ui-icon-caret-1-ne { background-position: -16px 0; }
|
|
||||||
.ui-icon-caret-1-e { background-position: -32px 0; }
|
|
||||||
.ui-icon-caret-1-se { background-position: -48px 0; }
|
|
||||||
.ui-icon-caret-1-s { background-position: -65px 0; }
|
|
||||||
.ui-icon-caret-1-sw { background-position: -80px 0; }
|
|
||||||
.ui-icon-caret-1-w { background-position: -96px 0; }
|
|
||||||
.ui-icon-caret-1-nw { background-position: -112px 0; }
|
|
||||||
.ui-icon-caret-2-n-s { background-position: -128px 0; }
|
|
||||||
.ui-icon-caret-2-e-w { background-position: -144px 0; }
|
|
||||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
|
||||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
|
||||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
|
||||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
|
||||||
.ui-icon-triangle-1-s { background-position: -65px -16px; }
|
|
||||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
|
||||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
|
||||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
|
||||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
|
||||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
|
||||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
|
||||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
|
||||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
|
||||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
|
||||||
.ui-icon-arrow-1-s { background-position: -65px -32px; }
|
|
||||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
|
||||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
|
||||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
|
||||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
|
||||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
|
||||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
|
||||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
|
||||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
|
||||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
|
||||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
|
||||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
|
||||||
.ui-icon-arrowthick-1-n { background-position: 1px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
|
||||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
|
||||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
|
||||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
|
||||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
|
||||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
|
||||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
|
||||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
|
||||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
|
||||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
|
||||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
|
||||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
|
||||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
|
||||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
|
||||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
|
||||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
|
||||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
|
||||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
|
||||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
|
||||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
|
||||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
|
||||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
|
||||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
|
||||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
|
||||||
.ui-icon-extlink { background-position: -32px -80px; }
|
|
||||||
.ui-icon-newwin { background-position: -48px -80px; }
|
|
||||||
.ui-icon-refresh { background-position: -64px -80px; }
|
|
||||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
|
||||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
|
||||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
|
||||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
|
||||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
|
||||||
.ui-icon-document { background-position: -32px -96px; }
|
|
||||||
.ui-icon-document-b { background-position: -48px -96px; }
|
|
||||||
.ui-icon-note { background-position: -64px -96px; }
|
|
||||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
|
||||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
|
||||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
|
||||||
.ui-icon-comment { background-position: -128px -96px; }
|
|
||||||
.ui-icon-person { background-position: -144px -96px; }
|
|
||||||
.ui-icon-print { background-position: -160px -96px; }
|
|
||||||
.ui-icon-trash { background-position: -176px -96px; }
|
|
||||||
.ui-icon-locked { background-position: -192px -96px; }
|
|
||||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
|
||||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
|
||||||
.ui-icon-tag { background-position: -240px -96px; }
|
|
||||||
.ui-icon-home { background-position: 0 -112px; }
|
|
||||||
.ui-icon-flag { background-position: -16px -112px; }
|
|
||||||
.ui-icon-calendar { background-position: -32px -112px; }
|
|
||||||
.ui-icon-cart { background-position: -48px -112px; }
|
|
||||||
.ui-icon-pencil { background-position: -64px -112px; }
|
|
||||||
.ui-icon-clock { background-position: -80px -112px; }
|
|
||||||
.ui-icon-disk { background-position: -96px -112px; }
|
|
||||||
.ui-icon-calculator { background-position: -112px -112px; }
|
|
||||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
|
||||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
|
||||||
.ui-icon-search { background-position: -160px -112px; }
|
|
||||||
.ui-icon-wrench { background-position: -176px -112px; }
|
|
||||||
.ui-icon-gear { background-position: -192px -112px; }
|
|
||||||
.ui-icon-heart { background-position: -208px -112px; }
|
|
||||||
.ui-icon-star { background-position: -224px -112px; }
|
|
||||||
.ui-icon-link { background-position: -240px -112px; }
|
|
||||||
.ui-icon-cancel { background-position: 0 -128px; }
|
|
||||||
.ui-icon-plus { background-position: -16px -128px; }
|
|
||||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
|
||||||
.ui-icon-minus { background-position: -48px -128px; }
|
|
||||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
|
||||||
.ui-icon-close { background-position: -80px -128px; }
|
|
||||||
.ui-icon-closethick { background-position: -96px -128px; }
|
|
||||||
.ui-icon-key { background-position: -112px -128px; }
|
|
||||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
|
||||||
.ui-icon-scissors { background-position: -144px -128px; }
|
|
||||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
|
||||||
.ui-icon-copy { background-position: -176px -128px; }
|
|
||||||
.ui-icon-contact { background-position: -192px -128px; }
|
|
||||||
.ui-icon-image { background-position: -208px -128px; }
|
|
||||||
.ui-icon-video { background-position: -224px -128px; }
|
|
||||||
.ui-icon-script { background-position: -240px -128px; }
|
|
||||||
.ui-icon-alert { background-position: 0 -144px; }
|
|
||||||
.ui-icon-info { background-position: -16px -144px; }
|
|
||||||
.ui-icon-notice { background-position: -32px -144px; }
|
|
||||||
.ui-icon-help { background-position: -48px -144px; }
|
|
||||||
.ui-icon-check { background-position: -64px -144px; }
|
|
||||||
.ui-icon-bullet { background-position: -80px -144px; }
|
|
||||||
.ui-icon-radio-on { background-position: -96px -144px; }
|
|
||||||
.ui-icon-radio-off { background-position: -112px -144px; }
|
|
||||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
|
||||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
|
||||||
.ui-icon-play { background-position: 0 -160px; }
|
|
||||||
.ui-icon-pause { background-position: -16px -160px; }
|
|
||||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
|
||||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
|
||||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
|
||||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
|
||||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
|
||||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
|
||||||
.ui-icon-stop { background-position: -96px -160px; }
|
|
||||||
.ui-icon-eject { background-position: -112px -160px; }
|
|
||||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
|
||||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
|
||||||
.ui-icon-power { background-position: 0 -176px; }
|
|
||||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
|
||||||
.ui-icon-signal { background-position: -32px -176px; }
|
|
||||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
|
||||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
|
||||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
|
||||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
|
||||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
|
||||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
|
||||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
|
||||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
|
||||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
|
||||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
|
||||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
|
||||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
|
||||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
|
||||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
|
||||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
|
||||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
|
||||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
|
||||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
|
||||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
|
||||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
|
||||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
|
||||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
|
||||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
|
||||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
|
||||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
|
||||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
|
||||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
|
||||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
|
||||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
|
||||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
|
||||||
|
|
||||||
|
|
||||||
/* Misc visuals
|
|
||||||
----------------------------------*/
|
|
||||||
|
|
||||||
/* Corner radius */
|
|
||||||
.ui-corner-all,
|
|
||||||
.ui-corner-top,
|
|
||||||
.ui-corner-left,
|
|
||||||
.ui-corner-tl {
|
|
||||||
border-top-left-radius: 3px;
|
|
||||||
}
|
|
||||||
.ui-corner-all,
|
|
||||||
.ui-corner-top,
|
|
||||||
.ui-corner-right,
|
|
||||||
.ui-corner-tr {
|
|
||||||
border-top-right-radius: 3px;
|
|
||||||
}
|
|
||||||
.ui-corner-all,
|
|
||||||
.ui-corner-bottom,
|
|
||||||
.ui-corner-left,
|
|
||||||
.ui-corner-bl {
|
|
||||||
border-bottom-left-radius: 3px;
|
|
||||||
}
|
|
||||||
.ui-corner-all,
|
|
||||||
.ui-corner-bottom,
|
|
||||||
.ui-corner-right,
|
|
||||||
.ui-corner-br {
|
|
||||||
border-bottom-right-radius: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Overlays */
|
|
||||||
.ui-widget-overlay {
|
|
||||||
background: #aaaaaa;
|
|
||||||
opacity: .3;
|
|
||||||
filter: Alpha(Opacity=30); /* support: IE8 */
|
|
||||||
}
|
|
||||||
.ui-widget-shadow {
|
|
||||||
-webkit-box-shadow: 0px 0px 5px #666666;
|
|
||||||
box-shadow: 0px 0px 5px #666666;
|
|
||||||
}
|
|
Before Width: | Height: | Size: 434 KiB After Width: | Height: | Size: 434 KiB |
1
core/static/vendored/jquery/ui/i18n/datepicker-fr.min.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
(e=>{"function"==typeof define&&define.amd?define(["../widgets/datepicker"],e):e(jQuery.datepicker)})(function(e){return e.regional.fr={closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.setDefaults(e.regional.fr),e.regional.fr});
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>jQuery UI Example Page</title>
|
<title>jQuery UI Example Page</title>
|
||||||
<link href="jquery-ui.css" rel="stylesheet">
|
<link href="jquery-ui.min.css" rel="stylesheet">
|
||||||
<style>
|
<style>
|
||||||
body{
|
body{
|
||||||
font-family: "Trebuchet MS", sans-serif;
|
font-family: "Trebuchet MS", sans-serif;
|
||||||
@ -401,15 +401,6 @@
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Tooltip -->
|
|
||||||
<h2 class="demoHeaders">Tooltip</h2>
|
|
||||||
<p id="tooltip">
|
|
||||||
<a href="#" title="That's what this widget is">Tooltips</a> can be attached to any element. When you hover
|
|
||||||
the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Highlight / Error -->
|
<!-- Highlight / Error -->
|
||||||
<h2 class="demoHeaders">Highlight / Error</h2>
|
<h2 class="demoHeaders">Highlight / Error</h2>
|
||||||
<div class="ui-widget">
|
<div class="ui-widget">
|
||||||
@ -426,8 +417,8 @@ the element with your mouse, the title attribute is displayed in a little box ne
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="external/jquery/jquery.js"></script>
|
<script src="../jquery-3.6.2.min.js"></script>
|
||||||
<script src="jquery-ui.js"></script>
|
<script src="jquery-ui.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
$( "#accordion" ).accordion();
|
$( "#accordion" ).accordion();
|
||||||
@ -537,11 +528,6 @@ $( "#spinner" ).spinner();
|
|||||||
$( "#menu" ).menu();
|
$( "#menu" ).menu();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#tooltip" ).tooltip();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$( "#selectmenu" ).selectmenu();
|
$( "#selectmenu" ).selectmenu();
|
||||||
|
|
||||||
|
|
1
core/static/vendored/sentry/bundle.min.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
!function(n,e,r,t,i,o,a,c,s){for(var u=s,f=0;f<document.scripts.length;f++)if(document.scripts[f].src.indexOf(o)>-1){u&&"no"===document.scripts[f].getAttribute("data-lazy")&&(u=!1);break}var p=[];function l(n){return"e"in n}function d(n){return"p"in n}function _(n){return"f"in n}var v=[];function y(n){u&&(l(n)||d(n)||_(n)&&n.f.indexOf("capture")>-1||_(n)&&n.f.indexOf("showReportDialog")>-1)&&m(),v.push(n)}function g(){y({e:[].slice.call(arguments)})}function h(n){y({p:n})}function E(){try{n.SENTRY_SDK_SOURCE="loader";var e=n[i],o=e.init;e.init=function(i){n.removeEventListener(r,g),n.removeEventListener(t,h);var a=c;for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(a[s]=i[s]);!function(n,e){var r=n.integrations||[];if(!Array.isArray(r))return;var t=r.map((function(n){return n.name}));n.tracesSampleRate&&-1===t.indexOf("BrowserTracing")&&(e.browserTracingIntegration?r.push(e.browserTracingIntegration({enableInp:!0})):e.BrowserTracing&&r.push(new e.BrowserTracing));(n.replaysSessionSampleRate||n.replaysOnErrorSampleRate)&&-1===t.indexOf("Replay")&&(e.replayIntegration?r.push(e.replayIntegration()):e.Replay&&r.push(new e.Replay));n.integrations=r}(a,e),o(a)},setTimeout((function(){return function(e){try{"function"==typeof n.sentryOnLoad&&(n.sentryOnLoad(),n.sentryOnLoad=void 0);for(var r=0;r<p.length;r++)"function"==typeof p[r]&&p[r]();p.splice(0);for(r=0;r<v.length;r++){_(o=v[r])&&"init"===o.f&&e.init.apply(e,o.a)}L()||e.init();var t=n.onerror,i=n.onunhandledrejection;for(r=0;r<v.length;r++){var o;if(_(o=v[r])){if("init"===o.f)continue;e[o.f].apply(e,o.a)}else l(o)&&t?t.apply(n,o.e):d(o)&&i&&i.apply(n,[o.p])}}catch(n){console.error(n)}}(e)}))}catch(n){console.error(n)}}var O=!1;function m(){if(!O){O=!0;var n=e.scripts[0],r=e.createElement("script");r.src=a,r.crossOrigin="anonymous",r.addEventListener("load",E,{once:!0,passive:!0}),n.parentNode.insertBefore(r,n)}}function L(){var e=n.__SENTRY__,r=void 0!==e&&e.version;return r?!!e[r]:!(void 0===e||!e.hub||!e.hub.getClient())}n[i]=n[i]||{},n[i].onLoad=function(n){L()?n():p.push(n)},n[i].forceLoad=function(){setTimeout((function(){m()}))},["init","addBreadcrumb","captureMessage","captureException","captureEvent","configureScope","withScope","showReportDialog"].forEach((function(e){n[i][e]=function(){y({f:e,a:arguments})}})),n.addEventListener(r,g),n.addEventListener(t,h),u||setTimeout((function(){m()}))}(window,document,"error","unhandledrejection","Sentry",'ab63c6820882cab2883218a4b9deba4d','https://browser.sentry-cdn.com/8.26.0/bundle.min.js',{"dsn":"https://ab63c6820882cab2883218a4b9deba4d@o4505360748642304.ingest.us.sentry.io/4507633486266368"},true);
|
@ -2,8 +2,7 @@
|
|||||||
{% block head %}
|
{% block head %}
|
||||||
{{ super() }}
|
{{ super() }}
|
||||||
<script
|
<script
|
||||||
src="https://browser.sentry-cdn.com/7.11.1/bundle.min.js"
|
src="{{ static('vendored/sentry/bundle.min.js') }}"
|
||||||
integrity="sha384-qcYSo5+/E8hEkPmHFa79GRDsGT84SRhBJHRw3+dbQyh0UwueiFP1jCsRBClEREcs"
|
|
||||||
crossorigin="anonymous"
|
crossorigin="anonymous"
|
||||||
></script>
|
></script>
|
||||||
{% endblock head %}
|
{% endblock head %}
|
||||||
|
@ -14,14 +14,14 @@
|
|||||||
|
|
||||||
{% block jquery_css %}
|
{% block jquery_css %}
|
||||||
{# Thile file is quite heavy (around 250kb), so declaring it in a block allows easy removal #}
|
{# Thile file is quite heavy (around 250kb), so declaring it in a block allows easy removal #}
|
||||||
<link rel="stylesheet" href="{{ static('core/js/ui/jquery-ui.min.css') }}">
|
<link rel="stylesheet" href="{{ static('vendored/jquery/ui/jquery-ui.min.css') }}">
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<link rel="preload" as="style" href="{{ static('core/font-awesome/css/font-awesome.min.css') }}" onload="this.onload=null;this.rel='stylesheet'">
|
<link rel="preload" as="style" href="{{ static('vendored/font-awesome/css/font-awesome.min.css') }}" onload="this.onload=null;this.rel='stylesheet'">
|
||||||
<noscript><link rel="stylesheet" href="{{ static('core/font-awesome/css/font-awesome.min.css') }}"></noscript>
|
<noscript><link rel="stylesheet" href="{{ static('vendored/font-awesome/css/font-awesome.min.css') }}"></noscript>
|
||||||
<script defer href="{{ static('core/font-awesome/js/fontawesone.min.js') }}"></script>
|
<script defer href="{{ static('vendored/font-awesome/js/fontawesome.min.js') }}"></script>
|
||||||
|
|
||||||
<!-- Jquery declared here to be accessible in every django widgets -->
|
<!-- Jquery declared here to be accessible in every django widgets -->
|
||||||
<script src="{{ static('core/js/jquery-3.6.2.min.js') }}"></script>
|
<script src="{{ static('vendored/jquery/jquery-3.6.2.min.js') }}"></script>
|
||||||
<!-- Put here to always have acces to those functions on django widgets -->
|
<!-- Put here to always have acces to those functions on django widgets -->
|
||||||
<script src="{{ static('core/js/script.js') }}"></script>
|
<script src="{{ static('core/js/script.js') }}"></script>
|
||||||
|
|
||||||
@ -29,7 +29,7 @@
|
|||||||
{% block additional_js %}{% endblock %}
|
{% block additional_js %}{% endblock %}
|
||||||
|
|
||||||
{# Alpine JS must be loaded after scripts that use it. #}
|
{# Alpine JS must be loaded after scripts that use it. #}
|
||||||
<script src="{{ static('core/js/alpinejs.min.js') }}" defer></script>
|
<script src="{{ static('vendored/alpine/alpinejs.min.js') }}" defer></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -299,7 +299,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% block script %}
|
{% block script %}
|
||||||
<script src="{{ static('core/js/ui/jquery-ui.min.js') }}"></script>
|
<script src="{{ static('vendored/jquery/ui/jquery-ui.min.js') }}"></script>
|
||||||
<script src="{{ static('ajax_select/js/ajax_select.js') }}"></script>
|
<script src="{{ static('ajax_select/js/ajax_select.js') }}"></script>
|
||||||
<script src="{{ url('javascript-catalog') }}"></script>
|
<script src="{{ url('javascript-catalog') }}"></script>
|
||||||
<script>
|
<script>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<html lang="fr">
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<title>{% trans %}Slideshow{% endtrans %}</title>
|
<title>{% trans %}Slideshow{% endtrans %}</title>
|
||||||
<link href="{{ scss('com/slideshow.scss') }}" rel="stylesheet" type="text/css" />
|
<link href="{{ scss('com/css/slideshow.scss') }}" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="slideshow">
|
<div id="slideshow">
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
{% extends "core/base.jinja" %}
|
{% extends "core/base.jinja" %}
|
||||||
|
|
||||||
{%- block additional_css -%}
|
{%- block additional_css -%}
|
||||||
<link rel="stylesheet" href="{{ scss('sas/album.scss') }}">
|
<link rel="stylesheet" href="{{ scss('sas/css/album.scss') }}">
|
||||||
{%- endblock -%}
|
{%- endblock -%}
|
||||||
|
|
||||||
{% block additional_js %}
|
{% block additional_js %}
|
||||||
<script defer type="module">
|
<script defer type="module">
|
||||||
import { showSaveFilePicker } from "{{ static('core/js/native-file-system-adapter/mod.js') }}";
|
import { showSaveFilePicker } from "{{ static('vendored/native-file-system-adapter/mod.js') }}";
|
||||||
window.showSaveFilePicker = showSaveFilePicker; /* Export function to normal javascript */
|
window.showSaveFilePicker = showSaveFilePicker; /* Export function to normal javascript */
|
||||||
</script>
|
</script>
|
||||||
<script defer type="text/javascript" src="{{ static('core/js/zipjs/zip-fs-full.min.js') }}"></script>
|
<script defer type="text/javascript" src="{{ static('vendored/zipjs/zip-fs-full.min.js') }}"></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
|
@ -26,14 +26,19 @@ import datetime
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import phonenumbers
|
import phonenumbers
|
||||||
|
import sass
|
||||||
from django import template
|
from django import template
|
||||||
|
from django.conf import settings
|
||||||
|
from django.contrib.staticfiles.finders import find
|
||||||
|
from django.core.files.base import ContentFile
|
||||||
|
from django.core.files.storage import storages
|
||||||
from django.template import TemplateSyntaxError
|
from django.template import TemplateSyntaxError
|
||||||
from django.template.defaultfilters import stringfilter
|
from django.template.defaultfilters import stringfilter
|
||||||
|
from django.templatetags.static import static
|
||||||
from django.utils.safestring import mark_safe
|
from django.utils.safestring import mark_safe
|
||||||
from django.utils.translation import ngettext
|
from django.utils.translation import ngettext
|
||||||
|
|
||||||
from core.markdown import markdown as md
|
from core.markdown import markdown as md
|
||||||
from core.scss.processor import process_scss_path
|
|
||||||
|
|
||||||
register = template.Library()
|
register = template.Library()
|
||||||
|
|
||||||
@ -91,4 +96,15 @@ def scss(path):
|
|||||||
path = Path(path)
|
path = Path(path)
|
||||||
if path.suffix != ".scss":
|
if path.suffix != ".scss":
|
||||||
raise TemplateSyntaxError("`scss` tag has been called with a non-scss file")
|
raise TemplateSyntaxError("`scss` tag has been called with a non-scss file")
|
||||||
return process_scss_path(path)
|
|
||||||
|
css_path = path.with_suffix(".css")
|
||||||
|
if settings.DEBUG:
|
||||||
|
compile_args = {"filename": find(path)}
|
||||||
|
if settings.SASS_PRECISION:
|
||||||
|
compile_args["precision"] = settings.SASS_PRECISION
|
||||||
|
content = sass.compile(**compile_args)
|
||||||
|
storage = storages["staticfiles"]
|
||||||
|
if storage.exists(css_path):
|
||||||
|
storage.delete(css_path)
|
||||||
|
storage.save(css_path, ContentFile(content))
|
||||||
|
return static(str(css_path))
|
||||||
|
@ -73,8 +73,8 @@ class MarkdownInput(Textarea):
|
|||||||
context = super().get_context(name, value, attrs)
|
context = super().get_context(name, value, attrs)
|
||||||
|
|
||||||
context["statics"] = {
|
context["statics"] = {
|
||||||
"js": static("core/easymde/easymde.min.js"),
|
"js": static("vendored/easymde/easymde.min.js"),
|
||||||
"css": static("core/easymde/easymde.min.css"),
|
"css": static("vendored/easymde/easymde.min.css"),
|
||||||
}
|
}
|
||||||
context["translations"] = {
|
context["translations"] = {
|
||||||
"heading_smaller": _("Heading"),
|
"heading_smaller": _("Heading"),
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{%- block additional_css -%}
|
{%- block additional_css -%}
|
||||||
<link rel="stylesheet" href="{{ scss('counter/activity.scss') }}">
|
<link rel="stylesheet" href="{{ scss('counter/css/activity.scss') }}">
|
||||||
{%- endblock -%}
|
{%- endblock -%}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
@ -11,13 +11,17 @@ Nous utilisons du SCSS dans le projet.
|
|||||||
En environnement de développement (`DEBUG=True`),
|
En environnement de développement (`DEBUG=True`),
|
||||||
le SCSS est compilé à chaque fois que le fichier est demandé.
|
le SCSS est compilé à chaque fois que le fichier est demandé.
|
||||||
Pour la production, le projet considère
|
Pour la production, le projet considère
|
||||||
que chacun des fichiers est déjà compilé et,
|
que chacun des fichiers est déjà compilé.
|
||||||
pour ce faire, il est nécessaire
|
C'est pourquoi le SCSS est automatiquement compilé lors
|
||||||
d'utiliser les commandes suivantes dans l'ordre :
|
de la récupération des fichiers statiques.
|
||||||
|
Les fichiers JS sont également automatiquement minifiés.
|
||||||
|
|
||||||
|
Il peut être judicieux de supprimer les anciens fichiers
|
||||||
|
statiques avant de collecter les nouveaux.
|
||||||
|
Pour ça, ajoutez le flag `--clear` à la commande `collectstatic` :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python ./manage.py collectstatic # Pour récupérer tous les fichiers statiques
|
python ./manage.py collectstatic --clear
|
||||||
python ./manage.py compilestatic # Pour compiler les fichiers SCSS qu'ils contiennent
|
|
||||||
```
|
```
|
||||||
|
|
||||||
!!!tip
|
!!!tip
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
{% block head %}
|
{% block head %}
|
||||||
{{ super() -}}
|
{{ super() -}}
|
||||||
<link rel="stylesheet" href="{{ scss('election/election.scss') }}">
|
<link rel="stylesheet" href="{{ scss('election/css/election.scss') }}">
|
||||||
{%- endblock %}
|
{%- endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
59
poetry.lock
generated
@ -1955,7 +1955,6 @@ files = [
|
|||||||
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
|
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
|
{file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
|
{file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
|
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
|
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
|
{file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
|
{file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
|
||||||
@ -2152,6 +2151,62 @@ urllib3 = ">=1.21.1,<3"
|
|||||||
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
||||||
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rjsmin"
|
||||||
|
version = "1.2.2"
|
||||||
|
description = "Javascript Minifier"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
files = [
|
||||||
|
{file = "rjsmin-1.2.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:4420107304ba7a00b5b9b56cdcd166b9876b34e626829fc4552c85d8fdc3737a"},
|
||||||
|
{file = "rjsmin-1.2.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:155a2f3312c1f8c6cec7b5080581cafc761dc0e41d64bfb5d46a772c5230ded8"},
|
||||||
|
{file = "rjsmin-1.2.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:88fcb58d65f88cbfa752d51c1ebe5845553f9706def6d9671e98283411575e3e"},
|
||||||
|
{file = "rjsmin-1.2.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:6eae13608b88f4ce32e0557c8fdef58e69bb4d293182202a03e800f0d33b5268"},
|
||||||
|
{file = "rjsmin-1.2.2-cp310-cp310-manylinux1_i686.whl", hash = "sha256:81f92fb855fb613ebd04a6d6d46483e71fe3c4f22042dc30dcc938fbd748e59c"},
|
||||||
|
{file = "rjsmin-1.2.2-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:897db9bf25538047e9388951d532dc291a629b5d041180a8a1a8c102e9d44b90"},
|
||||||
|
{file = "rjsmin-1.2.2-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:5938af8c46734f92f74fdc4d0b6324137c0e09f0a8c3825c83e4cfca1b532e40"},
|
||||||
|
{file = "rjsmin-1.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0424a7b9096fa2b0ab577c4dc7acd683e6cfb5c718ad39a9fb293cb6cbaba95b"},
|
||||||
|
{file = "rjsmin-1.2.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1714ed93c2bd40c5f970905d2eeda4a6844e09087ae11277d4d43b3e68c32a47"},
|
||||||
|
{file = "rjsmin-1.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:35596fa6d2d44a5471715c464657123995da78aa6f79bccfbb4b8d6ff7d0a4b4"},
|
||||||
|
{file = "rjsmin-1.2.2-cp311-cp311-manylinux1_i686.whl", hash = "sha256:3968667158948355b9a62e9641497aac7ac069c076a595e93199d0fe3a40217a"},
|
||||||
|
{file = "rjsmin-1.2.2-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:d07d14354694f6a47f572f2aa2a1ad74b76723e62a0d2b6df796138b71888247"},
|
||||||
|
{file = "rjsmin-1.2.2-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:a78dfa6009235b902454ac53264252b7b94f1e43e3a9e97c4cadae88e409b882"},
|
||||||
|
{file = "rjsmin-1.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9b7a45001e58243a455d11d2de925cadb8c2a0dc737001de646a0f4d90cf0034"},
|
||||||
|
{file = "rjsmin-1.2.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:86c5e657b74b6c9482bb96f18a79d61750f4e8204759cce179f7eb17d395c683"},
|
||||||
|
{file = "rjsmin-1.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8c2c30b86c7232443a4a726e1bbee34f800556e581e95fc07194ecbf8e02d1d2"},
|
||||||
|
{file = "rjsmin-1.2.2-cp312-cp312-manylinux1_i686.whl", hash = "sha256:8982c3ef27fac26dd6b7d0c55ae98fa550fee72da2db010b87211e4b5dd78a67"},
|
||||||
|
{file = "rjsmin-1.2.2-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:3fc27ae4ece99e2c994cd79df2f0d3f7ac650249f632d19aa8ce85118e33bf0f"},
|
||||||
|
{file = "rjsmin-1.2.2-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:41113d8d6cae7f7406b30143cc49cc045bbb3fadc2f28df398cea30e1daa60b1"},
|
||||||
|
{file = "rjsmin-1.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3aa09a89b2b7aa2b9251329fe0c3e36c2dc2f10f78b8811e5be92a072596348b"},
|
||||||
|
{file = "rjsmin-1.2.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:5abb8d1241f4ea97950b872fa97a422ba8413fe02358f64128ff0cf745017f07"},
|
||||||
|
{file = "rjsmin-1.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5abc686a9ef7eaf208f9ad1fb5fb949556ecb7cc1fee27290eb7f194e01d97bd"},
|
||||||
|
{file = "rjsmin-1.2.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:076adcf04c34f712c9427fd9ba6a75bbf7aab975650dfc78cbdd0fbdbe49ca63"},
|
||||||
|
{file = "rjsmin-1.2.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8cb8947ddd250fce58261b0357846cd5d55419419c0f7dfb131dc4b733579a26"},
|
||||||
|
{file = "rjsmin-1.2.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9069c48b6508b9c5b05435e2c6042c2a0e2f97b35d7b9c27ceaea5fd377ffdc5"},
|
||||||
|
{file = "rjsmin-1.2.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:02b61cf9b6bc518fdac667f3ca3dab051cb8bd1bf4cba28b6d29153ec27990ad"},
|
||||||
|
{file = "rjsmin-1.2.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:09eca8581797244587916e5e07e36c4c86d54a4b7e5c7697484a95b75803515d"},
|
||||||
|
{file = "rjsmin-1.2.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:c52b9dd45c837f1c5c2e8d40776f9e63257f8dbd5f79b85f648cc70da6c1e4e9"},
|
||||||
|
{file = "rjsmin-1.2.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4fe4ce990412c053a6bcd47d55133927e22fd3d100233d73355f60f9053054c5"},
|
||||||
|
{file = "rjsmin-1.2.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:aa883b9363b5134239066060879d5eb422a0d4ccf24ccf871f65a5b34c64926f"},
|
||||||
|
{file = "rjsmin-1.2.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:6f4e95c5ac95b4cbb519917b3aa1d3d92fc6939c371637674c4a42b67b2b3f44"},
|
||||||
|
{file = "rjsmin-1.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ae3cd64e18e62aa330b24dd6f7b9809ce0a694afd1f01fe99c21f9acd1cb0ea6"},
|
||||||
|
{file = "rjsmin-1.2.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7999d797fcf805844d2d91598651785497249f592f31674da0964e794b3be019"},
|
||||||
|
{file = "rjsmin-1.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e733fea039a7b5ad7c06cc8bf215ee7afac81d462e273b3ab55c1ccc906cf127"},
|
||||||
|
{file = "rjsmin-1.2.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ccca74461bd53a99ff3304fcf299ea861df89846be3207329cb82d717ce47ea6"},
|
||||||
|
{file = "rjsmin-1.2.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:88f59ad24f91bf9c25d5c2ca3c84a72eed0028f57a98e3b85a915ece5c25be1e"},
|
||||||
|
{file = "rjsmin-1.2.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7a8b56fbd64adcc4402637f0e07b90b441e9981d720a10eb6265118018b42682"},
|
||||||
|
{file = "rjsmin-1.2.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2c24686cfdf86e55692183f7867e72c9e982add479c244eda7b8390f96db2c6c"},
|
||||||
|
{file = "rjsmin-1.2.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6c0d9f9ea8d9cd48cbcdc74a1c2e85d4d588af12bb8f0b672070ae7c9b6e6306"},
|
||||||
|
{file = "rjsmin-1.2.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:27abd32c9f5b6e0c0a3bcad43e8e24108c6d6c13a4e6c50c97497ea2b4614bb4"},
|
||||||
|
{file = "rjsmin-1.2.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:e0e009f6f8460901f5144b34ac2948f94af2f9b8c9b5425da705dbc8152c36c2"},
|
||||||
|
{file = "rjsmin-1.2.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:41e6013cb37a5b3563c19aa35f8e659fa536aa4197a0e3b6a57a381638294a15"},
|
||||||
|
{file = "rjsmin-1.2.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:62cbd38c9f5090f0a6378a45c415b4f96ae871216cedab0dfa21965620c0be4c"},
|
||||||
|
{file = "rjsmin-1.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2fd5254d36f10a17564b63e8bf9ac579c7b5f211364e11e9753ff5b562843c67"},
|
||||||
|
{file = "rjsmin-1.2.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6cf0309d001a0d45d731dbaab1afd0c23d135c9e029fe56c935c1798094686fc"},
|
||||||
|
{file = "rjsmin-1.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bfbe333dab8d23f0a71da90e2d8e8b762a739cbd55a6f948b2dfda089b6d5853"},
|
||||||
|
{file = "rjsmin-1.2.2.tar.gz", hash = "sha256:8c1bcd821143fecf23242012b55e13610840a839cd467b358f16359010d62dae"},
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ruff"
|
name = "ruff"
|
||||||
version = "0.5.5"
|
version = "0.5.5"
|
||||||
@ -2585,4 +2640,4 @@ filelock = ">=3.4"
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = "^3.10"
|
python-versions = "^3.10"
|
||||||
content-hash = "30107b3b01a30323c162e09f556fd56ca8e2c338e875d7ea87583a25195645a7"
|
content-hash = "1a75baf1d077dae5ac9d89dce05c9e2cb876064d4968be4f0235faec7b12e0ba"
|
||||||
|
@ -66,6 +66,7 @@ pre-commit = "^3.8.0"
|
|||||||
ruff = "^0.5.5" # Version used in pipeline is controlled by pre-commit hooks in .pre-commit.config.yaml
|
ruff = "^0.5.5" # Version used in pipeline is controlled by pre-commit hooks in .pre-commit.config.yaml
|
||||||
djhtml = "^3.0.6"
|
djhtml = "^3.0.6"
|
||||||
faker = "^26.1.0"
|
faker = "^26.1.0"
|
||||||
|
rjsmin = "^1.2.2"
|
||||||
|
|
||||||
[tool.poetry.group.tests.dependencies]
|
[tool.poetry.group.tests.dependencies]
|
||||||
# deps used for testing purposes
|
# deps used for testing purposes
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
{% from 'core/macros.jinja' import paginate_alpine %}
|
{% from 'core/macros.jinja' import paginate_alpine %}
|
||||||
|
|
||||||
{%- block additional_css -%}
|
{%- block additional_css -%}
|
||||||
<link rel="stylesheet" href="{{ scss('sas/album.scss') }}">
|
<link rel="stylesheet" href="{{ scss('sas/css/album.scss') }}">
|
||||||
<link rel="stylesheet" href="{{ scss('core/pagination.scss') }}">
|
<link rel="stylesheet" href="{{ scss('core/pagination.scss') }}">
|
||||||
{%- endblock -%}
|
{%- endblock -%}
|
||||||
|
|
||||||
|