-Move region UI code to ui-custom/regions.js, to separate from core UI
rendering
-Pull real data and endpoint URL on region select list, from data
provider in scripts/regions.js
-Make region selector have same appearance as notifications box
Define plugins as namespaced objects instead of as function calls. This
is easier to implement and manage by the framework.
New format changes for defining plugins:
Now create 2 JS files in plugin folder:
-config.js
-[pluginName].js
plugins.js (listing) format:
cloudStack.plugins = [
'testPlugin'
];
config.js format:
cloudStack.plugins.testPlugin.config = {
title: 'Test Plugin',
desc: 'Sample plugin'
};
[pluginName].js format:
cloudStack.plugins.testPlugin = function(plugin) {
//
// Plugin code goes here
//
};
Support performing actions via the autoscaler dialog. This adds
'autoscaleActions' and 'actionFilter' options to the autoscaler, which
specify and handle the actions appearing in the UI.
Performing these actions will cause a loading overlay to appear until
actions are finished, when the action bar is refreshed via the action
filter.
This change includes the new dialog box for the CloudStack Autoscaler
implementation. It is accessible by a button ('Autoscaler') that
appears under each LB rule.
This also contains changes to the multiEdit widget to support features
required for Autoscaler:
-Fixes context/data passing to custom button widgets
-Fixes data retrieval for select fields
Adds new function 'showAddNetwork' to instance wizard configuration,
which conditionally hides the 'add network form' on the select network
step. If it returns true, then show the box, otherwise false hides it.
-Remove VLAN + SG radio buttons; replace with 'Security groups'
checkbox
-Pass boolean 'zone.sgEnabled' to zoneWizard action handler, instead of
'zone.isolationMode' from before.
-Adds new radio button pair, 'isolation mode' under Advanced zone
select, allowing selection of isolation mode
-Isolation mode is disabled if 'Basic' zone is selected
-Pass isolation mode via new property 'zone.isolationMode'
Fixes a bug where the loading state is not immediataly set for the
detail view on performing certain custom UI actions, particularly
enable static NAT.
This passes a separate 'start' function to the custom widgets, which
triggers the loading state, and 'complete' when the action
completes (i.e., the server call is done)
For any list view that has a corresponding detail view, adds a tooltip
to display the compact overview of the detail view contents, including
all available actions. This avoids a user from having to click into a
new panel to see more details and actions for an item.
This will happen automatically for any list view with a 'detailView'
sub-option, and will append a new column to the end of each item
row. If 'noCompact: true' is specified in the detailView's options,
then the quick view will not be rendered.
** Note: This also removes the existing list actions for the instances
and zones tables.
Example, to show a quick view:
listView: {
detailView: {
// Specify noCompact: true to not render a quick view
//
// noCompact: true
...
},
...
}
Conflicts:
ui/scripts/ui/widgets/detailView.js
-Fixes case where 1 existing network is present, but cannot be
unchecked when 'add new network' is checked
-Fixes regression with multiple networks and VPC tiers present, where
unchecking all regular networks will select the hidden VPC network
reviewed-by: jessica
When both VPC and isolated networks are present, fix case where
unchecking first isolated networks triggers checkbox for VPC tier
network, thus making it appear as if no network is selected.
reviewed-by: jessica