ui_bibz 2.1.0 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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![description](' + path + ')\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) {},
|