414 Commits

Author SHA1 Message Date
Zuul
8798d87e48 Merge "Fixed popover table colour change on hover" 2018-02-17 11:15:13 +00:00
Emma Hogan
541426e793 Fixed popover table colour change on hover
Initially the color changed with hover and looked weird, now it no
longer changes color on hover. 

Closes-Bug #1600004: Inconsistent table color in Flavor Popover

Change-Id: Iecc7048f7c0051bae9702bd8855f3a83680f3d09
2018-02-07 05:12:47 +00:00
Zuul
1443e6529f Merge "font for transfer table heading enlarged" 2018-02-01 04:55:44 +00:00
Emma Hogan
7d0d8be252 Text clippin in window security groups
Fixed text overflow from form by removing limiting max-height media in scss.

Change-Id: I4960a01ab2a78bb80f0877a8b5b4a3a06590b392
Closes-Bug: #1743685
2018-01-18 15:33:40 +13:00
Simon Collins
735e45855b font for transfer table heading enlarged
changed the heading type from h5 to h4 to enlarge it without
altering the appearance of other h5's. This was done because
the current font size made locating the text amongst the many
larger elements on the page, this change allows a user to
quickly identify the purpose of the sections below.

Closes-Bug #1743683

Change-Id: I992ed598d59e4fef6baa18139288782003a1ade3
2018-01-18 10:36:51 +13:00
Akihiro Motoki
6c45c47e4b Drop unnecessary executable flags
This patch also adds checks for executable files in
pep8 job.

nose ignores executable files by default, so it is important
to ensure executable flag is not set for test files [1].
openstack_dashboard/test/test_plugins/panel_tests.py was not
tested actually and it was broken. This commit fixes it too.
[1] http://nose.readthedocs.io/en/latest/usage.html#cmdoption-exe

Co-Authored-By: Ivan Kolodyazhny <e0ne@e0ne.info>
Change-Id: I3a124fa2f9f0676b2b43a094e32e3d8b18fa6005
2017-12-27 21:32:48 +00:00
Daniel Park
8aca02a732 Render 'Volume Transfer' as modal instead of page
Change-Id: Iaa26bacb6ef369145345615821cbe4c3dc24f83f
Closes-bug: #1631193
2017-12-03 06:56:10 +09:00
Ivan Kolodyazhny
502cffb1f8 Fix logo in IE11/Edge browsers
IE11/Edge browsers doesn't scale SVG images correct if
weight and height is specified directly in SVG. Also these
browsers doesn't work well with max-height style.

Change-Id: I3fe643dd5e0d47cb0e5a658c84d23a8750c217e7
Closes-Bug: #1715674
2017-10-17 15:33:16 +03:00
Tyler Smith
2e7dce8268 Adds extensible header functionality
This change is to introduce a flexible mechanism for projects to
add content to horizon's navbar.
- Introduces a new plugin file variable called ADD_HEADER_SECTIONS,
  which will take a list of views.  These are template views that
  will be used to render individual header sections.
- There is a new view in openstack_dashboard/views.py to cycle
  through these added views and combine them into the complete
  header to be added to the navbar.
- This view is queried by newly added javascript after page load.
  On response it is inserted into the page's navbar.
  If more than one header is present, the first will be shown in
  the navbar, while the rest are added to a drop-down menu.
- The currently displayed header can be changed by clicking on a
  new header in the drop-down; this is stored in a cookie to
  persist the selection between pages.
- Unit tests were modified/added to verify the new plugin entry
  can be parsed successfully and the main header view can parse
  a plugin's view successfully

Change-Id: I177b69ec4e78c17f827e540a7e669af1c29e8b59
Implements: blueprint extensible-header
Signed-off-by: Tyler Smith <tyler.smith@windriver.com>
2017-10-03 17:11:06 +00:00
Eddie Ramirez
f40e9d438e Allow dropdowns to be in front of div.modal-footer
This removes some oddities with the CSS causing select menus to be
hidden in some circumstances. The side effect of this is that when the
modal body is tall, the window now scrolls instead of the body. I'm not
sure if this is actually bad, but its different.

Change-Id: If890ada4c1c450962789db23e9b4cfc50fe77900
Closes-Bug: 1603496
2017-07-27 12:23:16 +00:00
Diana Whitten
19e62b3cc5 Datepicker should inherit from theme
The datepicker plugin that we use provides its own css file, which we
were including and using, however, it was not inheriting any theme
variables.  Because the CSS was built with the default Bootstrap
skin in mind, it looked fine until you tried it on a different theme
and it inherited nothing.

