mCord service icons
diff --git a/xos/configurations/frontend/mocks/mcord.yaml b/xos/configurations/frontend/mocks/mcord.yaml
index 5e79fda..6c10ad3 100644
--- a/xos/configurations/frontend/mocks/mcord.yaml
+++ b/xos/configurations/frontend/mocks/mcord.yaml
@@ -46,18 +46,21 @@
type: tosca.nodes.Service
properties:
view_url: /mcord/?service=Cache
+ icon_url: /static/mCordServices/service_cache.png
kind: EDGE
Firewall:
type: tosca.nodes.Service
properties:
view_url: /mcord/?service=Firewall
+ icon_url: /static/mCordServices/service_firewall.png
kind: EDGE
Video Optimization:
type: tosca.nodes.Service
properties:
view_url: /mcord/?service=Video%20Optimization
+ icon_url: /static/mCordServices/service_video.png
kind: EDGE
# Images
diff --git a/xos/core/static/mCordServices/service_cache.png b/xos/core/static/mCordServices/service_cache.png
new file mode 100644
index 0000000..91ad760
--- /dev/null
+++ b/xos/core/static/mCordServices/service_cache.png
Binary files differ
diff --git a/xos/core/static/mCordServices/service_common.png b/xos/core/static/mCordServices/service_common.png
new file mode 100644
index 0000000..9fda14e
--- /dev/null
+++ b/xos/core/static/mCordServices/service_common.png
Binary files differ
diff --git a/xos/core/static/mCordServices/service_firewall.png b/xos/core/static/mCordServices/service_firewall.png
new file mode 100644
index 0000000..a8b5480
--- /dev/null
+++ b/xos/core/static/mCordServices/service_firewall.png
Binary files differ
diff --git a/xos/core/static/mCordServices/service_video.png b/xos/core/static/mCordServices/service_video.png
new file mode 100644
index 0000000..17e87be
--- /dev/null
+++ b/xos/core/static/mCordServices/service_video.png
Binary files differ
diff --git a/xos/core/static/mCordServices/vMME.html b/xos/core/static/mCordServices/vMME.html
deleted file mode 100644
index 879f70b..0000000
--- a/xos/core/static/mCordServices/vMME.html
+++ /dev/null
@@ -1,755 +0,0 @@
-<form enctype="multipart/form-data" action="" method="post" id="ceilometerservice_form" class="form-horizontal" novalidate="">
- <input type="hidden" name="csrfmiddlewaretoken" value="B9gutUN7l65x3BBXOtAirdnXxRg7v9ZH">
- <div class="tab-content tab-content-main">
-
-
-
-
-
-
-
-
- <div class="suit-include suit-tab suit-tab-administration hide"><div class="left-nav">
-<ul>
-<li><a href="/admin/ceilometer/monitoringchannel/">Monitoring Channels</a></li>
-</ul>
-</div>
-
-</div>
-
-
-
-
-
-
-
-<fieldset class="module aligned suit-tab suit-tab-general show">
-
-
- <div class="panel fieldset-body">
-
-
-
-
- <div class="form-group field-backend_status_text ">
-
-
- <label class="control-label col-xs-12 col-sm-2"><label>Backend status text:</label></label>
-
- <div class="form-column col-xs-12 col-sm-8 col-md-6 col-lg-4">
-
-
-
- <p><img src="/static/admin/img/icon_clock.gif"> Pending sync, last_status = 0 - Provisioning in progress</p>
-
-
-
-
-
-
-
- </div>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
- <div class="form-group field-name ">
-
-
- <label class="control-label col-xs-12 col-sm-2"><label class="required" for="id_name">Name:</label></label>
-
- <div class="form-column widget-AdminTextInputWidget col-xs-12 col-sm-8 col-md-6 col-lg-4">
-
-
-
- <input class="vTextField form-control" id="id_name" maxlength="30" name="name" type="text" value="service_ceilometer">
-
-
-
-
-
-
- <div class="help-block">Service Name</div>
-
-
- </div>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
- <div class="form-group field-enabled ">
-
-
- <label class="control-label col-xs-12 col-sm-2"><label class="vCheckboxLabel" for="id_enabled">Enabled</label></label>
-
- <div class="form-column widget-CheckboxInput col-xs-12 col-sm-8 col-md-6 col-lg-4">
-
-
-
- <input checked="checked" id="id_enabled" name="enabled" type="checkbox">
-
-
-
-
-
-
-
- </div>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
- <div class="form-group field-versionNumber ">
-
-
- <label class="control-label col-xs-12 col-sm-2"><label class="required" for="id_versionNumber">VersionNumber:</label></label>
-
- <div class="form-column widget-AdminTextInputWidget col-xs-12 col-sm-8 col-md-6 col-lg-4">
-
-
-
- <input class="vTextField form-control" id="id_versionNumber" maxlength="30" name="versionNumber" type="text">
-
-
-
-
-
-
- <div class="help-block">Version of Service Definition</div>
-
-
- </div>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
- <div class="form-group field-description ">
-
-
- <label class="control-label col-xs-12 col-sm-2"><label for="id_description">Description:</label></label>
-
- <div class="form-column widget-AdminTextareaWidget col-xs-12 col-sm-8 col-md-6 col-lg-4">
-
-
-
- <textarea class="vLargeTextField form-control" cols="40" id="id_description" maxlength="254" name="description" rows="10"></textarea>
-
-
-
-
-
-
- <div class="help-block">Description of Service</div>
-
-
- </div>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
- <div class="form-group field-ceilometer_pub_sub_url ">
-
-
- <label class="control-label col-xs-12 col-sm-2"><label for="id_ceilometer_pub_sub_url">Ceilometer pub sub url:</label></label>
-
- <div class="form-column widget-TextInput col-xs-12 col-sm-8 col-md-6 col-lg-4">
-
-
-
- <input class="form-control" id="id_ceilometer_pub_sub_url" maxlength="1024" name="ceilometer_pub_sub_url" type="text" value="http://10.11.10.1:4455/">
-
-
-
-
-
-
- <div class="help-block">REST URL of ceilometer PUB/SUB component in http://IP:port/ format</div>
-
-
- </div>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
- <div class="form-group field-view_url ">
-
-
- <label class="control-label col-xs-12 col-sm-2"><label for="id_view_url">View url:</label></label>
-
- <div class="form-column widget-AdminTextInputWidget col-xs-12 col-sm-8 col-md-6 col-lg-4">
-
-
-
- <input class="vTextField form-control" id="id_view_url" maxlength="1024" name="view_url" type="text" value="/admin/ceilometer/ceilometerservice/$id$/">
-
-
-
-
-
-
-
- </div>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
- <div class="form-group field-icon_url ">
-
-
- <label class="control-label col-xs-12 col-sm-2"><label for="id_icon_url">Icon url:</label></label>
-
- <div class="form-column widget-AdminTextInputWidget col-xs-12 col-sm-8 col-md-6 col-lg-4">
-
-
-
- <input class="vTextField form-control" id="id_icon_url" maxlength="1024" name="icon_url" type="text">
-
-
-
-
-
-
-
- </div>
-
-
- </div>
-
-
-
-
-
-
-
- </div>
-
-</fieldset>
-
-
-
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-<div class="inline-group suit-tab suit-tab-slices hide" id="slices-group">
- <div class="tabular inline-related ">
-<input id="id_slices-TOTAL_FORMS" name="slices-TOTAL_FORMS" type="hidden" value="1" autocomplete="off"><input id="id_slices-INITIAL_FORMS" name="slices-INITIAL_FORMS" type="hidden" value="1"><input id="id_slices-MIN_NUM_FORMS" name="slices-MIN_NUM_FORMS" type="hidden" value="0"><input id="id_slices-MAX_NUM_FORMS" name="slices-MAX_NUM_FORMS" type="hidden" value="1000" autocomplete="off">
-<fieldset class="module">
- <h2>Slices</h2>
-
- <div class="panel-border">
- <table class="table table-striped table-bordered table-hover table-condensed table-primary">
- <thead><tr>
-
-
- <th colspan="1">
-
- </th>
-
-
-
- <th class="required">Name
- <img src="/static/admin/img/icon-unknown.gif" class="help help-tooltip" width="10" height="10" alt="(The Name of the Slice)" title="The Name of the Slice">
- </th>
-
-
-
- <th class="required">Site
- <img src="/static/admin/img/icon-unknown.gif" class="help help-tooltip" width="10" height="10" alt="(The Site this Slice belongs to)" title="The Site this Slice belongs to">
- </th>
-
-
-
- <th class="required">ServiceClass
-
- </th>
-
-
-
- <th>Details
-
- </th>
-
-
- <th>Delete?</th>
- </tr></thead>
-
- <tbody>
-
-
- <tr class="form-row row1 has_original dynamic-slices" id="slices-0">
- <td class="original">
-
- <input id="id_slices-0-id" name="slices-0-id" type="hidden" value="1">
- <input id="id_slices-0-service" name="slices-0-service" type="hidden" value="1">
-
- </td>
-
-
-
-
- <td class="field-backend_status_icon">
-
- <p><br> <script type="text/javascript">$(document).ready(function () {$("#show_details_1").click(function () {$("#status1").dialog({modal: true, height: 200, width: 200 });});});</script><br> <br> </p><div style="display:none;" id="status1" title="Details"><br> <p>Backoff Exponent: 0</p><br> <p>Last Success: '2016-02-27 14:09'</p><br> <p>Failures: None</p><br> <p>Last Failure: None</p><br> </div><br> <span style="min-width:16px;" title="successfully enacted"><a id="show_details_1" href="#"><img src="/static/admin/img/icon_success.gif"></a></span><p></p>
-
- </td>
-
-
-
-
-
- <td class="field-name">
-
-
- <input class="vTextField form-control" id="id_slices-0-name" maxlength="80" name="slices-0-name" type="text" value="mysite_ceilometer">
-
- </td>
-
-
-
-
-
- <td class="field-site">
-
-
- <div class="input-group"><select class="form-control" id="id_slices-0-site" name="slices-0-site">
-<option value="">---------</option>
-<option value="1" selected="selected">mysite</option>
-</select><span class="input-group-btn"><a href="/admin/core/site/add/?_to_field=id" class="add-another btn btn-default" id="add_id_slices-0-site" onclick="return showAddAnotherPopup(this);" title="Add Another"><span class="glyphicon glyphicon-plus-sign color-success"></span></a></span></div>
-
- </td>
-
-
-
-
-
- <td class="field-serviceClass">
-
-
- <div class="input-group"><select class="form-control" id="id_slices-0-serviceClass" name="slices-0-serviceClass">
-<option value="1" selected="selected">Best Effort</option>
-</select><span class="input-group-btn"><a href="/admin/core/serviceclass/add/?_to_field=id" class="add-another btn btn-default" id="add_id_slices-0-serviceClass" onclick="return showAddAnotherPopup(this);" title="Add Another"><span class="glyphicon glyphicon-plus-sign color-success"></span></a></span></div><input id="initial-slices-0-id_slices-0-serviceClass" name="initial-slices-0-serviceClass" type="hidden" value="1">
-
- </td>
-
-
-
-
-
- <td class="field-selflink">
-
- <p><a href="/admin/core/slice/1/">Details</a></p>
-
- </td>
-
-
-
-
-
- <td class="delete"><input id="id_slices-0-DELETE" name="slices-0-DELETE" type="checkbox"></td>
-
- </tr>
-
-
- <tr class="form-row row2 empty-form" id="slices-empty">
- <td class="original">
-
- <input id="id_slices-__prefix__-id" name="slices-__prefix__-id" type="hidden">
- <input id="id_slices-__prefix__-service" name="slices-__prefix__-service" type="hidden" value="1">
-
- </td>
-
-
-
-
- <td class="field-backend_status_icon">
-
- <p> <span style="min-width:16px;" title="Pending sync, last_status = 0 - Provisioning in progress"><img src="/static/admin/img/icon_clock.gif"></span></p>
-
- </td>
-
-
-
-
-
- <td class="field-name">
-
-
- <input class="vTextField form-control" id="id_slices-__prefix__-name" maxlength="80" name="slices-__prefix__-name" type="text">
-
- </td>
-
-
-
-
-
- <td class="field-site">
-
-
- <div class="input-group"><select class="form-control" id="id_slices-__prefix__-site" name="slices-__prefix__-site">
-<option value="" selected="selected">---------</option>
-<option value="1">mysite</option>
-</select><span class="input-group-btn"><a href="/admin/core/site/add/?_to_field=id" class="add-another btn btn-default" id="add_id_slices-__prefix__-site" onclick="return showAddAnotherPopup(this);" title="Add Another"><span class="glyphicon glyphicon-plus-sign color-success"></span></a></span></div>
-
- </td>
-
-
-
-
-
- <td class="field-serviceClass">
-
-
- <div class="input-group"><select class="form-control" id="id_slices-__prefix__-serviceClass" name="slices-__prefix__-serviceClass">
-<option value="1" selected="selected">Best Effort</option>
-</select><span class="input-group-btn"><a href="/admin/core/serviceclass/add/?_to_field=id" class="add-another btn btn-default" id="add_id_slices-__prefix__-serviceClass" onclick="return showAddAnotherPopup(this);" title="Add Another"><span class="glyphicon glyphicon-plus-sign color-success"></span></a></span></div><input id="initial-slices-__prefix__-id_slices-__prefix__-serviceClass" name="initial-slices-__prefix__-serviceClass" type="hidden" value="1">
-
- </td>
-
-
-
-
-
- <td class="field-selflink">
-
- <p>Not present</p>
-
- </td>
-
-
-
-
-
- <td class="delete"></td>
-
- </tr>
-
- <tr class="add-row"><td colspan="7"><a href="javascript:void(0)">Add another Slice</a></td></tr></tbody>
- </table>
- </div>
-</fieldset>
- </div>
-</div>
-
-<script type="text/javascript">
-
-(function($) {
- $("#slices-group .tabular.inline-related tbody tr").tabularFormset({
- prefix: "slices",
- adminStaticPrefix: '/static/admin/',
- addText: "Add another Slice",
- deleteText: "Remove"
- });
-})(django.jQuery);
-</script>
-
-
-
-
-<div class="inline-group suit-tab suit-tab-serviceattrs hide" id="serviceattributes-group">
- <div class="tabular inline-related ">
-<input id="id_serviceattributes-TOTAL_FORMS" name="serviceattributes-TOTAL_FORMS" type="hidden" value="0" autocomplete="off"><input id="id_serviceattributes-INITIAL_FORMS" name="serviceattributes-INITIAL_FORMS" type="hidden" value="0"><input id="id_serviceattributes-MIN_NUM_FORMS" name="serviceattributes-MIN_NUM_FORMS" type="hidden" value="0"><input id="id_serviceattributes-MAX_NUM_FORMS" name="serviceattributes-MAX_NUM_FORMS" type="hidden" value="1000" autocomplete="off">
-<fieldset class="module">
- <h2>Service attributes</h2>
-
- <div class="panel-border">
- <table class="table table-striped table-bordered table-hover table-condensed table-primary">
- <thead><tr>
-
-
- <th colspan="1" class="required">Name
- <img src="/static/admin/img/icon-unknown.gif" class="help help-tooltip" width="10" height="10" alt="(Attribute Name)" title="Attribute Name">
- </th>
-
-
-
- <th class="required">Value
- <img src="/static/admin/img/icon-unknown.gif" class="help help-tooltip" width="10" height="10" alt="(Attribute Value)" title="Attribute Value">
- </th>
-
-
- <th>Delete?</th>
- </tr></thead>
-
- <tbody>
-
-
- <tr class="form-row row1 empty-form" id="serviceattributes-empty">
- <td class="original">
-
- <input id="id_serviceattributes-__prefix__-id" name="serviceattributes-__prefix__-id" type="hidden">
- <input id="id_serviceattributes-__prefix__-service" name="serviceattributes-__prefix__-service" type="hidden" value="1">
-
- </td>
-
-
-
-
- <td class="field-name">
-
-
- <input class="vTextField form-control" id="id_serviceattributes-__prefix__-name" maxlength="128" name="serviceattributes-__prefix__-name" type="text">
-
- </td>
-
-
-
-
-
- <td class="field-value">
-
-
- <input class="vTextField form-control" id="id_serviceattributes-__prefix__-value" maxlength="1024" name="serviceattributes-__prefix__-value" type="text">
-
- </td>
-
-
-
-
-
- <td class="delete"></td>
-
- </tr>
-
- <tr class="add-row"><td colspan="4"><a href="javascript:void(0)">Add another Service attribute</a></td></tr></tbody>
- </table>
- </div>
-</fieldset>
- </div>
-</div>
-
-<script type="text/javascript">
-
-(function($) {
- $("#serviceattributes-group .tabular.inline-related tbody tr").tabularFormset({
- prefix: "serviceattributes",
- adminStaticPrefix: '/static/admin/',
- addText: "Add another Service attribute",
- deleteText: "Remove"
- });
-})(django.jQuery);
-</script>
-
-
-
-
-<div class="inline-group suit-tab suit-tab-serviceprivileges hide" id="serviceprivileges-group">
- <div class="tabular inline-related last-related">
-<input id="id_serviceprivileges-TOTAL_FORMS" name="serviceprivileges-TOTAL_FORMS" type="hidden" value="0" autocomplete="off"><input id="id_serviceprivileges-INITIAL_FORMS" name="serviceprivileges-INITIAL_FORMS" type="hidden" value="0"><input id="id_serviceprivileges-MIN_NUM_FORMS" name="serviceprivileges-MIN_NUM_FORMS" type="hidden" value="0"><input id="id_serviceprivileges-MAX_NUM_FORMS" name="serviceprivileges-MAX_NUM_FORMS" type="hidden" value="1000" autocomplete="off">
-<fieldset class="module">
- <h2>Service privileges</h2>
-
- <div class="panel-border">
- <table class="table table-striped table-bordered table-hover table-condensed table-primary">
- <thead><tr>
-
-
- <th colspan="1">
-
- </th>
-
-
-
- <th class="required">User
-
- </th>
-
-
-
- <th class="required">Role
-
- </th>
-
-
- <th>Delete?</th>
- </tr></thead>
-
- <tbody>
-
-
- <tr class="form-row row1 empty-form" id="serviceprivileges-empty">
- <td class="original">
-
- <input id="id_serviceprivileges-__prefix__-id" name="serviceprivileges-__prefix__-id" type="hidden">
- <input id="id_serviceprivileges-__prefix__-service" name="serviceprivileges-__prefix__-service" type="hidden" value="1">
-
- </td>
-
-
-
-
- <td class="field-backend_status_icon">
-
- <p> <span style="min-width:16px;" title="Pending sync, last_status = 0 - Provisioning in progress"><img src="/static/admin/img/icon_clock.gif"></span></p>
-
- </td>
-
-
-
-
-
- <td class="field-user">
-
-
- <div class="input-group"><select class="form-control" id="id_serviceprivileges-__prefix__-user" name="serviceprivileges-__prefix__-user">
-<option value="" selected="selected">---------</option>
-<option value="1">padmin@vicci.org</option>
-</select><span class="input-group-btn"><a href="/admin/core/user/add/?_to_field=id" class="add-another btn btn-default" id="add_id_serviceprivileges-__prefix__-user" onclick="return showAddAnotherPopup(this);" title="Add Another"><span class="glyphicon glyphicon-plus-sign color-success"></span></a></span></div>
-
- </td>
-
-
-
-
-
- <td class="field-role">
-
-
- <div class="input-group"><select class="form-control" id="id_serviceprivileges-__prefix__-role" name="serviceprivileges-__prefix__-role">
-<option value="" selected="selected">---------</option>
-</select></div>
-
- </td>
-
-
-
-
-
- <td class="delete"></td>
-
- </tr>
-
- <tr class="add-row"><td colspan="5"><a href="javascript:void(0)">Add another Service privilege</a></td></tr></tbody>
- </table>
- </div>
-</fieldset>
- </div>
-</div>
-
-<script type="text/javascript">
-
-(function($) {
- $("#serviceprivileges-group .tabular.inline-related tbody tr").tabularFormset({
- prefix: "serviceprivileges",
- adminStaticPrefix: '/static/admin/',
- addText: "Add another Service privilege",
- deleteText: "Remove"
- });
-})(django.jQuery);
-</script>
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div class="form-buttons clearfix">
- <button type="submit" class="btn btn-high btn-success" name="_save">Save</button>
- <button type="submit" name="_continue" class=" btn btn-high btn-info">Save and continue editing</button>
-
- <button type="submit" name="_addanother" class="btn btn-info">Save and add another</button>
-
-
-
- <a href="delete/" class="text-error deletelink">Delete</a>
-
-
-</div>
-
-
-
-
-
-
-<script type="text/javascript">
-(function($) {
- var field;
-
-
-})(django.jQuery);
-</script>
-
-
-
- </form>
\ No newline at end of file
diff --git a/xos/core/static/xos.css b/xos/core/static/xos.css
index 8315b2b..0ec638c 100644
--- a/xos/core/static/xos.css
+++ b/xos/core/static/xos.css
@@ -1387,11 +1387,12 @@
}
/* M-CORD SERVICE GRID */
.m-cord .kind-container h2{
- background-color: #337ab7;
+ background-color: #9c0001;
padding: 10px;
color: #fff;
border-radius: 4px;
cursor: pointer;
+ box-shadow: 1px 2px 2px black;
}
.m-cord .kind-container img.img-responsive {
@@ -1401,9 +1402,11 @@
.m-cord .kind-container .service-container{
height: 0px;
overflow: hidden;
+ opacity: 0;
transition: all .5s ease-in-out;
}
.m-cord .kind-container.active .service-container{
- height: 162px
+ height: 162px;
+ opacity: 1;
}
\ No newline at end of file
diff --git a/xos/core/views/mCordServiceGrid.py b/xos/core/views/mCordServiceGrid.py
index e94f831..866d8a9 100644
--- a/xos/core/views/mCordServiceGrid.py
+++ b/xos/core/views/mCordServiceGrid.py
@@ -44,7 +44,7 @@
for service in Service.objects.filter(kind=kind["kind"]):
image_url = service.icon_url
if (not image_url):
- image_url = "/static/primarycons_blue/gear_2.png"
+ image_url = "/static/mCordServices/service_common.png"
if service.view_url.startswith("http"):
target = 'target="_blank"'
else: