j1-template 2022.3.1 → 2022.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/modules/navigator/generator.html +1 -1
- data/assets/data/cookieconsent.html +4 -4
- data/assets/data/nbinteract.html +128 -0
- data/assets/data/quicklinks.html +15 -0
- data/assets/data/translator.html +15 -15
- data/assets/themes/j1/adapter/js/mmenu.js +25 -3
- data/assets/themes/j1/adapter/js/navigator.js +2 -2
- data/assets/themes/j1/adapter/js/nbinteract.js +230 -34
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +27 -54
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/js/template.js +14 -3
- data/assets/themes/j1/core/js/template.min.js +1 -1
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/nbInteract/js/nbinteract/nbinteract-core.js +1 -1
- data/assets/themes/j1/modules/nbInteract/js/nbinteract/nbinteract-core.js.map +1 -1
- data/assets/themes/j1/modules/nbInteract/js/nbinteract/nbinteract-core.min.js +1 -1
- data/lib/j1/version.rb +3 -3
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +51 -41
- data/lib/starter_web/_data/modules/defaults/navigator.yml +4 -0
- data/lib/starter_web/_data/modules/defaults/nbinteract.yml +95 -1
- data/lib/starter_web/_data/modules/defaults/translator.yml +24 -12
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/jupyter/docs/j1-nbinteract-doc.adoc +2 -3
- data/lib/starter_web/pages/public/jupyter/docs/nbinteract-doc.adoc +17 -17
- data/lib/starter_web/pages/public/jupyter/examples/j1-circular-times-table.adoc +7 -8
- data/lib/starter_web/pages/public/jupyter/examples/j1-interactive-widgets.adoc +4 -5
- data/lib/starter_web/pages/public/jupyter/examples/j1-odes-in-python.adoc +5 -6
- data/lib/starter_web/pages/public/jupyter/examples/j1-testing-plotly.adoc +3 -4
- data/lib/starter_web/pages/public/jupyter/examples/j1_climate-change-forecast.adoc +4 -4
- data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +26 -26
- data/lib/starter_web/pages/public/jupyter/notebooks/j1/j1_interactive_widgets.ipynb +26 -26
- data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +247 -0
- data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +18 -18
- data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +1 -2
- data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +18 -18
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +919 -919
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +473 -473
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +4 -2
@@ -106,6 +106,11 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
106
106
|
className: 'spinner', // CSS class assined to the spinner
|
107
107
|
position: 'fixed', // element positioning: absolute|fixed
|
108
108
|
};
|
109
|
+
|
110
|
+
var nbActions = {
|
111
|
+
"resetLocalStorage": true
|
112
|
+
};
|
113
|
+
|
109
114
|
var spinnerStarted = false; // switch to indicate a started spinner
|
110
115
|
var nbiContentModalInfoID = 'nbiModalInfoBody'; // ID of the content (messages) for the INFO modal
|
111
116
|
var nbiContentModalSuccessID = 'nbiModalSuccessBody'; // ID of the content (messages) for the SUCCESS modal
|
@@ -116,7 +121,8 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
116
121
|
var nbiModalErrorID = '#' + 'nbiModalTLDanger'; // ID of the ERROR modal
|
117
122
|
var nbinteract_prepared = false; // switch to indicate if ???
|
118
123
|
var nbiModalSuccessMessagesID = 'nbiModalSuccessMessages'; // UL contalner SUCCESS messages
|
119
|
-
var nbiModalErrorMessagesID = 'nbiModalErrorMessages'; // UL contalner ERROR
|
124
|
+
var nbiModalErrorMessagesID = 'nbiModalErrorMessages'; // UL contalner ERROR messages
|
125
|
+
var nbiCellsRendered = false; // flag indicates if all widgets in page are rendered
|
120
126
|
var nbiShowMessages; // switch to show NBI messages
|
121
127
|
var nbiIndicateNbiActivity; // switch to show a spinner while NBI is being initialized
|
122
128
|
var nbiModalAutoClose; // switch to auto-close nbi message modals
|
@@ -133,6 +139,10 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
133
139
|
var logger;
|
134
140
|
var coreLogger;
|
135
141
|
var logText;
|
142
|
+
var widgetCells;
|
143
|
+
var widgetCellsRendered;
|
144
|
+
var nbiNotebookReady;
|
145
|
+
var Events;
|
136
146
|
|
137
147
|
// ---------------------------------------------------------------------------
|
138
148
|
// Helper functions
|
@@ -148,6 +158,19 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
148
158
|
// -------------------------------------------------------------------------
|
149
159
|
init: function (options) {
|
150
160
|
|
161
|
+
// -----------------------------------------------------------------------
|
162
|
+
// global event handler
|
163
|
+
// -----------------------------------------------------------------------
|
164
|
+
Events = {
|
165
|
+
documentReady: function (onDocumentReady) {
|
166
|
+
if (document.readyState !== 'loading') {
|
167
|
+
onDocumentReady();
|
168
|
+
} else {
|
169
|
+
document.addEventListener('DOMContentLoaded', onDocumentReady);
|
170
|
+
}
|
171
|
+
}
|
172
|
+
};
|
173
|
+
|
151
174
|
// -----------------------------------------------------------------------
|
152
175
|
// Default module settings
|
153
176
|
// -----------------------------------------------------------------------
|
@@ -169,6 +192,7 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
169
192
|
nbiShowMessages = moduleOptions.show_nbi_messages;
|
170
193
|
nbiIndicateNbiActivity = moduleOptions.indicate_nbi_activity;
|
171
194
|
nbiInitMathJax = moduleOptions.nbi_init_mathjax;
|
195
|
+
nbiNotebookReady = moduleOptions.notebook_ready;
|
172
196
|
|
173
197
|
// -----------------------------------------------------------------------
|
174
198
|
// load|configure Mathjax
|
@@ -176,22 +200,25 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
176
200
|
if (nbiInitMathJax) {
|
177
201
|
_this.initMathJax();
|
178
202
|
}
|
203
|
+
// -----------------------------------------------------------------------
|
204
|
+
// load|configure NBI dialog (modal)
|
205
|
+
// -----------------------------------------------------------------------
|
206
|
+
_this.loadDialog(moduleOptions);
|
179
207
|
|
180
208
|
// -----------------------------------------------------------------------
|
181
|
-
// load
|
209
|
+
// load all modals (HTML portion) used by NBI
|
182
210
|
// -----------------------------------------------------------------------
|
183
211
|
_this.loadNbiModals();
|
184
212
|
|
185
213
|
// -----------------------------------------------------------------------
|
186
|
-
// load
|
214
|
+
// load all textbooks (HTML portion) configured|enabled
|
187
215
|
// -----------------------------------------------------------------------
|
188
216
|
_this.loadNbiTextbooks(moduleOptions);
|
189
217
|
|
190
|
-
//
|
218
|
+
// -----------------------------------------------------------------------
|
191
219
|
// run a spinner to indicate activity of 'nbInteract' if enabled
|
192
|
-
//
|
220
|
+
// -----------------------------------------------------------------------
|
193
221
|
$(document).ready(function() {
|
194
|
-
|
195
222
|
if (nbiIndicateNbiActivity && !spinnerStarted) {
|
196
223
|
spinnerStarted = true;
|
197
224
|
target = document.getElementById('content');
|
@@ -214,6 +241,19 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
214
241
|
// -----------------------------------------------------------------------
|
215
242
|
_this.interactNbiTextbooks(moduleOptions);
|
216
243
|
|
244
|
+
// toggle hide|show the FAB button, if to wait on 'last_widget' rendered
|
245
|
+
//
|
246
|
+
if (nbiNotebookReady == 'last_widget') {
|
247
|
+
var dependencies_met_page_rendered = setInterval(function() {
|
248
|
+
if (nbiCellsRendered) {
|
249
|
+
$('.fab-btn').show();
|
250
|
+
clearInterval(dependencies_met_page_rendered);
|
251
|
+
} else {
|
252
|
+
$('.fab-btn').hide();
|
253
|
+
}
|
254
|
+
}, 25); // END interval dependencies_met_page_rendered
|
255
|
+
}
|
256
|
+
|
217
257
|
}, // END init
|
218
258
|
|
219
259
|
// -------------------------------------------------------------------------
|
@@ -564,7 +604,7 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
564
604
|
|
565
605
|
// ------------------------------------------------------------------
|
566
606
|
// see: https://www.codingexercises.com/replace-all-instances-of-css-class-in-vanilla-js
|
567
|
-
// see: https://wiki.
|
607
|
+
// see: https://wiki.thishtml.org/wiki/JavaScript/Operatoren/Rest-_oder_Spread-Operator
|
568
608
|
// ------------------------------------------------------------------
|
569
609
|
|
570
610
|
// disable (Google) translation for all HTML 'output_wrapper' elements
|
@@ -1007,13 +1047,9 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
1007
1047
|
// -----------------------------------------------------------------------
|
1008
1048
|
|
1009
1049
|
// -----------------------------------------------------------------------
|
1010
|
-
// command|
|
1011
|
-
//
|
1012
|
-
if (message.type === 'command' && message.action === '
|
1013
|
-
|
1014
|
-
_this.setState('finished');
|
1015
|
-
logger.debug('\n' + 'state: ' + _this.getState());
|
1016
|
-
logger.info('\n' + 'initializing module finished');
|
1050
|
+
// command|nbi_init_started
|
1051
|
+
// -----------------------------------------------------------------------
|
1052
|
+
if (message.type === 'command' && message.action === 'nbi_init_started') {
|
1017
1053
|
|
1018
1054
|
if (nbiShowMessages) {
|
1019
1055
|
if (nbiModalAutoClose) {
|
@@ -1023,21 +1059,42 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
1023
1059
|
}
|
1024
1060
|
}
|
1025
1061
|
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1062
|
+
widgetCells = document.querySelectorAll('.output_widget_view').length;
|
1063
|
+
var dependencies_met_page_rendered = setInterval(function() {
|
1064
|
+
widgetCellsRendered = document.querySelectorAll('.widget-vbox').length;
|
1065
|
+
if (widgetCellsRendered >= widgetCells) {
|
1066
|
+
logger.info('\n' + 'widgets rendered in page (interactive|total) : ' + widgetCells + '|' + widgetCellsRendered);
|
1067
|
+
nbiCellsRendered = true;
|
1068
|
+
if (nbiIndicateNbiActivity) spinner.stop();
|
1069
|
+
_this.setState('finished');
|
1070
|
+
logger.debug('\n' + 'state: ' + _this.getState());
|
1071
|
+
logger.info('\n' + 'initializing module finished');
|
1072
|
+
|
1073
|
+
clearInterval(dependencies_met_page_rendered);
|
1074
|
+
}
|
1075
|
+
}, 25); // END interval dependencies_met_page_rendered
|
1029
1076
|
|
1030
|
-
|
1077
|
+
// ---------------------------------------------------------------------
|
1078
|
+
// show the quicklinks icon
|
1079
|
+
// ---------------------------------------------------------------------
|
1080
|
+
$('#quickLinksNotebookseButton').show();
|
1081
|
+
|
1082
|
+
} // END message command/nbi_init_started
|
1031
1083
|
|
1084
|
+
// -----------------------------------------------------------------------
|
1085
|
+
// command|mathjax
|
1086
|
+
// -----------------------------------------------------------------------
|
1032
1087
|
if (message.type === 'command' && message.action === 'mathjax') {
|
1033
1088
|
logger.error('\n' + 'New Math, ID: ' + message.text);
|
1034
1089
|
|
1035
|
-
MathJax
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1090
|
+
// Register a MathJax callback if page is FULLY rendered
|
1091
|
+
// TODO: Dosn't for now tha way !!!
|
1092
|
+
// MathJax.Hub.Startup.signal.Interest(function (message) {
|
1093
|
+
// logger.error("Startup: " + message)
|
1094
|
+
// if (message.contains('End')) {
|
1095
|
+
// logger.error("Startup: " + message)
|
1096
|
+
// }
|
1097
|
+
// });
|
1041
1098
|
|
1042
1099
|
var dependencies_met_mathjax_rendered = setInterval(function() {
|
1043
1100
|
var elm = document.getElementById('MathJax-Element-6' + '-Frame');
|
@@ -1051,15 +1108,23 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
1051
1108
|
clearInterval(dependencies_met_mathjax_rendered);
|
1052
1109
|
}, 25); // END interval dependencies_met_mathjax_rendered
|
1053
1110
|
|
1054
|
-
} // END message command/
|
1111
|
+
} // END message command/mathjax
|
1055
1112
|
|
1056
1113
|
// -----------------------------------------------------------------------
|
1057
|
-
//
|
1058
|
-
//
|
1114
|
+
// command|info
|
1115
|
+
// TODO: count messages contain 'Pulling image'.
|
1116
|
+
// Potentially a enless loop
|
1117
|
+
// -----------------------------------------------------------------------
|
1059
1118
|
if (message.type === 'command' && message.action === 'info') {
|
1060
1119
|
// var reMessageTS = new RegExp('/(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,9})?(?:Z|[+-][01]\d:[0-5]\d)/');
|
1061
1120
|
var messageTS;
|
1062
1121
|
|
1122
|
+
// widget render info messages for logging
|
1123
|
+
//
|
1124
|
+
if (message.text.includes('Displaying widget') || message.text.includes('First widget')) {
|
1125
|
+
logger.debug('\n' + message.text);
|
1126
|
+
}
|
1127
|
+
|
1063
1128
|
// remove timestamp|loglevel from message if exists
|
1064
1129
|
//
|
1065
1130
|
messageTS = message.text.split('] ')[1];
|
@@ -1068,7 +1133,6 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
1068
1133
|
}
|
1069
1134
|
|
1070
1135
|
_this.appendModalMessage(messageSuccessUL, message.text)
|
1071
|
-
|
1072
1136
|
logger.debug('\n' + message.text);
|
1073
1137
|
|
1074
1138
|
// show the info modal
|
@@ -1083,10 +1147,24 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
1083
1147
|
|
1084
1148
|
// -----------------------------------------------------------------------
|
1085
1149
|
// command|error
|
1086
|
-
//
|
1150
|
+
// -----------------------------------------------------------------------
|
1087
1151
|
if (message.type === 'command' && message.action === 'error') {
|
1088
1152
|
var messageTS;
|
1089
1153
|
|
1154
|
+
if (messageTS.contains('Too many users') || messageTS.contains('Insufficent nodes')) {
|
1155
|
+
var modaBodyText = `
|
1156
|
+
The <i>Binder Service</i> is currently not available or is overloaded.
|
1157
|
+
All interactive components on the page are <b>not</b> available.
|
1158
|
+
You can reload the page or re-open later again.
|
1159
|
+
`;
|
1160
|
+
logger.error('\n', 'Binder access: failed');
|
1161
|
+
if ($(nbiModalTRInfo).is(':hidden')) {
|
1162
|
+
document.getElementById('nbiModalTRInfoBody').innerHTML = modaBodyText;
|
1163
|
+
$(nbiModalTRInfo).modal('show');
|
1164
|
+
}
|
1165
|
+
return;
|
1166
|
+
}
|
1167
|
+
|
1090
1168
|
// remove timestamp|loglevel from message if exists
|
1091
1169
|
//
|
1092
1170
|
messageTS = message.text.split('] ')[1];
|
@@ -1095,14 +1173,13 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
1095
1173
|
}
|
1096
1174
|
|
1097
1175
|
_this.appendModalMessage(messageErrorUL, message.text)
|
1098
|
-
|
1099
1176
|
logger.error('\n' + message.text);
|
1100
1177
|
|
1101
|
-
// stop the (progress) spinner
|
1178
|
+
// stop the (progress) spinner
|
1102
1179
|
//
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1180
|
+
if (moduleOptions.indicate_nbi_activity) {
|
1181
|
+
spinner.stop();
|
1182
|
+
}
|
1106
1183
|
|
1107
1184
|
if (nbiShowMessages) {
|
1108
1185
|
// hide the info modal if shown
|
@@ -1189,6 +1266,125 @@ j1.adapter.nbinteract = (function (j1, window) {
|
|
1189
1266
|
});
|
1190
1267
|
|
1191
1268
|
}, // END checkURL
|
1269
|
+
|
1270
|
+
// -------------------------------------------------------------------------
|
1271
|
+
// loadDialog()
|
1272
|
+
// Loads the NBI dialog (modal)
|
1273
|
+
// -------------------------------------------------------------------------
|
1274
|
+
loadDialog: function (options) {
|
1275
|
+
Events.documentReady(function () {
|
1276
|
+
|
1277
|
+
_this.modal = document.getElementById(options.dialogContainerID);
|
1278
|
+
if (!_this.modal) {
|
1279
|
+
logger.info('\n' + 'load consent modal');
|
1280
|
+
|
1281
|
+
_this.modal = document.createElement('div');
|
1282
|
+
_this.modal.id = options.dialogContainerID;
|
1283
|
+
_this.modal.style.display = 'none';
|
1284
|
+
|
1285
|
+
_this.modal.setAttribute('class', 'modal fade');
|
1286
|
+
_this.modal.setAttribute('tabindex', '-1');
|
1287
|
+
_this.modal.setAttribute('role', 'dialog');
|
1288
|
+
_this.modal.setAttribute('aria-labelledby', options.dialogContainerID);
|
1289
|
+
document.body.append(_this.modal);
|
1290
|
+
_this.$modal = $(_this.modal);
|
1291
|
+
|
1292
|
+
// -------------------------------------------------------------------
|
1293
|
+
// load|initialize the dialog (modal content)
|
1294
|
+
// -------------------------------------------------------------------
|
1295
|
+
var templateUrl = options.contentURL + '/' + 'index.html';
|
1296
|
+
$.get(templateUrl)
|
1297
|
+
.done(function (data) {
|
1298
|
+
// load ALL modals HTML
|
1299
|
+
_this.modal.innerHTML = data;
|
1300
|
+
// select only the requested modal
|
1301
|
+
_this.modal.innerHTML = $('#' + options.xhrDataElement).eq(0).html();
|
1302
|
+
|
1303
|
+
// set dialog type to 'modal'
|
1304
|
+
//
|
1305
|
+
$(_this.modal).modal({
|
1306
|
+
backdrop: 'static',
|
1307
|
+
keyboard: false
|
1308
|
+
});
|
1309
|
+
|
1310
|
+
// register all button links
|
1311
|
+
//
|
1312
|
+
_this.$buttonDoNotAgree = $('#nbi-buttonDoNotAgree');
|
1313
|
+
_this.$buttonAgree = $('#nbi-buttonAgree');
|
1314
|
+
_this.$buttonSave = $('#nbi-buttonSave');
|
1315
|
+
_this.$buttonAgreeAll = $('#nbi-buttonAgreeAll');
|
1316
|
+
|
1317
|
+
// register all actions
|
1318
|
+
//
|
1319
|
+
_this.registerActions();
|
1320
|
+
|
1321
|
+
// register button event handler
|
1322
|
+
//
|
1323
|
+
_this.$buttonDoNotAgree.click(function () {
|
1324
|
+
_this.doNotAgree();
|
1325
|
+
});
|
1326
|
+
|
1327
|
+
_this.$buttonAgree.click(function () {
|
1328
|
+
_this.agreeAll();
|
1329
|
+
});
|
1330
|
+
})
|
1331
|
+
.fail(function () {
|
1332
|
+
logger.error('\n' + 'loading nbi dialog (modal): failed');
|
1333
|
+
logger.warn('\n' + 'probably no|wrong `contentURL` set');
|
1334
|
+
});
|
1335
|
+
}
|
1336
|
+
}.bind(_this));
|
1337
|
+
}, // END loadDialog
|
1338
|
+
|
1339
|
+
// -------------------------------------------------------------------------
|
1340
|
+
// showDialog()
|
1341
|
+
// Show the NBI dialog (modal)
|
1342
|
+
// -------------------------------------------------------------------------
|
1343
|
+
showDialog: function () {
|
1344
|
+
this.$modal.modal('show');
|
1345
|
+
}, // END showDialog
|
1346
|
+
|
1347
|
+
// -------------------------------------------------------------------------
|
1348
|
+
// registerActions()
|
1349
|
+
// register actions to run
|
1350
|
+
// -------------------------------------------------------------------------
|
1351
|
+
registerActions: function () {
|
1352
|
+
|
1353
|
+
$('input:checkbox[name="checkboxClearLocalStorage"]').on('click', function (e) {
|
1354
|
+
nbActions.resetLocalStorage = $(this).is(':checked');
|
1355
|
+
logText = '\n' + 'action ClearLocalStorage changed to: ' + value;
|
1356
|
+
logger.info(logText);
|
1357
|
+
|
1358
|
+
e.stopPropagation();
|
1359
|
+
});
|
1360
|
+
|
1361
|
+
}, // END registerActions
|
1362
|
+
|
1363
|
+
// -------------------------------------------------------------------------
|
1364
|
+
// doNotAgree()
|
1365
|
+
// action to run ...
|
1366
|
+
// -------------------------------------------------------------------------
|
1367
|
+
doNotAgree: function (elmID, msg) {
|
1368
|
+
_this.$modal.modal('hide');
|
1369
|
+
}, // END doNotAgree
|
1370
|
+
|
1371
|
+
// -------------------------------------------------------------------------
|
1372
|
+
// agreeAll()
|
1373
|
+
// caction to run ...
|
1374
|
+
// -------------------------------------------------------------------------
|
1375
|
+
agreeAll: function (elmID, msg) {
|
1376
|
+
|
1377
|
+
if (nbActions.resetLocalStorage) {
|
1378
|
+
logText = '\n' + 'run action: "Clear Binder Settings"';
|
1379
|
+
logger.info(logText);
|
1380
|
+
localStorage.removeItem('serverParams');
|
1381
|
+
localStorage.removeItem('kernelId');
|
1382
|
+
}
|
1383
|
+
|
1384
|
+
_this.$modal.modal('hide');
|
1385
|
+
location.reload(true);
|
1386
|
+
}, // END agreeAll
|
1387
|
+
|
1192
1388
|
// -------------------------------------------------------------------------
|
1193
1389
|
// appendModalMessage()
|
1194
1390
|
// Appends a message to given (NBI) modal
|
@@ -25186,15 +25186,16 @@ li.dropdown.nav-item.nav-sub-item:before {
|
|
25186
25186
|
transition: all 1s ease-in-out;
|
25187
25187
|
background-color: transparent;
|
25188
25188
|
border-bottom: 0; }
|
25189
|
+
nav.navbar.navigator.navbar-transparent .quicklink-nav {
|
25190
|
+
padding-left: 15px;
|
25191
|
+
margin-left: 30px; }
|
25189
25192
|
nav.navbar.navigator.navbar-transparent.light {
|
25190
25193
|
background-color: rgba(255, 255, 255, 0.3); }
|
25191
25194
|
nav.navbar.navigator.navbar-transparent.dark {
|
25192
25195
|
background-color: rgba(0, 0, 0, 0.3); }
|
25193
25196
|
nav.navbar.navigator.menu-center .container {
|
25194
25197
|
position: relative; }
|
25195
|
-
nav.navbar.navigator.menu-center .
|
25196
|
-
position: absolute; }
|
25197
|
-
nav.navbar.navigator.menu-center .attr-nav {
|
25198
|
+
nav.navbar.navigator.menu-center .quicklink-nav {
|
25198
25199
|
position: absolute;
|
25199
25200
|
right: 15px; }
|
25200
25201
|
nav.navbar.navigator.menu-center ul.nav.navbar-center {
|
@@ -25227,25 +25228,26 @@ li.dropdown.nav-item.nav-sub-item:before {
|
|
25227
25228
|
background-color: rgba(0, 0, 0, 0.3);
|
25228
25229
|
border-bottom: solid 3px #212121;
|
25229
25230
|
border-left: solid 1px #212121; }
|
25230
|
-
.
|
25231
|
+
.quicklink-nav {
|
25231
25232
|
margin-left: 0;
|
25232
25233
|
margin-right: -20px;
|
25233
25234
|
float: right;
|
25234
25235
|
position: relative;
|
25235
25236
|
display: inline-block;
|
25236
25237
|
margin-right: 1.5rem; }
|
25237
|
-
.
|
25238
|
+
.quicklink-nav > ul {
|
25238
25239
|
list-style: none;
|
25239
25240
|
overflow: hidden; }
|
25240
|
-
.
|
25241
|
+
.quicklink-nav > ul > li {
|
25241
25242
|
float: left;
|
25242
25243
|
display: block; }
|
25243
|
-
.
|
25244
|
+
.quicklink-nav > ul > li > a {
|
25244
25245
|
color: rgba(255, 255, 255, 0.5);
|
25245
25246
|
display: block;
|
25246
25247
|
padding: 10px 5px;
|
25247
|
-
position: relative;
|
25248
|
-
|
25248
|
+
position: relative;
|
25249
|
+
border-bottom: unset; }
|
25250
|
+
.quicklink-nav > ul > li > a span.badge {
|
25249
25251
|
position: absolute;
|
25250
25252
|
top: 50%;
|
25251
25253
|
margin-top: -15px;
|
@@ -25255,7 +25257,7 @@ li.dropdown.nav-item.nav-sub-item:before {
|
|
25255
25257
|
width: 15px;
|
25256
25258
|
height: 15px;
|
25257
25259
|
padding-top: 2px; }
|
25258
|
-
.
|
25260
|
+
.quicklink-nav > ul > li.dropdown ul.dropdown-menu {
|
25259
25261
|
border-radius: 0;
|
25260
25262
|
box-shadow: 0 0 0;
|
25261
25263
|
border: solid 1px #e0e0e0;
|
@@ -25487,11 +25489,11 @@ li.dropdown.nav-item.nav-sub-item:before {
|
|
25487
25489
|
border: none;
|
25488
25490
|
margin-bottom: 0; }
|
25489
25491
|
nav.navbar.navigator .navbar-collapse.collapse {
|
25490
|
-
display: none
|
25492
|
+
display: none; }
|
25491
25493
|
nav.navbar.navigator .navbar-collapse.collapse.in {
|
25492
|
-
display: block
|
25494
|
+
display: block; }
|
25493
25495
|
nav.navbar.navigator .navbar-collapse.collapse.show {
|
25494
|
-
display: block
|
25496
|
+
display: block; }
|
25495
25497
|
nav.navbar.navigator .navbar-nav {
|
25496
25498
|
padding-top: 5px;
|
25497
25499
|
padding-left: 15px;
|
@@ -25621,11 +25623,10 @@ li.dropdown.nav-item.nav-sub-item:before {
|
|
25621
25623
|
border: 0;
|
25622
25624
|
border-color: transparent;
|
25623
25625
|
border-radius: 0;
|
25626
|
+
box-shadow: unset;
|
25624
25627
|
z-index: 2; }
|
25625
25628
|
nav.navbar.navigator .navbar-toggler:hover {
|
25626
25629
|
color: rgba(255, 255, 255, 0.9); }
|
25627
|
-
nav.navbar.navigator .navbar-toggler:focus {
|
25628
|
-
color: rgba(255, 255, 255, 0.9); }
|
25629
25630
|
nav.navbar.navigator .dropdown-item:focus {
|
25630
25631
|
background-color: rgba(0, 0, 0, 0.5) !important; }
|
25631
25632
|
nav.navbar.navigator .dropdown-item:hover {
|
@@ -25679,19 +25680,19 @@ li.dropdown.nav-item.nav-sub-item:before {
|
|
25679
25680
|
nav.navbar.navigator.navbar-transparent.light {
|
25680
25681
|
background-color: rgba(0, 0, 0, 0.4) !important;
|
25681
25682
|
border-bottom: 0; }
|
25682
|
-
.
|
25683
|
+
.quicklink-nav {
|
25683
25684
|
position: absolute;
|
25684
25685
|
right: 1.5rem;
|
25685
25686
|
margin-right: 0;
|
25686
25687
|
overflow: hidden; }
|
25687
|
-
.
|
25688
|
+
.quicklink-nav > ul {
|
25688
25689
|
padding: 0;
|
25689
25690
|
margin: 0 -15px -7px 0; }
|
25690
|
-
.
|
25691
|
+
.quicklink-nav > ul > li > a {
|
25691
25692
|
padding: 16px 15px 15px; }
|
25692
|
-
.
|
25693
|
+
.quicklink-nav > ul > li.dropdown > a.dropdown-toggle:before {
|
25693
25694
|
display: none; }
|
25694
|
-
.
|
25695
|
+
.quicklink-nav > ul > li.dropdown ul.dropdown-menu {
|
25695
25696
|
margin-top: 2px;
|
25696
25697
|
margin-left: 55px;
|
25697
25698
|
width: 350px;
|
@@ -25711,45 +25712,17 @@ li.dropdown.nav-item.nav-sub-item:before {
|
|
25711
25712
|
.nav-item + .nav-item {
|
25712
25713
|
margin-left: 0 !important; } }
|
25713
25714
|
|
25714
|
-
@media screen and (
|
25715
|
-
|
25716
|
-
|
25717
|
-
|
25718
|
-
nav.navbar.navigator .navbar-nav {
|
25719
|
-
padding-top: 5px;
|
25720
|
-
padding-left: 15px;
|
25721
|
-
padding-right: 35px; }
|
25722
|
-
nav.navbar.navigator.navbar-mobile .navbar-collapse {
|
25723
|
-
margin-left: 0; }
|
25724
|
-
nav.navbar.navigator.navbar-mobile.navbar-sidebar .share {
|
25725
|
-
padding: 30px 15px !important;
|
25726
|
-
margin-bottom: 0; }
|
25727
|
-
nav.navbar.navigator.navbar-mobile ul.nav {
|
25728
|
-
margin-left: -15px;
|
25729
|
-
border-top: solid 1px #ffffff; }
|
25730
|
-
nav.navbar.navigator.navbar-sidebar .share {
|
25731
|
-
padding: 30px 15px !important;
|
25732
|
-
padding: 30px 0 !important;
|
25733
|
-
margin-bottom: 0; }
|
25734
|
-
nav.navigator.navbar-full .navbar-collapse {
|
25735
|
-
left: 15px; }
|
25736
|
-
nav.navigator.navbar-full .navbar-header {
|
25737
|
-
padding-right: 0; }
|
25738
|
-
nav.navigator.navbar-full .navbar-toggle {
|
25739
|
-
margin-right: -15px; }
|
25740
|
-
nav.navigator.navbar-full ul.nav > li > a {
|
25741
|
-
color: rgba(255, 255, 255, 0.5);
|
25742
|
-
font-size: 18px !important;
|
25743
|
-
line-height: 24px !important;
|
25744
|
-
padding: 5px 10px !important; }
|
25745
|
-
.attr-nav > ul {
|
25715
|
+
@media screen and (max-width: 992px), screen and (max-width: 575px) {
|
25716
|
+
ul#desktop_menu {
|
25717
|
+
display: none; }
|
25718
|
+
.quicklink-nav > ul {
|
25746
25719
|
margin-right: -10px; }
|
25747
|
-
.
|
25720
|
+
.quicklink-nav > ul > li > a {
|
25748
25721
|
color: rgba(255, 255, 255, 0.5);
|
25749
25722
|
padding: 16px 10px 15px;
|
25750
25723
|
padding-left: 0;
|
25751
25724
|
border-bottom: unset; }
|
25752
|
-
.
|
25725
|
+
.quicklink-nav > ul > li.dropdown ul.dropdown-menu {
|
25753
25726
|
left: -275px; }
|
25754
25727
|
.top-search .container {
|
25755
25728
|
padding: 0 15px; }
|