A very minimal SCSS has been provided that actually pulls in theme
variables. The datepicker markup has been broken into templates that
will allow more granular overrides.

Change-Id: I3b6c92a205b2bfff908cb720974821db517a6a3f
Partially-implements: blueprint horizon-dynamic-theme
Partially-Implements: blueprint bootstrap-html-standards
2017-07-06 18:57:02 +00:00
Beth Elwell
b8ca192446 Removed cursor styling for spinners
Cursor styling is overridden by 'pointer-events: none' as the item
is no longer the target of mouse events, so the cursor will always
be default.

Change-Id: I672d590b1e1da5aabba12dfb77f4cc4bde71e4cd
2017-07-04 12:06:16 +01:00
Jenkins
614bc7600a Merge "Horizon Forms should allow themable number spinners" 2017-06-29 08:26:47 +00:00
Diana Whitten
1f11a79279 Horizon Forms should allow themable number spinners
Much like the themable selects and checkboxes, number spinners
should also be themable.

Standard number spinners are not very customizable.  We should use
existing buttons and fonts to add their functionality to allow a
richer experience if desired downstream.

An example of how to customize the spinner was placed in Material.
The example shows how to use flexbox to change layout type from
column to row, change icon order, and how to override the icons.

'autocomplete' needs to be false on this new element, otherwise
the browser will retain and load the last value without actually
triggering any JavaScript events by which we can key on and update
the state of the spinner buttons.

Change-Id: Ifd266cd515a903841e2d28e2f4731879116e3513
Closes-bug: #1598311
2017-06-28 15:50:27 -07:00
Ying Zuo
336d0a0525 Add charts to show volume quotas on Angular launch instance modal
Added two charts for Number of Volumes and Total Volume Storage quotas
on Angular launch instance modal when cinder is enabled.

The charts reflect the volume usage of the new instances to be created
as the user changes the configuration on the modal.

Updated the chart styling for the charts to align better.

Change-Id: Ie744ada2317624153fcfdf9abdf4d7b26996a35e
Partially-implements: blueprint launch-instance-volume-quotas
2017-06-11 21:38:35 -07:00
Diana Whitten
c219a3efc6 Horizon Spinner/Loader should inherit from theme
The Horizon spinner was using a spinner generated and animated
entirely out of JavaScript. Since CSS3 provides animates and we have
access to icon fonts, doing everything with JavaScript is not
necessary and actually taxing on the browser. Plus, all of the
spinner options were being passed in and around with JavaScript,
including the colors.  This makes it supremely difficult to use the
theme to style the spinner.

The new spinner is just defined by a handful of templates now. There
are two clientside templates to support Legacy Horizon, and one
template in the Angular to support spinners going forward.  Legacy
Horizon had two forms of spinners, so it was broken up. Angular as
not yet made use of the inline spinner, but should follow the same
markup when it is made.

There are two types of spinners, inline spinners (those shown when a
dynamic tab content is loading) and modal spinners (various other
places).  These are consistent with each other for the 'default'
experience, but their experience can be entirely customized separate
from each other.  'material' has been augmented with loaders defined
within their design spec to show the power of this new feature.

horizon.templates.js was augmented with this refactor to support only
having to compile one tempalte at a time (instead of all of them) and
caching that template so that all of them can be recompiled later.
Also, horizon.loader.js was added to house template compilation code
that was repeated in several locations.

To test overwriting page modal spinner and inline-modal spinner
examples, please follow the instructions in _loading_inline_exmaple.html,
_loading_modal_example.html under
openstack_dashboard/themes/material/templates/horizon/client_side

Change-Id: I92bc786160e070d30691eeabd4f2a50d6e2bb395
Partially-implements: blueprint horizon-theme-css-reorg
Partially-Implements: blueprint bootstrap-html-standards
Closes-bug: #1570485
2017-04-21 11:15:52 -07:00
Tyr Johanson
9ed4acd4ff Schema Form Developer Panel
A developer panel that allows you to edit schema forms in real-time,
with multiple examples. Also, you can view that same form in a
standard Horizon modal to preview what the form will look like. Based
on http://schemaform.io/examples/bootstrap-example.html

Also fixes some bugs in the schema-form implementation:
- Arrays cleaned up and fixed
- Tab arrays cleaned up
- Improved modal form to use schema.title if available

