diff --git a/airflow/config_templates/config.yml b/airflow/config_templates/config.yml index 0bf095f79f0c5..8c3330f0332b2 100644 --- a/airflow/config_templates/config.yml +++ b/airflow/config_templates/config.yml @@ -971,7 +971,7 @@ version_added: ~ type: string example: ~ - default: "#007A87" + default: "#fff" - name: default_dag_run_display_number description: | Default dagrun to show in UI diff --git a/airflow/config_templates/default_airflow.cfg b/airflow/config_templates/default_airflow.cfg index 7ca0b1b77a992..f5adb4306b061 100644 --- a/airflow/config_templates/default_airflow.cfg +++ b/airflow/config_templates/default_airflow.cfg @@ -488,7 +488,7 @@ hide_paused_dags_by_default = False page_size = 100 # Define the color of navigation bar -navbar_color = #007A87 +navbar_color = #fff # Default dagrun to show in UI default_dag_run_display_number = 25 diff --git a/airflow/utils/platform.py b/airflow/utils/platform.py index 5a74ef9a26084..45fd71ba19e5e 100644 --- a/airflow/utils/platform.py +++ b/airflow/utils/platform.py @@ -57,6 +57,6 @@ def get_airflow_git_version(): try: git_version = str(pkgutil.get_data('airflow', 'git_version'), encoding="UTF-8") except Exception as e: # pylint: disable=broad-except - log.error(e) + log.debug(e) return git_version diff --git a/airflow/www/extensions/init_appbuilder_links.py b/airflow/www/extensions/init_appbuilder_links.py index 14800f15e905c..b7f72597643c3 100644 --- a/airflow/www/extensions/init_appbuilder_links.py +++ b/airflow/www/extensions/init_appbuilder_links.py @@ -21,12 +21,9 @@ def init_appbuilder_links(app): """Add links to Docs menu in navbar""" appbuilder = app.appbuilder - - appbuilder.add_link( - "Website", href='https://airflow.apache.org', category="Docs", category_icon="fa-globe" - ) - appbuilder.add_link("Documentation", href=get_docs_url(), category="Docs", category_icon="fa-cube") - appbuilder.add_link("GitHub", href='https://github.com/apache/airflow', category="Docs") + appbuilder.add_link("Documentation", href=get_docs_url(), category="Docs") + appbuilder.add_link("Airflow Website", href='https://airflow.apache.org', category="Docs") + appbuilder.add_link("GitHub Repo", href='https://github.com/apache/airflow', category="Docs") appbuilder.add_link( "REST API Reference (Swagger UI)", href='/api/v1./api/v1_swagger_ui_index', category="Docs" ) diff --git a/airflow/www/extensions/init_jinja_globals.py b/airflow/www/extensions/init_jinja_globals.py index 7e9eafb2d4dd3..3554fff2f74fe 100644 --- a/airflow/www/extensions/init_jinja_globals.py +++ b/airflow/www/extensions/init_jinja_globals.py @@ -15,12 +15,15 @@ # specific language governing permissions and limitations # under the License. +import logging import socket import pendulum +import airflow from airflow.configuration import conf from airflow.settings import STATE_COLORS +from airflow.utils.platform import get_airflow_git_version def init_jinja_globals(app): @@ -42,6 +45,14 @@ def init_jinja_globals(app): expose_hostname = conf.getboolean('webserver', 'EXPOSE_HOSTNAME', fallback=True) hosstname = socket.getfqdn() if expose_hostname else 'redact' + try: + airflow_version = airflow.__version__ + except Exception as e: # pylint: disable=broad-except + airflow_version = None + logging.error(e) + + git_version = get_airflow_git_version() + def prepare_jinja_globals(): extra_globals = { 'server_timezone': server_timezone, @@ -51,7 +62,9 @@ def prepare_jinja_globals(): 'log_fetch_delay_sec': conf.getint('webserver', 'log_fetch_delay_sec', fallback=2), 'log_auto_tailing_offset': conf.getint('webserver', 'log_auto_tailing_offset', fallback=30), 'log_animation_speed': conf.getint('webserver', 'log_animation_speed', fallback=1000), - 'state_color_mapping': STATE_COLORS + 'state_color_mapping': STATE_COLORS, + 'airflow_version': airflow_version, + 'git_version': git_version } if 'analytics_tool' in conf.getsection('webserver'): diff --git a/airflow/www/extensions/init_views.py b/airflow/www/extensions/init_views.py index ea39c8a51fe64..cec30fe9f068c 100644 --- a/airflow/www/extensions/init_views.py +++ b/airflow/www/extensions/init_views.py @@ -58,7 +58,6 @@ def init_appbuilder_views(app): appbuilder.add_view(views.PoolModelView, "Pools", category="Admin") appbuilder.add_view(views.VariableModelView, "Variables", category="Admin") appbuilder.add_view(views.XComModelView, "XComs", category="Admin") - appbuilder.add_view(views.VersionView, 'Version', category='About', category_icon='fa-th') # add_view_no_menu to change item position. # I added link in extensions.init_appbuilder_links.init_appbuilder_links appbuilder.add_view_no_menu(views.RedocView) diff --git a/airflow/www/static/css/bootstrap-theme.css b/airflow/www/static/css/bootstrap-theme.css index 1c47a2cc035f8..41465c7fd6422 100644 --- a/airflow/www/static/css/bootstrap-theme.css +++ b/airflow/www/static/css/bootstrap-theme.css @@ -236,7 +236,6 @@ th { } pre, blockquote { - border: 1px solid #999; page-break-inside: avoid; } thead { @@ -267,10 +266,10 @@ th { } .btn > .caret, .dropup > .btn > .caret { - border-top-color: #000 !important; + border-top-color: #cbcbcb !important; } .label { - border: 1px solid #000; + border: 1px solid #51504f; } .table { border-collapse: collapse !important; @@ -281,7 +280,7 @@ th { } .table-bordered th, .table-bordered td { - border: 1px solid #ddd !important; + border: 1px solid #f0f0f0 !important; } } * { @@ -303,8 +302,7 @@ body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.428571429; - color: #333; - background-color: #fafafa; + color: #51504f; } input, button, @@ -315,13 +313,13 @@ textarea { line-height: inherit; } a { - color: #0091a1; + color: #365f84; text-decoration: none; } a:hover, a:focus { - color: #004c54; - text-decoration: underline; + color: #017cee; + text-decoration: none; } a:focus { outline: thin dotted; @@ -366,7 +364,7 @@ hr { margin-top: 15px; margin-bottom: 15px; border: 0; - border-top: 1px solid #eee; + border-top: 2px solid #f0f0f0; } .sr-only { position: absolute; @@ -551,19 +549,19 @@ mark, text-transform: capitalize; } .text-muted { - color: #777; + color: #cbcbcb; } .text-primary { - color: #005c66; + color: #017cee; } a.text-primary:hover { color: #002e33; } .text-success { - color: #3c763d; + color: #1b8e49; } a.text-success:hover { - color: #2b542c; + color: #366f4c; } .text-info { color: #31708f; @@ -578,20 +576,20 @@ a.text-warning:hover { color: #66512c; } .text-danger { - color: #a94442; + color: #e43921; } a.text-danger:hover { color: #843534; } .bg-primary { color: #fff; - background-color: #005c66; + background-color: #017cee; } a.bg-primary:hover { background-color: #002e33; } .bg-success { - background-color: #dff0d8; + background-color: #bfebd1; } a.bg-success:hover { background-color: #c1e2b3; @@ -744,15 +742,15 @@ samp { code { padding: 2px 4px; font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; + color: #51504f; + background-color: #e2e2e2; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #fff; - background-color: #333; + background-color: #51504f; border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } @@ -770,9 +768,9 @@ pre { line-height: 1.428571429; word-break: break-all; word-wrap: break-word; - color: #333; - background-color: #f5f5f5; - border: 1px solid #ccc; + color: #51504f; + background-color: #f0f0f0; + border: 0; border-radius: 4px; } pre code { @@ -1576,12 +1574,13 @@ th { .table > tfoot > tr > td { padding: 8px; line-height: 1.428571429; - vertical-align: top; + vertical-align: middle; border-top: 1px solid #ddd; } .table > thead > tr > th { vertical-align: bottom; - border-bottom: 2px solid #ddd; + background-color: #f0f0f0; + border-bottom: 1px solid #fff; } .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, @@ -1592,10 +1591,10 @@ th { border-top: 0; } .table > tbody + tbody { - border-top: 2px solid #ddd; + border-top: 0; } .table .table { - background-color: #fafafa; + background-color: #f0f0f0; } .table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, @@ -1606,21 +1605,27 @@ th { padding: 5px; } .table-bordered { - border: 1px solid #ddd; + border: 1px solid #f0f0f0; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, +.table-bordered > tfoot > tr > th { + border: 0; +} .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { - border: 1px solid #ddd; + border: 0; + border-top: 1px solid #f0f0f0; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-child(odd) { + background-color: #fff; +} +.table-striped > tbody > tr:nth-child(even) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { @@ -1670,7 +1675,7 @@ table th[class*="col-"] { .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { - background-color: #dff0d8; + background-color: #bfebd1; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, @@ -1792,6 +1797,7 @@ table th[class*="col-"] { border-bottom: 0; } } + fieldset { padding: 0; margin: 0; @@ -1805,7 +1811,7 @@ legend { margin-bottom: 20px; font-size: 21px; line-height: inherit; - color: #333; + color: #51504f; border: 0; border-bottom: 1px solid #e5e5e5; } @@ -2083,25 +2089,25 @@ select[multiple].form-group-lg .form-control { .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { - color: #3c763d; + color: #1b8e49; } .has-success .form-control { - border-color: #3c763d; + border-color: #1b8e49; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-success .form-control:focus { - border-color: #2b542c; + border-color: #366f4c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; } .has-success .input-group-addon { - color: #3c763d; - border-color: #3c763d; - background-color: #dff0d8; + color: #1b8e49; + border-color: #1b8e49; + background-color: #bfebd1; } .has-success .form-control-feedback { - color: #3c763d; + color: #1b8e49; } .has-warning .help-block, .has-warning .control-label, @@ -2143,10 +2149,10 @@ select[multiple].form-group-lg .form-control { .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { - color: #a94442; + color: #e43921; } .has-error .form-control { - border-color: #a94442; + border-color: #e43921; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } @@ -2156,12 +2162,12 @@ select[multiple].form-group-lg .form-control { box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } .has-error .input-group-addon { - color: #a94442; - border-color: #a94442; + color: #e43921; + border-color: #e43921; background-color: #f2dede; } .has-error .form-control-feedback { - color: #a94442; + color: #e43921; } .has-feedback label ~ .form-control-feedback { top: 25px; @@ -2273,8 +2279,9 @@ select[multiple].form-group-lg .form-control { vertical-align: middle; touch-action: manipulation; cursor: pointer; - background-image: none; - border: 1px solid transparent; + color: #017cee; + background: #fff; + border: 1px solid #017cee; white-space: nowrap; padding: 6px 12px; font-size: 14px; @@ -2298,8 +2305,9 @@ select[multiple].form-group-lg .form-control { .btn:hover, .btn:focus, .btn.focus { - color: #333; + color: #017cee; text-decoration: none; + background-color: #c0defb; } .btn:active, .btn.active { @@ -2314,12 +2322,14 @@ fieldset[disabled] .btn { cursor: not-allowed; pointer-events: none; opacity: 0.65; - filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; } +.btn-icon-only { + padding: 6px; +} .btn-default { - color: #333; + color: #365f84; background-color: #fff; border-color: #ccc; } @@ -2329,8 +2339,8 @@ fieldset[disabled] .btn { .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { - color: #333; - background-color: #e6e6e6; + color: #017cee; + background-color: #f0f0f0; border-color: #adadad; } .btn-default:active, @@ -2361,12 +2371,12 @@ fieldset[disabled] .btn-default.active { } .btn-default .badge { color: #fff; - background-color: #333; + background-color: #51504f; } .btn-primary { color: #fff; - background-color: #005c66; - border-color: #00454c; + background-color: #017cee; + border-color: #017cee; } .btn-primary:hover, .btn-primary:focus, @@ -2375,8 +2385,8 @@ fieldset[disabled] .btn-default.active { .btn-primary.active, .open > .dropdown-toggle.btn-primary { color: #fff; - background-color: #002e33; - border-color: #000e0f; + background-color: #0cb6ff; + border-color: #0cb6ff; } .btn-primary:active, .btn-primary.active, @@ -2401,16 +2411,24 @@ fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { - background-color: #005c66; + background-color: #017cee; border-color: #00454c; } .btn-primary .badge { - color: #005c66; + color: #017cee; background-color: #fff; } +.btn-primary:hover .badge, +.btn-primary:focus .badge, +.btn-primary.focus .badge, +.btn-primary:active .badge, +.btn-primary.active .badge, +.open > .dropdown-toggle.btn-primary .badge { + color: #0cb6ff; +} .btn-success { color: #fff; - background-color: #3fb34f; + background-color: #00ad46; border-color: #38a047; } .btn-success:hover, @@ -2446,11 +2464,11 @@ fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { - background-color: #3fb34f; - border-color: #38a047; + background-color: #00ad46; + border-color: #00ad46; } .btn-success .badge { - color: #3fb34f; + color: #00ad46; background-color: #fff; } .btn-info { @@ -2589,7 +2607,7 @@ fieldset[disabled] .btn-danger.active { background-color: #fff; } .btn-link { - color: #0091a1; + color: #017cee; font-weight: normal; border-radius: 0; } @@ -2628,6 +2646,10 @@ fieldset[disabled] .btn-link:focus { line-height: 1.33; border-radius: 6px; } +.btn-lg.btn-icon-only, +.btn-group-lg > .btn.btn-icon-only { + padding: 10px; +} .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; @@ -2635,6 +2657,10 @@ fieldset[disabled] .btn-link:focus { line-height: 1.5; border-radius: 3px; } +.btn-sm.btn-icon-only, +.btn-group-sm > .btn.btn-icon-only { + padding: 5px; +} .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; @@ -2642,6 +2668,10 @@ fieldset[disabled] .btn-link:focus { line-height: 1.5; border-radius: 3px; } +.btn-xs.btn-icon-only, +.btn-group-xs > .btn.btn-icon-only { + padding: 1px; +} .btn-block { display: block; width: 100%; @@ -2688,795 +2718,6 @@ tbody.collapse.in { -webkit-transition-timing-function: ease; transition-timing-function: ease; } -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings';/* stylelint-disable-line font-family-no-missing-generic-family-keyword */ - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.glyphicon-asterisk::before { - content: "\2a"; -} -.glyphicon-plus::before { - content: "\2b"; -} -.glyphicon-euro::before, -.glyphicon-eur::before { - content: "\20ac"; -} -.glyphicon-minus::before { - content: "\2212"; -} -.glyphicon-cloud::before { - content: "\2601"; -} -.glyphicon-envelope::before { - content: "\2709"; -} -.glyphicon-pencil::before { - content: "\270f"; -} -.glyphicon-glass::before { - content: "\e001"; -} -.glyphicon-music::before { - content: "\e002"; -} -.glyphicon-search::before { - content: "\e003"; -} -.glyphicon-heart::before { - content: "\e005"; -} -.glyphicon-star::before { - content: "\e006"; -} -.glyphicon-star-empty::before { - content: "\e007"; -} -.glyphicon-user::before { - content: "\e008"; -} -.glyphicon-film::before { - content: "\e009"; -} -.glyphicon-th-large::before { - content: "\e010"; -} -.glyphicon-th::before { - content: "\e011"; -} -.glyphicon-th-list::before { - content: "\e012"; -} -.glyphicon-ok::before { - content: "\e013"; -} -.glyphicon-remove::before { - content: "\e014"; -} -.glyphicon-zoom-in::before { - content: "\e015"; -} -.glyphicon-zoom-out::before { - content: "\e016"; -} -.glyphicon-off::before { - content: "\e017"; -} -.glyphicon-signal::before { - content: "\e018"; -} -.glyphicon-cog::before { - content: "\e019"; -} -.glyphicon-trash::before { - content: "\e020"; -} -.glyphicon-home::before { - content: "\e021"; -} -.glyphicon-file::before { - content: "\e162"; -} -.glyphicon-time::before { - content: "\e023"; -} -.glyphicon-road::before { - content: "\e024"; -} -.glyphicon-download-alt::before { - content: "\e025"; -} -.glyphicon-download::before { - content: "\e026"; -} -.glyphicon-upload::before { - content: "\e027"; -} -.glyphicon-inbox::before { - content: "\e028"; -} -.glyphicon-play-circle::before { - content: "\e029"; -} -.glyphicon-repeat::before { - content: "\e030"; -} -.glyphicon-refresh::before { - content: "\e031"; -} -.glyphicon-list-alt::before { - content: "\e032"; -} -.glyphicon-lock::before { - content: "\e033"; -} -.glyphicon-flag::before { - content: "\e034"; -} -.glyphicon-headphones::before { - content: "\e035"; -} -.glyphicon-volume-off::before { - content: "\e036"; -} -.glyphicon-volume-down::before { - content: "\e037"; -} -.glyphicon-volume-up::before { - content: "\e038"; -} -.glyphicon-qrcode::before { - content: "\e039"; -} -.glyphicon-barcode::before { - content: "\e040"; -} -.glyphicon-tag::before { - content: "\e041"; -} -.glyphicon-tags::before { - content: "\e042"; -} -.glyphicon-book::before { - content: "\e043"; -} -.glyphicon-bookmark::before { - content: "\e044"; -} -.glyphicon-print::before { - content: "\e045"; -} -.glyphicon-camera::before { - content: "\e046"; -} -.glyphicon-font::before { - content: "\e047"; -} -.glyphicon-bold::before { - content: "\e048"; -} -.glyphicon-italic::before { - content: "\e049"; -} -.glyphicon-text-height::before { - content: "\e050"; -} -.glyphicon-text-width::before { - content: "\e051"; -} -.glyphicon-align-left::before { - content: "\e052"; -} -.glyphicon-align-center::before { - content: "\e053"; -} -.glyphicon-align-right::before { - content: "\e054"; -} -.glyphicon-align-justify::before { - content: "\e055"; -} -.glyphicon-list::before { - content: "\e056"; -} -.glyphicon-indent-left::before { - content: "\e057"; -} -.glyphicon-indent-right::before { - content: "\e058"; -} -.glyphicon-facetime-video::before { - content: "\e059"; -} -.glyphicon-picture::before { - content: "\e060"; -} -.glyphicon-map-marker::before { - content: "\e062"; -} -.glyphicon-adjust::before { - content: "\e063"; -} -.glyphicon-tint::before { - content: "\e064"; -} -.glyphicon-edit::before { - content: "\e065"; -} -.glyphicon-share::before { - content: "\e066"; -} -.glyphicon-check::before { - content: "\e067"; -} -.glyphicon-move::before { - content: "\e068"; -} -.glyphicon-step-backward::before { - content: "\e069"; -} -.glyphicon-fast-backward::before { - content: "\e070"; -} -.glyphicon-backward::before { - content: "\e071"; -} -.glyphicon-play::before { - content: "\e072"; -} -.glyphicon-pause::before { - content: "\e073"; -} -.glyphicon-stop::before { - content: "\e074"; -} -.glyphicon-forward::before { - content: "\e075"; -} -.glyphicon-fast-forward::before { - content: "\e076"; -} -.glyphicon-step-forward::before { - content: "\e077"; -} -.glyphicon-eject::before { - content: "\e078"; -} -.glyphicon-chevron-left::before { - content: "\e079"; -} -.glyphicon-chevron-right::before { - content: "\e080"; -} -.glyphicon-plus-sign::before { - content: "\e081"; -} -.glyphicon-minus-sign::before { - content: "\e082"; -} -.glyphicon-remove-sign::before { - content: "\e083"; -} -.glyphicon-ok-sign::before { - content: "\e084"; -} -.glyphicon-question-sign::before { - content: "\e085"; -} -.glyphicon-info-sign::before { - content: "\e086"; -} -.glyphicon-screenshot::before { - content: "\e087"; -} -.glyphicon-remove-circle::before { - content: "\e088"; -} -.glyphicon-ok-circle::before { - content: "\e089"; -} -.glyphicon-ban-circle::before { - content: "\e090"; -} -.glyphicon-arrow-left::before { - content: "\e091"; -} -.glyphicon-arrow-right::before { - content: "\e092"; -} -.glyphicon-arrow-up::before { - content: "\e093"; -} -.glyphicon-arrow-down::before { - content: "\e094"; -} -.glyphicon-share-alt::before { - content: "\e095"; -} -.glyphicon-resize-full::before { - content: "\e096"; -} -.glyphicon-resize-small::before { - content: "\e097"; -} -.glyphicon-exclamation-sign::before { - content: "\e101"; -} -.glyphicon-gift::before { - content: "\e102"; -} -.glyphicon-leaf::before { - content: "\e103"; -} -.glyphicon-fire::before { - content: "\e104"; -} -.glyphicon-eye-open::before { - content: "\e105"; -} -.glyphicon-eye-close::before { - content: "\e106"; -} -.glyphicon-warning-sign::before { - content: "\e107"; -} -.glyphicon-plane::before { - content: "\e108"; -} -.glyphicon-calendar::before { - content: "\e109"; -} -.glyphicon-random::before { - content: "\e110"; -} -.glyphicon-comment::before { - content: "\e111"; -} -.glyphicon-magnet::before { - content: "\e112"; -} -.glyphicon-chevron-up::before { - content: "\e113"; -} -.glyphicon-chevron-down::before { - content: "\e114"; -} -.glyphicon-retweet::before { - content: "\e115"; -} -.glyphicon-shopping-cart::before { - content: "\e116"; -} -.glyphicon-folder-close::before { - content: "\e117"; -} -.glyphicon-folder-open::before { - content: "\e118"; -} -.glyphicon-resize-vertical::before { - content: "\e119"; -} -.glyphicon-resize-horizontal::before { - content: "\e120"; -} -.glyphicon-hdd::before { - content: "\e121"; -} -.glyphicon-bullhorn::before { - content: "\e122"; -} -.glyphicon-bell::before { - content: "\e123"; -} -.glyphicon-certificate::before { - content: "\e124"; -} -.glyphicon-thumbs-up::before { - content: "\e125"; -} -.glyphicon-thumbs-down::before { - content: "\e126"; -} -.glyphicon-hand-right::before { - content: "\e127"; -} -.glyphicon-hand-left::before { - content: "\e128"; -} -.glyphicon-hand-up::before { - content: "\e129"; -} -.glyphicon-hand-down::before { - content: "\e130"; -} -.glyphicon-circle-arrow-right::before { - content: "\e131"; -} -.glyphicon-circle-arrow-left::before { - content: "\e132"; -} -.glyphicon-circle-arrow-up::before { - content: "\e133"; -} -.glyphicon-circle-arrow-down::before { - content: "\e134"; -} -.glyphicon-globe::before { - content: "\e135"; -} -.glyphicon-wrench::before { - content: "\e136"; -} -.glyphicon-tasks::before { - content: "\e137"; -} -.glyphicon-filter::before { - content: "\e138"; -} -.glyphicon-briefcase::before { - content: "\e139"; -} -.glyphicon-fullscreen::before { - content: "\e140"; -} -.glyphicon-dashboard::before { - content: "\e141"; -} -.glyphicon-paperclip::before { - content: "\e142"; -} -.glyphicon-heart-empty::before { - content: "\e143"; -} -.glyphicon-link::before { - content: "\e144"; -} -.glyphicon-phone::before { - content: "\e145"; -} -.glyphicon-pushpin::before { - content: "\e146"; -} -.glyphicon-usd::before { - content: "\e148"; -} -.glyphicon-gbp::before { - content: "\e149"; -} -.glyphicon-sort::before { - content: "\e150"; -} -.glyphicon-sort-by-alphabet::before { - content: "\e151"; -} -.glyphicon-sort-by-alphabet-alt::before { - content: "\e152"; -} -.glyphicon-sort-by-order::before { - content: "\e153"; -} -.glyphicon-sort-by-order-alt::before { - content: "\e154"; -} -.glyphicon-sort-by-attributes::before { - content: "\e155"; -} -.glyphicon-sort-by-attributes-alt::before { - content: "\e156"; -} -.glyphicon-unchecked::before { - content: "\e157"; -} -.glyphicon-expand::before { - content: "\e158"; -} -.glyphicon-collapse-down::before { - content: "\e159"; -} -.glyphicon-collapse-up::before { - content: "\e160"; -} -.glyphicon-log-in::before { - content: "\e161"; -} -.glyphicon-log-out::before { - content: "\e163"; -} -.glyphicon-new-window::before { - content: "\e164"; -} -.glyphicon-record::before { - content: "\e165"; -} -.glyphicon-save::before { - content: "\e166"; -} -.glyphicon-open::before { - content: "\e167"; -} -.glyphicon-saved::before { - content: "\e168"; -} -.glyphicon-import::before { - content: "\e169"; -} -.glyphicon-export::before { - content: "\e170"; -} -.glyphicon-send::before { - content: "\e171"; -} -.glyphicon-floppy-disk::before { - content: "\e172"; -} -.glyphicon-floppy-saved::before { - content: "\e173"; -} -.glyphicon-floppy-remove::before { - content: "\e174"; -} -.glyphicon-floppy-save::before { - content: "\e175"; -} -.glyphicon-floppy-open::before { - content: "\e176"; -} -.glyphicon-credit-card::before { - content: "\e177"; -} -.glyphicon-transfer::before { - content: "\e178"; -} -.glyphicon-cutlery::before { - content: "\e179"; -} -.glyphicon-header::before { - content: "\e180"; -} -.glyphicon-compressed::before { - content: "\e181"; -} -.glyphicon-earphone::before { - content: "\e182"; -} -.glyphicon-phone-alt::before { - content: "\e183"; -} -.glyphicon-tower::before { - content: "\e184"; -} -.glyphicon-stats::before { - content: "\e185"; -} -.glyphicon-sd-video::before { - content: "\e186"; -} -.glyphicon-hd-video::before { - content: "\e187"; -} -.glyphicon-subtitles::before { - content: "\e188"; -} -.glyphicon-sound-stereo::before { - content: "\e189"; -} -.glyphicon-sound-dolby::before { - content: "\e190"; -} -.glyphicon-sound-5-1::before { - content: "\e191"; -} -.glyphicon-sound-6-1::before { - content: "\e192"; -} -.glyphicon-sound-7-1::before { - content: "\e193"; -} -.glyphicon-copyright-mark::before { - content: "\e194"; -} -.glyphicon-registration-mark::before { - content: "\e195"; -} -.glyphicon-cloud-download::before { - content: "\e197"; -} -.glyphicon-cloud-upload::before { - content: "\e198"; -} -.glyphicon-tree-conifer::before { - content: "\e199"; -} -.glyphicon-tree-deciduous::before { - content: "\e200"; -} -.glyphicon-cd::before { - content: "\e201"; -} -.glyphicon-save-file::before { - content: "\e202"; -} -.glyphicon-open-file::before { - content: "\e203"; -} -.glyphicon-level-up::before { - content: "\e204"; -} -.glyphicon-copy::before { - content: "\e205"; -} -.glyphicon-paste::before { - content: "\e206"; -} -.glyphicon-door::before { - content: "\1f6aa"; -} -.glyphicon-key::before { - content: "\1f511"; -} -.glyphicon-alert::before { - content: "\e209"; -} -.glyphicon-equalizer::before { - content: "\e210"; -} -.glyphicon-king::before { - content: "\e211"; -} -.glyphicon-queen::before { - content: "\e212"; -} -.glyphicon-pawn::before { - content: "\e213"; -} -.glyphicon-bishop::before { - content: "\e214"; -} -.glyphicon-knight::before { - content: "\e215"; -} -.glyphicon-baby-formula::before { - content: "\e216"; -} -.glyphicon-tent::before { - content: "\26fa"; -} -.glyphicon-blackboard::before { - content: "\e218"; -} -.glyphicon-bed::before { - content: "\e219"; -} -.glyphicon-apple::before { - content: "\f8ff"; -} -.glyphicon-erase::before { - content: "\e221"; -} -.glyphicon-hourglass::before { - content: "\231b"; -} -.glyphicon-lamp::before { - content: "\e223"; -} -.glyphicon-duplicate::before { - content: "\e224"; -} -.glyphicon-piggy-bank::before { - content: "\e225"; -} -.glyphicon-scissors::before { - content: "\e226"; -} -.glyphicon-bitcoin::before { - content: "\e227"; -} -.glyphicon-yen::before { - content: "\00a5"; -} -.glyphicon-ruble::before { - content: "\20bd"; -} -.glyphicon-scale::before { - content: "\e230"; -} -.glyphicon-ice-lolly::before { - content: "\e231"; -} -.glyphicon-ice-lolly-tasted::before { - content: "\e232"; -} -.glyphicon-education::before { - content: "\e233"; -} -.glyphicon-option-horizontal::before { - content: "\e234"; -} -.glyphicon-option-vertical::before { - content: "\e235"; -} -.glyphicon-menu-hamburger::before { - content: "\e236"; -} -.glyphicon-modal-window::before { - content: "\e237"; -} -.glyphicon-oil::before { - content: "\e238"; -} -.glyphicon-grain::before { - content: "\e239"; -} -.glyphicon-sunglasses::before { - content: "\e240"; -} -.glyphicon-text-size::before { - content: "\e241"; -} -.glyphicon-text-color::before { - content: "\e242"; -} -.glyphicon-text-background::before { - content: "\e243"; -} -.glyphicon-object-align-top::before { - content: "\e244"; -} -.glyphicon-object-align-bottom::before { - content: "\e245"; -} -.glyphicon-object-align-horizontal::before { - content: "\e246"; -} -.glyphicon-object-align-left::before { - content: "\e247"; -} -.glyphicon-object-align-vertical::before { - content: "\e248"; -} -.glyphicon-object-align-right::before { - content: "\e249"; -} -.glyphicon-triangle-right::before { - content: "\e250"; -} -.glyphicon-triangle-left::before { - content: "\e251"; -} -.glyphicon-triangle-bottom::before { - content: "\e252"; -} -.glyphicon-triangle-top::before { - content: "\e253"; -} -.glyphicon-console::before { - content: "\e254"; -} -.glyphicon-superscript::before { - content: "\e255"; -} -.glyphicon-subscript::before { - content: "\e256"; -} -.glyphicon-menu-left::before { - content: "\e257"; -} -.glyphicon-menu-right::before { - content: "\e258"; -} -.glyphicon-menu-down::before { - content: "\e259"; -} -.glyphicon-menu-up::before { - content: "\e260"; -} .caret { display: inline-block; width: 0; @@ -3507,8 +2748,7 @@ tbody.collapse.in { font-size: 14px; text-align: left; background-color: #fff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.15); + border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); @@ -3530,7 +2770,7 @@ tbody.collapse.in { clear: both; font-weight: normal; line-height: 1.428571429; - color: #333; + color: #51504f; white-space: nowrap; } .dropdown-menu > li > a:hover, @@ -3545,7 +2785,7 @@ tbody.collapse.in { color: #fff; text-decoration: none; outline: 0; - background-color: #005c66; + background-color: #017cee; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, @@ -3971,7 +3211,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .nav .open > a:hover, .nav .open > a:focus { background-color: #eee; - border-color: #0091a1; + border-color: #017cee; } .nav .nav-divider { height: 1px; @@ -4056,6 +3296,12 @@ select[multiple].input-group-sm > .input-group-btn > .btn { } .nav-pills > li > a { border-radius: 4px; + color: #365f84; +} +.nav-pills > li > a:hover, +.nav-pills > li > a:focus { + color: #365f84; + background-color: #c0defb; } .nav-pills > li + li { margin-left: 2px; @@ -4064,7 +3310,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; - background-color: #005c66; + background-color: #365f84; } .nav-stacked > li { float: none; @@ -4137,8 +3383,10 @@ select[multiple].input-group-sm > .input-group-btn > .btn { .navbar { position: relative; min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent; + background-color: #fff; + margin: 0; + border: 0; + box-shadow: 0 0 16px rgba(29, 32, 25, 0.25); } @media (min-width: 768px) { @@ -4250,18 +3498,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn { } .navbar-brand { float: left; - padding: 15px 15px; - font-size: 18px; - line-height: 20px; + padding: 10px 15px; height: 50px; } -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} @media (min-width: 768px) { .navbar > .container .navbar-brand, @@ -4289,6 +3528,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { width: 22px; height: 2px; border-radius: 1px; + background: currentColor; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; @@ -4340,8 +3580,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn { float: left; } .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; + padding-top: 20px; + padding-bottom: 20px; } } .navbar-form { @@ -4493,7 +3733,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { - color: #333; + color: #51504f; background-color: transparent; } .navbar-default .navbar-nav > .active > a, @@ -4535,7 +3775,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333; + color: #51504f; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, @@ -4555,14 +3795,14 @@ select[multiple].input-group-sm > .input-group-btn > .btn { color: #007a87; } .navbar-default .navbar-link:hover { - color: #333; + color: #51504f; } .navbar-default .btn-link { color: #007a87; } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { - color: #333; + color: #51504f; } .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, @@ -4618,11 +3858,11 @@ ee.dropdown-menu > .active > a:focus, background-color: transparent; } .navbar-inverse .navbar-toggle { - border-color: #333; + border-color: #51504f; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { - background-color: #333; + background-color: #51504f; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; @@ -4719,7 +3959,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { padding: 6px 12px; line-height: 1.428571429; text-decoration: none; - color: #0091a1; + color: #017cee; background-color: #fff; border: 1px solid #ddd; margin-left: -1px; @@ -4739,7 +3979,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { - color: #004c54; + color: #0cb6ff; background-color: #eee; border-color: #ddd; } @@ -4751,8 +3991,8 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { .pagination > .active > span:focus { z-index: 2; color: #fff; - background-color: #005c66; - border-color: #005c66; + background-color: ##017cee; + border-color: ##017cee; cursor: default; } .pagination > .disabled > span, @@ -4840,7 +4080,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { font-size: 75%; font-weight: bold; line-height: 1; - color: #fff; + color: #51504f; text-align: center; white-space: nowrap; vertical-align: baseline; @@ -4848,7 +4088,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { } a.label:hover, a.label:focus { - color: #fff; + color: #51504f; text-decoration: none; cursor: pointer; } @@ -4860,32 +4100,38 @@ a.label:focus { top: -1px; } .label-default { - background-color: #777; + background-color: #e2e2e2; } .label-default[href]:hover, .label-default[href]:focus { - background-color: #5e5e5e; + background-color: #cbcbcb; } .label-primary { - background-color: #005c66; + color: #365f84; + background-color: #c0defb; } .label-primary[href]:hover, .label-primary[href]:focus { - background-color: #002e33; + color: #365f84; + background-color: #0cb6ff; } .label-success { - background-color: #3fb34f; + color: #366f4c; + background-color: #bfebd1; } .label-success[href]:hover, .label-success[href]:focus { - background-color: #328d3e; + color: #366f4c; + background-color: #04d659; } .label-info { - background-color: #00d1c1; + color: #36787b; + background-color: #bff1f4; } .label-info[href]:hover, .label-info[href]:focus { - background-color: #009e92; + color: #36787b; + background-color: #11e1ee; } .label-warning { background-color: #ffb400; @@ -4895,11 +4141,13 @@ a.label:focus { background-color: #cc9000; } .label-danger { - background-color: #ff5a5f; + color: #824840; + background-color: #f8cec8; } .label-danger[href]:hover, .label-danger[href]:focus { - background-color: #ff272e; + color: #824840; + background-color: #ff7557; } .badge { display: inline-block; @@ -4934,7 +4182,7 @@ a.badge:focus { } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { - color: #0091a1; + color: #017cee; background-color: #fff; } .list-group-item > .badge { @@ -5006,16 +4254,16 @@ a.badge:focus { a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { - border-color: #0091a1; + border-color: #017cee; } .thumbnail .caption { padding: 9px; - color: #333; + color: #51504f; } .alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; + padding: 16px; + margin-bottom: 16px; + border: 0; border-radius: 4px; } .alert h4 { @@ -5044,20 +4292,18 @@ a.thumbnail.active { color: inherit; } .alert-success { - background-color: #dff0d8; - border-color: #d6e9c6; - color: #3c763d; + background-color: #bfebd1; + color: #1b8e49; } .alert-success hr { - border-top-color: #c9e2b3; + border-top-color: #bfebd1; } .alert-success .alert-link { - color: #2b542c; + color: #366f4c; } .alert-info { - background-color: #d9edf7; - border-color: #bce8f1; - color: #31708f; + background-color: #bff1f4; + color: #36787b; } .alert-info hr { border-top-color: #a6e1ec; @@ -5067,7 +4313,6 @@ a.thumbnail.active { } .alert-warning { background-color: #fcf8e3; - border-color: #faebcc; color: #8a6d3b; } .alert-warning hr { @@ -5078,8 +4323,7 @@ a.thumbnail.active { } .alert-danger { background-color: #f2dede; - border-color: #ebccd1; - color: #a94442; + color: #e43921; } .alert-danger hr { border-top-color: #e4b9c0; @@ -5089,7 +4333,6 @@ a.thumbnail.active { } .alert-message { background-color: #d9edf7; - border-color: #bce8f1; color: #31708f; } .alert-message hr { @@ -5100,8 +4343,7 @@ a.thumbnail.active { } .alert-error { background-color: #f2dede; - border-color: #ebccd1; - color: #a94442; + color: #e43921; } .alert-error hr { border-top-color: #e4b9c0; @@ -5144,7 +4386,7 @@ a.thumbnail.active { line-height: 20px; color: #fff; text-align: center; - background-color: #005c66; + background-color: #017cee; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-transition: width 0.6s ease; @@ -5165,7 +4407,7 @@ a.thumbnail.active { animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { - background-color: #3fb34f; + background-color: #00ad46; } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); @@ -5263,7 +4505,7 @@ a.list-group-item { color: #555; } a.list-group-item .list-group-item-heading { - color: #333; + color: #51504f; } a.list-group-item:hover, a.list-group-item:focus { @@ -5293,8 +4535,8 @@ a.list-group-item:focus { .list-group-item.active:focus { z-index: 2; color: #fff; - background-color: #005c66; - border-color: #005c66; + background-color: #017cee; + border-color: #017cee; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, @@ -5313,26 +4555,26 @@ a.list-group-item:focus { color: #33ebff; } .list-group-item-success { - color: #3c763d; - background-color: #dff0d8; + color: #1b8e49; + background-color: #bfebd1; } a.list-group-item-success { - color: #3c763d; + color: #1b8e49; } a.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, a.list-group-item-success:focus { - color: #3c763d; + color: #1b8e49; background-color: #d0e9c6; } a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus { color: #fff; - background-color: #3c763d; - border-color: #3c763d; + background-color: #1b8e49; + border-color: #1b8e49; } .list-group-item-info { color: #31708f; @@ -5379,26 +4621,26 @@ a.list-group-item-warning.active:focus { border-color: #8a6d3b; } .list-group-item-danger { - color: #a94442; + color: #e43921; background-color: #f2dede; } a.list-group-item-danger { - color: #a94442; + color: #e43921; } a.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, a.list-group-item-danger:focus { - color: #a94442; + color: #e43921; background-color: #ebcccc; } a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus { color: #fff; - background-color: #a94442; - border-color: #a94442; + background-color: #e43921; + border-color: #e43921; } .list-group-item-heading { margin-top: 0; @@ -5411,10 +4653,9 @@ a.list-group-item-danger.active:focus { .panel { margin-bottom: 20px; background-color: #fff; - border: 1px solid transparent; + border: 2px solid transparent; border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: none; } .panel-body { padding: 15px; @@ -5422,8 +4663,8 @@ a.list-group-item-danger.active:focus { .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; - border-top-right-radius: 3px; - border-top-left-radius: 3px; + border-top-right-radius: 4px; + border-top-left-radius: 4px; } .panel-heading > .dropdown .dropdown-toggle { color: inherit; @@ -5441,8 +4682,8 @@ a.list-group-item-danger.active:focus { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; } .panel > .list-group, .panel > .panel-collapse > .list-group { @@ -5639,7 +4880,7 @@ a.list-group-item-danger.active:focus { border-color: #ddd; } .panel-default > .panel-heading { - color: #333; + color: #51504f; background-color: #f5f5f5; border-color: #ddd; } @@ -5648,43 +4889,42 @@ a.list-group-item-danger.active:focus { } .panel-default > .panel-heading .badge { color: #f5f5f5; - background-color: #333; + background-color: #51504f; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; } .panel-primary { - border-color: #005c66; + border-color: #e2e2e2; } .panel-primary > .panel-heading { - color: #fff; - background-color: #005c66; - border-color: #005c66; + color: #51504f; + background-color: #e2e2e2; + border-color: #e2e2e2; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #005c66; + border-top-color: #e2e2e2; } .panel-primary > .panel-heading .badge { - color: #005c66; - background-color: #fff; + color: #e2e2e2; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #005c66; + border-bottom-color: #e2e2e2; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; + color: #1b8e49; + background-color: #bfebd1; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #3c763d; + color: #bfebd1; + background-color: #1b8e49; } .panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; @@ -5729,7 +4969,7 @@ a.list-group-item-danger.active:focus { border-color: #ebccd1; } .panel-danger > .panel-heading { - color: #a94442; + color: #e43921; background-color: #f2dede; border-color: #ebccd1; } @@ -5738,7 +4978,7 @@ a.list-group-item-danger.active:focus { } .panel-danger > .panel-heading .badge { color: #f2dede; - background-color: #a94442; + background-color: #e43921; } .panel-danger > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ebccd1; @@ -5748,10 +4988,9 @@ a.list-group-item-danger.active:focus { padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; - border: 1px solid #e3e3e3; + border: 0; border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: none; } .well blockquote { border-color: #ddd; @@ -5763,25 +5002,21 @@ a.list-group-item-danger.active:focus { } .well-sm { padding: 9px; - border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: 0.2; - filter: alpha(opacity=20); + color: currentColor; + opacity: 0.4; } .close:hover, .close:focus { - color: #000; + color: currentColor; text-decoration: none; cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); + opacity: 0.8; } button.close { padding: 0; @@ -5833,16 +5068,17 @@ button.close { .modal-content { position: relative; background-color: #fff; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, 0.2); + border: 0; border-radius: 6px; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); background-clip: padding-box; outline: 0; + z-index: 5; } .modal-backdrop { - position: absolute; + z-index: 2; + position: fixed; top: 0; right: 0; left: 0; @@ -5850,11 +5086,9 @@ button.close { } .modal-backdrop.fade { opacity: 0; - filter: alpha(opacity=0); } .modal-backdrop.in { opacity: 0.5; - filter: alpha(opacity=50); } .modal-header { padding: 15px; @@ -5924,11 +5158,9 @@ button.close { font-weight: normal; line-height: 1.4; opacity: 0; - filter: alpha(opacity=0); } .tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); + opacity: 1; } .tooltip.top { margin-top: -3px; @@ -5947,13 +5179,14 @@ button.close { padding: 0 5px; } .tooltip-inner { - max-width: 200px; + max-width: 500px; padding: 3px 8px; color: #fff; - text-align: center; + text-align: left; text-decoration: none; - background-color: #000; + background-color: #51504f; border-radius: 4px; + font-size: 13px; } .tooltip-arrow { position: absolute; @@ -5967,56 +5200,56 @@ button.close { left: 50%; margin-left: -5px; border-width: 5px 5px 0; - border-top-color: #000; + border-top-color: #51504f; } .tooltip.top-left .tooltip-arrow { bottom: 0; right: 5px; margin-bottom: -5px; border-width: 5px 5px 0; - border-top-color: #000; + border-top-color: #51504f; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; - border-top-color: #000; + border-top-color: #51504f; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; - border-right-color: #000; + border-right-color: #51504f; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; - border-left-color: #000; + border-left-color: #51504f; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; - border-bottom-color: #000; + border-bottom-color: #51504f; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; - border-bottom-color: #000; + border-bottom-color: #51504f; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; - border-bottom-color: #000; + border-bottom-color: #51504f; } .popover { position: absolute; @@ -6229,7 +5462,6 @@ button.close { bottom: 0; width: 15%; opacity: 0.5; - filter: alpha(opacity=50); font-size: 20px; color: #fff; text-align: center; @@ -6255,7 +5487,6 @@ button.close { color: #fff; text-decoration: none; opacity: 0.9; - filter: alpha(opacity=90); } .carousel-control .icon-prev, .carousel-control .icon-next, diff --git a/airflow/www/static/css/graph.css b/airflow/www/static/css/graph.css index ee1d0930670e9..f16ffdfae73e5 100644 --- a/airflow/www/static/css/graph.css +++ b/airflow/www/static/css/graph.css @@ -22,7 +22,7 @@ svg { } .node rect { - stroke: #333; + stroke: #51504f; stroke-width: 1px; fill: #fff; } @@ -32,12 +32,12 @@ svg { } .edgePath { - stroke: #333; + stroke: #51504f; stroke-width: 1px; } g.cluster rect { - stroke: white; + stroke: #fff; stroke-dasharray: 5; rx: 5; ry: 5; @@ -51,7 +51,7 @@ g.node rect { } g.node circle { - stroke: black; + stroke: #51504f; stroke-width: 3px; cursor: pointer; } @@ -106,8 +106,8 @@ g.node.skipped rect { } div#svg_container { - border: 1px solid #000; - background-color: #eee; + border-radius: 4px; + background-color: #f0f0f0; cursor: move; } diff --git a/airflow/www/static/css/main.css b/airflow/www/static/css/main.css index a747426e2629c..6809243d85183 100644 --- a/airflow/www/static/css/main.css +++ b/airflow/www/static/css/main.css @@ -18,7 +18,10 @@ */ body { - padding-top: 70px; + position: relative; + padding: 70px 0 100px; + min-height: 100vh; + background-color: #fff; } nav { @@ -48,22 +51,55 @@ div.container { padding-right: 15px; } +.navbar a { + color: #51504f; + font-weight: bold; +} + +.navbar a .caret { + color: #e2d2e2; +} + +.navbar-nav li.dropdown:hover > .dropdown-menu { + display: block; +} + .navbar-brand { - padding: 7px 15px; + padding: 10px 15px; } -.modal-backdrop { - z-index: 2; - position: fixed; +.brand-logo { + width: 104px; + height: 40px; + overflow: visible !important;/* Allow for animation */ } -.modal-content { - z-index: 5; +@keyframes pinSpin { + from { + transform: rotate(0) translateX(0); + } + + to { + transform: rotate(360deg) translateX(0); + } } -td > span.glyphicon { - padding-left: 3px; - padding-top: 3px; +.brand-logo:hover .brand-logo-pinwheel { + transform-origin: 17.66px 17.66px; + animation: pinSpin 1.5s linear infinite; +} + +.navbar-user-icon { + display: inline-flex; + justify-content: center; + align-items: center; + vertical-align: middle; + margin: -5px 0; + width: 30px; + height: 30px; + border-radius: 50%; + color: #017cee; + background-color: #c0defb; } div.rich_doc { @@ -88,7 +124,7 @@ div.squares { } span.success { - background-color: green; + background-color: #1b8e49; } span.up_for_retry { @@ -96,19 +132,19 @@ span.up_for_retry { } span.up_for_reschedule { - background-color: turquoise; + background-color: #00c7d4; } span.started { - background-color: lime; + background-color: #04d659; } span.error { - background-color: red; + background-color: #e43921; } span.queued { - background-color: gray; + background-color: #cbcbcb; } span.upstream_failed { @@ -116,13 +152,7 @@ span.upstream_failed { } span.skipped { - background-color: pink; -} - -.tooltip-inner { - max-width: 500px; - text-align: left !important; - font-size: 12px; + background-color: #f8cec8; } .d3-tip { @@ -149,14 +179,14 @@ div.linenodiv { .linenos { width: 50px; - border: none; + border: 0; } div.linenodiv pre { - padding-left: 4px; + padding-left: 0; padding-right: 4px; - color: #aaa; - background-color: #fcfcfc; + color: #8e8e8d; + background-color: transparent; text-align: right; } @@ -193,10 +223,6 @@ table.dataframe tbody tr td { padding: 2px; } -table thead th { - background-color: #f3f3f3; -} - table.dataframe.dataTable thead > tr > th { padding: 10px 20px 10px 10px; } @@ -334,3 +360,41 @@ label[for="timezone-other"], .s2 { color: #ba2121; } /* Literal.String.Double */ .s1 { color: #ba2121; } /* Literal.String.Single */ /* stylelint-enable declaration-block-single-line-max-declarations */ + +.footer { + display: flex; + align-items: center; + justify-content: space-between; + position: absolute; + bottom: 0; + width: 100%; + height: 60px; + background-color: #f5f5f5; +} + +.dags-table-wrap { + border-radius: 4px 4px 0 0; + background-color: #f0f0f0; +} + +.dags-table-header { + margin: 0; + padding: 16px 0; +} + +.dag-view-tools { + margin: 16px 0; + padding: 16px 0; + background-color: #f0f0f0; +} + +.code-wrap { + position: relative; + margin-top: 30px; +} + +.code-wrap-toggle { + position: absolute; + top: 15px; + right: 15px; +} diff --git a/airflow/www/static/css/material-icons.css b/airflow/www/static/css/material-icons.css new file mode 100644 index 0000000000000..31a0fd86e313c --- /dev/null +++ b/airflow/www/static/css/material-icons.css @@ -0,0 +1,63 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(data:font/woff2;base64,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) format('woff2'); +} + +.material-icons { + font-family: 'Material Icons'; /* stylelint-disable font-family-no-missing-generic-family-keyword */ + font-weight: normal; + font-style: normal; + font-size: 20px; /* Default icon size */ + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + position: relative; + top: -0.05em; + vertical-align: middle; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; +} + +.material-icons.md-18 { font-size: 18px; } +.material-icons.md-24 { font-size: 24px; } +.material-icons.md-36 { font-size: 36px; } +.material-icons.md-48 { font-size: 48px; } + +.dropdown-menu > li > a > .material-icons { + margin-right: 6px; +} diff --git a/airflow/www/static/css/switch.css b/airflow/www/static/css/switch.css index 1d8d9886742f1..0df4c1539285b 100644 --- a/airflow/www/static/css/switch.css +++ b/airflow/www/static/css/switch.css @@ -40,6 +40,7 @@ box-sizing: content-box; display: inline-flex; align-items: center; + vertical-align: middle; border-radius: 999px; width: 2.5rem; padding: 2px; @@ -59,7 +60,7 @@ } .switch-input:checked + .switch { - background-color: #005c66; + background-color: #017cee; } .switch-input:checked + .switch::before { @@ -68,7 +69,7 @@ } .switch-input:focus + .switch { - box-shadow: 0 0 0 3px rgba(0, 92, 102, 0.4); + box-shadow: 0 0 0 3px rgba(1, 124, 238, 0.4); } .switch-input:focus + .switch::before { diff --git a/airflow/www/static/css/tree.css b/airflow/www/static/css/tree.css index e69444ac46266..599be1ebcea41 100644 --- a/airflow/www/static/css/tree.css +++ b/airflow/www/static/css/tree.css @@ -18,7 +18,7 @@ */ circle { - stroke: blue; + stroke: #017cee; fill: #fff; stroke-width: 1.5px; } @@ -36,7 +36,7 @@ path.link { } rect.state { - stroke: #000; + stroke: #51504f; shape-rendering: crispEdges; cursor: pointer; } @@ -95,7 +95,7 @@ rect.sensing { .axis path, .axis line { fill: none; - stroke: #000; + stroke: #51504f; } .axis text { diff --git a/airflow/www/static/js/base.js b/airflow/www/static/js/base.js index c735f90ff32dd..42e8d05479e91 100644 --- a/airflow/www/static/js/base.js +++ b/airflow/www/static/js/base.js @@ -19,7 +19,7 @@ /* global $, moment, Airflow, window, localStorage, document */ import { - defaultFormat, + dateTimeAttrFormat, formatTimezone, isoDateToTimeEl, setDisplayedTimezone, @@ -32,7 +32,9 @@ window.moment = Airflow.moment; function displayTime() { const now = moment(); - $('#clock').html(`${now.format(defaultFormat)} ${formatTimezone(now)}`); + $('#clock') + .attr('datetime', now.format(dateTimeAttrFormat)) + .html(`${now.format('HH:mm')} ${formatTimezone(now)}`); } function changDisplayedTimezone(tz) { @@ -45,7 +47,7 @@ function changDisplayedTimezone(tz) { }); } -var el = document.createElement("span"); +var el = document.createElement('span'); export function escapeHtml(text) { el.textContent = text; @@ -55,60 +57,60 @@ export function escapeHtml(text) { window.escapeHtml = escapeHtml; export function convertSecsToHumanReadable(seconds) { - var oriSeconds = seconds - var floatingPart = oriSeconds- Math.floor(oriSeconds) - - seconds = Math.floor(seconds) - - var secondsPerHour = 60 * 60; - var secondsPerMinute = 60; - - var hours = Math.floor(seconds / secondsPerHour); - seconds = seconds - hours * secondsPerHour; - - var minutes = Math.floor(seconds / secondsPerMinute); - seconds = seconds - minutes * secondsPerMinute; - - var readableFormat = '' - if (hours > 0) { - readableFormat += hours + "Hours "; - } - if (minutes > 0) { - readableFormat += minutes + "Min "; - } - if (seconds + floatingPart > 0) { - if (Math.floor(oriSeconds) === oriSeconds) { - readableFormat += seconds + "Sec"; - } else { - seconds += floatingPart - readableFormat += seconds.toFixed(3) + "Sec"; - } - } - return readableFormat + var oriSeconds = seconds; + var floatingPart = oriSeconds- Math.floor(oriSeconds); + + seconds = Math.floor(seconds); + + var secondsPerHour = 60 * 60; + var secondsPerMinute = 60; + + var hours = Math.floor(seconds / secondsPerHour); + seconds = seconds - hours * secondsPerHour; + + var minutes = Math.floor(seconds / secondsPerMinute); + seconds = seconds - minutes * secondsPerMinute; + + var readableFormat = ''; + if (hours > 0) { + readableFormat += hours + 'Hours '; + } + if (minutes > 0) { + readableFormat += minutes + 'Min '; + } + if (seconds + floatingPart > 0) { + if (Math.floor(oriSeconds) === oriSeconds) { + readableFormat += seconds + 'Sec'; + } else { + seconds += floatingPart; + readableFormat += seconds.toFixed(3) + 'Sec'; + } + } + return readableFormat; } window.convertSecsToHumanReadable = convertSecsToHumanReadable; function postAsForm(url, parameters) { - var form = $("
"); + var form = $('
'); - form.attr("method", "POST"); - form.attr("action", url); + form.attr('method', 'POST'); + form.attr('action', url); $.each(parameters || {}, function(key, value) { var field = $(''); - field.attr("type", "hidden"); - field.attr("name", key); - field.attr("value", value); + field.attr('type', 'hidden'); + field.attr('name', key); + field.attr('value', value); form.append(field); }); var field = $(''); - field.attr("type", "hidden"); - field.attr("name", "csrf_token"); - field.attr("value", csrfToken); + field.attr('type', 'hidden'); + field.attr('name', 'csrf_token'); + field.attr('value', csrfToken); form.append(field); @@ -144,19 +146,18 @@ function initializeUITimezone() { changDisplayedTimezone(selectedTz || Airflow.defaultUITimezone); if (Airflow.serverTimezone !== 'UTC') { - $('#timezone-server a').text(`Server: ${formatTimezone(Airflow.serverTimezone)}`); + $('#timezone-server a').text(`${formatTimezone(Airflow.serverTimezone)} Server`); $('#timezone-server').show(); } - if (Airflow.serverTimezone != local) { + if (Airflow.serverTimezone !== local) { $('#timezone-local a') .attr('data-timezone', local) - .text(`Local: ${formatTimezone(local)}`); + .html(`${formatTimezone(local)} Local`); } else { $('#timezone-local').hide(); } - $('a[data-timezone]').click((evt) => { changDisplayedTimezone($(evt.target).data('timezone')); }); @@ -198,18 +199,17 @@ function initializeUITimezone() { } $(document).ready(() => { - initializeUITimezone(); $('#clock') - .attr("data-original-title", hostName) - .attr("data-placement", "bottom") - .parent().show(); + .attr('data-original-title', hostName) + .attr('data-placement', 'bottom') + .parent() + .show(); displayTime(); setInterval(displayTime, 1000); - $('span').tooltip(); $.ajaxSetup({ beforeSend: function(xhr, settings) { if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) { @@ -224,8 +224,10 @@ $(document).ready(() => { // Fix up filter fields from FAB adds to the page. This event is fired after // the FAB registered one which adds the new control - $('#filter_form a.filter').click(()=> { + $('#filter_form a.filter').click(() => { $('.datetimepicker').datetimepicker(); }); + // Global Tooltip selector + $('.js-tooltip').tooltip(); }); diff --git a/airflow/www/static/js/datetime-utils.js b/airflow/www/static/js/datetime-utils.js index f6e2dbf83d8b9..892cef06ed5dc 100644 --- a/airflow/www/static/js/datetime-utils.js +++ b/airflow/www/static/js/datetime-utils.js @@ -21,11 +21,7 @@ export const defaultFormat = 'YYYY-MM-DD, HH:mm:ss'; export const defaultFormatWithTZ = 'YYYY-MM-DD, HH:mm:ss z'; export const defaultTZFormat = 'z (Z)'; - -export function setDisplayedTimezone(tz) { - moment.tz.setDefault(tz); - updateAllDateTimes(); -} +export const dateTimeAttrFormat = 'YYYY-MM-DDThh:mm:ssTZD'; export function formatTimezone(what) { if (what instanceof moment) { @@ -42,37 +38,35 @@ export function formatTimezone(what) { export function isoDateToTimeEl(datetime, options) { const dateTimeObj = moment(datetime); - const addTitle = $.extend({title: true}, options).title; + const addTitle = $.extend({ title: true }, options).title; const el = document.createElement('time'); - el.setAttribute('datetime', dateTimeObj.format()) + el.setAttribute('datetime', dateTimeObj.format()); if (addTitle) { - el.setAttribute('title',dateTimeObj.isUTC() ? '' : `UTC: ${dateTimeObj.clone().utc().format()}`); + el.setAttribute('title', dateTimeObj.isUTC() ? '' : `UTC: ${dateTimeObj.clone().utc().format()}`); } el.innerText = dateTimeObj.format(defaultFormat); return el; } -export const formatDateTime = (datetime) => { - return moment(datetime).format(defaultFormatWithTZ) -} +export const formatDateTime = (datetime) => moment(datetime).format(defaultFormatWithTZ); export const convertAndFormatUTC = (datetime, tz) => { let dateTimeObj = moment.utc(datetime); if (tz) dateTimeObj = dateTimeObj.tz(tz); - return dateTimeObj.format(defaultFormatWithTZ) -} + return dateTimeObj.format(defaultFormatWithTZ); +}; export const secondsToString = (seconds) => { let numdays = Math.floor((seconds % 31536000) / 86400); let numhours = Math.floor(((seconds % 31536000) % 86400) / 3600); let numminutes = Math.floor((((seconds % 31536000) % 86400) % 3600) / 60); let numseconds = Math.floor((((seconds % 31536000) % 86400) % 3600) % 60); - return (numdays > 0 ? numdays + (numdays === 1 ? " day " : " days ") : "") + - (numhours > 0 ? numhours + (numhours === 1 ? " hour " : " hours ") : "") + - (numminutes > 0 ? numminutes + (numminutes === 1 ? " minute " : " minutes ") : "") + - (numseconds > 0 ? numseconds + (numseconds === 1 ? " second" : " seconds") : ""); -} + return (numdays > 0 ? numdays + (numdays === 1 ? ' day ' : ' days ') : '') + + (numhours > 0 ? numhours + (numhours === 1 ? ' hour ' : ' hours ') : '') + + (numminutes > 0 ? numminutes + (numminutes === 1 ? ' minute ' : ' minutes ') : '') + + (numseconds > 0 ? numseconds + (numseconds === 1 ? ' second' : ' seconds') : ''); +}; export function updateAllDateTimes() { // Called after `moment.tz.setDefault` has changed the default TZ to display. @@ -83,26 +77,20 @@ export function updateAllDateTimes() { $el.text(dt.format(defaultFormat)); if ($el.attr('title') !== undefined) { // If displayed date is not UTC, have the UTC date in a title attriubte - $el.attr('title', dt.isUTC() ? "" : `UTC: ${dt.clone().utc().format()}`); + $el.attr('title', dt.isUTC() ? '' : `UTC: ${dt.clone().utc().format()}`); } }); - // A simple sprintf-like function - function sprintf(value, args) { - let i = 0; - - while (value.indexOf('%') > 0) { - value = value.replace('%', args[i]); - i++; - } - - return value; - } // Update any date-time inputs. // // Since we have set the default timezone for moment, it will automatically // convert it to the new target for us $('.datetime input').each((_, el) => { el.value = moment(el.value).format(); - }) + }); +} + +export function setDisplayedTimezone(tz) { + moment.tz.setDefault(tz); + updateAllDateTimes(); } diff --git a/airflow/www/static/js/graph.js b/airflow/www/static/js/graph.js index 49e3b7ae779e6..4d25ff897fffc 100644 --- a/airflow/www/static/js/graph.js +++ b/airflow/www/static/js/graph.js @@ -18,7 +18,6 @@ */ // global tiTooltip, taskTip - // Assigning css classes based on state to nodes // Initiating the tooltips function update_nodes_states(task_instances) { @@ -27,9 +26,9 @@ function update_nodes_states(task_instances) { return $(this).text() === task_id; }) .parent().parent().parent().parent() - .attr("class", "node enter " + (ti.state ? ti.state : "no_status")) - .attr("data-toggle", "tooltip") - .on("mouseover", function (d) { + .attr('class', 'node enter ' + (ti.state ? ti.state : 'no_status')) + .attr('data-toggle', 'tooltip') + .on('mouseover', function (d) { const tt = tiTooltip(task_instances[task_id]); taskTip.show(tt, this); }) @@ -38,16 +37,16 @@ function update_nodes_states(task_instances) { } function initRefreshButton() { - d3.select("#refresh_button").on("click", + d3.select('#refresh_button').on('click', function () { - $("#loading").css("display", "block"); - $("div#svg_container").css("opacity", "0.2"); + $('#loading').css('display', 'block'); + $('div#svg_container').css('opacity', '0.2'); $.get(getTaskInstanceURL) .done( function (task_instances) { update_nodes_states(JSON.parse(task_instances)); - $("#loading").hide(); - $("div#svg_container").css("opacity", "1"); + $('#loading').hide(); + $('div#svg_container').css('opacity', '1'); $('#error').hide(); } ).fail(function (jqxhr, textStatus, err) { @@ -57,8 +56,7 @@ function initRefreshButton() { $('#chart_section').hide(1000); $('#datatable_section').hide(1000); }); - } - ); + }); } initRefreshButton(); diff --git a/airflow/www/static/js/task-instances.js b/airflow/www/static/js/task-instances.js index d650a2f8dc1c3..47cfefdbed7ec 100644 --- a/airflow/www/static/js/task-instances.js +++ b/airflow/www/static/js/task-instances.js @@ -28,11 +28,11 @@ function makeDateTimeHTML(start, end) { if (end && end instanceof moment) { return ( `Started: ${start.format(defaultFormat)}
Ended: ${end.format(defaultFormat)}
` - ) + ); } return ( `Started: ${start.format(defaultFormat)}
Ended: Not ended yet
` - ) + ); } function generateTooltipDateTimes(startDate, endDate, dagTZ) { @@ -47,7 +47,7 @@ function generateTooltipDateTimes(startDate, endDate, dagTZ) { dagTZ = dagTZ.toUpperCase(); // Generate UTC Start and End Date - let tooltipHTML = `
UTC:
`; + let tooltipHTML = '
UTC:
'; tooltipHTML += makeDateTimeHTML(startDate, endDate); // Generate User's Local Start and End Date @@ -67,7 +67,7 @@ function generateTooltipDateTimes(startDate, endDate, dagTZ) { return tooltipHTML; } -export default function tiTooltip(ti, {includeTryNumber = false} = {}) { +export default function tiTooltip(ti, { includeTryNumber = false } = {}) { let tt = ''; if (ti.state !== undefined) { tt += `Status: ${escapeHtml(ti.state)}

`; @@ -89,9 +89,9 @@ export default function tiTooltip(ti, {includeTryNumber = false} = {}) { tt += `Started: ${escapeHtml(ti.start_date)}
`; } // Calculate duration on the fly if task instance is still running - if(ti.state === "running") { - let start_date = ti.start_date instanceof moment ? ti.start_date : moment(ti.start_date); - ti.duration = moment().diff(start_date, 'second') + if (ti.state === 'running') { + const startDate = ti.start_date instanceof moment ? ti.start_date : moment(ti.start_date); + ti.duration = moment().diff(startDate, 'second'); } tt += `Duration: ${escapeHtml(convertSecsToHumanReadable(ti.duration))}
`; @@ -99,8 +99,9 @@ export default function tiTooltip(ti, {includeTryNumber = false} = {}) { if (includeTryNumber) { tt += `Try Number: ${escapeHtml(ti.try_number)}
`; } - tt += generateTooltipDateTimes(ti.start_date, ti.end_date, dagTZ); // dagTZ has been defined in dag.html + // dagTZ has been defined in dag.html + tt += generateTooltipDateTimes(ti.start_date, ti.end_date, dagTZ); return tt; } -window.tiTooltip = tiTooltip +window.tiTooltip = tiTooltip; diff --git a/airflow/www/templates/airflow/chart.html b/airflow/www/templates/airflow/chart.html index 08ebac49d5f86..88fb797657bec 100644 --- a/airflow/www/templates/airflow/chart.html +++ b/airflow/www/templates/airflow/chart.html @@ -22,34 +22,43 @@ {% block page_title %}{{ dag.dag_id }} - {{ tab_title }} - Airflow{% endblock %} {% block head_css %} -{{ super() }} - - - - - + {{ super() }} + + + + {% endblock %} {% block content %} -{{ super() }} -
-
- Base date: {{ form.base_date(class_="form-control") }} - Number of runs: {{ form.num_runs(class_="form-control") }} + {{ super() }} +
+
+ - - - -
-
{{ chart }}
-
+ +
+ +
+ {{ form.base_date(class_="form-control") }} +
+
+
+ +
+
Runs
+ {{ form.num_runs(class_="form-control") }} +
+
+ + +
+
+ +
{{ chart }}
{% endblock %} {% block tail %} - {{ super() }} -
+ {{ super() }} +
{% endblock %} diff --git a/airflow/www/templates/airflow/code.html b/airflow/www/templates/airflow/code.html index 1a948751f6b2a..8ea8d4a020b65 100644 --- a/airflow/www/templates/airflow/code.html +++ b/airflow/www/templates/airflow/code.html @@ -22,22 +22,22 @@ {% block page_title %}{{ dag.dag_id }} - Code - Airflow{% endblock %} {% block content %} - {{ super() }} -

{{ title }}

+ {{ super() }} +

{{ title }}

- {% if pre_subtitle %} -
{{ pre_subtitle }}
- {% endif %} + {% if pre_subtitle %} +
{{ pre_subtitle }}
+ {% endif %} - {% if subtitle %} -
{{ subtitle }}
- {% endif %} + {% if subtitle %} +
{{ subtitle }}
+ {% endif %} - {% if code %} -
{{ code }}
- {% endif %} + {% if code %} +
{{ code }}
+ {% endif %} - {% if code_html %} - {{ code_html }} - {% endif %} + {% if code_html %} + {{ code_html }} + {% endif %} {% endblock %} diff --git a/airflow/www/templates/airflow/confirm.html b/airflow/www/templates/airflow/confirm.html index 5d1b39d0cd086..ccf49cb3ce38b 100644 --- a/airflow/www/templates/airflow/confirm.html +++ b/airflow/www/templates/airflow/confirm.html @@ -20,23 +20,21 @@ {% extends base_template %} {% block content %} - {{ super() }} -

Wait a minute.

-
+ {{ super() }} +

Wait a minute.

+

{{ message }}

{% if details %} -
{{ details }}
+
{{ details }}
{% endif %} -
-
- - - {% for name,val in request.form.items() if name != "csrf_token" %} - - {% endfor %} - - -
-
-
+
+
+ + + {% for name,val in request.form.items() if name != "csrf_token" %} + + {% endfor %} + + +
{% endblock %} diff --git a/airflow/www/templates/airflow/conn_create.html b/airflow/www/templates/airflow/conn_create.html index 9f54370abc92c..302264b212f9e 100644 --- a/airflow/www/templates/airflow/conn_create.html +++ b/airflow/www/templates/airflow/conn_create.html @@ -21,5 +21,5 @@ {% block tail %} {{ super() }} - + {% endblock %} diff --git a/airflow/www/templates/airflow/conn_edit.html b/airflow/www/templates/airflow/conn_edit.html index 4e80c39b49b3e..b7dde3e049feb 100644 --- a/airflow/www/templates/airflow/conn_edit.html +++ b/airflow/www/templates/airflow/conn_edit.html @@ -21,5 +21,5 @@ {% block tail %} {{ super() }} - + {% endblock %} diff --git a/airflow/www/templates/airflow/dag.html b/airflow/www/templates/airflow/dag.html index 817d10ba0fa65..be4931d48162f 100644 --- a/airflow/www/templates/airflow/dag.html +++ b/airflow/www/templates/airflow/dag.html @@ -23,10 +23,22 @@ {% block head_css %} {{ super() }} - + {% endblock %} {% block content %} + {% set base_date_arg = request.args.get('base_date') %} + {% set num_runs_arg = request.args.get('num_runs') %} + {% if execution_date is defined %} + {% set execution_date_arg = execution_date %} + {% else %} + {% set execution_date_arg = request.args.get('execution_date') %} + {% endif %} + {% if dag.parent_dag is defined and dag.parent_dag %} + + + DAG: {{ dag.parent_dag.dag_id }} + {% endif %}

{% if dag.parent_dag is defined and dag.parent_dag %} @@ -44,72 +56,63 @@

{% endif %}

+ {% if state_token is defined and state_token %} + {{ state_token }} + {% endif %} schedule: {{ dag.schedule_interval }}

+
- {% set base_date_arg = request.args.get('base_date') %} - {% set num_runs_arg = request.args.get('num_runs') %} - {% if execution_date is defined %} - {% set execution_date_arg = execution_date %} - {% else %} - {% set execution_date_arg = request.args.get('execution_date') %} - {% endif %}
-