j1-template 2024.2.0 → 2024.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/data/gemini-ui.html +2 -2
- data/assets/themes/j1/adapter/js/advertising.js +2 -10
- data/assets/themes/j1/adapter/js/analytics.js +1 -5
- data/assets/themes/j1/adapter/js/bmd.js +195 -195
- data/assets/themes/j1/adapter/js/carousel.js +786 -786
- data/assets/themes/j1/adapter/js/clipboard.js +1 -0
- data/assets/themes/j1/adapter/js/comments.js +1 -0
- data/assets/themes/j1/adapter/js/cookieConsent.js +460 -466
- data/assets/themes/j1/adapter/js/customModule.js +5 -4
- data/assets/themes/j1/adapter/js/docsearch.js +1 -0
- data/assets/themes/j1/adapter/js/dropdowns.js +1 -0
- data/assets/themes/j1/adapter/js/fab.js +1 -0
- data/assets/themes/j1/adapter/js/gallery.js +495 -494
- data/assets/themes/j1/adapter/js/gemini.js +154 -128
- data/assets/themes/j1/adapter/js/iconPicker.js +257 -255
- data/assets/themes/j1/adapter/js/iconPickerPage.js +279 -279
- data/assets/themes/j1/adapter/js/iframer.js +3 -2
- data/assets/themes/j1/adapter/js/j1.js +3285 -3285
- data/assets/themes/j1/adapter/js/lazyLoader.js +241 -241
- data/assets/themes/j1/adapter/js/lightbox.js +242 -241
- data/assets/themes/j1/adapter/js/logger.js +1 -0
- data/assets/themes/j1/adapter/js/lunr.js +6 -10
- data/assets/themes/j1/adapter/js/masonry.js +427 -426
- data/assets/themes/j1/adapter/js/masterslider.js +526 -526
- data/assets/themes/j1/adapter/js/mmenu.js +1 -0
- data/assets/themes/j1/adapter/js/navigator.js +2 -2
- data/assets/themes/j1/adapter/js/particles.js +1 -0
- data/assets/themes/j1/adapter/js/rangeSlider.js +1 -0
- data/assets/themes/j1/adapter/js/rouge.js +288 -287
- data/assets/themes/j1/adapter/js/rtable.js +309 -309
- data/assets/themes/j1/adapter/js/slick.js +487 -487
- data/assets/themes/j1/adapter/js/slimSelect.js +3 -5
- data/assets/themes/j1/adapter/js/themeToggler.js +281 -280
- data/assets/themes/j1/adapter/js/themes.js +0 -1
- data/assets/themes/j1/adapter/js/toccer.js +1 -0
- data/assets/themes/j1/adapter/js/translator.js +1 -0
- data/assets/themes/j1/adapter/js/waves.js +1 -0
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +23 -17
- data/assets/themes/j1/modules/js-cookies/js/js.cookie.js +147 -0
- data/assets/themes/j1/modules/js-cookies/js/js.cookie.min.js +2 -0
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/themes.yml +171 -171
- data/lib/starter_web/_data/resources.yml +26 -0
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +500 -500
- metadata +4 -2
@@ -113,9 +113,7 @@ j1.adapter.gemini = ((j1, window) => {
|
|
113
113
|
var cookie_names;
|
114
114
|
var cookie_written;
|
115
115
|
var hostname;
|
116
|
-
var
|
117
|
-
var check_cookie_option_domain;
|
118
|
-
var cookie_domain;
|
116
|
+
var domain;
|
119
117
|
var secure;
|
120
118
|
|
121
119
|
var gemini_model;
|
@@ -228,7 +226,12 @@ j1.adapter.gemini = ((j1, window) => {
|
|
228
226
|
// create new reindexed data object
|
229
227
|
newData = Object.values(slimData);
|
230
228
|
// update the select
|
231
|
-
|
229
|
+
// failsafe
|
230
|
+
if ($slimSelect !== undefined || $slimSelect !== null) {
|
231
|
+
$slimSelect.setData(newData);
|
232
|
+
} else {
|
233
|
+
logger.error('\n' + 'FATAL: slimSelect NOT available');
|
234
|
+
} // END create|set slimSelect data elements
|
232
235
|
}
|
233
236
|
|
234
237
|
// update prompt history data
|
@@ -258,34 +261,38 @@ j1.adapter.gemini = ((j1, window) => {
|
|
258
261
|
// update the prompt history
|
259
262
|
if (promptHistoryFromCookie) {
|
260
263
|
logger.debug('\n' + 'save prompt history to cookie');
|
261
|
-
j1.removeCookie({
|
262
|
-
name: cookie_names.chat_prompt,
|
263
|
-
domain: auto_domain,
|
264
|
-
secure: secure
|
265
|
-
});
|
266
264
|
|
267
265
|
if (newHistory.length > 0) {
|
266
|
+
|
267
|
+
// remove BEFORE write
|
268
|
+
j1.removeCookie({ name: cookie_names.chat_prompt });
|
268
269
|
cookie_written = j1.writeCookie({
|
269
|
-
name:
|
270
|
-
data:
|
271
|
-
secure:
|
270
|
+
name: cookie_names.chat_prompt,
|
271
|
+
data: newHistory,
|
272
|
+
secure: secure
|
272
273
|
});
|
274
|
+
|
275
|
+
$("#clear").show()
|
273
276
|
} else {
|
274
|
-
|
275
|
-
|
276
|
-
data: {},
|
277
|
-
secure: secure
|
278
|
-
});
|
277
|
+
j1.removeCookie({ name: cookie_names.chat_prompt });
|
278
|
+
|
279
279
|
logger.info('\n' + 'spanElementEventListener, hide prompt history on last element');
|
280
280
|
$("#prompt_history_container").hide();
|
281
|
+
$("#clear").hide()
|
281
282
|
} // END if length
|
282
283
|
} // END if promptHistoryFromCookie
|
283
284
|
}
|
284
285
|
|
285
286
|
logger.info('\n' + 'spanElementEventListener, option deleted:\n' + optionText);
|
286
287
|
|
287
|
-
//
|
288
|
-
$slimSelect
|
288
|
+
// failsafe
|
289
|
+
if ($slimSelect === undefined || $slimSelect === null) {
|
290
|
+
logger.error('\n' + 'FATAL: slimSelect NOT available');
|
291
|
+
} else {
|
292
|
+
// close currently required to re-add history prompt events on next beforeOpen
|
293
|
+
$slimSelect.close();
|
294
|
+
}
|
295
|
+
|
289
296
|
} // END spanElementEventListener
|
290
297
|
|
291
298
|
// Log the geolocation position
|
@@ -534,7 +541,6 @@ j1.adapter.gemini = ((j1, window) => {
|
|
534
541
|
// module initializer
|
535
542
|
// -------------------------------------------------------------------------
|
536
543
|
init: (options) => {
|
537
|
-
|
538
544
|
// -----------------------------------------------------------------------
|
539
545
|
// default module settings
|
540
546
|
// -----------------------------------------------------------------------
|
@@ -552,7 +558,7 @@ j1.adapter.gemini = ((j1, window) => {
|
|
552
558
|
url = new liteURL(window.location.href);
|
553
559
|
baseUrl = url.origin;
|
554
560
|
hostname = url.hostname;
|
555
|
-
|
561
|
+
domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
|
556
562
|
secure = (url.protocol.includes('https')) ? true : false;
|
557
563
|
promptHistoryEnabled = geminiOptions.prompt_history_enabled;
|
558
564
|
promptHistoryFromCookie = geminiOptions.prompt_history_from_cookie;
|
@@ -570,15 +576,13 @@ j1.adapter.gemini = ((j1, window) => {
|
|
570
576
|
// module initializer
|
571
577
|
// -----------------------------------------------------------------------
|
572
578
|
var dependencies_met_page_ready = setInterval (() => {
|
573
|
-
var
|
574
|
-
var
|
575
|
-
var
|
576
|
-
|
577
|
-
var
|
578
|
-
|
579
|
-
|
580
|
-
// check page ready state
|
581
|
-
if (j1CoreFinished && pageVisible && slimSelectFinished && uiLoaded && modulesLoaded) {
|
579
|
+
var flickerState = $('#no_flicker').css("display");
|
580
|
+
var pageState = $('#content').css("display");
|
581
|
+
var pageVisible = (flickerState === 'block' && pageState === 'block') ? true : false;
|
582
|
+
var selectReady = (document.getElementById(geminiOptions.prompt_history_id)) ? true : false;
|
583
|
+
var uiLoaded = (j1.xhrDOMState['#gemini_ui'] === 'success') ? true : false;
|
584
|
+
|
585
|
+
if (pageVisible && selectReady && uiLoaded && modulesLoaded) {
|
582
586
|
startTimeModule = Date.now();
|
583
587
|
|
584
588
|
_this.setState('started');
|
@@ -601,86 +605,91 @@ j1.adapter.gemini = ((j1, window) => {
|
|
601
605
|
|
602
606
|
// get|clear textarea element (prompt)
|
603
607
|
textarea = document.getElementById(geminiOptions.prompt_id);
|
604
|
-
textarea.value
|
608
|
+
textarea.value = '';
|
609
|
+
|
610
|
+
logger.debug('\n' + 'initializing select data');
|
611
|
+
|
612
|
+
// initialize history array from cookie
|
613
|
+
if (promptHistoryEnabled && promptHistoryFromCookie) {
|
605
614
|
|
606
|
-
|
607
|
-
|
608
|
-
|
615
|
+
// get slimSelect object
|
616
|
+
selectList = document.getElementById(geminiOptions.prompt_history_id);
|
617
|
+
$slimSelect = selectList.slim;
|
609
618
|
|
610
|
-
|
611
|
-
|
619
|
+
// failsafe
|
620
|
+
if ($slimSelect === undefined || $slimSelect === null) {
|
621
|
+
logger.error('\n' + 'FATAL: slimSelect NOT available');
|
622
|
+
}
|
623
|
+
// END get slimSelect object
|
612
624
|
|
613
|
-
|
614
|
-
|
615
|
-
// get slimSelect object for the history (placed by slimSelect adapter)
|
616
|
-
// selectList = document.getElementById('prompt_history');
|
617
|
-
$slimSelect = j1.adapter.slimSelect.select[geminiOptions.prompt_history_id];
|
625
|
+
// limit the prompt history
|
626
|
+
promptHistoryMax = geminiOptions.prompt_history_max;
|
618
627
|
|
619
|
-
|
620
|
-
|
628
|
+
// allow|reject history updates if promptHistoryMax reached
|
629
|
+
allowPromptHistoryUpdatesOnMax = geminiOptions.allow_prompt_history_updates_on_max;
|
621
630
|
|
622
|
-
|
623
|
-
|
631
|
+
logger.debug('\n' + 'read prompt history from cookie');
|
632
|
+
var data = [];
|
633
|
+
var option = {};
|
634
|
+
chat_prompt = j1.existsCookie(cookie_names.chat_prompt)
|
635
|
+
? j1.readCookie(cookie_names.chat_prompt)
|
636
|
+
: {};
|
624
637
|
|
625
|
-
|
626
|
-
|
627
|
-
var option = {};
|
628
|
-
chat_prompt = j1.existsCookie(cookie_names.chat_prompt)
|
629
|
-
? j1.readCookie(cookie_names.chat_prompt)
|
630
|
-
: {};
|
638
|
+
// convert chat prompt object to array
|
639
|
+
textHistory = Object.values(chat_prompt);
|
631
640
|
|
632
|
-
|
633
|
-
|
641
|
+
// remove duplicates from history
|
642
|
+
if (textHistory.length > 1) {
|
643
|
+
var textHistoryLenght = textHistory.length;
|
644
|
+
var uniqueArray = [...new Set(textHistory)]; // create a 'Set' from the history array to automatically remove duplicates
|
634
645
|
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
646
|
+
textHistory = uniqueArray;
|
647
|
+
if (textHistoryLenght > textHistory.length) {
|
648
|
+
logger.debug('\n' + 'removed duplicates from history array: ' + (textHistoryLenght - textHistory.length) + ' element|s');
|
649
|
+
}
|
650
|
+
} // END if !allowHistoryDupicates
|
651
|
+
|
652
|
+
// update|set slimSelect data elements
|
653
|
+
var index = 1;
|
654
|
+
var data = [];
|
655
|
+
var option = {};
|
656
|
+
var html;
|
657
|
+
textHistory.forEach((historyText) => {
|
658
|
+
html = '<span id="opt_' + geminiOptions.prompt_history_id + '_' + index + '" class="ss-option-delete">' + '<i class="mdib mdib-close mdib-16px ml-1 mr-2"></i></span>' + historyText;
|
659
|
+
option = {
|
660
|
+
text: historyText,
|
661
|
+
html: html,
|
662
|
+
display: true,
|
663
|
+
selected: false,
|
664
|
+
disabled: false
|
665
|
+
}
|
666
|
+
data.push(option);
|
667
|
+
index++
|
668
|
+
}); // END forEach
|
639
669
|
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
// update|set slimSelect data elements
|
647
|
-
var index = 1;
|
648
|
-
var data = [];
|
649
|
-
var option = {};
|
650
|
-
var html;
|
651
|
-
textHistory.forEach((historyText) => {
|
652
|
-
html = '<span id="opt_' + geminiOptions.prompt_history_id + '_' + index + '" class="ss-option-delete">' + '<i class="mdib mdib-close mdib-16px ml-1 mr-2"></i></span>' + historyText;
|
653
|
-
option = {
|
654
|
-
text: historyText,
|
655
|
-
html: html,
|
656
|
-
display: true,
|
657
|
-
selected: false,
|
658
|
-
disabled: false
|
659
|
-
}
|
660
|
-
data.push(option);
|
661
|
-
index++
|
662
|
-
}); // END forEach
|
663
|
-
$slimSelect.setData(data);
|
664
|
-
|
665
|
-
// display history container
|
666
|
-
if (textHistory.length > 0) {
|
667
|
-
$("#prompt_history_container").show();
|
668
|
-
}
|
670
|
+
// failsafe
|
671
|
+
if ($slimSelect !== undefined || $slimSelect !== null) {
|
672
|
+
$slimSelect.setData(data);
|
673
|
+
} else {
|
674
|
+
logger.error('\n' + 'FATAL: slimSelect NOT available');
|
675
|
+
} // END create|set slimSelect data elements
|
669
676
|
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
677
|
+
// display history container
|
678
|
+
if (textHistory.length > 0) {
|
679
|
+
$("#prompt_history_container").show();
|
680
|
+
$("#clear").show();
|
681
|
+
}
|
675
682
|
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
683
|
+
// -------------------------------------------------------------
|
684
|
+
// setup Slim select eventHandlers
|
685
|
+
// -------------------------------------------------------------
|
686
|
+
//
|
687
|
+
_this.setupSlimSelectEventHandlers();
|
680
688
|
|
681
|
-
|
682
|
-
|
683
|
-
|
689
|
+
} else {
|
690
|
+
// disable|hide clear history button
|
691
|
+
$("#clear").hide();
|
692
|
+
} // if promptHistoryEnabled
|
684
693
|
|
685
694
|
// -------------------------------------------------------------------
|
686
695
|
// setup UI button eventHandlers
|
@@ -784,11 +793,13 @@ j1.adapter.gemini = ((j1, window) => {
|
|
784
793
|
);
|
785
794
|
|
786
795
|
var dependencies_met_data_loaded = setInterval(() => {
|
787
|
-
|
796
|
+
var uiLoaded = (j1.xhrDOMState['#gemini_ui'] === 'success') ? true : false;
|
797
|
+
|
798
|
+
if (uiLoaded) {
|
788
799
|
logger.debug('\n' + 'Loading UI: successful');
|
789
800
|
|
790
801
|
clearInterval(dependencies_met_data_loaded);
|
791
|
-
} // END if
|
802
|
+
} // END if uiLoaded
|
792
803
|
}, 10);
|
793
804
|
|
794
805
|
}, // END loadUI
|
@@ -838,7 +849,13 @@ j1.adapter.gemini = ((j1, window) => {
|
|
838
849
|
data.push(option);
|
839
850
|
index++;
|
840
851
|
}); // END forEach
|
841
|
-
|
852
|
+
|
853
|
+
// failsafe
|
854
|
+
if ($slimSelect !== undefined || $slimSelect !== null) {
|
855
|
+
$slimSelect.setData(data);
|
856
|
+
} else {
|
857
|
+
logger.error('\n' + 'FATAL: slimSelect NOT available');
|
858
|
+
} // END create|set slimSelect data elements
|
842
859
|
|
843
860
|
} // END re-read current history from cookie
|
844
861
|
|
@@ -851,10 +868,12 @@ j1.adapter.gemini = ((j1, window) => {
|
|
851
868
|
// wait until prompt history eventListener|s is|are placed
|
852
869
|
var listenerIndex = 1;
|
853
870
|
slimValues.forEach( () => {
|
854
|
-
var span
|
855
|
-
var spanElement
|
871
|
+
var span = 'opt_prompt_history_' + listenerIndex;
|
872
|
+
var spanElement = document.getElementById(span);
|
873
|
+
|
856
874
|
var dependencies_met_listeners_ready = setInterval (() => {
|
857
|
-
var spanElementReady = (
|
875
|
+
var spanElementReady = ($(spanElement).length) ? true : false;
|
876
|
+
|
858
877
|
if (spanElementReady) {
|
859
878
|
if (listenerIndex === slimValues.length) {
|
860
879
|
eventListenersReady = true;
|
@@ -892,8 +911,19 @@ j1.adapter.gemini = ((j1, window) => {
|
|
892
911
|
document.getElementById('prompt').value = '';
|
893
912
|
}
|
894
913
|
|
895
|
-
//
|
896
|
-
$slimSelect
|
914
|
+
// failsafe
|
915
|
+
if ($slimSelect === undefined || $slimSelect === null) {
|
916
|
+
logger.error('\n' + 'FATAL: slimSelect NOT available');
|
917
|
+
} else {
|
918
|
+
// failsafe
|
919
|
+
if ($slimSelect === undefined || $slimSelect === null) {
|
920
|
+
logger.error('\n' + 'FATAL: slimSelect NOT available');
|
921
|
+
} else {
|
922
|
+
// remove selection from select
|
923
|
+
$slimSelect.setSelected('', false);
|
924
|
+
}
|
925
|
+
}
|
926
|
+
|
897
927
|
} // END event afterClose
|
898
928
|
|
899
929
|
}, // END setupSlimSelectEventHandlers()
|
@@ -1018,26 +1048,31 @@ j1.adapter.gemini = ((j1, window) => {
|
|
1018
1048
|
data.push(option);
|
1019
1049
|
index++;
|
1020
1050
|
}); // END forEach
|
1021
|
-
$slimSelect.setData(data);
|
1022
1051
|
// END create|set slimSelect data elements
|
1023
1052
|
|
1053
|
+
// failsafe
|
1054
|
+
if ($slimSelect !== undefined || $slimSelect !== null) {
|
1055
|
+
$slimSelect.setData(data);
|
1056
|
+
} else {
|
1057
|
+
logger.error('\n' + 'FATAL: slimSelect NOT available');
|
1058
|
+
} // END create|set slimSelect data elements
|
1059
|
+
|
1024
1060
|
// display history container
|
1025
1061
|
if (textHistory.length > 0) {
|
1026
1062
|
$("#prompt_history_container").show();
|
1063
|
+
$("#clear").show();
|
1027
1064
|
}
|
1028
1065
|
|
1029
1066
|
// write current history to cookie
|
1030
1067
|
if (promptHistoryFromCookie) {
|
1031
1068
|
logger.debug('\n' + 'sendButton, save prompt history to cookie');
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
secure: secure
|
1036
|
-
});
|
1069
|
+
|
1070
|
+
// remove BEFORE write
|
1071
|
+
j1.removeCookie({ name: cookie_names.chat_prompt });
|
1037
1072
|
cookie_written = j1.writeCookie({
|
1038
|
-
name:
|
1039
|
-
data:
|
1040
|
-
secure:
|
1073
|
+
name: cookie_names.chat_prompt,
|
1074
|
+
data: textHistory,
|
1075
|
+
secure: secure
|
1041
1076
|
});
|
1042
1077
|
} // END write current history to cookie
|
1043
1078
|
} // END if promptHistoryEnabled
|
@@ -1092,21 +1127,12 @@ j1.adapter.gemini = ((j1, window) => {
|
|
1092
1127
|
logStartOnce = true;
|
1093
1128
|
}
|
1094
1129
|
|
1095
|
-
//
|
1130
|
+
// clear history
|
1096
1131
|
textHistory = [];
|
1097
|
-
|
1098
|
-
|
1099
|
-
name: cookie_names.chat_prompt,
|
1100
|
-
domain: auto_domain,
|
1101
|
-
secure: secure
|
1102
|
-
});
|
1103
|
-
cookie_written = j1.writeCookie({
|
1104
|
-
name: cookie_names.chat_prompt,
|
1105
|
-
data: {},
|
1106
|
-
secure: secure
|
1107
|
-
});
|
1108
|
-
}
|
1132
|
+
j1.removeCookie({ name: cookie_names.chat_prompt });
|
1133
|
+
|
1109
1134
|
$("#prompt_history_container").hide();
|
1135
|
+
$("#clear").hide();
|
1110
1136
|
}); // END click accecptClearHistory
|
1111
1137
|
|
1112
1138
|
// skip clear history
|