Co-Authored-By: Rob Cresswell <robert.cresswell@outlook.com>
Change-Id: Ia75a18d4c0c064ae618ee923cd6d602b1ef6e66e
2017-02-22 11:01:02 +11:00
Jenkins
a1d8e16907 Merge "SCSS refactor for shared sort list UI" 2017-02-14 23:10:51 +00:00
Eddie Ramirez
eada52a457 Fix wrong min/max media queries for sidebar
The media query for the sidebar menu was incorrect. This patch
updates the correct min value when the sidebar should be displayed

Change-Id: If6c424843d559aba87caf19333e1b725bf24e4cc
Closes-bug: #1661422
2017-02-03 00:40:06 +00:00
Ernest Millan
cdad1b2ae7 SCSS refactor for shared sort list UI
Closes-bug: #1435910

Change-Id: I9fe73aa226bb6f253183ecdffa7d38e35c3664f3
2017-01-30 14:19:47 +00:00
Jenkins
06651ab018 Merge "Fix alignment issues for nav-tabs and ul on details panels" 2017-01-30 05:52:18 +00:00
Rob Cresswell
939731183b Update default OpenStack branding across Horizon
This patch updates the OpenStack logos across Horizon to the newer
versions. It also uses SVG files instead of PNG, so that it scales
better.

Change-Id: Ief3661023332ed6777256d20a4dc865f6a51695f
Closes-Bug: 1637490
2017-01-25 10:15:11 +00:00
Ying Zuo
a21b51e34a Fix alignment issues for nav-tabs and ul on details panels
Added space between the nav-tabs and tab content on details panels.

Removed the bullet points in front of instance IP addresses
and security groups.

Change-Id: I426e73eca0ef8ac57434631da75cb602674be893
Closes-bug: #1625310
2017-01-18 11:40:14 -08:00
Yakup Adakli
f6b0beb2d0 Text and checkbox should align in "Create Project" form
The "Enabled" text and the checkbox are aligned in "Create Project" form.

Change-Id: If6b587666b9344816cc02cf5519cb144c780597d
Closes-Bug: #1600094
2016-12-14 11:10:07 +03:00
Rob Cresswell
837587fe73 Improve Horizon nav sidebar
- Make menu responsive (hides on smaller screens, e,g, 1/2 laptop screen,
  tablet, mobile)
- Add aria parameters for accessibility
- Show current focus when navigating (accessibility)
- Remove the blue outline when clicking links in Chrome
- Makes menu less hideous

Change-Id: I1cdfa079f0b371d1afddefa67d8a21e93abde9ee
Implements: blueprint navigation-improvements
Closes-Bug: 1315488
Closes-Bug: 1628274
2016-11-23 16:17:13 +00:00
Jenkins
9250ef9678 Merge "Replace table row 'status_unknown' class with 'warning' class" 2016-09-14 22:31:38 +00:00
Jenkins
abd78b5786 Merge "Preview Page: Default Theme: Content Horizontally Scrolling" 2016-09-08 10:53:55 +00:00
Rob Cresswell
041af0fd0a Replace table row 'status_unknown' class with 'warning' class
The default bootstrap styling for table rows uses the same classes as
alerts (warning, danger etc). Rather than layering additional logic
around this with a new class, we should just fall back to the documented
boostrap method.

Also resets the warning colour to its default bootstrap variable, rather
than carrying an altered version.

Change-Id: I3472244fcbbd121a8de48d78084554760dab6385
Closes-Bug: 1615632
2016-09-08 09:57:06 +00:00
Jenkins
18f83b804f Merge "Add HTML lists to preview page" 2016-08-25 05:53:21 +00:00
Rob Cresswell
07d33cf462 Prevent long names breaking table layouts
Adds a word-break class that can be added to tables to prevent large
column values breaking the table shape.

Change-Id: Icca10d9c29254d176dc7f8b7c039bc19c3f52c72
Related-Bug: 1565724
Closes-Bug: 1584785
2016-08-19 09:21:33 +01:00
Jenkins
3f35caf180 Merge "Re-work static_settings to clean up" 2016-08-19 03:17:18 +00:00
Richard Jones
348069364c Re-work static_settings to clean up
This patch reduces duplication arbitrary directory choices for
xstatic package locations in the static directory.

It moves the xstatic configuration from the library into the
settings file, and the supporting functions move to
the openstack_dashboard.utils.settings module. Having the xstatic
module list in settings allows deployers to add new modules.

It standardises the paths the files are served from, reducing
potential conflicts.

It simplifies the interaction with the xstatic modules, and also uses
the new MAIN variable if present to determine the entry points used.

Since some of the xstatic packages were installed into special
snowflakes directories (not following a pattern) the references to
those (bootstrap_scss and font_awesome) have been fixed.

Change-Id: Ia5be0e96fff1a4ddd6058d6b030ddf96da4b46e7
2016-08-18 16:28:57 +03:00
Jenkins
70596b1d00 Merge "[Django] Allow to upload the image directly to Glance service" 2016-08-18 03:38:55 +00:00
Jenkins
8194f6438a Merge "Remove embedded CSS" 2016-08-18 03:32:44 +00:00
Timur Sufiev
93af461e40 [Django] Allow to upload the image directly to Glance service
Since large Glance images even temporarily stored on dashboard side
tend to fill up Web Server filesystem, it is desirable to route image
payload directly to Glance service (which usually streams it to
storage backend, which in turn has plenty of space).

To make it possible we need to trick Django into thinking that a file
was selected inside FileInput, while its contents are not actually
transferred to Django server. Then, once image is created client-side
code needs to know the exact url the image payload needs to be
transferred to. Both tasks are solved via using ExternalFileField /
ExternalUploadMeta classes which allow to work around the usual Django
form processing workflow with minimal changes to CreateImage form
business logic.

