diff --git a/app/resources/locales/en_US/default.po b/app/resources/locales/en_US/default.po
index 3a4a9d31a..854f5bbc4 100644
--- a/app/resources/locales/en_US/default.po
+++ b/app/resources/locales/en_US/default.po
@@ -533,6 +533,9 @@ msgstr "Build"
msgid "match.op.build.confirm"
msgstr "Are you sure you wish to (re)build this matchgrid?"
+msgid "match.op.cancel"
+msgstr "Cancel"
+
msgid "match.op.clear"
msgstr "Clear"
@@ -545,6 +548,9 @@ msgstr "Configure"
msgid "match.op.configure.a"
msgstr "Configure {0}"
+msgid "match.op.confirm"
+msgstr "Confirm"
+
msgid "match.op.delete"
msgstr "Delete"
@@ -626,6 +632,9 @@ msgstr "Generate New Reference ID"
msgid "match.op.reconcile.request"
msgstr "Reconcile Unresolved Request {0}/{1}"
+msgid "match.op.remove"
+msgstr "Remove"
+
msgid "match.op.save"
msgstr "Save"
diff --git a/app/src/View/Helper/FieldHelper.php b/app/src/View/Helper/FieldHelper.php
index 792c997e0..57028dfda 100644
--- a/app/src/View/Helper/FieldHelper.php
+++ b/app/src/View/Helper/FieldHelper.php
@@ -152,7 +152,7 @@ public function submit($label) {
' . __('match.fd.req') . '
- ' . $this->Form->submit($label) . '
+ ' . $this->Form->submit($label, ['class' => 'spin submit-button btn btn-primary']) . '
';
}
diff --git a/app/src/View/Helper/MenuHelper.php b/app/src/View/Helper/MenuHelper.php
new file mode 100644
index 000000000..580cecbb3
--- /dev/null
+++ b/app/src/View/Helper/MenuHelper.php
@@ -0,0 +1,86 @@
+ 5, // visibility
+ 'Edit' => 10, // edit
+ 'Duplicate' => 15, // content_copy
+ 'Default' => 20, // link - default starting order for arbitrary action menu items
+ 'Delete' => 100 // delete
+ );
+
+ return $order[$action];
+ }
+
+ /**
+ * Get the Menu Icon per action
+ *
+ * @param string $action
+ * @return string|null
+ *
+ * @since COmanage Match v1.0.0
+ */
+ public function getMenuIcon($action) {
+ if(empty($action)) {
+ return null;
+ }
+
+ $icon = array(
+ 'View' => 'visibility',
+ 'Edit' => 'edit',
+ 'Duplicate' => 'content_copy',
+ 'Default' => 'link', // default icon for arbitrary menu items
+ 'Delete' => 'delete'
+ );
+
+ return $icon[$action];
+ }
+
+}
\ No newline at end of file
diff --git a/app/templates/AttributeMappings/columns.inc b/app/templates/AttributeMappings/columns.inc
index 9c035d5df..0356bb0b9 100644
--- a/app/templates/AttributeMappings/columns.inc
+++ b/app/templates/AttributeMappings/columns.inc
@@ -39,7 +39,8 @@ $indexColumns = [
$topLinks = [
[
- 'label' => __('match.op.AttributeMappings.install.nicknames.en'),
+ 'label' => '
-
- = $this->Html->link(__('match.op.add.a', __('match.ct.'.$vv_modelname, [1])),
+ = $this->Html->link('add_circle ' .
+ __('match.op.add.a', __('match.ct.'.$vv_modelname, [1])),
array_merge($linkFilter, ['action' => 'add']),
- ['class' => 'addbutton']); ?>
+ ['escape' => false, 'class' => 'addbutton']); ?>
Html->link(
$t['label'],
array_merge($linkFilter, $t['link']),
- ['class' => $t['class']]
+ ['escape' => false, 'class' => $t['class']]
) . '
';
}
@@ -156,7 +157,7 @@ function _column_key($modelsName, $c, $tz=null) {
}
?>
- = __('match.fd.action'); ?> |
+ = __('match.fd.action'); ?> |
-
+ |
id;
+
+ // Edit
if($vv_permissions['edit']) {
- print $this->Html->link(
- __('match.op.edit'),
- array_merge_recursive(['action' => 'edit'], $linkArgs),
- ['class' => 'editbutton']
+ $action_args['vv_actions'][] = array(
+ 'order' => $this->Menu->getMenuOrder('Edit'),
+ 'icon' => $this->Menu->getMenuIcon('Edit'),
+ 'url' => $this->Url->build(array_merge_recursive(['action' => 'edit'], $linkArgs)),
+ 'label' => __('match.op.edit')
);
}
+ // Duplicate
if(isset($vv_permissions['duplicate']) && $vv_permissions['duplicate']) {
- print $this->Html->link(
- __('match.op.duplicate'),
- array_merge_recursive(['action' => 'duplicate'], $linkArgs),
- ['class' => 'copybutton']
- );
- }
-
- if($vv_permissions['delete']) {
- // XXX this is throwing CSRF error even though delete button on edit-record page is working?
- // probably because this is using Form helper, but we're outside of a form?
- print $this->Form->postLink(
- __('match.op.delete'),
- array_merge_recursive(['action' => 'delete'], $linkArgs),
- // XXX should be configurable which field we put in, maybe displayField?
- ['confirm' => __('match.op.delete.confirm', [$entity->id]),
- 'class' => 'deletebutton nospin']
+ $action_args['vv_actions'][] = array(
+ 'order' => $this->Menu->getMenuOrder('Duplicate'),
+ 'icon' => $this->Menu->getMenuIcon('Duplicate'),
+ 'url' => $this->Url->build(array_merge_recursive(['action' => 'duplicate'], $linkArgs)),
+ 'label' => __('match.op.duplicate')
);
}
+ // Insert additional actions as per the .inc file
if(!empty($indexActions)) {
- // Insert additional actions as per the .inc file
if(!isset($entity->status) || $entity->status == StatusEnum::Active) {
+ $actionOrderDefault = $this->Menu->getMenuOrder('Default');
foreach($indexActions as $a) {
if($vv_permissions[ $a['action'] ]) {
- // If we have a .confirm text, use postLink instead
+ $actionOrder = !empty($a['order']) ? $a['order'] : $actionOrderDefault++;
+ $actionIcon = !empty($a['icon']) ? $a['icon'] : $this->Menu->getMenuIcon('Default');
+ $actionClass = !empty($a['class']) ? $a['class'] : '';
+ $actionUrl = '';
+ $actionLabel = '';
+ $actionOnClick = []; // used for confirmation dialog
+
+ // Generate the link text and urls:
+ // If we have a .confirm text, we need to generate a confirm dialog box
$confirmKey = 'match.op.'.$a['action'].'.confirm';
$confirmTxt = __($confirmKey);
if($confirmTxt != $confirmKey) {
// We found the localized string
-
- print $this->Form->postLink(
- __('match.op.' . $a['action']),
- array_merge_recursive(['action' => $a['action']], $linkArgs),
- // XXX should be configurable which field we put in, maybe displayField?
- ['confirm' => __($confirmKey, [$entity->id]),
- 'class' => $a['class'] . ' nospin']
+ $actionPostBtnArray = array_merge_recursive(['action' => $a['action']], $linkArgs);
+ $actionUrl = $this->Url->build(array_merge_recursive(['action' => $a['action']], $linkArgs));
+ // XXX should be configurable which field we put in, maybe displayField?
+ $action_args['vv_actions'][] = array(
+ 'order' => $actionOrder,
+ 'icon' => $actionIcon,
+ 'url' => 'javascript:void(0);',
+ 'label' => __('match.op.' . $a['action']),
+ 'class' => !empty($actionClass) ? $actionClass . ' nospin' : 'nospin',
+ 'onclick' => array(
+ 'dg_bd_txt' => __($confirmKey, [$entity->id]), // dialog body text
+ 'dg_post_btn_array' => $actionPostBtnArray, // postButton array for building the postButton
+ 'dg_url' => $actionUrl, // action url for building a unique ID
+ 'dg_conf_btn' => __('match.op.confirm'), // dialog confirm button text
+ 'dg_cancel_btn' => __('match.op.cancel'), // dialog cancel button text
+ 'dg_title' => __('match.op.confirm') // dialog box title
+ ),
);
+
} elseif(!empty($a['controller'])) {
// We're linking into a related controller
- print $this->Html->link(
- __('match.ct.' . Inflector::camelize(Inflector::pluralize($a['controller'])), [99]),
+ $actionLabel = __('match.ct.' . Inflector::camelize(Inflector::pluralize($a['controller'])), [99]);
+ $actionUrl = $this->Url->build(
['controller' => $a['controller'],
- 'action' => $a['action'],
- '?' => [ $tableFK => $entity->id] ],
- ['class' => $a['class']]
+ 'action' => $a['action'],
+ '?' => [ $tableFK => $entity->id] ]
);
} else {
- print $this->Html->link(
- __('match.op.' . $a['action']),
- array_merge_recursive(['action' => $a['action']], $linkArgs),
- ['class' => $a['class']]
+ $actionLabel = __('match.op.' . $a['action']);
+ $actionUrl = $this->Url->build(
+ array_merge_recursive(['action' => $a['action']], $linkArgs)
);
}
+
+ // If a specific label is sent in the config, use it instead
+ if(!empty($a['label'])) {
+ $actionLabel = $a['label'];
+ }
+
+ // Set the action link configuration
+ $action_args['vv_actions'][] = array(
+ 'order' => $actionOrder,
+ 'icon' => $actionIcon,
+ 'url' => $actionUrl,
+ 'label' => $actionLabel,
+ 'class' => $actionClass,
+ 'onclick' => $actionOnClick
+ );
}
}
}
}
+
+ // Delete
+ if($vv_permissions['delete']) {
+ $actionPostBtnArray = array_merge_recursive(['action' => 'delete'], $linkArgs);
+ $actionUrl = $this->Url->build(array_merge_recursive(['action' => 'delete'], $linkArgs));
+ $action_args['vv_actions'][] = array(
+ 'order' => $this->Menu->getMenuOrder('Delete'),
+ 'icon' => $this->Menu->getMenuIcon('Delete'),
+ 'url' => 'javascript:void(0);',
+ 'label' => __('match.op.delete'),
+ 'class' => 'deletebutton nospin',
+ 'onclick' => array(
+ 'dg_bd_txt' => __('match.op.delete.confirm', [$entity->id]),
+ 'dg_post_btn_array' => $actionPostBtnArray,
+ 'dg_url' => $actionUrl,
+ 'dg_conf_btn' => __('match.op.remove'),
+ 'dg_cancel_btn' => __('match.op.cancel'),
+ 'dg_title' => __('match.op.remove')
+ ),
+ );
+ }
+
+ if(!empty($action_args['vv_actions'])) {
+ print ' ';
+ print $this->element('menuAction', $action_args);
+ print ' ';
+ }
+
?>
|
@@ -360,6 +420,6 @@ function _column_key($modelsName, $c, $tz=null) {
-
+
element("pagination");
\ No newline at end of file
diff --git a/app/templates/element/dialog.php b/app/templates/element/dialog.php
new file mode 100644
index 000000000..d2105a858
--- /dev/null
+++ b/app/templates/element/dialog.php
@@ -0,0 +1,52 @@
+
+
+
diff --git a/app/templates/element/javascript.php b/app/templates/element/javascript.php
index cf5eb81e5..87888e459 100644
--- a/app/templates/element/javascript.php
+++ b/app/templates/element/javascript.php
@@ -170,9 +170,6 @@
$("#top-search-clear").click();
});
- // Accordion
- $(".accordion").accordion();
-
// Make all submit buttons pretty (Bootstrap)
$("input:submit").addClass("spin submit-button btn btn-primary");
@@ -181,84 +178,7 @@
// Enable Bootstrap Popovers. Unless needed elsewhere, constrain this to #content
$('#content [data-toggle="popover"]').popover();
-
- // Other buttons (jQuery)
- $(".addbutton").button({
- icons: {
- primary: 'ui-icon-circle-plus'
- },
- text: true
- });
-
- $(".buildbutton").button({
- icons: {
- primary: 'ui-icon-gear'
- },
- text: true
- });
-
- $(".configurebutton").button({
- icons: {
- primary: 'ui-icon-pencil'
- },
- text: true
- });
-
- $(".copybutton").button({
- icons: {
- primary: 'ui-icon-copy'
- },
- text: true
- });
-
- $(".deletebutton").button({
- icons: {
- primary: 'ui-icon-circle-close'
- },
- text: true
- });
- $(".editbutton").button(
- { classes: {
- "ui-button": "highlight"
- },
- icons: {
- primary: 'ui-icon-pencil'
- },
- text: true
- });
-
- $(".linkbutton").button({
- icons: {
- primary: 'ui-icon-extlink'
- },
- text: true
- });
-
- $(".reconcilebutton").button({
- icons: {
- primary: 'ui-icon-transferthick-e-w'
- },
- text: true
- });
-
- // Dialog
- // This generic dialog gets modified by the calling function
- $("#dialog").dialog({
- autoOpen: false,
- resizable: false,
- modal: true,
-// XXX need to properly localize strings
- buttons: {
- '': function() {
- $(this).dialog('close');
- },
- '': function() {
- $(this).dialog('close');
- }
- }
- });
-
// Generic row click handling
$('.linked-row').click(function (e) {
location.href = $(this).find('a.row-link').attr('href');
diff --git a/app/templates/element/menuAction.php b/app/templates/element/menuAction.php
new file mode 100644
index 000000000..597d60c88
--- /dev/null
+++ b/app/templates/element/menuAction.php
@@ -0,0 +1,98 @@
+ 0 ? ' actions-count-' . $actionsCount : '';
+$actionsMenuClass = 'field-actions-menu dropdown dropleft' . $actionsCountClass;
+$actionsMenuUid = md5($vv_attr_mdl . $vv_attr_id);
+?>
+
+
diff --git a/app/templates/element/search.php b/app/templates/element/search.php
index 16ceacb08..b797c9501 100644
--- a/app/templates/element/search.php
+++ b/app/templates/element/search.php
@@ -87,7 +87,7 @@
-
+
diff --git a/app/templates/layout/default.php b/app/templates/layout/default.php
index de05b1e38..094d168ad 100644
--- a/app/templates/layout/default.php
+++ b/app/templates/layout/default.php
@@ -57,7 +57,6 @@
= $this->Html->css([
'bootstrap/bootstrap-4.4.1.min',
- 'jquery/jquery-ui-1.12.1.custom/jquery-ui.min',
'co-color',
'co-base',
'co-responsive'
@@ -94,7 +93,7 @@
menu
@@ -156,7 +155,6 @@
@@ -164,12 +162,14 @@
+
+
+ = $this->element('dialog'); ?>
= $this->Html->script([
'jquery/jquery-3.6.0.min.js',
'bootstrap/bootstrap-4.6.0.bundle.min.js',
- 'jquery/jquery-ui-1.12.1.custom/jquery-ui.min.js',
'js-cookie/js.cookie-2.1.3.min.js',
'jquery/noty/jquery.noty.js',
'jquery/noty/layouts/topCenter.js',
diff --git a/app/webroot/css/co-base.css b/app/webroot/css/co-base.css
index 081912fac..eb909463c 100644
--- a/app/webroot/css/co-base.css
+++ b/app/webroot/css/co-base.css
@@ -32,12 +32,12 @@ html * {
font-family: 'Noto Sans','Trebuchet MS',Arial,Helvetica,sans-serif;
}
body {
- color: #222;
+ color: var(--cmg-color-text-dark-low);
-webkit-overflow-scrolling: touch; /* for dialog boxes */
font-size: 14px; /* base font size */
}
h1,h2,h3,h4,h5 {
- color: #555;
+ color: var(--cmg-color-text-dark-mid);
}
h1 {
font-size: 2em;
@@ -67,12 +67,12 @@ h3 {
margin: 0;
}
a {
- color: #06c; /* slightly darker: passes accessibility contrast checks against white */
+ color: var(--cmg-color-link-primary);
text-decoration: none;
}
#main a:active,
#main a:hover {
- color: #0067A3; /* to ensure accessibility on hover when backgrounds change as low as #e5e5e5 */
+ color: var(--cmg-color-link-primary-hover);
text-decoration: underline;
}
#main a.ui-widget:active,
@@ -90,8 +90,8 @@ a {
}
#skip-to-content {
position: relative;
- background-color: #06c;
- color: white;
+ background-color: var(--cmg-color-link-primary);
+ color: var(--cmg-color-white);
padding: 0 1em 0.25em ;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
@@ -109,15 +109,15 @@ a {
justify-content: space-between;
padding: 1em;
margin: 0;
- background-color: #2a2;
- color: white;
+ background-color: var(--cmg-color-banner);
+ color: var(--cmg-color-white);
}
/* TOP MENU (BLACK BAR) */
#top-bar {
position: relative;
line-height: 1.5em;
height: 30px;
- background-color: #222;
+ background-color: var(--cmg-color-text-dark-low);
}
/* LOGO */
#logo {
@@ -164,7 +164,7 @@ body.logged-in #top-menu {
margin-top: 2px;
}
#top-menu li a.dropdown-toggle {
- color: white;
+ color: var(--cmg-color-white);
}
#top-menu li a.dropdown-toggle:hover {
text-decoration: none;
@@ -189,9 +189,9 @@ body.logged-in #top-menu {
right: 0;
top: 27px;
z-index: 200;
- color: #222;
- background-color: #f8f8f8;
- border: 1px solid #eee;
+ color: var(--cmg-color-text-dark-low);
+ background-color: var(--cmg-color-gray-light-high);
+ border: 1px solid var(--cmg-color-gray-light-low);
padding: 1em;
min-width: calc(100vw - 50px);
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
@@ -223,20 +223,20 @@ body.logged-in #top-menu {
padding-left: 2em;
}
#user-panel .co-info-topbox {
- background-color: #f3f3f3;
+ background-color: var(--cmg-color-gray-light-mid);
margin-top: 2em;
}
#user-panel .co-info-topbox strong {
font-weight: normal;
}
#user-panel #co-profile-link:hover {
- background-color: #eee;
+ background-color: var(--cmg-color-gray-light-low);
}
#user-panel #co-profile-link .material-icons {
vertical-align: middle;
margin-right: 0.25em;
font-size: 16px;
- color: #666;
+ color: var(--cmg-color-gray-dark-mid);
}
#user-panel h2 {
font-size: 1.1em;
@@ -267,7 +267,7 @@ body.logged-in #top-menu {
#login {
margin-top: -2px;
margin-right: 0;
- color: white;
+ color: var(--cmg-color-white);
cursor: pointer;
display: inline-block;
font-family: "Roboto","Helvetica","Arial",sans-serif;
@@ -324,7 +324,7 @@ body.logged-in #top-menu {
.co-info-topbox {
clear: both;
padding: 1em;
- background-color: #fbec88;
+ background-color: var(--cmg-color-infobox-yellow);
margin-bottom: 1em;
}
#lastLogin p {
@@ -477,20 +477,18 @@ body.logged-in #top-menu {
}
/* TOP CONTENT LINKS (contextual) */
#topLinks {
- margin: 1.5em 0 0 0;
+ margin: 1.5em 0 -1.5em 0;
padding: 0;
-}
-#topLinks.ui-widget-content {
- border: none;
+ font-size: 0.9em;
}
#topLinks li {
list-style: none;
display: inline-block;
+ margin: 0.5em;
+ padding: 0 0.5em;
}
#topLinks a {
text-decoration: none;
- color: #1d5987;
- /* override ui-icon settings: */
border: none;
background: none;
background-color: white;
@@ -622,7 +620,6 @@ body.logged-in #top-menu {
.top-search-active-filter {
margin: 0 0.25em 0 0;
white-space: nowrap;
- /*color: #b00;*/
font-style: italic;
}
.top-search-active-filter-title::after {
@@ -637,7 +634,7 @@ body.logged-in #top-menu {
background-color: #f5f5f5;
}
.top-search-active-filters-remove button:hover {
- background-color: #eee;
+ background-color: var(--cmg-color-gray-light-low);
}
/* RECONCILE TABLE */
#reconcile-table {
@@ -707,9 +704,6 @@ body.logged-in #top-menu {
margin-bottom: 2em;
font-style: italic;
}
-.actions {
- white-space: nowrap;
-}
/* MATCHGRID CONFIGURATION */
#matchgrid-config-menu {
list-style: none;
@@ -732,6 +726,24 @@ body.matchgridrecords .popover {
body.matchgridrecords .popover-header {
font-size: 1em;
}
+/* INDEX ACTION COMMAND MENUS */
+td.actions,
+th.actions {
+ text-align: center;
+}
+.field-actions .dropdown-menu {
+ padding: 0;
+ font-size: 1em;
+ border-radius: 0;
+}
+.field-actions a.dropdown-item {
+ padding: 0.5em 1em;
+ color: var(--cmg-color-link-primary);
+}
+#main .field-actions a.dropdown-item:hover {
+ color: var(--cmg-color-black);
+ text-decoration: none;
+}
/* PAGINATION */
#pagination {
margin: 0;
@@ -859,10 +871,6 @@ ul.data-list li:nth-child(2n) {
ul.data-table li {
background-color: unset;
}
-.field-actions {
- float: right;
- padding: 2px;
-}
.field-data {
float: left;
padding: 4px 0 0 10px;
@@ -1014,12 +1022,21 @@ ul.form-list li.field-stack textarea {
}
#content .material-icons {
font-size: 17px;
- margin-top: 2px;
+ margin-top: 1px;
vertical-align: top;
}
+/* DIALOG BOX */
+#dialog .modal-header {
+ background-color: var(--cmg-color-gray-light-mid);
+ border-bottom: none;
+}
+#dialog .modal-footer {
+ border-top: none;
+}
/* GENERAL */
.hidden,
-.invisible {
+.invisible,
+.co-dialog {
display: none;
}
p { /* MDL override */
@@ -1096,7 +1113,7 @@ a.desc::before {
font-weight: bold;
}
.co-grid .co-row {
- border-top: 1px solid #eee;
+ border-top: 1px solid var(--cmg-color-gray-light-low);
}
.co-grid .co-row:nth-child(even) {
background-color: #f8f8f8;
@@ -1112,8 +1129,8 @@ code,
table {
width: 100%;
border-collapse: collapse;
- border-left: 1px solid #eee;
- border-right: 1px solid #eee;
+ border-left: 1px solid var(--cmg-color-gray-light-low);
+ border-right: 1px solid var(--cmg-color-gray-light-low);
}
.table-container {
overflow: auto;
@@ -1125,7 +1142,7 @@ th, td {
font-weight: normal;
}
th {
- background-color: #ddd;
+ background-color: var(--cmg-color-gray-light-low);
color: black;
font-weight: 600;
}
@@ -1138,7 +1155,7 @@ th a:hover {
text-decoration: none !important;
}
td {
- border-bottom: 1px solid #eee;
+ border-bottom: 1px solid var(--cmg-color-gray-light-low);
}
tr th:first-child,
tr td:first-child {
@@ -1151,9 +1168,6 @@ tr td:last-child {
tr.noborder td {
border: none;
}
-th.actionButtons {
- width:70px;
-}
tr:nth-child(odd) td {
background-color: #f8f8f8;
}
@@ -1168,7 +1182,7 @@ td.indented {
}
.linked-row:hover,
.linked-row:hover td {
- background-color: #eee !important;
+ background-color: var(--cmg-color-gray-light-low) !important;
}
.menuitembutton {
width: 250px;
@@ -1215,7 +1229,7 @@ td.indented {
#co-loading-redirect span,
.co-loading-mini span {
animation: 1.2s linear infinite both loading;
- background-color: var(--cmg-spinner-blue);
+ background-color: var(--cmg-color-spinner-blue);
display: inline-block;
}
#co-loading span {
@@ -1264,9 +1278,9 @@ td.indented {
.btn-primary,
.btn-primary:focus,
.btn-primary:active {
- background-color: var(--cmg-blue-primary);
+ background-color: var(--cmg-color-blue-primary);
color: white;
- border-color: var(--cmg-blue-primary);
+ border-color: var(--cmg-color-blue-primary);
}
.btn-primary,
.btn-primary:active {
@@ -1286,11 +1300,11 @@ td.indented {
}
.btn-default,
.btn-default:active {
- background-color: #eee;
+ background-color: var(--cmg-color-gray-light-low);
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}
.btn-default:hover {
- background-color: var(--cmg-blue-primary);
+ background-color: var(--cmg-color-blue-primary);
color: white !important;
text-decoration: none !important;
}
@@ -1301,7 +1315,7 @@ td.indented {
.btn.link {
font-size: 1em;
text-decoration: underline;
- color: var(--cmg-blue-primary);
+ color: var(--cmg-color-blue-primary);
border: none;
}
/* Call to Action Blocks */
diff --git a/app/webroot/css/co-color.css b/app/webroot/css/co-color.css
index 027c4b56f..e2d157a31 100644
--- a/app/webroot/css/co-color.css
+++ b/app/webroot/css/co-color.css
@@ -1,12 +1,21 @@
:root {
- --cmg-blue-primary: #0c75c0;
- --cmg-banner-blue: #aed9f9;
- --cmg-banner-green: #2a2;
- --cmg-spinner-blue: #9fc6e2;
- --cmg-spinner-green: #2a2;
- --cmg-infobox-yellow: #fbec88;
- --cmg-warn-yellow: #fcc;
- --cmg-warn-red: #f5f5bb;
- --cmg-gray-secondary: #555;
- --cmg-gray-disabled: #666;
+ --cmg-color-blue-primary: #0c75c0;
+ --cmg-color-banner: #2a2; /* green for Match */
+ --cmg-color-spinner-blue: #9fc6e2;
+ --cmg-color-spinner-green: #2a2;
+ --cmg-color-infobox-yellow: #fbec88;
+ --cmg-color-warn-yellow: #fcc;
+ --cmg-color-warn-red: #f5f5bb;
+ --cmg-color-text-dark-low: #222;
+ --cmg-color-text-dark-mid: #555;
+ --cmg-color-link-primary: #06c; /* accessible on backgrounds down to #e7e7e7 */
+ --cmg-color-link-primary-hover: #0067A3; /* accessible on backgrounds down to #dfdfdf */
+ --cmg-color-gray-light-high: #f8f8f8;
+ --cmg-color-gray-light-mid: #f3f3f3;
+ --cmg-color-gray-light-low: #eee;
+ --cmg-color-gray-dark-mid: #666;
+ --cmg-color-gray-secondary: #555;
+ --cmg-color-gray-disabled: #666;
+ --cmg-color-white: #fff;
+ --cmg-color-black: #000;
}
\ No newline at end of file
diff --git a/app/webroot/css/co-responsive.css b/app/webroot/css/co-responsive.css
index ae9922233..384fe36e7 100644
--- a/app/webroot/css/co-responsive.css
+++ b/app/webroot/css/co-responsive.css
@@ -212,6 +212,40 @@
#reconcile-table {
font-size: 1em;
}
+ /* INDEX ACTION COMMAND MENUS */
+ /* convert the dropdown menus to be visible on wider screens */
+ .field-actions .action-menu-toggle {
+ display: none;
+ }
+ .field-actions .dropdown-menu {
+ position: static;
+ display: inline-block;
+ font-size: 0.9em;
+ border: none;
+ background-color: transparent;
+ white-space: nowrap;
+ }
+ .field-actions .action-list-item {
+ display: inline-block;
+ }
+ .field-actions a.dropdown-item {
+ padding: 0 0.5em;
+ }
+ #main .field-actions a.dropdown-item:hover {
+ color: var(--cmg-color-link-primary);
+ text-decoration: underline;
+ }
+ .field-actions a.dropdown-item:hover {
+ background-color: transparent;
+ }
+ th.actions {
+ width: 100px; /* this is pushed wider by the nowrap on .field-actions .dropdown-menu */
+ padding-left: 1.5em;
+ text-align: left;
+ }
+ td.actions {
+ text-align: left;
+ }
/* FOOTER */
#co-footer {
position: static;
diff --git a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.ijmap b/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.ijmap
deleted file mode 100644
index d9f1d259f..000000000
--- a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.ijmap
+++ /dev/null
@@ -1 +0,0 @@
-{"icons":{"e84d":{"name":"3d Rotation"},"eb3b":{"name":"Ac Unit"},"e190":{"name":"Access Alarm"},"e191":{"name":"Access Alarms"},"e192":{"name":"Access Time"},"e84e":{"name":"Accessibility"},"e914":{"name":"Accessible"},"e84f":{"name":"Account Balance"},"e850":{"name":"Account Balance Wallet"},"e851":{"name":"Account Box"},"e853":{"name":"Account Circle"},"e60e":{"name":"Adb"},"e145":{"name":"Add"},"e439":{"name":"Add A Photo"},"e193":{"name":"Add Alarm"},"e003":{"name":"Add Alert"},"e146":{"name":"Add Box"},"e147":{"name":"Add Circle"},"e148":{"name":"Add Circle Outline"},"e567":{"name":"Add Location"},"e854":{"name":"Add Shopping Cart"},"e39d":{"name":"Add To Photos"},"e05c":{"name":"Add To Queue"},"e39e":{"name":"Adjust"},"e630":{"name":"Airline Seat Flat"},"e631":{"name":"Airline Seat Flat Angled"},"e632":{"name":"Airline Seat Individual Suite"},"e633":{"name":"Airline Seat Legroom Extra"},"e634":{"name":"Airline Seat Legroom Normal"},"e635":{"name":"Airline Seat Legroom Reduced"},"e636":{"name":"Airline Seat Recline Extra"},"e637":{"name":"Airline Seat Recline Normal"},"e195":{"name":"Airplanemode Active"},"e194":{"name":"Airplanemode Inactive"},"e055":{"name":"Airplay"},"eb3c":{"name":"Airport Shuttle"},"e855":{"name":"Alarm"},"e856":{"name":"Alarm Add"},"e857":{"name":"Alarm Off"},"e858":{"name":"Alarm On"},"e019":{"name":"Album"},"eb3d":{"name":"All Inclusive"},"e90b":{"name":"All Out"},"e859":{"name":"Android"},"e85a":{"name":"Announcement"},"e5c3":{"name":"Apps"},"e149":{"name":"Archive"},"e5c4":{"name":"Arrow Back"},"e5db":{"name":"Arrow Downward"},"e5c5":{"name":"Arrow Drop Down"},"e5c6":{"name":"Arrow Drop Down Circle"},"e5c7":{"name":"Arrow Drop Up"},"e5c8":{"name":"Arrow Forward"},"e5d8":{"name":"Arrow Upward"},"e060":{"name":"Art Track"},"e85b":{"name":"Aspect Ratio"},"e85c":{"name":"Assessment"},"e85d":{"name":"Assignment"},"e85e":{"name":"Assignment Ind"},"e85f":{"name":"Assignment Late"},"e860":{"name":"Assignment Return"},"e861":{"name":"Assignment Returned"},"e862":{"name":"Assignment Turned In"},"e39f":{"name":"Assistant"},"e3a0":{"name":"Assistant Photo"},"e226":{"name":"Attach File"},"e227":{"name":"Attach Money"},"e2bc":{"name":"Attachment"},"e3a1":{"name":"Audiotrack"},"e863":{"name":"Autorenew"},"e01b":{"name":"Av Timer"},"e14a":{"name":"Backspace"},"e864":{"name":"Backup"},"e19c":{"name":"Battery Alert"},"e1a3":{"name":"Battery Charging Full"},"e1a4":{"name":"Battery Full"},"e1a5":{"name":"Battery Std"},"e1a6":{"name":"Battery Unknown"},"eb3e":{"name":"Beach Access"},"e52d":{"name":"Beenhere"},"e14b":{"name":"Block"},"e1a7":{"name":"Bluetooth"},"e60f":{"name":"Bluetooth Audio"},"e1a8":{"name":"Bluetooth Connected"},"e1a9":{"name":"Bluetooth Disabled"},"e1aa":{"name":"Bluetooth Searching"},"e3a2":{"name":"Blur Circular"},"e3a3":{"name":"Blur Linear"},"e3a4":{"name":"Blur Off"},"e3a5":{"name":"Blur On"},"e865":{"name":"Book"},"e866":{"name":"Bookmark"},"e867":{"name":"Bookmark Border"},"e228":{"name":"Border All"},"e229":{"name":"Border Bottom"},"e22a":{"name":"Border Clear"},"e22b":{"name":"Border Color"},"e22c":{"name":"Border Horizontal"},"e22d":{"name":"Border Inner"},"e22e":{"name":"Border Left"},"e22f":{"name":"Border Outer"},"e230":{"name":"Border Right"},"e231":{"name":"Border Style"},"e232":{"name":"Border Top"},"e233":{"name":"Border Vertical"},"e06b":{"name":"Branding Watermark"},"e3a6":{"name":"Brightness 1"},"e3a7":{"name":"Brightness 2"},"e3a8":{"name":"Brightness 3"},"e3a9":{"name":"Brightness 4"},"e3aa":{"name":"Brightness 5"},"e3ab":{"name":"Brightness 6"},"e3ac":{"name":"Brightness 7"},"e1ab":{"name":"Brightness Auto"},"e1ac":{"name":"Brightness High"},"e1ad":{"name":"Brightness Low"},"e1ae":{"name":"Brightness Medium"},"e3ad":{"name":"Broken Image"},"e3ae":{"name":"Brush"},"e6dd":{"name":"Bubble Chart"},"e868":{"name":"Bug Report"},"e869":{"name":"Build"},"e43c":{"name":"Burst Mode"},"e0af":{"name":"Business"},"eb3f":{"name":"Business Center"},"e86a":{"name":"Cached"},"e7e9":{"name":"Cake"},"e0b0":{"name":"Call"},"e0b1":{"name":"Call End"},"e0b2":{"name":"Call Made"},"e0b3":{"name":"Call Merge"},"e0b4":{"name":"Call Missed"},"e0e4":{"name":"Call Missed Outgoing"},"e0b5":{"name":"Call Received"},"e0b6":{"name":"Call Split"},"e06c":{"name":"Call To Action"},"e3af":{"name":"Camera"},"e3b0":{"name":"Camera Alt"},"e8fc":{"name":"Camera Enhance"},"e3b1":{"name":"Camera Front"},"e3b2":{"name":"Camera Rear"},"e3b3":{"name":"Camera Roll"},"e5c9":{"name":"Cancel"},"e8f6":{"name":"Card Giftcard"},"e8f7":{"name":"Card Membership"},"e8f8":{"name":"Card Travel"},"eb40":{"name":"Casino"},"e307":{"name":"Cast"},"e308":{"name":"Cast Connected"},"e3b4":{"name":"Center Focus Strong"},"e3b5":{"name":"Center Focus Weak"},"e86b":{"name":"Change History"},"e0b7":{"name":"Chat"},"e0ca":{"name":"Chat Bubble"},"e0cb":{"name":"Chat Bubble Outline"},"e5ca":{"name":"Check"},"e834":{"name":"Check Box"},"e835":{"name":"Check Box Outline Blank"},"e86c":{"name":"Check Circle"},"e5cb":{"name":"Chevron Left"},"e5cc":{"name":"Chevron Right"},"eb41":{"name":"Child Care"},"eb42":{"name":"Child Friendly"},"e86d":{"name":"Chrome Reader Mode"},"e86e":{"name":"Class"},"e14c":{"name":"Clear"},"e0b8":{"name":"Clear All"},"e5cd":{"name":"Close"},"e01c":{"name":"Closed Caption"},"e2bd":{"name":"Cloud"},"e2be":{"name":"Cloud Circle"},"e2bf":{"name":"Cloud Done"},"e2c0":{"name":"Cloud Download"},"e2c1":{"name":"Cloud Off"},"e2c2":{"name":"Cloud Queue"},"e2c3":{"name":"Cloud Upload"},"e86f":{"name":"Code"},"e3b6":{"name":"Collections"},"e431":{"name":"Collections Bookmark"},"e3b7":{"name":"Color Lens"},"e3b8":{"name":"Colorize"},"e0b9":{"name":"Comment"},"e3b9":{"name":"Compare"},"e915":{"name":"Compare Arrows"},"e30a":{"name":"Computer"},"e638":{"name":"Confirmation Number"},"e0d0":{"name":"Contact Mail"},"e0cf":{"name":"Contact Phone"},"e0ba":{"name":"Contacts"},"e14d":{"name":"Content Copy"},"e14e":{"name":"Content Cut"},"e14f":{"name":"Content Paste"},"e3ba":{"name":"Control Point"},"e3bb":{"name":"Control Point Duplicate"},"e90c":{"name":"Copyright"},"e150":{"name":"Create"},"e2cc":{"name":"Create New Folder"},"e870":{"name":"Credit Card"},"e3be":{"name":"Crop"},"e3bc":{"name":"Crop 16 9"},"e3bd":{"name":"Crop 3 2"},"e3bf":{"name":"Crop 5 4"},"e3c0":{"name":"Crop 7 5"},"e3c1":{"name":"Crop Din"},"e3c2":{"name":"Crop Free"},"e3c3":{"name":"Crop Landscape"},"e3c4":{"name":"Crop Original"},"e3c5":{"name":"Crop Portrait"},"e437":{"name":"Crop Rotate"},"e3c6":{"name":"Crop Square"},"e871":{"name":"Dashboard"},"e1af":{"name":"Data Usage"},"e916":{"name":"Date Range"},"e3c7":{"name":"Dehaze"},"e872":{"name":"Delete"},"e92b":{"name":"Delete Forever"},"e16c":{"name":"Delete Sweep"},"e873":{"name":"Description"},"e30b":{"name":"Desktop Mac"},"e30c":{"name":"Desktop Windows"},"e3c8":{"name":"Details"},"e30d":{"name":"Developer Board"},"e1b0":{"name":"Developer Mode"},"e335":{"name":"Device Hub"},"e1b1":{"name":"Devices"},"e337":{"name":"Devices Other"},"e0bb":{"name":"Dialer Sip"},"e0bc":{"name":"Dialpad"},"e52e":{"name":"Directions"},"e52f":{"name":"Directions Bike"},"e532":{"name":"Directions Boat"},"e530":{"name":"Directions Bus"},"e531":{"name":"Directions Car"},"e534":{"name":"Directions Railway"},"e566":{"name":"Directions Run"},"e533":{"name":"Directions Subway"},"e535":{"name":"Directions Transit"},"e536":{"name":"Directions Walk"},"e610":{"name":"Disc Full"},"e875":{"name":"Dns"},"e612":{"name":"Do Not Disturb"},"e611":{"name":"Do Not Disturb Alt"},"e643":{"name":"Do Not Disturb Off"},"e644":{"name":"Do Not Disturb On"},"e30e":{"name":"Dock"},"e7ee":{"name":"Domain"},"e876":{"name":"Done"},"e877":{"name":"Done All"},"e917":{"name":"Donut Large"},"e918":{"name":"Donut Small"},"e151":{"name":"Drafts"},"e25d":{"name":"Drag Handle"},"e613":{"name":"Drive Eta"},"e1b2":{"name":"Dvr"},"e3c9":{"name":"Edit"},"e568":{"name":"Edit Location"},"e8fb":{"name":"Eject"},"e0be":{"name":"Email"},"e63f":{"name":"Enhanced Encryption"},"e01d":{"name":"Equalizer"},"e000":{"name":"Error"},"e001":{"name":"Error Outline"},"e926":{"name":"Euro Symbol"},"e56d":{"name":"Ev Station"},"e878":{"name":"Event"},"e614":{"name":"Event Available"},"e615":{"name":"Event Busy"},"e616":{"name":"Event Note"},"e903":{"name":"Event Seat"},"e879":{"name":"Exit To App"},"e5ce":{"name":"Expand Less"},"e5cf":{"name":"Expand More"},"e01e":{"name":"Explicit"},"e87a":{"name":"Explore"},"e3ca":{"name":"Exposure"},"e3cb":{"name":"Exposure Neg 1"},"e3cc":{"name":"Exposure Neg 2"},"e3cd":{"name":"Exposure Plus 1"},"e3ce":{"name":"Exposure Plus 2"},"e3cf":{"name":"Exposure Zero"},"e87b":{"name":"Extension"},"e87c":{"name":"Face"},"e01f":{"name":"Fast Forward"},"e020":{"name":"Fast Rewind"},"e87d":{"name":"Favorite"},"e87e":{"name":"Favorite Border"},"e06d":{"name":"Featured Play List"},"e06e":{"name":"Featured Video"},"e87f":{"name":"Feedback"},"e05d":{"name":"Fiber Dvr"},"e061":{"name":"Fiber Manual Record"},"e05e":{"name":"Fiber New"},"e06a":{"name":"Fiber Pin"},"e062":{"name":"Fiber Smart Record"},"e2c4":{"name":"File Download"},"e2c6":{"name":"File Upload"},"e3d3":{"name":"Filter"},"e3d0":{"name":"Filter 1"},"e3d1":{"name":"Filter 2"},"e3d2":{"name":"Filter 3"},"e3d4":{"name":"Filter 4"},"e3d5":{"name":"Filter 5"},"e3d6":{"name":"Filter 6"},"e3d7":{"name":"Filter 7"},"e3d8":{"name":"Filter 8"},"e3d9":{"name":"Filter 9"},"e3da":{"name":"Filter 9 Plus"},"e3db":{"name":"Filter B And W"},"e3dc":{"name":"Filter Center Focus"},"e3dd":{"name":"Filter Drama"},"e3de":{"name":"Filter Frames"},"e3df":{"name":"Filter Hdr"},"e152":{"name":"Filter List"},"e3e0":{"name":"Filter None"},"e3e2":{"name":"Filter Tilt Shift"},"e3e3":{"name":"Filter Vintage"},"e880":{"name":"Find In Page"},"e881":{"name":"Find Replace"},"e90d":{"name":"Fingerprint"},"e5dc":{"name":"First Page"},"eb43":{"name":"Fitness Center"},"e153":{"name":"Flag"},"e3e4":{"name":"Flare"},"e3e5":{"name":"Flash Auto"},"e3e6":{"name":"Flash Off"},"e3e7":{"name":"Flash On"},"e539":{"name":"Flight"},"e904":{"name":"Flight Land"},"e905":{"name":"Flight Takeoff"},"e3e8":{"name":"Flip"},"e882":{"name":"Flip To Back"},"e883":{"name":"Flip To Front"},"e2c7":{"name":"Folder"},"e2c8":{"name":"Folder Open"},"e2c9":{"name":"Folder Shared"},"e617":{"name":"Folder Special"},"e167":{"name":"Font Download"},"e234":{"name":"Format Align Center"},"e235":{"name":"Format Align Justify"},"e236":{"name":"Format Align Left"},"e237":{"name":"Format Align Right"},"e238":{"name":"Format Bold"},"e239":{"name":"Format Clear"},"e23a":{"name":"Format Color Fill"},"e23b":{"name":"Format Color Reset"},"e23c":{"name":"Format Color Text"},"e23d":{"name":"Format Indent Decrease"},"e23e":{"name":"Format Indent Increase"},"e23f":{"name":"Format Italic"},"e240":{"name":"Format Line Spacing"},"e241":{"name":"Format List Bulleted"},"e242":{"name":"Format List Numbered"},"e243":{"name":"Format Paint"},"e244":{"name":"Format Quote"},"e25e":{"name":"Format Shapes"},"e245":{"name":"Format Size"},"e246":{"name":"Format Strikethrough"},"e247":{"name":"Format Textdirection L To R"},"e248":{"name":"Format Textdirection R To L"},"e249":{"name":"Format Underlined"},"e0bf":{"name":"Forum"},"e154":{"name":"Forward"},"e056":{"name":"Forward 10"},"e057":{"name":"Forward 30"},"e058":{"name":"Forward 5"},"eb44":{"name":"Free Breakfast"},"e5d0":{"name":"Fullscreen"},"e5d1":{"name":"Fullscreen Exit"},"e24a":{"name":"Functions"},"e927":{"name":"G Translate"},"e30f":{"name":"Gamepad"},"e021":{"name":"Games"},"e90e":{"name":"Gavel"},"e155":{"name":"Gesture"},"e884":{"name":"Get App"},"e908":{"name":"Gif"},"eb45":{"name":"Golf Course"},"e1b3":{"name":"Gps Fixed"},"e1b4":{"name":"Gps Not Fixed"},"e1b5":{"name":"Gps Off"},"e885":{"name":"Grade"},"e3e9":{"name":"Gradient"},"e3ea":{"name":"Grain"},"e1b8":{"name":"Graphic Eq"},"e3eb":{"name":"Grid Off"},"e3ec":{"name":"Grid On"},"e7ef":{"name":"Group"},"e7f0":{"name":"Group Add"},"e886":{"name":"Group Work"},"e052":{"name":"Hd"},"e3ed":{"name":"Hdr Off"},"e3ee":{"name":"Hdr On"},"e3f1":{"name":"Hdr Strong"},"e3f2":{"name":"Hdr Weak"},"e310":{"name":"Headset"},"e311":{"name":"Headset Mic"},"e3f3":{"name":"Healing"},"e023":{"name":"Hearing"},"e887":{"name":"Help"},"e8fd":{"name":"Help Outline"},"e024":{"name":"High Quality"},"e25f":{"name":"Highlight"},"e888":{"name":"Highlight Off"},"e889":{"name":"History"},"e88a":{"name":"Home"},"eb46":{"name":"Hot Tub"},"e53a":{"name":"Hotel"},"e88b":{"name":"Hourglass Empty"},"e88c":{"name":"Hourglass Full"},"e902":{"name":"Http"},"e88d":{"name":"Https"},"e3f4":{"name":"Image"},"e3f5":{"name":"Image Aspect Ratio"},"e0e0":{"name":"Import Contacts"},"e0c3":{"name":"Import Export"},"e912":{"name":"Important Devices"},"e156":{"name":"Inbox"},"e909":{"name":"Indeterminate Check Box"},"e88e":{"name":"Info"},"e88f":{"name":"Info Outline"},"e890":{"name":"Input"},"e24b":{"name":"Insert Chart"},"e24c":{"name":"Insert Comment"},"e24d":{"name":"Insert Drive File"},"e24e":{"name":"Insert Emoticon"},"e24f":{"name":"Insert Invitation"},"e250":{"name":"Insert Link"},"e251":{"name":"Insert Photo"},"e891":{"name":"Invert Colors"},"e0c4":{"name":"Invert Colors Off"},"e3f6":{"name":"Iso"},"e312":{"name":"Keyboard"},"e313":{"name":"Keyboard Arrow Down"},"e314":{"name":"Keyboard Arrow Left"},"e315":{"name":"Keyboard Arrow Right"},"e316":{"name":"Keyboard Arrow Up"},"e317":{"name":"Keyboard Backspace"},"e318":{"name":"Keyboard Capslock"},"e31a":{"name":"Keyboard Hide"},"e31b":{"name":"Keyboard Return"},"e31c":{"name":"Keyboard Tab"},"e31d":{"name":"Keyboard Voice"},"eb47":{"name":"Kitchen"},"e892":{"name":"Label"},"e893":{"name":"Label Outline"},"e3f7":{"name":"Landscape"},"e894":{"name":"Language"},"e31e":{"name":"Laptop"},"e31f":{"name":"Laptop Chromebook"},"e320":{"name":"Laptop Mac"},"e321":{"name":"Laptop Windows"},"e5dd":{"name":"Last Page"},"e895":{"name":"Launch"},"e53b":{"name":"Layers"},"e53c":{"name":"Layers Clear"},"e3f8":{"name":"Leak Add"},"e3f9":{"name":"Leak Remove"},"e3fa":{"name":"Lens"},"e02e":{"name":"Library Add"},"e02f":{"name":"Library Books"},"e030":{"name":"Library Music"},"e90f":{"name":"Lightbulb Outline"},"e919":{"name":"Line Style"},"e91a":{"name":"Line Weight"},"e260":{"name":"Linear Scale"},"e157":{"name":"Link"},"e438":{"name":"Linked Camera"},"e896":{"name":"List"},"e0c6":{"name":"Live Help"},"e639":{"name":"Live Tv"},"e53f":{"name":"Local Activity"},"e53d":{"name":"Local Airport"},"e53e":{"name":"Local Atm"},"e540":{"name":"Local Bar"},"e541":{"name":"Local Cafe"},"e542":{"name":"Local Car Wash"},"e543":{"name":"Local Convenience Store"},"e556":{"name":"Local Dining"},"e544":{"name":"Local Drink"},"e545":{"name":"Local Florist"},"e546":{"name":"Local Gas Station"},"e547":{"name":"Local Grocery Store"},"e548":{"name":"Local Hospital"},"e549":{"name":"Local Hotel"},"e54a":{"name":"Local Laundry Service"},"e54b":{"name":"Local Library"},"e54c":{"name":"Local Mall"},"e54d":{"name":"Local Movies"},"e54e":{"name":"Local Offer"},"e54f":{"name":"Local Parking"},"e550":{"name":"Local Pharmacy"},"e551":{"name":"Local Phone"},"e552":{"name":"Local Pizza"},"e553":{"name":"Local Play"},"e554":{"name":"Local Post Office"},"e555":{"name":"Local Printshop"},"e557":{"name":"Local See"},"e558":{"name":"Local Shipping"},"e559":{"name":"Local Taxi"},"e7f1":{"name":"Location City"},"e1b6":{"name":"Location Disabled"},"e0c7":{"name":"Location Off"},"e0c8":{"name":"Location On"},"e1b7":{"name":"Location Searching"},"e897":{"name":"Lock"},"e898":{"name":"Lock Open"},"e899":{"name":"Lock Outline"},"e3fc":{"name":"Looks"},"e3fb":{"name":"Looks 3"},"e3fd":{"name":"Looks 4"},"e3fe":{"name":"Looks 5"},"e3ff":{"name":"Looks 6"},"e400":{"name":"Looks One"},"e401":{"name":"Looks Two"},"e028":{"name":"Loop"},"e402":{"name":"Loupe"},"e16d":{"name":"Low Priority"},"e89a":{"name":"Loyalty"},"e158":{"name":"Mail"},"e0e1":{"name":"Mail Outline"},"e55b":{"name":"Map"},"e159":{"name":"Markunread"},"e89b":{"name":"Markunread Mailbox"},"e322":{"name":"Memory"},"e5d2":{"name":"Menu"},"e252":{"name":"Merge Type"},"e0c9":{"name":"Message"},"e029":{"name":"Mic"},"e02a":{"name":"Mic None"},"e02b":{"name":"Mic Off"},"e618":{"name":"Mms"},"e253":{"name":"Mode Comment"},"e254":{"name":"Mode Edit"},"e263":{"name":"Monetization On"},"e25c":{"name":"Money Off"},"e403":{"name":"Monochrome Photos"},"e7f2":{"name":"Mood"},"e7f3":{"name":"Mood Bad"},"e619":{"name":"More"},"e5d3":{"name":"More Horiz"},"e5d4":{"name":"More Vert"},"e91b":{"name":"Motorcycle"},"e323":{"name":"Mouse"},"e168":{"name":"Move To Inbox"},"e02c":{"name":"Movie"},"e404":{"name":"Movie Creation"},"e43a":{"name":"Movie Filter"},"e6df":{"name":"Multiline Chart"},"e405":{"name":"Music Note"},"e063":{"name":"Music Video"},"e55c":{"name":"My Location"},"e406":{"name":"Nature"},"e407":{"name":"Nature People"},"e408":{"name":"Navigate Before"},"e409":{"name":"Navigate Next"},"e55d":{"name":"Navigation"},"e569":{"name":"Near Me"},"e1b9":{"name":"Network Cell"},"e640":{"name":"Network Check"},"e61a":{"name":"Network Locked"},"e1ba":{"name":"Network Wifi"},"e031":{"name":"New Releases"},"e16a":{"name":"Next Week"},"e1bb":{"name":"Nfc"},"e641":{"name":"No Encryption"},"e0cc":{"name":"No Sim"},"e033":{"name":"Not Interested"},"e06f":{"name":"Note"},"e89c":{"name":"Note Add"},"e7f4":{"name":"Notifications"},"e7f7":{"name":"Notifications Active"},"e7f5":{"name":"Notifications None"},"e7f6":{"name":"Notifications Off"},"e7f8":{"name":"Notifications Paused"},"e90a":{"name":"Offline Pin"},"e63a":{"name":"Ondemand Video"},"e91c":{"name":"Opacity"},"e89d":{"name":"Open In Browser"},"e89e":{"name":"Open In New"},"e89f":{"name":"Open With"},"e7f9":{"name":"Pages"},"e8a0":{"name":"Pageview"},"e40a":{"name":"Palette"},"e925":{"name":"Pan Tool"},"e40b":{"name":"Panorama"},"e40c":{"name":"Panorama Fish Eye"},"e40d":{"name":"Panorama Horizontal"},"e40e":{"name":"Panorama Vertical"},"e40f":{"name":"Panorama Wide Angle"},"e7fa":{"name":"Party Mode"},"e034":{"name":"Pause"},"e035":{"name":"Pause Circle Filled"},"e036":{"name":"Pause Circle Outline"},"e8a1":{"name":"Payment"},"e7fb":{"name":"People"},"e7fc":{"name":"People Outline"},"e8a2":{"name":"Perm Camera Mic"},"e8a3":{"name":"Perm Contact Calendar"},"e8a4":{"name":"Perm Data Setting"},"e8a5":{"name":"Perm Device Information"},"e8a6":{"name":"Perm Identity"},"e8a7":{"name":"Perm Media"},"e8a8":{"name":"Perm Phone Msg"},"e8a9":{"name":"Perm Scan Wifi"},"e7fd":{"name":"Person"},"e7fe":{"name":"Person Add"},"e7ff":{"name":"Person Outline"},"e55a":{"name":"Person Pin"},"e56a":{"name":"Person Pin Circle"},"e63b":{"name":"Personal Video"},"e91d":{"name":"Pets"},"e0cd":{"name":"Phone"},"e324":{"name":"Phone Android"},"e61b":{"name":"Phone Bluetooth Speaker"},"e61c":{"name":"Phone Forwarded"},"e61d":{"name":"Phone In Talk"},"e325":{"name":"Phone Iphone"},"e61e":{"name":"Phone Locked"},"e61f":{"name":"Phone Missed"},"e620":{"name":"Phone Paused"},"e326":{"name":"Phonelink"},"e0db":{"name":"Phonelink Erase"},"e0dc":{"name":"Phonelink Lock"},"e327":{"name":"Phonelink Off"},"e0dd":{"name":"Phonelink Ring"},"e0de":{"name":"Phonelink Setup"},"e410":{"name":"Photo"},"e411":{"name":"Photo Album"},"e412":{"name":"Photo Camera"},"e43b":{"name":"Photo Filter"},"e413":{"name":"Photo Library"},"e432":{"name":"Photo Size Select Actual"},"e433":{"name":"Photo Size Select Large"},"e434":{"name":"Photo Size Select Small"},"e415":{"name":"Picture As Pdf"},"e8aa":{"name":"Picture In Picture"},"e911":{"name":"Picture In Picture Alt"},"e6c4":{"name":"Pie Chart"},"e6c5":{"name":"Pie Chart Outlined"},"e55e":{"name":"Pin Drop"},"e55f":{"name":"Place"},"e037":{"name":"Play Arrow"},"e038":{"name":"Play Circle Filled"},"e039":{"name":"Play Circle Outline"},"e906":{"name":"Play For Work"},"e03b":{"name":"Playlist Add"},"e065":{"name":"Playlist Add Check"},"e05f":{"name":"Playlist Play"},"e800":{"name":"Plus One"},"e801":{"name":"Poll"},"e8ab":{"name":"Polymer"},"eb48":{"name":"Pool"},"e0ce":{"name":"Portable Wifi Off"},"e416":{"name":"Portrait"},"e63c":{"name":"Power"},"e336":{"name":"Power Input"},"e8ac":{"name":"Power Settings New"},"e91e":{"name":"Pregnant Woman"},"e0df":{"name":"Present To All"},"e8ad":{"name":"Print"},"e645":{"name":"Priority High"},"e80b":{"name":"Public"},"e255":{"name":"Publish"},"e8ae":{"name":"Query Builder"},"e8af":{"name":"Question Answer"},"e03c":{"name":"Queue"},"e03d":{"name":"Queue Music"},"e066":{"name":"Queue Play Next"},"e03e":{"name":"Radio"},"e837":{"name":"Radio Button Checked"},"e836":{"name":"Radio Button Unchecked"},"e560":{"name":"Rate Review"},"e8b0":{"name":"Receipt"},"e03f":{"name":"Recent Actors"},"e91f":{"name":"Record Voice Over"},"e8b1":{"name":"Redeem"},"e15a":{"name":"Redo"},"e5d5":{"name":"Refresh"},"e15b":{"name":"Remove"},"e15c":{"name":"Remove Circle"},"e15d":{"name":"Remove Circle Outline"},"e067":{"name":"Remove From Queue"},"e417":{"name":"Remove Red Eye"},"e928":{"name":"Remove Shopping Cart"},"e8fe":{"name":"Reorder"},"e040":{"name":"Repeat"},"e041":{"name":"Repeat One"},"e042":{"name":"Replay"},"e059":{"name":"Replay 10"},"e05a":{"name":"Replay 30"},"e05b":{"name":"Replay 5"},"e15e":{"name":"Reply"},"e15f":{"name":"Reply All"},"e160":{"name":"Report"},"e8b2":{"name":"Report Problem"},"e56c":{"name":"Restaurant"},"e561":{"name":"Restaurant Menu"},"e8b3":{"name":"Restore"},"e929":{"name":"Restore Page"},"e0d1":{"name":"Ring Volume"},"e8b4":{"name":"Room"},"eb49":{"name":"Room Service"},"e418":{"name":"Rotate 90 Degrees Ccw"},"e419":{"name":"Rotate Left"},"e41a":{"name":"Rotate Right"},"e920":{"name":"Rounded Corner"},"e328":{"name":"Router"},"e921":{"name":"Rowing"},"e0e5":{"name":"Rss Feed"},"e642":{"name":"Rv Hookup"},"e562":{"name":"Satellite"},"e161":{"name":"Save"},"e329":{"name":"Scanner"},"e8b5":{"name":"Schedule"},"e80c":{"name":"School"},"e1be":{"name":"Screen Lock Landscape"},"e1bf":{"name":"Screen Lock Portrait"},"e1c0":{"name":"Screen Lock Rotation"},"e1c1":{"name":"Screen Rotation"},"e0e2":{"name":"Screen Share"},"e623":{"name":"Sd Card"},"e1c2":{"name":"Sd Storage"},"e8b6":{"name":"Search"},"e32a":{"name":"Security"},"e162":{"name":"Select All"},"e163":{"name":"Send"},"e811":{"name":"Sentiment Dissatisfied"},"e812":{"name":"Sentiment Neutral"},"e813":{"name":"Sentiment Satisfied"},"e814":{"name":"Sentiment Very Dissatisfied"},"e815":{"name":"Sentiment Very Satisfied"},"e8b8":{"name":"Settings"},"e8b9":{"name":"Settings Applications"},"e8ba":{"name":"Settings Backup Restore"},"e8bb":{"name":"Settings Bluetooth"},"e8bd":{"name":"Settings Brightness"},"e8bc":{"name":"Settings Cell"},"e8be":{"name":"Settings Ethernet"},"e8bf":{"name":"Settings Input Antenna"},"e8c0":{"name":"Settings Input Component"},"e8c1":{"name":"Settings Input Composite"},"e8c2":{"name":"Settings Input Hdmi"},"e8c3":{"name":"Settings Input Svideo"},"e8c4":{"name":"Settings Overscan"},"e8c5":{"name":"Settings Phone"},"e8c6":{"name":"Settings Power"},"e8c7":{"name":"Settings Remote"},"e1c3":{"name":"Settings System Daydream"},"e8c8":{"name":"Settings Voice"},"e80d":{"name":"Share"},"e8c9":{"name":"Shop"},"e8ca":{"name":"Shop Two"},"e8cb":{"name":"Shopping Basket"},"e8cc":{"name":"Shopping Cart"},"e261":{"name":"Short Text"},"e6e1":{"name":"Show Chart"},"e043":{"name":"Shuffle"},"e1c8":{"name":"Signal Cellular 4 Bar"},"e1cd":{"name":"Signal Cellular Connected No Internet 4 Bar"},"e1ce":{"name":"Signal Cellular No Sim"},"e1cf":{"name":"Signal Cellular Null"},"e1d0":{"name":"Signal Cellular Off"},"e1d8":{"name":"Signal Wifi 4 Bar"},"e1d9":{"name":"Signal Wifi 4 Bar Lock"},"e1da":{"name":"Signal Wifi Off"},"e32b":{"name":"Sim Card"},"e624":{"name":"Sim Card Alert"},"e044":{"name":"Skip Next"},"e045":{"name":"Skip Previous"},"e41b":{"name":"Slideshow"},"e068":{"name":"Slow Motion Video"},"e32c":{"name":"Smartphone"},"eb4a":{"name":"Smoke Free"},"eb4b":{"name":"Smoking Rooms"},"e625":{"name":"Sms"},"e626":{"name":"Sms Failed"},"e046":{"name":"Snooze"},"e164":{"name":"Sort"},"e053":{"name":"Sort By Alpha"},"eb4c":{"name":"Spa"},"e256":{"name":"Space Bar"},"e32d":{"name":"Speaker"},"e32e":{"name":"Speaker Group"},"e8cd":{"name":"Speaker Notes"},"e92a":{"name":"Speaker Notes Off"},"e0d2":{"name":"Speaker Phone"},"e8ce":{"name":"Spellcheck"},"e838":{"name":"Star"},"e83a":{"name":"Star Border"},"e839":{"name":"Star Half"},"e8d0":{"name":"Stars"},"e0d3":{"name":"Stay Current Landscape"},"e0d4":{"name":"Stay Current Portrait"},"e0d5":{"name":"Stay Primary Landscape"},"e0d6":{"name":"Stay Primary Portrait"},"e047":{"name":"Stop"},"e0e3":{"name":"Stop Screen Share"},"e1db":{"name":"Storage"},"e8d1":{"name":"Store"},"e563":{"name":"Store Mall Directory"},"e41c":{"name":"Straighten"},"e56e":{"name":"Streetview"},"e257":{"name":"Strikethrough S"},"e41d":{"name":"Style"},"e5d9":{"name":"Subdirectory Arrow Left"},"e5da":{"name":"Subdirectory Arrow Right"},"e8d2":{"name":"Subject"},"e064":{"name":"Subscriptions"},"e048":{"name":"Subtitles"},"e56f":{"name":"Subway"},"e8d3":{"name":"Supervisor Account"},"e049":{"name":"Surround Sound"},"e0d7":{"name":"Swap Calls"},"e8d4":{"name":"Swap Horiz"},"e8d5":{"name":"Swap Vert"},"e8d6":{"name":"Swap Vertical Circle"},"e41e":{"name":"Switch Camera"},"e41f":{"name":"Switch Video"},"e627":{"name":"Sync"},"e628":{"name":"Sync Disabled"},"e629":{"name":"Sync Problem"},"e62a":{"name":"System Update"},"e8d7":{"name":"System Update Alt"},"e8d8":{"name":"Tab"},"e8d9":{"name":"Tab Unselected"},"e32f":{"name":"Tablet"},"e330":{"name":"Tablet Android"},"e331":{"name":"Tablet Mac"},"e420":{"name":"Tag Faces"},"e62b":{"name":"Tap And Play"},"e564":{"name":"Terrain"},"e262":{"name":"Text Fields"},"e165":{"name":"Text Format"},"e0d8":{"name":"Textsms"},"e421":{"name":"Texture"},"e8da":{"name":"Theaters"},"e8db":{"name":"Thumb Down"},"e8dc":{"name":"Thumb Up"},"e8dd":{"name":"Thumbs Up Down"},"e62c":{"name":"Time To Leave"},"e422":{"name":"Timelapse"},"e922":{"name":"Timeline"},"e425":{"name":"Timer"},"e423":{"name":"Timer 10"},"e424":{"name":"Timer 3"},"e426":{"name":"Timer Off"},"e264":{"name":"Title"},"e8de":{"name":"Toc"},"e8df":{"name":"Today"},"e8e0":{"name":"Toll"},"e427":{"name":"Tonality"},"e913":{"name":"Touch App"},"e332":{"name":"Toys"},"e8e1":{"name":"Track Changes"},"e565":{"name":"Traffic"},"e570":{"name":"Train"},"e571":{"name":"Tram"},"e572":{"name":"Transfer Within A Station"},"e428":{"name":"Transform"},"e8e2":{"name":"Translate"},"e8e3":{"name":"Trending Down"},"e8e4":{"name":"Trending Flat"},"e8e5":{"name":"Trending Up"},"e429":{"name":"Tune"},"e8e6":{"name":"Turned In"},"e8e7":{"name":"Turned In Not"},"e333":{"name":"Tv"},"e169":{"name":"Unarchive"},"e166":{"name":"Undo"},"e5d6":{"name":"Unfold Less"},"e5d7":{"name":"Unfold More"},"e923":{"name":"Update"},"e1e0":{"name":"Usb"},"e8e8":{"name":"Verified User"},"e258":{"name":"Vertical Align Bottom"},"e259":{"name":"Vertical Align Center"},"e25a":{"name":"Vertical Align Top"},"e62d":{"name":"Vibration"},"e070":{"name":"Video Call"},"e071":{"name":"Video Label"},"e04a":{"name":"Video Library"},"e04b":{"name":"Videocam"},"e04c":{"name":"Videocam Off"},"e338":{"name":"Videogame Asset"},"e8e9":{"name":"View Agenda"},"e8ea":{"name":"View Array"},"e8eb":{"name":"View Carousel"},"e8ec":{"name":"View Column"},"e42a":{"name":"View Comfy"},"e42b":{"name":"View Compact"},"e8ed":{"name":"View Day"},"e8ee":{"name":"View Headline"},"e8ef":{"name":"View List"},"e8f0":{"name":"View Module"},"e8f1":{"name":"View Quilt"},"e8f2":{"name":"View Stream"},"e8f3":{"name":"View Week"},"e435":{"name":"Vignette"},"e8f4":{"name":"Visibility"},"e8f5":{"name":"Visibility Off"},"e62e":{"name":"Voice Chat"},"e0d9":{"name":"Voicemail"},"e04d":{"name":"Volume Down"},"e04e":{"name":"Volume Mute"},"e04f":{"name":"Volume Off"},"e050":{"name":"Volume Up"},"e0da":{"name":"Vpn Key"},"e62f":{"name":"Vpn Lock"},"e1bc":{"name":"Wallpaper"},"e002":{"name":"Warning"},"e334":{"name":"Watch"},"e924":{"name":"Watch Later"},"e42c":{"name":"Wb Auto"},"e42d":{"name":"Wb Cloudy"},"e42e":{"name":"Wb Incandescent"},"e436":{"name":"Wb Iridescent"},"e430":{"name":"Wb Sunny"},"e63d":{"name":"Wc"},"e051":{"name":"Web"},"e069":{"name":"Web Asset"},"e16b":{"name":"Weekend"},"e80e":{"name":"Whatshot"},"e1bd":{"name":"Widgets"},"e63e":{"name":"Wifi"},"e1e1":{"name":"Wifi Lock"},"e1e2":{"name":"Wifi Tethering"},"e8f9":{"name":"Work"},"e25b":{"name":"Wrap Text"},"e8fa":{"name":"Youtube Searched For"},"e8ff":{"name":"Zoom In"},"e900":{"name":"Zoom Out"},"e56b":{"name":"Zoom Out Map"}}}
\ No newline at end of file
diff --git a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.svg b/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.svg
deleted file mode 100644
index a449327e2..000000000
--- a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.svg
+++ /dev/null
@@ -1,2373 +0,0 @@
-
-
-
-
diff --git a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.ttf b/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.ttf
index 7015564ad..453b3e4cb 100644
Binary files a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.ttf and b/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.ttf differ
diff --git a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.woff b/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.woff
index b648a3eea..1d4ab090f 100644
Binary files a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.woff and b/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.woff differ
diff --git a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.woff2 b/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.woff2
index 9fa211252..071c249e8 100644
Binary files a/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.woff2 and b/app/webroot/css/fonts/material-icons/MaterialIcons-Regular.woff2 differ
diff --git a/app/webroot/js/comanage.js b/app/webroot/js/comanage.js
index c738985e2..61599ea21 100644
--- a/app/webroot/js/comanage.js
+++ b/app/webroot/js/comanage.js
@@ -78,53 +78,50 @@ function replaceTokens(text,replacements) {
return processedString;
}
-// Generate a dialog box confirming . On confirmation, forward to .
+// Generate a dialog box confirming . On confirmation, click a DOM element referenced by .
+// The clickId DOM element is intended to be a CakePHP postButton or postLink (which may be visually hidden).
// txt - body text (string, required)
-// url - forward url (string, required)
+// clickId - id of DOM element (string, required)
// confirmbtxt - confirm button text (string, optional)
// cancelbtxt - cancel button text (string, optional)
// titletxt - dialog title text (string, optional)
// tokenReplacements - strings to replace tokens in dialog body text (array, optional)
-function js_confirm_generic(txt, url, confirmbtxt, cancelbtxt, titletxt, tokenReplacements) {
+function js_confirm_generic(txt, clickId, confirmbtxt, cancelbtxt, titletxt, tokenReplacements) {
var bodyText = txt;
- var forwardUrl = url;
+ var clickId = clickId;
var confbutton = confirmbtxt;
var cxlbutton = cancelbtxt;
var title = titletxt;
var replacements = tokenReplacements;
-
+
// Perform token replacements on the body text if they exist
if (replacements != undefined) {
bodyText = replaceTokens(bodyText,replacements);
}
- // Set defaults for confirm, cancel, and title
- // Values for the default variables are set globally
- if(confbutton == undefined) {
- confbutton = defaultConfirmOk;
- }
- if(cxlbutton == undefined) {
- cxlbutton = defaultConfirmCancel;
- }
- if(title == undefined) {
- title = defaultConfirmTitle;
- }
-
// Set the title of the dialog
- $("#dialog").dialog("option", "title", title);
+ $("#dialog-title").text(title);
// Set the body text of the dialog
$("#dialog-text").text(bodyText);
- // Set the dialog buttons
- var dbuttons = {};
- dbuttons[cxlbutton] = function() { $(this).dialog("close"); };
- dbuttons[confbutton] = function() { window.location = forwardUrl; };
- $("#dialog").dialog("option", "buttons", dbuttons);
-
+ // Set the dialog confirmation button to click the DOM
+ // element referenced by the clickId
+ $("#dialog-confirm-button").click(function() {
+ $("#" + clickId).click();
+ });
+
+ // Override the button texts if set
+ if(confbutton != '') {
+ $("#dialog-confirm-button").text(confbutton);
+ }
+ if(cxlbutton != '') {
+ $("#dialog-cancel-button").text(cxlbutton);
+ }
+
// Open the dialog
- $('#dialog').dialog('open');
+ $("#dialog").modal('show');
}
// Generic goto page form handling for multi-page listings.