ORIENT/modules/system/assets/ui
Ben Thomson 19846037f8 Hide popup loading indicator if an error/flash is thrown from an AJAX handler (#4364)
Fixes rainlab/builder-plugin#283. Credit to @bennothommo 

When using the popup widget with an AJAX handler, a loading indicator appears whilst the AJAX handler is being run. If an exception or error occurs at this point in time, the exception is shown, but neither the loading indicator nor the backdrop are removed as the popup is technically not 'open' at this stage. This fix should resolve this by tracking the loading state of the popup and removing the backdrop and loading indicator if needed.
2019-06-11 07:52:00 -07:00
..
docs Improved UI Popup docs 2019-01-11 14:27:14 -06:00
font Update FontAwesome to v4.7.0 2017-07-09 12:21:59 +10:00
images Integrate flag-icon-css (#3797) 2018-09-25 08:23:18 -06:00
js Hide popup loading indicator if an error/flash is thrown from an AJAX handler (#4364) 2019-06-11 07:52:00 -07:00
less Added disabled style for switch field types 2019-05-10 18:30:52 -06:00
vendor Update jQuery from V3.3.1 to V3.4.0 (#4259) 2019-04-18 23:04:12 -06:00
README.md Clean up docs, add inset mode to tab panes 2015-08-07 19:10:31 +10:00
storm-min.js Hide popup loading indicator if an error/flash is thrown from an AJAX handler (#4364) 2019-06-11 07:52:00 -07:00
storm.css Added disabled style for switch field types 2019-05-10 18:30:52 -06:00
storm.js added feature to allow filtering over a number range (#2856) 2017-08-05 14:01:59 -06:00
storm.less Move autocomplete to Storm UI 2017-04-22 11:44:27 +10:00

README.md

October Storm

Welcome to the client-side framework designed exclusively for the OctoberCMS back-end area, referred to as October Storm. The library is quite large as it has many features and it is not really itended to be used outside of October.

Design consideration

Each LESS library should always include the global.less to ensure all mixins and variables are available.

Compiling JavaScript depends on October's asset combiner as the =require directive was invented here to emulate the LESS @import functionality.

UI Components

Components are a mixture of CSS and JavaScript (Controls), or can be solely style-based (Styles) or solely script-based (Scripts).

Each component has a strong name, for example the loading indicator has the name loader. For complex components, they can be broken in to child components, for example loader.stripe. Not all child components can be used independently of their parents, but this is certainly possible and a nice idea.

Note: Documentation for each component can be found in the docs/ directory.

Naming conventions

In most cases a control will be styled in CSS with the prefix control-something and the JavaScript is applied using data-control="something". This allows a rendering as a styled control only, without the JavaScript and vice versa.

<div class="control-list" data-control="list">...</div>

The appearance of a control can be modified using additional CSS classes. These modifiers should be prefixed with the control name or the word is if the modification is binary (a boolean). For example:

<div class="control-list list-purple is-sortable"></div>

The above uses two modifiers; one to make it purple and one to declare that it is sortable. In the above example, the class is-purple is not recommended because it is a variable attribute as opposed to a binary one. Here are some common words used for attributes and their meanings:

  • flush: The control will use no margin, padding and/or border to the controls or containers surrounding it. Eg: list-flush
  • inset: The control will use a negative margin on the left or right side to negate a padded container. Eg: list-inset
  • offset: The control will use a positive margin or padding on the left or right to assist a container with padding. Eg: list-offset
  • padded: The control will use padding all around. Eg: list-padded