The client-side code relies on CORS being enabled for Glance service
(otherwise browser would forbid the PUT request to a location
different from the one form content came from). In a Devstack setup
you'll need to edit [cors] section of glance-api.conf file, setting
`allowed_origin` setting to the full hostname of the web server (say,
http://<HOST_IP>/dashboard) and restart glance-api process.

A progress bar is implemented to track the progress of a file upload,
in case a really huge image is transferred.

The new machinery could be easily switched on/off with a single
setting `HORIZON_IMAGES_UPLOAD_MODE` set to 'direct' / 'legacy'.

Related-Bug: #1467890
Closes-Bug: #1403129
Implements blueprint: horizon-glance-large-image-upload
Change-Id: I01d02f75268186b43066df6fd966aa01c08e01d7
2016-08-16 14:30:38 +03:00
Jenkins
9ec3d74af2 Merge "Horizon Radio Buttons are now themeable." 2016-08-09 15:01:00 +00:00
Diana Whitten
68f46ce25e Preview Page: Default Theme: Content Horizontally Scrolling
Removal of default styles caused page to scroll horizontally.

Closes-bug: #1611057

Change-Id: I1a9b7e0da950fa6c66862ba82fcc264d2f3b2280
2016-08-08 10:36:48 -07:00
Diana Whitten
197b4b5b7d Add HTML lists to preview page
Removed legacy style that was augmenting global UL lists.

Partially-Implements blueprint bootstrap-theme-preview

Change-Id: I805d2e4f9d0ae9703e725f9be9090f8fea5e948c
2016-08-08 09:38:52 -07:00
Jenkins
ae244bbdf1 Merge "UX: System Information Overflow Fail" 2016-08-05 22:49:55 +00:00
Jenkins
87818bcd3f Merge "UX: Add IPSec Policy Modal Hint List is hard to read" 2016-08-05 17:59:37 +00:00
Diana Whitten
fc0b4e898c UX: System Information Overflow Fail
System Information End points should be big enough for URL labels
by default.

Closes-bug: #1609138
Change-Id: Ic936072435055502e268fe15c07076620e4acde3
2016-08-05 09:15:31 -07:00
Diana Whitten
79a86b372f UX: Add IPSec Policy Modal Hint List is hard to read
project/vpn: Add IPSec Policy: HInt test has a bulleted list that
looks odd and is hard to read, see here: https://i.imgur.com/1jlPBBj.png

Took the opportunity to also clean up the IKE Policy and VPN views as
well.

Closes-bug: #1570526

Change-Id: Idfff6c48a237ce703756b3ab8e0dd37705a35b22
2016-08-05 07:16:03 -07:00
David Lyle
41e9d62993 Remove embedded CSS
As follow on work to restoring the old network topology, this patch
separates embedded CSS in one of the html files into a separate SCSS
file.

This change is not intended to make topology themable.  There is still
much work that needs to be done and will follow up soon.

Change-Id: I46b7152a24fc1f7a26a1752ba22d80e31ff1ffdb
2016-08-04 11:05:00 -07:00
Ryan Peters
7580d15659 Horizon Radio Buttons are now themeable.
Horizon radio buttons were using the standard browser radio buttons.
The default radio buttons have been altered to allow for a highly
customized experience through the use of CSS pseudo elements and
Icon Fonts. This allows the color, size, and unselected and selected
states of the checkbox to be altered. The 'default' theme uses the
standard Font Awesome radio button icons. The 'material' theme uses
the Material Design radio buttons. It was noted, during this refactor,
that there was an error in the _themable_checkbox template. This has
been fixed.

Change-Id: I1ca2e39e893b45adddf513c0dcb2670b2876594f
Partially-Implements: blueprint horizon-theme-css-reorg
2016-08-04 18:00:43 +00:00
Rob Cresswell
0e957dd41a Add Angular Schema Form
This patch adds Angular Schema Form[1] and its requirements to Horizon.
There are a number of advantages to this over the current methods of
defining forms and workflows:

- All fields have an individual template, making theming improvements,
  bug fixes, and bootstrap conformity easier.
- The file and line count, especially for workflows, is dramatically
  reduced. The Create Net workflow, for example, goes from 12+ files to
  2, with a big reduction in boilerplate HTML.
- All field validation messages are standardised, so we can match them
  across Horizon and plugins

What this patch contains:
- Many common form fields, including things like the themable checkboxes
  and selects.
- A basic modal template that can be passed with ui-bootstraps $modal
  service to take advantage of schema-form

Next steps:
- Remove the other modal templates so we can standardise. A single
  template opened from the $modal service is fine, and we shouldn't need
  several directives. In this case, we should deprecate them, as the
  modal forms will be used elsewhere.
- Map commonly used form items, like transfer tables, to a schema form
  type like array (they serve similar purposes, so maybe thats what
  should be replaced)
- Use themable selects instead of regular ones

1. http://schemaform.io/

Co-Authored-By: Tyr Johanson <tyr@hpe.com>
Implements: blueprint angular-schema-form
Change-Id: Ib22b2d0db2c4d4775fdef62a180cc994e8ae6280
2016-08-04 16:53:41 +00:00
Diana Whitten
2e84d55919 The sidebar caret should spin correctly.
The sidebar caret is spinning backwards 270 degrees
instead of forward 90 degrees.

Change-Id: I2523ae0ce412d6e0350ea6a31fa4d746bb206f65
2016-08-03 15:52:20 -07:00
Eddie Ramirez
ccdb7b4ffd Fix show/hide password when clicking password icon
This patch overrides a Bootstrap's default property that disables
mouse events on elements with .form-control-feedback class. The password
icon had pointer-events: none; affecting password reveal functionality
in login form and Identity->Users->Create User. It also modifies the default
cursor for the password icon with pointer.

This patch also fixes a bug where the Eye Icon is misaligned when passwords
don't match (See #1604196)

Change-Id: I052321a5cc9adc1a7ffdfce4da0b55c245481a2d
Closes-bug: #1593430
Closes-bug: #1604196
2016-07-19 00:04:25 +00:00
Diana Whitten
1af2a966c5 Material: Progress Bars should allow text
Material progress bars are so thin, that when you add text to them, its
unplesant. We need to support a progress bar type containing text that
is bigger by default.

Used this opportunity to align other progress bar experiences, and in
addition, generalize the text progress bar and progress loader bar for
general use everywhere.

Change-Id: I3d51c6a4582e3dc043f30632b6635a9ff17f5fbf
Closes-bug: #1602880
2016-07-13 16:30:02 -07:00
Elizabeth Elwell
77d7e26135 Added correct cursor to components without the href attribute
Original Bootstrap CSS depends on empty href attributes to style
cursors for several components. Adding href attributes to link tags in
AngularJS will cause unwanted route changes. This styling fix ensures
the correct cursor styling is applied to link tags without the need
for the href attribute to be added.

Closes-Bug: 1582673
Co-Authored-By: Revon Mathews <revon.mathews@intel.com>
Change-Id: I9c65e54d07db7aaeef1585a6f21c31c354951609
2016-06-28 13:38:36 +01:00
Diana Whitten
81800f25b5 Line chart hover bubble unreadable
Change-Id: I23eb3876198efd2d3644e90566ccbaaa530bb2b7
Closes-bug: #1582438
2016-06-22 08:53:23 -07:00