ui_bibz 2.1.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +49 -49
- data/app/assets/javascripts/input-connected.coffee +2 -1
- data/app/assets/javascripts/ui_bibz.coffee +9 -2
- data/app/assets/stylesheets/fix-bootstrap-4.sass +4 -0
- data/app/assets/stylesheets/fix_addon.sass +6 -6
- data/app/assets/stylesheets/notifications.sass +7 -0
- data/app/assets/stylesheets/ui_bibz.sass +4 -1
- data/lib/ui_bibz.rb +1 -0
- data/lib/ui_bibz/helpers/ui/core/icons_helper.rb +9 -0
- data/lib/ui_bibz/infos.rb +2 -2
- data/lib/ui_bibz/rails/engine.rb +5 -1
- data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +1 -1
- data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +1 -1
- data/lib/ui_bibz/ui/core/icons/glyph.rb +1 -1
- data/lib/ui_bibz/ui/core/notifications/components/bar.rb +11 -2
- data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +4 -12
- data/lib/ui_bibz/utils/glyph_changer.rb +54 -0
- data/vendor/assets/fonts/fa-brands-400.eot +0 -0
- data/vendor/assets/fonts/fa-brands-400.svg +1154 -0
- data/vendor/assets/fonts/fa-brands-400.ttf +0 -0
- data/vendor/assets/fonts/fa-brands-400.woff +0 -0
- data/vendor/assets/fonts/fa-brands-400.woff2 +0 -0
- data/vendor/assets/fonts/fa-regular-400.eot +0 -0
- data/vendor/assets/fonts/fa-regular-400.svg +467 -0
- data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
- data/vendor/assets/fonts/fa-solid-900.eot +0 -0
- data/vendor/assets/fonts/fa-solid-900.svg +2444 -0
- data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
- data/vendor/assets/javascripts/all.js +3685 -0
- data/vendor/assets/javascripts/bootstrap-markdown.js +159 -56
- data/vendor/assets/stylesheets/all.min.css +5 -0
- data/vendor/assets/stylesheets/svg-with-js.css +5 -0
- metadata +21 -4
- data/vendor/assets/javascripts/fontawesome-all.min.js +0 -5
- data/vendor/assets/stylesheets/fa-svg-with-js.css +0 -345
@@ -18,13 +18,13 @@
|
|
18
18
|
* ========================================================== */
|
19
19
|
(function(factory) {
|
20
20
|
if (typeof define === "function" && define.amd) {
|
21
|
-
//RequireJS
|
21
|
+
// RequireJS
|
22
22
|
define(["jquery"], factory);
|
23
23
|
} else if (typeof exports === 'object') {
|
24
|
-
//Backbone.js
|
24
|
+
// Backbone.js
|
25
25
|
factory(require('jquery'));
|
26
26
|
} else {
|
27
|
-
//
|
27
|
+
// jQuery plugin
|
28
28
|
factory(jQuery);
|
29
29
|
}
|
30
30
|
}(function($) {
|
@@ -113,7 +113,7 @@
|
|
113
113
|
var button = buttons[z],
|
114
114
|
buttonContainer, buttonIconContainer,
|
115
115
|
buttonHandler = ns + '-' + button.name,
|
116
|
-
buttonIcon = this.__getIcon(button
|
116
|
+
buttonIcon = this.__getIcon(button),
|
117
117
|
btnText = button.btnText ? button.btnText : '',
|
118
118
|
btnClass = button.btnClass ? button.btnClass : 'btn',
|
119
119
|
tabIndex = button.tabIndex ? button.tabIndex : '-1',
|
@@ -149,7 +149,7 @@
|
|
149
149
|
callback.push(button.callback);
|
150
150
|
}
|
151
151
|
|
152
|
-
// Attach the button group into container
|
152
|
+
// Attach the button group into container DOM
|
153
153
|
container.append(btnGroupContainer);
|
154
154
|
}
|
155
155
|
}
|
@@ -167,6 +167,10 @@
|
|
167
167
|
this.$textarea.css('resize', this.$options.resize);
|
168
168
|
}
|
169
169
|
|
170
|
+
// Re-attach markdown data
|
171
|
+
this.$textarea.data('markdown', this);
|
172
|
+
},
|
173
|
+
__setEventListeners: function() {
|
170
174
|
this.$textarea.on({
|
171
175
|
'focus': $.proxy(this.focus, this),
|
172
176
|
'keyup': $.proxy(this.keyup, this),
|
@@ -181,9 +185,6 @@
|
|
181
185
|
if (this.eventSupported('keypress')) {
|
182
186
|
this.$textarea.on('keypress', $.proxy(this.keypress, this));
|
183
187
|
}
|
184
|
-
|
185
|
-
// Re-attach markdown data
|
186
|
-
this.$textarea.data('markdown', this);
|
187
188
|
},
|
188
189
|
__handle: function(e) {
|
189
190
|
var target = $(e.currentTarget),
|
@@ -222,7 +223,14 @@
|
|
222
223
|
return string;
|
223
224
|
},
|
224
225
|
__getIcon: function(src) {
|
225
|
-
|
226
|
+
if(typeof src == 'object'){
|
227
|
+
var customIcon = this.$options.customIcons[src.name];
|
228
|
+
console.log(customIcon)
|
229
|
+
console.log(this.$options)
|
230
|
+
return typeof customIcon == 'undefined' ? src.icon[this.$options.iconlibrary] : customIcon;
|
231
|
+
} else {
|
232
|
+
return src;
|
233
|
+
}
|
226
234
|
},
|
227
235
|
setFullscreen: function(mode) {
|
228
236
|
var $editor = this.$editor,
|
@@ -276,12 +284,12 @@
|
|
276
284
|
// iterate the additional button groups
|
277
285
|
$.each(options.additionalButtons[0], function(idx, buttonGroup) {
|
278
286
|
|
279
|
-
// see if the group name of the
|
287
|
+
// see if the group name of the additional group matches an existing group
|
280
288
|
var matchingGroups = $.grep(allBtnGroups, function(allButtonGroup, allIdx) {
|
281
289
|
return allButtonGroup.name === buttonGroup.name;
|
282
290
|
});
|
283
291
|
|
284
|
-
// if it matches add the
|
292
|
+
// if it matches add the additional buttons to that group, if not just add it to the all buttons group
|
285
293
|
if (matchingGroups.length > 0) {
|
286
294
|
matchingGroups[0].data = matchingGroups[0].data.concat(buttonGroup.data);
|
287
295
|
} else {
|
@@ -346,7 +354,7 @@
|
|
346
354
|
editable.attrValues.push(this.nodeValue);
|
347
355
|
});
|
348
356
|
|
349
|
-
// Set editor to
|
357
|
+
// Set editor to block the original container
|
350
358
|
container.replaceWith(editor);
|
351
359
|
}
|
352
360
|
|
@@ -413,6 +421,7 @@
|
|
413
421
|
this.$oldContent = this.getContent();
|
414
422
|
|
415
423
|
this.__setListener();
|
424
|
+
this.__setEventListeners();
|
416
425
|
|
417
426
|
// Set editor attributes, data short-hand API and listener
|
418
427
|
this.$editor.attr('id', (new Date()).getTime());
|
@@ -471,26 +480,51 @@
|
|
471
480
|
// enable dropZone if available and configured
|
472
481
|
if (options.dropZoneOptions) {
|
473
482
|
if (this.$editor.dropzone) {
|
474
|
-
options.dropZoneOptions.init
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
483
|
+
if(!options.dropZoneOptions.init) {
|
484
|
+
options.dropZoneOptions.init = function() {
|
485
|
+
var caretPos = 0;
|
486
|
+
this.on('drop', function(e) {
|
487
|
+
caretPos = textarea.prop('selectionStart');
|
488
|
+
});
|
489
|
+
this.on('success', function(file, path) {
|
490
|
+
var text = textarea.val();
|
491
|
+
textarea.val(text.substring(0, caretPos) + '\n\n' + text.substring(caretPos));
|
492
|
+
});
|
493
|
+
this.on('error', function(file, error, xhr) {
|
494
|
+
console.log('Error:', error);
|
495
|
+
});
|
496
|
+
};
|
497
|
+
}
|
498
|
+
this.$editor.addClass('dropzone');
|
488
499
|
this.$editor.dropzone(options.dropZoneOptions);
|
489
500
|
} else {
|
490
501
|
console.log('dropZoneOptions was configured, but DropZone was not detected.');
|
491
502
|
}
|
492
503
|
}
|
493
504
|
|
505
|
+
// enable data-uris via drag and drop
|
506
|
+
if (options.enableDropDataUri === true) {
|
507
|
+
this.$editor.on('drop', function(e) {
|
508
|
+
var caretPos = textarea.prop('selectionStart');
|
509
|
+
e.stopPropagation();
|
510
|
+
e.preventDefault();
|
511
|
+
$.each(e.originalEvent.dataTransfer.files, function(index, file){
|
512
|
+
var fileReader = new FileReader();
|
513
|
+
fileReader.onload = (function(file) {
|
514
|
+
var type = file.type.split('/')[0];
|
515
|
+
return function(e) {
|
516
|
+
var text = textarea.val();
|
517
|
+
if (type === 'image')
|
518
|
+
textarea.val(text.substring(0, caretPos) + '\n<img src="'+ e.target.result +'" />\n' + text.substring(caretPos) );
|
519
|
+
else
|
520
|
+
textarea.val(text.substring(0, caretPos) + '\n<a href="'+ e.target.result +'">Download ' + file.name + '</a>\n' + text.substring(caretPos) );
|
521
|
+
};
|
522
|
+
})(file);
|
523
|
+
fileReader.readAsDataURL(file);
|
524
|
+
});
|
525
|
+
});
|
526
|
+
}
|
527
|
+
|
494
528
|
// Trigger the onShow hook
|
495
529
|
options.onShow(this);
|
496
530
|
|
@@ -526,19 +560,19 @@
|
|
526
560
|
callbackContent;
|
527
561
|
|
528
562
|
if (this.$isPreview === true) {
|
529
|
-
// Avoid sequenced element creation on
|
563
|
+
// Avoid sequenced element creation on misused scenario
|
530
564
|
// @see https://github.com/toopay/bootstrap-markdown/issues/170
|
531
565
|
return this;
|
532
566
|
}
|
533
567
|
|
534
|
-
// Give flag that
|
568
|
+
// Give flag that tells the editor to enter preview mode
|
535
569
|
this.$isPreview = true;
|
536
570
|
// Disable all buttons
|
537
571
|
this.disableButtons('all').enableButtons('cmdPreview');
|
538
572
|
|
539
573
|
// Try to get the content from callback
|
540
|
-
callbackContent = options.onPreview(this);
|
541
|
-
// Set the content based
|
574
|
+
callbackContent = options.onPreview(this, replacementContainer);
|
575
|
+
// Set the content based on the callback content if string, otherwise parse value from textarea
|
542
576
|
content = typeof callbackContent == 'string' ? callbackContent : this.parseContent();
|
543
577
|
|
544
578
|
// Build preview element
|
@@ -554,8 +588,9 @@
|
|
554
588
|
|
555
589
|
// Set the preview element dimensions
|
556
590
|
replacementContainer.css({
|
557
|
-
width: container.outerWidth() + 'px',
|
558
|
-
height: container.outerHeight() + 'px'
|
591
|
+
"width": container.outerWidth() + 'px',
|
592
|
+
"min-height": container.outerHeight() + 'px',
|
593
|
+
"height": "auto"
|
559
594
|
});
|
560
595
|
|
561
596
|
if (this.$options.resize) {
|
@@ -576,7 +611,7 @@
|
|
576
611
|
return this;
|
577
612
|
},
|
578
613
|
hidePreview: function() {
|
579
|
-
// Give flag that
|
614
|
+
// Give flag that tells the editor to quit preview mode
|
580
615
|
this.$isPreview = false;
|
581
616
|
|
582
617
|
// Obtain the preview container
|
@@ -590,6 +625,9 @@
|
|
590
625
|
// Disable configured disabled buttons
|
591
626
|
this.disableButtons(this.$options.disabledButtons);
|
592
627
|
|
628
|
+
// Perform any callbacks
|
629
|
+
this.$options.onPreviewEnd(this);
|
630
|
+
|
593
631
|
// Back to the editor
|
594
632
|
this.$textarea.show();
|
595
633
|
this.__setListener();
|
@@ -807,12 +845,12 @@
|
|
807
845
|
|
808
846
|
blocked = true;
|
809
847
|
} else {
|
810
|
-
// The next tab memory contains nothing...
|
848
|
+
// The next tab's memory contains nothing...
|
811
849
|
// check the cursor position to determine tab action
|
812
850
|
var cursor = this.getSelection();
|
813
851
|
|
814
852
|
if (cursor.start == cursor.end && cursor.end == this.getContent().length) {
|
815
|
-
// The cursor
|
853
|
+
// The cursor has reached the end of the content
|
816
854
|
blocked = false;
|
817
855
|
} else {
|
818
856
|
// Put the cursor to the end
|
@@ -826,7 +864,29 @@
|
|
826
864
|
|
827
865
|
case 13: // enter
|
828
866
|
blocked = false;
|
867
|
+
var chars = this.getContent().split('');
|
868
|
+
var enterIndex = this.getSelection().start;
|
869
|
+
var priorNewlineIndex = -1; // initial line break at before index 0
|
870
|
+
|
871
|
+
// traverse backwards through chars to check if last line break was num/bullet item
|
872
|
+
for (var i = enterIndex - 2; i >= 0; i--) {
|
873
|
+
if (chars[i] === '\n') {
|
874
|
+
priorNewlineIndex = i;
|
875
|
+
break;
|
876
|
+
}
|
877
|
+
}
|
878
|
+
|
879
|
+
var charFollowingLastLineBreak = chars[priorNewlineIndex + 1];
|
880
|
+
if (charFollowingLastLineBreak === '-') {
|
881
|
+
this.addBullet(enterIndex);
|
882
|
+
} else if ($.isNumeric(charFollowingLastLineBreak)) {
|
883
|
+
var numBullet = this.getBulletNumber(priorNewlineIndex + 1);
|
884
|
+
if (numBullet) {
|
885
|
+
this.addNumberedBullet(enterIndex, numBullet);
|
886
|
+
}
|
887
|
+
}
|
829
888
|
break;
|
889
|
+
|
830
890
|
case 27: // escape
|
831
891
|
if (this.$isFullscreen) this.setFullscreen(false);
|
832
892
|
blocked = false;
|
@@ -843,6 +903,26 @@
|
|
843
903
|
|
844
904
|
this.$options.onChange(this);
|
845
905
|
},
|
906
|
+
insertContent: function(index, content) {
|
907
|
+
var firstHalf = this.getContent().slice(0, index);
|
908
|
+
var secondHalf = this.getContent().slice(index + 1);
|
909
|
+
this.setContent(firstHalf.concat(content).concat(secondHalf));
|
910
|
+
},
|
911
|
+
addBullet: function(index) {
|
912
|
+
this.insertContent(index, '- \n');
|
913
|
+
this.setSelection(index + 2, index + 2); // Put the cursor after the bullet
|
914
|
+
},
|
915
|
+
addNumberedBullet: function(index, num) {
|
916
|
+
var numBullet = (num + 1) + '. \n';
|
917
|
+
this.insertContent(index, numBullet);
|
918
|
+
|
919
|
+
var prefixLength = num.toString().length + 2;
|
920
|
+
this.setSelection(index + prefixLength, index + prefixLength); // Put the cursor after the number
|
921
|
+
},
|
922
|
+
getBulletNumber: function(startIndex) {
|
923
|
+
var bulletNum = this.getContent().slice(startIndex).split('.')[0];
|
924
|
+
return $.isNumeric(bulletNum) ? parseInt(bulletNum) : null;
|
925
|
+
},
|
846
926
|
change: function(e) {
|
847
927
|
this.$options.onChange(this);
|
848
928
|
return this;
|
@@ -948,6 +1028,7 @@
|
|
948
1028
|
initialstate: 'editor',
|
949
1029
|
parser: null,
|
950
1030
|
dropZoneOptions: null,
|
1031
|
+
enableDropDataUri: false,
|
951
1032
|
|
952
1033
|
/* Buttons Properties */
|
953
1034
|
buttons: [
|
@@ -959,8 +1040,9 @@
|
|
959
1040
|
title: 'Bold',
|
960
1041
|
icon: {
|
961
1042
|
glyph: 'glyphicon glyphicon-bold',
|
962
|
-
fa: '
|
1043
|
+
fa: 'fa fa-bold',
|
963
1044
|
'fa-3': 'icon-bold',
|
1045
|
+
'fa-5': 'fas fa-bold',
|
964
1046
|
octicons: 'octicon octicon-bold'
|
965
1047
|
},
|
966
1048
|
callback: function(e) {
|
@@ -995,8 +1077,9 @@
|
|
995
1077
|
hotkey: 'Ctrl+I',
|
996
1078
|
icon: {
|
997
1079
|
glyph: 'glyphicon glyphicon-italic',
|
998
|
-
fa: '
|
1080
|
+
fa: 'fa fa-italic',
|
999
1081
|
'fa-3': 'icon-italic',
|
1082
|
+
'fa-5': 'fas fa-italic',
|
1000
1083
|
octicons: 'octicon octicon-italic'
|
1001
1084
|
},
|
1002
1085
|
callback: function(e) {
|
@@ -1031,8 +1114,9 @@
|
|
1031
1114
|
hotkey: 'Ctrl+H',
|
1032
1115
|
icon: {
|
1033
1116
|
glyph: 'glyphicon glyphicon-header',
|
1034
|
-
fa: '
|
1117
|
+
fa: 'fa fa-header',
|
1035
1118
|
'fa-3': 'icon-font',
|
1119
|
+
'fa-5': 'fas fa-heading',
|
1036
1120
|
octicons: 'octicon octicon-text-size'
|
1037
1121
|
},
|
1038
1122
|
callback: function(e) {
|
@@ -1075,8 +1159,9 @@
|
|
1075
1159
|
hotkey: 'Ctrl+L',
|
1076
1160
|
icon: {
|
1077
1161
|
glyph: 'glyphicon glyphicon-link',
|
1078
|
-
fa: '
|
1162
|
+
fa: 'fa fa-link',
|
1079
1163
|
'fa-3': 'icon-link',
|
1164
|
+
'fa-5': 'fas fa-link',
|
1080
1165
|
octicons: 'octicon octicon-link'
|
1081
1166
|
},
|
1082
1167
|
callback: function(e) {
|
@@ -1112,8 +1197,9 @@
|
|
1112
1197
|
hotkey: 'Ctrl+G',
|
1113
1198
|
icon: {
|
1114
1199
|
glyph: 'glyphicon glyphicon-picture',
|
1115
|
-
fa: '
|
1200
|
+
fa: 'fa fa-picture-o',
|
1116
1201
|
'fa-3': 'icon-picture',
|
1202
|
+
'fa-5': 'far fa-image',
|
1117
1203
|
octicons: 'octicon octicon-file-media'
|
1118
1204
|
},
|
1119
1205
|
callback: function(e) {
|
@@ -1155,8 +1241,9 @@
|
|
1155
1241
|
title: 'Unordered List',
|
1156
1242
|
icon: {
|
1157
1243
|
glyph: 'glyphicon glyphicon-list',
|
1158
|
-
fa: '
|
1244
|
+
fa: 'fa fa-list',
|
1159
1245
|
'fa-3': 'icon-list-ul',
|
1246
|
+
'fa-5': 'fas fa-list-ul',
|
1160
1247
|
octicons: 'octicon octicon-list-unordered'
|
1161
1248
|
},
|
1162
1249
|
callback: function(e) {
|
@@ -1206,8 +1293,9 @@
|
|
1206
1293
|
title: 'Ordered List',
|
1207
1294
|
icon: {
|
1208
1295
|
glyph: 'glyphicon glyphicon-th-list',
|
1209
|
-
fa: '
|
1296
|
+
fa: 'fa fa-list-ol',
|
1210
1297
|
'fa-3': 'icon-list-ol',
|
1298
|
+
'fa-5': 'fas fa-list-ol',
|
1211
1299
|
octicons: 'octicon octicon-list-ordered'
|
1212
1300
|
},
|
1213
1301
|
callback: function(e) {
|
@@ -1232,13 +1320,15 @@
|
|
1232
1320
|
// Set the cursor
|
1233
1321
|
cursor = selected.start + 3;
|
1234
1322
|
} else {
|
1323
|
+
var i = 1;
|
1235
1324
|
var list = [];
|
1236
1325
|
|
1237
1326
|
list = selected.text.split('\n');
|
1238
1327
|
chunk = list[0];
|
1239
1328
|
|
1240
1329
|
$.each(list, function(k, v) {
|
1241
|
-
list[k] = '
|
1330
|
+
list[k] = i + '. ' + v;
|
1331
|
+
i++;
|
1242
1332
|
});
|
1243
1333
|
|
1244
1334
|
e.replaceSelection('\n\n' + list.join('\n'));
|
@@ -1256,9 +1346,10 @@
|
|
1256
1346
|
hotkey: 'Ctrl+K',
|
1257
1347
|
title: 'Code',
|
1258
1348
|
icon: {
|
1259
|
-
glyph: 'glyphicon glyphicon-
|
1260
|
-
fa: '
|
1349
|
+
glyph: 'glyphicon glyphicon-console',
|
1350
|
+
fa: 'fa fa-code',
|
1261
1351
|
'fa-3': 'icon-code',
|
1352
|
+
'fa-5': 'fas fa-code',
|
1262
1353
|
octicons: 'octicon octicon-code'
|
1263
1354
|
},
|
1264
1355
|
callback: function(e) {
|
@@ -1301,8 +1392,9 @@
|
|
1301
1392
|
title: 'Quote',
|
1302
1393
|
icon: {
|
1303
1394
|
glyph: 'glyphicon glyphicon-comment',
|
1304
|
-
fa: '
|
1395
|
+
fa: 'fa fa-quote-left',
|
1305
1396
|
'fa-3': 'icon-quote-left',
|
1397
|
+
'fa-5': 'fas fa-quote-left',
|
1306
1398
|
octicons: 'octicon octicon-quote'
|
1307
1399
|
},
|
1308
1400
|
callback: function(e) {
|
@@ -1359,8 +1451,9 @@
|
|
1359
1451
|
btnClass: 'btn btn-primary btn-sm',
|
1360
1452
|
icon: {
|
1361
1453
|
glyph: 'glyphicon glyphicon-search',
|
1362
|
-
fa: '
|
1454
|
+
fa: 'fa fa-search',
|
1363
1455
|
'fa-3': 'icon-search',
|
1456
|
+
'fa-5': 'fas fa-search',
|
1364
1457
|
octicons: 'octicon octicon-search'
|
1365
1458
|
},
|
1366
1459
|
callback: function(e) {
|
@@ -1369,7 +1462,7 @@
|
|
1369
1462
|
content;
|
1370
1463
|
|
1371
1464
|
if (isPreview === false) {
|
1372
|
-
// Give flag that
|
1465
|
+
// Give flag that tells the editor to enter preview mode
|
1373
1466
|
e.showPreview();
|
1374
1467
|
} else {
|
1375
1468
|
e.hidePreview();
|
@@ -1378,6 +1471,7 @@
|
|
1378
1471
|
}]
|
1379
1472
|
}]
|
1380
1473
|
],
|
1474
|
+
customIcons: {},
|
1381
1475
|
additionalButtons: [], // Place to hook more buttons by code
|
1382
1476
|
reorderButtonGroups: [],
|
1383
1477
|
hiddenButtons: [], // Default hidden buttons
|
@@ -1387,16 +1481,24 @@
|
|
1387
1481
|
enable: true,
|
1388
1482
|
icons: {
|
1389
1483
|
fullscreenOn: {
|
1390
|
-
|
1391
|
-
|
1392
|
-
|
1393
|
-
|
1484
|
+
name: "fullscreenOn",
|
1485
|
+
icon: {
|
1486
|
+
fa: 'fa fa-expand',
|
1487
|
+
glyph: 'glyphicon glyphicon-fullscreen',
|
1488
|
+
'fa-3': 'icon-resize-full',
|
1489
|
+
'fa-5': 'fas fa-expand-arrows-alt',
|
1490
|
+
octicons: 'octicon octicon-link-external'
|
1491
|
+
}
|
1394
1492
|
},
|
1395
1493
|
fullscreenOff: {
|
1396
|
-
|
1397
|
-
|
1398
|
-
|
1399
|
-
|
1494
|
+
name: "fullscreenOff",
|
1495
|
+
icon: {
|
1496
|
+
fa: 'fa fa-compress',
|
1497
|
+
glyph: 'glyphicon glyphicon-fullscreen',
|
1498
|
+
'fa-3': 'icon-resize-small',
|
1499
|
+
'fa-5': 'fas fa-compress',
|
1500
|
+
octicons: 'octicon octicon-browser'
|
1501
|
+
}
|
1400
1502
|
}
|
1401
1503
|
}
|
1402
1504
|
},
|
@@ -1404,6 +1506,7 @@
|
|
1404
1506
|
/* Events hook */
|
1405
1507
|
onShow: function(e) {},
|
1406
1508
|
onPreview: function(e) {},
|
1509
|
+
onPreviewEnd: function(e) {},
|
1407
1510
|
onSave: function(e) {},
|
1408
1511
|
onBlur: function(e) {},
|
1409
1512
|
onFocus: function(e) {},
|