summernote-rails 0.2.1.2 → 0.2.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 66f224d348d0825289874d387f9e713702c3fc50
4
- data.tar.gz: 2bd808d70a67c2eb3aebbde46c8eb8c992d455e4
3
+ metadata.gz: ca46781971a97cbd650d7deb6c85a182d54cb2be
4
+ data.tar.gz: aba31acaa4d25961214172901a94d9abf831f722
5
5
  SHA512:
6
- metadata.gz: ad521e2aa228d8e545cc3c457c50fdea2f3a18184ef7afe9fc244c39d978543190e610b3a14c1d7fe8664b4b8b06908c209542f4e1daa152db72a7d0dcf18eb1
7
- data.tar.gz: 343f0fa8fc0298feefc4d7db5086831bd3fde65c6a1e4ed12833a7eaf7fe642ca68798fc5f1abf3a8c3442d8df440722f724a84469f65fd36e2f977701e48b42
6
+ metadata.gz: 1dfbea5b0622b0a12f9e84c4706d3a4630c31368279ec7d49bb0c4fe85c4d911b2302088fc571e69a8d7aa35ded9d08d0fb212ebc49e9ebee05845a420a4e2ed
7
+ data.tar.gz: 130eec35a7f17d8f140d634013cc05701b7849e0e2d62b33d87ce3d00acc7c0df5d4aa00ed56d899d1a6e15d1e87131040be390e53b73d6b3bf786bd737606fb
data/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  # Summernote::Rails
2
2
 
3
- To gemify Super Simple WYSIWYG Editor on Bootstrap for Ruby on Rails version >= 3.1
3
+ This gem was built to gemify the assets used in Summernote, the Super Simple WYSIWYG Editor on Bootstrap, for Ruby on Rails version >= 3.1.
4
4
 
5
- Website of Summernote, https://github.com/hackerwins/summernote
5
+ If you want to get the detailed information on how to use summernote editor, please click URL link to the website of Summernote.
6
6
 
7
- The version of summernote-rails is matched for the summernote editor.
7
+ https://github.com/hackerwins/summernote.
8
+
9
+ The version of summernote-rails is matched with that of summernote editor.
8
10
 
9
11
  [![Gem Version](https://badge.fury.io/rb/summernote-rails.png)](http://badge.fury.io/rb/summernote-rails)
10
12
 
@@ -17,8 +19,11 @@ Add the following gems to your application's Gemfile:
17
19
  # for Rails 3.x
18
20
  gem 'simple_form'
19
21
 
22
+ # You'll need to include the following dependencies of Summernote
20
23
  gem 'bootstrap-sass'
21
24
  gem 'font-awesome-rails'
25
+
26
+ # This is the right gem to use summernote editor in Rails projects.
22
27
  gem 'summernote-rails'
23
28
 
24
29
  And then execute:
@@ -29,20 +34,54 @@ And then execute:
29
34
 
30
35
  First of all, the summernote editor works on Bootstrap and so it is assumed that you have already set it up.
31
36
 
32
- In app/assets/javascripts/application.js, you should added the following:
37
+ > Note that when using font-awesome-rails with bootstrap-sass, both FontAwesome & Glyphicon icons show up, overlapping. So if you have bootstrap_and_override.css.scss file, please add the following two code lines related with the Bootstrap's glyphicon:
38
+
39
+ In app/assets/stylesheets/bootstrap_and_override.css.scss,
40
+
41
+ ```
42
+ $iconSpritePath: '';
43
+ $iconWhiteSpritePath: '';
44
+
45
+ @import 'bootstrap';
46
+ body {padding-top:3em;}
47
+ @import 'bootstrap-responsive';
48
+ ```
49
+
50
+ In app/assets/javascripts/application.js, you should add the following:
33
51
 
34
52
  ```
35
53
  //= require summernote.min
54
+ or
55
+ //= require summernote # if you want to require the uncompressed one
36
56
  ```
37
57
 
38
- In app/assets/stylesheets/application.css, you should added the following:
58
+ And also, in app/assets/stylesheets/application.css, you should add the following:
39
59
 
40
60
  ```
41
61
  *= require font-awesome
42
62
  *= require summernote
43
63
  ```
44
64
 
45
- For example, if you have a post form, in app/assets/javascripts/posts.js.coffee, you should add the following code:
65
+ For example, if you made a `Post` model using `scaffold generator` of Rails, you would see the `post` form view template in app/views/posts/_form.html.erb.
66
+
67
+ In that template file, you should add `summernote` class to the textarea input as the following:
68
+
69
+ ```
70
+ <%= simple_form_for(@post) do |f| %>
71
+ <%= f.error_notification %>
72
+
73
+ <div class="form-inputs">
74
+ <%= f.input :title %>
75
+ <%= f.input :content, class:'summernote' %>
76
+ </div>
77
+
78
+ <div class="form-actions">
79
+ <%= f.button :submit %>
80
+ </div>
81
+ <% end %>
82
+ ```
83
+
84
+ And then, in `post`-dedicated coffeescript file, app/assets/javascripts/posts.js.coffee, you should add the following:
46
85
 
47
86
  ```
48
87
  $ ->
@@ -66,33 +105,22 @@ $ ->
66
105
  true
67
106
  ```
68
107
 
69
- In app/views/posts/_form.html.erb, you should add 'summernote' class name to the textarea input as the following:
70
-
71
- ```
72
- <%= simple_form_for(@post) do |f| %>
73
- <%= f.error_notification %>
74
-
75
- <div class="form-inputs">
76
- <%= f.input :title %>
77
- <%= f.input :content, class:'summernote' %>
78
- </div>
108
+ That's it.
79
109
 
80
- <div class="form-actions">
81
- <%= f.button :submit %>
82
- </div>
83
- <% end %>
84
- ```
85
110
 
86
- That's it.
111
+ ## Sample projects
87
112
 
113
+ - Rails 3.2.14 : http://github.com/rorlab/summernote-test-r3
114
+ - Rails 4.0 : http://github.com/rorlab/summernote-test
88
115
 
89
116
  ## Changelogs
90
117
 
91
- - v0.2.1.2 : Added InsertHorizontalRule(Cmd+Enter) in summernote editor
118
+ - v0.2.1.3 : Added Help button in editor toolbox to popup Hot Key Table
119
+ - v0.2.1.2 : Added InsertHorizontalRule(Cmd+Enter) in summernote editor /
92
120
  Added summernote.js
93
- - v0.2.1.1 : available for Rails >= 3.1
94
- - v0.2.1 : bugfixed file uploading
95
- - v0.2.0 : available for Rails v4.0
121
+ - v0.2.1.1 : Available for Rails >= 3.1
122
+ - v0.2.1 : Bugfixed file uploading
123
+ - v0.2.0 : Available for Rails v4.0
96
124
 
97
125
 
98
126
  ## Contributing
@@ -1,5 +1,5 @@
1
1
  module Summernote
2
2
  module Rails
3
- VERSION = "0.2.1.2"
3
+ VERSION = "0.2.1.3"
4
4
  end
5
5
  end
@@ -488,6 +488,13 @@
488
488
  }(aCmd[idx]);
489
489
  }
490
490
 
491
+ this.tab = function(welEditable) {
492
+ var rng = new Range();
493
+ if (rng.isOnList() || !rng.isCollapsed()) {
494
+ return this.indent(welEditable); // return is hack.
495
+ }
496
+ };
497
+
491
498
  this.fontSize = function(welEditable, sValue) {
492
499
  recordUndo(welEditable);
493
500
  document.execCommand('fontSize', false, 3);
@@ -534,8 +541,10 @@
534
541
 
535
542
  this.color = function(welEditable, sObjColor) {
536
543
  var oColor = JSON.parse(sObjColor);
537
- this.foreColor(welEditable, oColor.foreColor);
538
- this.backColor(welEditable, oColor.backColor);
544
+
545
+ recordUndo(welEditable);
546
+ document.execCommand('foreColor', false, oColor.foreColor);
547
+ document.execCommand('backColor', false, oColor.backColor);
539
548
  };
540
549
 
541
550
  this.insertTable = function(welEditable, sDim) {
@@ -759,6 +768,10 @@
759
768
  welLinkBtn.off('click');
760
769
  }).modal('show');
761
770
  };
771
+
772
+ this.showHelpDialog = function(welDialog) {
773
+ welDialog.find('.note-help-dialog').modal('show');
774
+ };
762
775
  };
763
776
 
764
777
  /**
@@ -794,7 +807,8 @@
794
807
  bShift = event.shiftKey, keyCode = event.keyCode;
795
808
 
796
809
  // optimize
797
- var oLayoutInfo = (bCmd || bShift) ? makeLayoutInfo(event.target) : null;
810
+ var bExecCmd = (bCmd || bShift || keyCode === key.TAB);
811
+ var oLayoutInfo = (bExecCmd) ? makeLayoutInfo(event.target) : null;
798
812
 
799
813
  if (bCmd && ((bShift && keyCode === key.Z) || keyCode === key.Y)) {
800
814
  editor.redo(oLayoutInfo.editable());
@@ -827,7 +841,7 @@
827
841
  } else if (bShift && keyCode === key.TAB) { // shift + tab
828
842
  editor.outdent(oLayoutInfo.editable());
829
843
  } else if (keyCode === key.TAB) { // tab
830
- editor.indent(oLayoutInfo.editable());
844
+ editor.tab(oLayoutInfo.editable());
831
845
  } else if (bCmd && keyCode === key.NUM0) { // formatBlock Paragraph
832
846
  editor.formatBlock(oLayoutInfo.editable(), 'P');
833
847
  } else if (bCmd && (key.NUM1 <= keyCode && keyCode <= key.NUM4)) {
@@ -952,6 +966,8 @@
952
966
  dialog.showImageDialog(welDialog, hDropImage, function(files) {
953
967
  insertImages(welEditable, files);
954
968
  });
969
+ } else if (sEvent === "showHelpDialog") {
970
+ dialog.showHelpDialog(welDialog);
955
971
  }
956
972
 
957
973
  hToolbarAndPopoverUpdate(event);
@@ -1030,11 +1046,11 @@
1030
1046
  var Renderer = function() {
1031
1047
  var sToolbar = '<div class="note-toolbar btn-toolbar">' +
1032
1048
  '<div class="note-insert btn-group">' +
1033
- '<button type="button" class="btn btn-small" title="Picture" data-event="showImageDialog"><i class="icon-picture"></i></button>' +
1034
- '<button type="button" class="btn btn-small" title="Link" data-event="showLinkDialog" data-shortcut="Ctrl+K" data-mac-shortcut="⌘+K" ><i class="icon-link"></i></button>' +
1049
+ '<button type="button" class="btn btn-small" title="Picture" data-event="showImageDialog" tabindex="-1"><i class="icon-picture"></i></button>' +
1050
+ '<button type="button" class="btn btn-small" title="Link" data-event="showLinkDialog" data-shortcut="Ctrl+K" data-mac-shortcut="⌘+K" tabindex="-1"><i class="icon-link"></i></button>' +
1035
1051
  '</div>' +
1036
1052
  '<div class="note-table btn-group">' +
1037
- '<button type="button" class="btn btn-small dropdown-toggle" title="Table" data-toggle="dropdown"><i class="icon-table"></i> <span class="caret"></span></button>' +
1053
+ '<button type="button" class="btn btn-small dropdown-toggle" title="Table" data-toggle="dropdown" tabindex="-1"><i class="icon-table"></i> <span class="caret"></span></button>' +
1038
1054
  '<ul class="dropdown-menu">' +
1039
1055
  '<div class="note-dimension-picker">' +
1040
1056
  '<div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"></div>' +
@@ -1045,7 +1061,7 @@
1045
1061
  '</ul>' +
1046
1062
  '</div>' +
1047
1063
  '<div class="note-style btn-group">' +
1048
- '<button type="button" class="btn btn-small dropdown-toggle" title="Style" data-toggle="dropdown"><i class="icon-magic"></i> <span class="caret"></span></button>' +
1064
+ '<button type="button" class="btn btn-small dropdown-toggle" title="Style" data-toggle="dropdown" tabindex="-1"><i class="icon-magic"></i> <span class="caret"></span></button>' +
1049
1065
  '<ul class="dropdown-menu">' +
1050
1066
  '<li><a data-event="formatBlock" data-value="p">Paragraph</a></li>' +
1051
1067
  '<li><a data-event="formatBlock" data-value="blockquote"><blockquote>Quote</blockquote></a></li>' +
@@ -1057,7 +1073,7 @@
1057
1073
  '</ul>' +
1058
1074
  '</div>' +
1059
1075
  '<div class="note-fontsize btn-group">' +
1060
- '<button type="button" class="btn btn-small dropdown-toggle" data-toggle="dropdown" title="Font Size"><span class="note-current-fontsize">11</span> <b class="caret"></b></button>' +
1076
+ '<button type="button" class="btn btn-small dropdown-toggle" data-toggle="dropdown" title="Font Size" tabindex="-1"><span class="note-current-fontsize">11</span> <b class="caret"></b></button>' +
1061
1077
  '<ul class="dropdown-menu">' +
1062
1078
  '<li><a data-event="fontSize" data-value="8"><i class="icon-ok"></i> 8</a></li>' +
1063
1079
  '<li><a data-event="fontSize" data-value="9"><i class="icon-ok"></i> 9</a></li>' +
@@ -1071,8 +1087,8 @@
1071
1087
  '</ul>' +
1072
1088
  '</div>' +
1073
1089
  '<div class="note-color btn-group">' +
1074
- '<button type="button" class="btn btn-small note-recent-color" title="Recent Color" data-event="color" data-value=\'{"foreColor":"black","backColor":"yellow"}\'><i class="icon-font" style="color:black;background-color:yellow;"></i></button>' +
1075
- '<button type="button" class="btn btn-small dropdown-toggle" title="More Color" data-toggle="dropdown">' +
1090
+ '<button type="button" class="btn btn-small note-recent-color" title="Recent Color" data-event="color" data-value=\'{"foreColor":"black","backColor":"yellow"}\' tabindex="-1"><i class="icon-font" style="color:black;background-color:yellow;"></i></button>' +
1091
+ '<button type="button" class="btn btn-small dropdown-toggle" title="More Color" data-toggle="dropdown" tabindex="-1">' +
1076
1092
  '<span class="caret"></span>' +
1077
1093
  '</button>' +
1078
1094
  '<ul class="dropdown-menu">' +
@@ -1089,33 +1105,33 @@
1089
1105
  '</ul>' +
1090
1106
  '</div>' +
1091
1107
  '<div class="note-style btn-group">' +
1092
- '<button type="button" class="btn btn-small" title="Bold" data-shortcut="Ctrl+B" data-mac-shortcut="⌘+B" data-event="bold"><i class="icon-bold"></i></button>' +
1093
- '<button type="button" class="btn btn-small" title="Italic" data-shortcut="Ctrl+I" data-mac-shortcut="⌘+I" data-event="italic"><i class="icon-italic"></i></button>' +
1094
- '<button type="button" class="btn btn-small" title="Underline" data-shortcut="Ctrl+U" data-mac-shortcut="⌘+U" data-event="underline"><i class="icon-underline"></i></button>' +
1095
- '<button type="button" class="btn btn-small" title="Remove Font Style" data-shortcut="Ctrl+\\" data-mac-shortcut="⌘+\\" data-event="removeFormat"><i class="icon-eraser"></i></button>' +
1108
+ '<button type="button" class="btn btn-small" title="Bold" data-shortcut="Ctrl+B" data-mac-shortcut="⌘+B" data-event="bold" tabindex="-1"><i class="icon-bold"></i></button>' +
1109
+ '<button type="button" class="btn btn-small" title="Italic" data-shortcut="Ctrl+I" data-mac-shortcut="⌘+I" data-event="italic" tabindex="-1"><i class="icon-italic"></i></button>' +
1110
+ '<button type="button" class="btn btn-small" title="Underline" data-shortcut="Ctrl+U" data-mac-shortcut="⌘+U" data-event="underline" tabindex="-1"><i class="icon-underline"></i></button>' +
1111
+ '<button type="button" class="btn btn-small" title="Remove Font Style" data-shortcut="Ctrl+\\" data-mac-shortcut="⌘+\\" data-event="removeFormat" tabindex="-1"><i class="icon-eraser"></i></button>' +
1096
1112
  '</div>' +
1097
1113
  '<div class="note-para btn-group">' +
1098
- '<button type="button" class="btn btn-small" title="Unordered list" data-shortcut="Ctrl+Shift+8" data-mac-shortcut="⌘+⇧+7" data-event="insertUnorderedList"><i class="icon-list-ul"></i></button>' +
1099
- '<button type="button" class="btn btn-small" title="Ordered list" data-shortcut="Ctrl+Shift+7" data-mac-shortcut="⌘+⇧+8" data-event="insertOrderedList"><i class="icon-list-ol"></i></button>' +
1100
- '<button type="button" class="btn btn-small dropdown-toggle" title="Paragraph" data-toggle="dropdown"><i class="icon-align-left"></i> <span class="caret"></span></button>' +
1114
+ '<button type="button" class="btn btn-small" title="Unordered list" data-shortcut="Ctrl+Shift+8" data-mac-shortcut="⌘+⇧+7" data-event="insertUnorderedList" tabindex="-1"><i class="icon-list-ul"></i></button>' +
1115
+ '<button type="button" class="btn btn-small" title="Ordered list" data-shortcut="Ctrl+Shift+7" data-mac-shortcut="⌘+⇧+8" data-event="insertOrderedList" tabindex="-1"><i class="icon-list-ol"></i></button>' +
1116
+ '<button type="button" class="btn btn-small dropdown-toggle" title="Paragraph" data-toggle="dropdown" tabindex="-1"><i class="icon-align-left"></i> <span class="caret"></span></button>' +
1101
1117
  '<ul class="dropdown-menu right">' +
1102
1118
  '<li>' +
1103
1119
  '<div class="note-align btn-group">' +
1104
- '<button type="button" class="btn btn-small" title="Align left" data-shortcut="Ctrl+Shift+L" data-mac-shortcut="⌘+⇧+L" data-event="justifyLeft"><i class="icon-align-left"></i></button>' +
1105
- '<button type="button" class="btn btn-small" title="Align center" data-shortcut="Ctrl+Shift+E" data-mac-shortcut="⌘+⇧+E" data-event="justifyCenter"><i class="icon-align-center"></i></button>' +
1106
- '<button type="button" class="btn btn-small" title="Align right" data-shortcut="Ctrl+Shift+R" data-mac-shortcut="⌘+⇧+R" data-event="justifyRight"><i class="icon-align-right"></i></button>' +
1107
- '<button type="button" class="btn btn-small" title="Justify full" data-shortcut="Ctrl+Shift+J" data-mac-shortcut="⌘+⇧+J" data-event="justifyFull"><i class="icon-align-justify"></i></button>' +
1120
+ '<button type="button" class="btn btn-small" title="Align left" data-shortcut="Ctrl+Shift+L" data-mac-shortcut="⌘+⇧+L" data-event="justifyLeft" tabindex="-1"><i class="icon-align-left"></i></button>' +
1121
+ '<button type="button" class="btn btn-small" title="Align center" data-shortcut="Ctrl+Shift+E" data-mac-shortcut="⌘+⇧+E" data-event="justifyCenter" tabindex="-1"><i class="icon-align-center"></i></button>' +
1122
+ '<button type="button" class="btn btn-small" title="Align right" data-shortcut="Ctrl+Shift+R" data-mac-shortcut="⌘+⇧+R" data-event="justifyRight" tabindex="-1"><i class="icon-align-right"></i></button>' +
1123
+ '<button type="button" class="btn btn-small" title="Justify full" data-shortcut="Ctrl+Shift+J" data-mac-shortcut="⌘+⇧+J" data-event="justifyFull" tabindex="-1"><i class="icon-align-justify"></i></button>' +
1108
1124
  '</div>' +
1109
1125
  '</li>' +
1110
1126
  '<li>' +
1111
1127
  '<div class="note-list btn-group">' +
1112
- '<button type="button" class="btn btn-small" title="Outdent" data-shortcut="Shift+TAB" data-mac-shortcut="⇧+TAB" data-event="outdent"><i class="icon-indent-left"></i></button>' +
1113
- '<button type="button" class="btn btn-small" title="Indent" data-shortcut="TAB" data-mac-shortcut="TAB" data-event="indent"><i class="icon-indent-right"></i></button>' +
1128
+ '<button type="button" class="btn btn-small" title="Outdent" data-shortcut="Shift+TAB" data-mac-shortcut="⇧+TAB" data-event="outdent" tabindex="-1"><i class="icon-indent-left"></i></button>' +
1129
+ '<button type="button" class="btn btn-small" title="Indent" data-shortcut="TAB" data-mac-shortcut="TAB" data-event="indent" tabindex="-1"><i class="icon-indent-right"></i></button>' +
1114
1130
  '</li>' +
1115
1131
  '</ul>' +
1116
1132
  '</div>' +
1117
1133
  '<div class="note-line-height btn-group">' +
1118
- '<button type="button" class="btn btn-small dropdown-toggle" data-toggle="dropdown" title="Line Height"><i class="icon-text-height"></i>&nbsp; <b class="caret"></b></button>' +
1134
+ '<button type="button" class="btn btn-small dropdown-toggle" data-toggle="dropdown" title="Line Height" tabindex="-1"><i class="icon-text-height"></i>&nbsp; <b class="caret"></b></button>' +
1119
1135
  '<ul class="dropdown-menu right">' +
1120
1136
  '<li><a data-event="lineHeight" data-value="1.0"><i class="icon-ok"></i> 1.0</a></li>' +
1121
1137
  '<li><a data-event="lineHeight" data-value="1.2"><i class="icon-ok"></i> 1.2</a></li>' +
@@ -1127,6 +1143,8 @@
1127
1143
  '<li><a data-event="lineHeight" data-value="3.0"><i class="icon-ok"></i> 3.0</a></li>' +
1128
1144
  '</ul>' +
1129
1145
  '</div>' +
1146
+ '<div class="note-help btn-group">' +
1147
+ '<button type="button" class="btn btn-small" title="Help" data-event="showHelpDialog" tabindex="-1"><i class="icon-question"></i></button>' +
1130
1148
  '</div>';
1131
1149
  var sPopover = '<div class="note-popover">' +
1132
1150
  '<div class="note-link-popover popover fade bottom in" style="display: none;">' +
@@ -1134,8 +1152,8 @@
1134
1152
  '<div class="popover-content note-link-content">' +
1135
1153
  '<a href="http://www.google.com" target="_blank">www.google.com</a>&nbsp;&nbsp;' +
1136
1154
  '<div class="note-insert btn-group">' +
1137
- '<button type="button" class="btn btn-small" title="Edit" data-event="showLinkDialog"><i class="icon-edit"></i></button>' +
1138
- '<button type="button" class="btn btn-small" title="Unlink" data-event="unlink"><i class="icon-unlink"></i></button>' +
1155
+ '<button type="button" class="btn btn-small" title="Edit" data-event="showLinkDialog" tabindex="-1"><i class="icon-edit"></i></button>' +
1156
+ '<button type="button" class="btn btn-small" title="Unlink" data-event="unlink" tabindex="-1"><i class="icon-unlink"></i></button>' +
1139
1157
  '</div>' +
1140
1158
  '</div>' +
1141
1159
  '</div>' +
@@ -1143,15 +1161,15 @@
1143
1161
  '<div class="arrow"></div>' +
1144
1162
  '<div class="popover-content note-image-content">' +
1145
1163
  '<div class="btn-group">' +
1146
- '<button type="button" class="btn btn-small" title="Resize Full" data-event="resize" data-value="1"><i class="icon-resize-full"></i></button>' +
1147
- '<button type="button" class="btn btn-small" title="Resize Half" data-event="resize" data-value="0.5">½</button>' +
1148
- '<button type="button" class="btn btn-small" title="Resize Thrid" data-event="resize" data-value="0.33">⅓</button>' +
1149
- '<button type="button" class="btn btn-small" title="Resize Quarter" data-event="resize" data-value="0.25">¼</button>' +
1164
+ '<button type="button" class="btn btn-small" title="Resize Full" data-event="resize" data-value="1" tabindex="-1"><i class="icon-resize-full"></i></button>' +
1165
+ '<button type="button" class="btn btn-small" title="Resize Half" data-event="resize" data-value="0.5" tabindex="-1">½</button>' +
1166
+ '<button type="button" class="btn btn-small" title="Resize Thrid" data-event="resize" data-value="0.33" tabindex="-1">⅓</button>' +
1167
+ '<button type="button" class="btn btn-small" title="Resize Quarter" data-event="resize" data-value="0.25" tabindex="-1">¼</button>' +
1150
1168
  '</div>' +
1151
1169
  '<div class="btn-group">' +
1152
- '<button type="button" class="btn btn-small" title="Float Left" data-event="float" data-value="left"><i class="icon-align-left"></i></button>' +
1153
- '<button type="button" class="btn btn-small" title="Float Right" data-event="float" data-value="right"><i class="icon-align-right"></i></button>' +
1154
- '<button type="button" class="btn btn-small" title="Float None" data-event="float" data-value="none"><i class="icon-reorder"></i></button>' +
1170
+ '<button type="button" class="btn btn-small" title="Float Left" data-event="float" data-value="left" tabindex="-1"><i class="icon-align-left"></i></button>' +
1171
+ '<button type="button" class="btn btn-small" title="Float Right" data-event="float" data-value="right" tabindex="-1"><i class="icon-align-right"></i></button>' +
1172
+ '<button type="button" class="btn btn-small" title="Float None" data-event="float" data-value="none" tabindex="-1"><i class="icon-reorder"></i></button>' +
1155
1173
  '</div>' +
1156
1174
  '</div>' +
1157
1175
  '</div>' +
@@ -1168,10 +1186,127 @@
1168
1186
  '</div>' +
1169
1187
  '</div>';
1170
1188
 
1189
+ var sShortcutTable = '<table class="table table-hover table-striped table-bordered">' +
1190
+ '<thead>' +
1191
+ '<tr>' +
1192
+ '<th></th>' +
1193
+ '<th>Mac</th>' +
1194
+ '<th>Windows</th>' +
1195
+ '</tr>' +
1196
+ '</thead>' +
1197
+ '<tbody>' +
1198
+ '<tr>' +
1199
+ '<td>Undo</td>' +
1200
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">Z</button></td>' +
1201
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Z</button></td>' +
1202
+ '</tr>' +
1203
+ '<tr>' +
1204
+ '<td>Redo</td>' +
1205
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">Z</button></td>' +
1206
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Y</button></td>' +
1207
+ '</tr>' +
1208
+ '<tr>' +
1209
+ '<td>Indent</td>' +
1210
+ '<td><button class="btn btn-mini">Tab</button></td>' +
1211
+ '<td><button class="btn btn-mini">Tab</button></td>' +
1212
+ '</tr>' +
1213
+ '<tr>' +
1214
+ '<td>Outdent</td>' +
1215
+ '<td><button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">Tab</button></td>' +
1216
+ '<td><button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">Tab</button></td>' +
1217
+ '</tr>' +
1218
+ '<tr>' +
1219
+ '<td>Bold</td>' +
1220
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">B</button></td>' +
1221
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">B</button></td>' +
1222
+ '</tr>' +
1223
+ '<tr>' +
1224
+ '<td>Italic</td>' +
1225
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">I</button></td>' +
1226
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">I</button></td>' +
1227
+ '</tr>' +
1228
+ '<tr>' +
1229
+ '<td>Underline</td>' +
1230
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">U</button></td>' +
1231
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">U</button></td>' +
1232
+ '</tr>' +
1233
+ '<tr>' +
1234
+ '<td>Remove Font Style</td>' +
1235
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">\\</button></td>' +
1236
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">\\</button></td>' +
1237
+ '</tr>' +
1238
+ '<tr>' +
1239
+ '<td>Align Left</td>' +
1240
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">L</button></td>' +
1241
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">L</button></td>' +
1242
+ '</tr>' +
1243
+ '<tr>' +
1244
+ '<td>Align Center</td>' +
1245
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">E</button></td>' +
1246
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">E</button></td>' +
1247
+ '</tr>' +
1248
+ '<tr>' +
1249
+ '<td>Align Right</td>' +
1250
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">R</button></td>' +
1251
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">R</button></td>' +
1252
+ '</tr>' +
1253
+ '<tr>' +
1254
+ '<td>Justify Full</td>' +
1255
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">J</button></td>' +
1256
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">J</button></td>' +
1257
+ '</tr>' +
1258
+ '<tr>' +
1259
+ '<td>Ordered List</td>' +
1260
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">NUM7</button></td>' +
1261
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">NUM7</button></td>' +
1262
+ '</tr>' +
1263
+ '<tr>' +
1264
+ '<td>Unordered List</td>' +
1265
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">NUM8</button></td>' +
1266
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">NUM8</button></td>' +
1267
+ '</tr>' +
1268
+ '<tr>' +
1269
+ '<td>Normal Text</td>' +
1270
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM0</button></td>' +
1271
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM0</button></td>' +
1272
+ '</tr>' +
1273
+ '<tr>' +
1274
+ '<td>Heading 1</td>' +
1275
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM1</button></td>' +
1276
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM1</button></td>' +
1277
+ '</tr>' +
1278
+ '<tr>' +
1279
+ '<td>Heading 2</td>' +
1280
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM2</button></td>' +
1281
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM2</button></td>' +
1282
+ '</tr>' +
1283
+ '<tr>' +
1284
+ '<td>Heading 3</td>' +
1285
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM3</button></td>' +
1286
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM3</button></td>' +
1287
+ '</tr>' +
1288
+ '<tr>' +
1289
+ '<td>Heading 4</td>' +
1290
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM4</button></td>' +
1291
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM4</button></td>' +
1292
+ '</tr>' +
1293
+ '<tr>' +
1294
+ '<td>Insert Link</td>' +
1295
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">K</button></td>' +
1296
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">K</button></td>' +
1297
+ '</tr>' +
1298
+ '<tr>' +
1299
+ '<td>Insert Horizontal Rule</td>' +
1300
+ '<td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">ENTER</button></td>' +
1301
+ '<td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">ENTER</button></td>' +
1302
+ '</tr>' +
1303
+ '</tbody>' +
1304
+ '</table>';
1305
+
1171
1306
  var sDialog = '<div class="note-dialog">' +
1172
1307
  '<div class="note-image-dialog modal hide in" aria-hidden="false">' +
1173
1308
  '<div class="modal-header">' +
1174
- '<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>' +
1309
+ '<button type="button" class="close" data-dismiss="modal" aria-hidden="true" tabindex="-1">×</button>' +
1175
1310
  '<h4>Insert Image</h4>' +
1176
1311
  '</div>' +
1177
1312
  '<div class="modal-body">' +
@@ -1184,7 +1319,7 @@
1184
1319
  '</div>' +
1185
1320
  '<div class="note-link-dialog modal hide in" aria-hidden="false">' +
1186
1321
  '<div class="modal-header">' +
1187
- '<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>' +
1322
+ '<button type="button" class="close" data-dismiss="modal" aria-hidden="true" tabindex="-1">×</button>' +
1188
1323
  '<h4>Edit Link</h4>' +
1189
1324
  '</div>' +
1190
1325
  '<div class="modal-body">' +
@@ -1199,6 +1334,32 @@
1199
1334
  '<a href="#" class="btn disabled note-link-btn" disabled="disabled">Link</a>' +
1200
1335
  '</div>' +
1201
1336
  '</div>' +
1337
+ '<div class="note-help-dialog modal hide in" aria-hidden="false">' +
1338
+ '<div class="modal-header">' +
1339
+ '<button type="button" class="close" data-dismiss="modal" aria-hidden="true" tabindex="-1">×</button>' +
1340
+ '<h4>Help</h4>' +
1341
+ '</div>' +
1342
+ '<div class="modal-body">' +
1343
+ '<div class="tabbable">' +
1344
+ '<ul class="nav nav-tabs">' +
1345
+ '<li class="active"><a href="#summernote-shortcut" data-toggle="tab"><i class="icon-keyboard"></i> Shortcut</a></li>' +
1346
+ '<li><a href="#summernote-about" data-toggle="tab"><i class="icon-question"></i> About</a></li>' +
1347
+ '</ul>' +
1348
+ '<div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;">' +
1349
+ '<div class="tab-pane active" id="summernote-shortcut">' +
1350
+ sShortcutTable +
1351
+ '</div>' +
1352
+ '<div class="tab-pane" id="summernote-about">' +
1353
+ '<p class="text-center">Summernote v0.2 distributed under the MIT license.</p>' +
1354
+ '<p class="text-center"><a href="//hackerwins.github.io/summernote/" target="_blank">Home</a> · <a href="//github.com/HackerWins/summernote" target="_blank">GitHub Project</a> · <a href="//github.com/HackerWins/summernote/issues" target="_blank">Issues</a></p>' +
1355
+ '</div>' +
1356
+ '</div>' +
1357
+ '</div>' +
1358
+ '</div>' +
1359
+ '<div class="modal-footer">' +
1360
+ '<button class="btn" data-dismiss="modal" aria-hidden="true">Ok</button>' +
1361
+ '</div>' +
1362
+ '</div>' +
1202
1363
  '</div>';
1203
1364
 
1204
1365
  // createTooltip
@@ -1237,7 +1398,7 @@
1237
1398
  ';" data-event="', sEvent,
1238
1399
  '" data-value="', sColor,
1239
1400
  '" title="', sColor,
1240
- '" data-toggle="button"></button>'].join('');
1401
+ '" data-toggle="button" tabindex="-1"></button>'].join('');
1241
1402
  sLine += sButton;
1242
1403
  }
1243
1404
  sLine += '</div>';
@@ -1248,7 +1409,7 @@
1248
1409
  };
1249
1410
 
1250
1411
  // createLayout
1251
- var createLayout = this.createLayout = function(welHolder, nHeight) {
1412
+ var createLayout = this.createLayout = function(welHolder, nHeight, nTabIndex) {
1252
1413
  //already created
1253
1414
  if (welHolder.next().hasClass('note-editor')) { return; }
1254
1415
 
@@ -1257,6 +1418,7 @@
1257
1418
 
1258
1419
  //02. create Editable
1259
1420
  var welEditable = $('<div class="note-editable" contentEditable="true"></div>').prependTo(welEditor);
1421
+ if (nTabIndex) { welEditable.attr('tabIndex', nTabIndex); }
1260
1422
  if (nHeight) { welEditable.height(nHeight); }
1261
1423
 
1262
1424
  welEditable.html(welHolder.html());
@@ -1322,8 +1484,8 @@
1322
1484
  this.each(function(idx, elHolder) {
1323
1485
  var welHolder = $(elHolder);
1324
1486
 
1325
- // createLayout
1326
- renderer.createLayout(welHolder, options.height);
1487
+ // createLayout with options
1488
+ renderer.createLayout(welHolder, options.height, options.tabIndex);
1327
1489
 
1328
1490
  var info = renderer.layoutInfoFromHolder(welHolder);
1329
1491
  eventHandler.attach(info);
@@ -1337,14 +1499,15 @@
1337
1499
  if (sHTML === undefined) {
1338
1500
  return this.map(function(idx, elHolder) {
1339
1501
  var info = renderer.layoutInfoFromHolder($(elHolder));
1340
- return info.editable.html();
1502
+ var bEditable = !!(info && info.editable);
1503
+ return bEditable ? info.editable.html() : $(elHolder).html();
1341
1504
  });
1342
1505
  }
1343
1506
 
1344
1507
  // set the HTML contents
1345
1508
  this.each(function(i, elHolder) {
1346
1509
  var info = renderer.layoutInfoFromHolder($(elHolder));
1347
- info.editable.html(sHTML);
1510
+ if (info && info.editable) { info.editable.html(sHTML); }
1348
1511
  });
1349
1512
  },
1350
1513
  // destroy Editor Layout and dettach Key and Mouse Event
@@ -1353,6 +1516,7 @@
1353
1516
  var welHolder = $(elHolder);
1354
1517
 
1355
1518
  var info = renderer.layoutInfoFromHolder(welHolder);
1519
+ if (!info || !info.editable) { return; }
1356
1520
  eventHandler.dettach(info);
1357
1521
  renderer.removeLayout(welHolder);
1358
1522
  });
@@ -1 +1,2 @@
1
- !function(a){"use strict";var b=navigator.appVersion.indexOf("Mac")>-1,c=navigator.userAgent.indexOf("MSIE")>-1,d=function(){var a=function(a){return function(b){return a===b}},b=function(a,b){return a===b},c=function(){return!1};return{eq:a,eq2:b,fail:c}}(),e=function(){var a=function(a){return a[0]},b=function(a){return a[a.length-1]},c=function(a){return a.slice(0,a.length-1)},d=function(a){return a.slice(1)},e=function(c,e){if(0===c.length)return[];var f=d(c);return f.reduce(function(a,c){var d=b(a);return e(b(d),c)?d[d.length]=c:a[a.length]=[c],a},[[a(c)]])},f=function(a){for(var b=[],c=0,d=a.length;d>c;c++)a[c]&&b.push(a[c]);return b};return{head:a,last:b,initial:c,tail:d,compact:f,clusterBy:e}}(),f=function(){var b=function(a){return function(b){return b&&b.nodeName===a}},c=function(a){return a&&/^P|^LI|^H[1-7]/.test(a.nodeName)},f=function(a){return a&&/^UL|^OL/.test(a.nodeName)},g=function(b){return b&&a(b).hasClass("note-editable")},h=function(b){return b&&a(b).hasClass("note-control-sizing")},i=function(a,b){for(;a;){if(b(a))return a;a=a.parentNode}return null},j=function(a,b){b=b||d.fail;var c=[];return i(a,function(a){return c.push(a),b(a)}),c},k=function(b,c){for(var d=j(b),e=c;e;e=e.parentNode)if(a.inArray(e,d)>-1)return e;return null},l=function(a,b){for(var c,d=[],e=k(a,b),f=document.createNodeIterator(e,NodeFilter.SHOW_ALL,null,!1),g=!1;(c=f.nextNode())&&(a===c&&(g=!0),g&&d.push(c),b!==c););return d},m=function(a,b){b=b||d.fail;for(var c=[];a&&(c.push(a),a!==b);)a=a.nextSibling;return c},n=function(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a},o=function(b,c){return a.each(c,function(a,c){b.appendChild(c)}),b},p=b("#text"),q=function(a){return p(a)?a.nodeValue.length:a.childNodes.length},r=function(a){for(var b=0;a=a.previousSibling;)b+=1;return b},s=function(b,c){var f=e.initial(j(c,d.eq(b)));return a.map(f,r).reverse()},t=function(a,b){for(var c=a,d=0,e=b.length;e>d;d++)c=c.childNodes[b[d]];return c},u=function(a,b){if(0===b)return a;if(b>=q(a))return a.nextSibling;if(p(a))return a.splitText(b);var c=a.childNodes[b];return a=n(a.cloneNode(!1),a),o(a,m(c))},v=function(a,b,c){var e=j(b,d.eq(a));return 1===e.length?u(b,c):e.reduce(function(a,d){var e=d.cloneNode(!1);return n(e,d),a===b&&(a=u(a,c)),o(e,m(a)),e})};return{isText:p,isPara:c,isList:f,isEditable:g,isControlSizing:h,isAnchor:b("A"),isDiv:b("DIV"),isSpan:b("SPAN"),isB:b("B"),isU:b("U"),isS:b("S"),isI:b("I"),isImg:b("IMG"),ancestor:i,listAncestor:j,listNext:m,commonAncestor:k,listBetween:l,insertAfter:n,position:r,makeOffsetPath:s,fromOffsetPath:t,split:v}}(),g=!!document.createRange,h=function(b,c,h,i){if(0===arguments.length&&document.getSelection){var j=document.getSelection().getRangeAt(0);b=j.startContainer,c=j.startOffset,h=j.endContainer,i=j.endOffset}this.sc=b,this.so=c,this.ec=h,this.eo=i;var k=function(){if(g){var a=document.createRange();return a.setStart(b,c),a.setEnd(h,i),a}};this.select=function(){var a=k();if(g){var b=document.getSelection();b.rangeCount>0&&b.removeAllRanges(),b.addRange(a)}},this.listPara=function(){var c=f.listBetween(b,h),g=e.compact(a.map(c,function(a){return f.ancestor(a,f.isPara)}));return a.map(e.clusterBy(g,d.eq2),e.head)},this.isOnList=function(){var a=f.ancestor(b,f.isList),c=f.ancestor(h,f.isList);return a&&a===c},this.isOnAnchor=function(){var a=f.ancestor(b,f.isAnchor),c=f.ancestor(h,f.isAnchor);return a&&a===c},this.isCollapsed=function(){return b===h&&c===i},this.insertNode=function(a){var b=k();g&&b.insertNode(a)},this.surroundContents=function(b){var c=a("<"+b+" />")[0],d=k();return g&&d.surroundContents(c),c},this.toString=function(){var a=k();return g?a.toString():void 0},this.bookmark=function(a){return{s:{path:f.makeOffsetPath(a,b),offset:c},e:{path:f.makeOffsetPath(a,h),offset:i}}}},i=function(a,b){return new h(f.fromOffsetPath(a,b.s.path),b.s.offset,f.fromOffsetPath(a,b.e.path),b.e.offset)},j=function(){this.styleFont=function(b,c){var d=b.surroundContents("span");a.each(c,function(a,b){d.style[a]=b})},this.stylePara=function(b,c){var d=b.listPara();a.each(d,function(b,d){a.each(c,function(a,b){d.style[a]=b})})},this.current=function(b,c){var d=a(f.isText(b.sc)?b.sc.parentNode:b.sc),e=d.css(["font-size","font-weight","font-style","text-decoration","text-align","list-style-type","line-height"])||{};if(e["font-size"]=parseInt(e["font-size"]),isNaN(parseInt(e["font-weight"]))||(e["font-weight"]=e["font-weight"]>400?"bold":"normal"),b.isOnList()){var g=["circle","disc","disc-leading-zero","square"],h=a.inArray(e["list-style-type"],g)>-1;e["list-style"]=h?"unordered":"ordered"}else e["list-style"]="none";var i=f.ancestor(b.sc,f.isPara);if(i&&i.style["line-height"])e["line-height"]=i.style.lineHeight;else{var j=parseInt(e["line-height"])/parseInt(e["font-size"]);e["line-height"]=j.toFixed(1)}return e.image=f.isImg(c)&&c,e.anchor=b.isOnAnchor()&&f.ancestor(b.sc,f.isAnchor),e.aAncestor=f.listAncestor(b.sc,f.isEditable),e}},k=function(){var a=[],b=[],c=function(a){var b=a[0],c=new h;return{contents:a.html(),bookmark:c.bookmark(b),scrollTop:a.scrollTop()}},d=function(a,b){a.html(b.contents).scrollTop(b.scrollTop),i(a[0],b.bookmark).select()};this.undo=function(e){var f=c(e);0!==a.length&&(d(e,a.pop()),b.push(f))},this.redo=function(e){var f=c(e);0!==b.length&&(d(e,b.pop()),a.push(f))},this.recordUndo=function(d){b=[],a.push(c(d))}},l=function(){var b=new j;this.currentStyle=function(a){return 0==document.getSelection().rangeCount?null:b.current(new h,a)},this.undo=function(a){a.data("NoteHistory").undo(a)},this.redo=function(a){a.data("NoteHistory").redo(a)};for(var d=this.recordUndo=function(a){a.data("NoteHistory").recordUndo(a)},e=["bold","italic","underline","justifyLeft","justifyCenter","justifyRight","justifyFull","insertOrderedList","insertUnorderedList","indent","outdent","formatBlock","removeFormat","backColor","foreColor","insertImage","insertHorizontalRule"],g=0,i=e.length;i>g;g++)this[e[g]]=function(a){return function(b,c){d(b),document.execCommand(a,!1,c)}}(e[g]);this.fontSize=function(a,b){d(a),document.execCommand("fontSize",!1,3);var c=a.find("font[size=3]");c.removeAttr("size").css("font-size",b+"px")},this.lineHeight=function(a,c){d(a),b.stylePara(new h,{lineHeight:c})},this.unlink=function(a){var b=new h;if(b.isOnAnchor()){d(a);var c=f.ancestor(b.sc,f.isAnchor);b=new h(c,0,c,1),b.select(),document.execCommand("unlink")}},this.setLinkDialog=function(a,b){var c=new h;if(c.isOnAnchor()){var e=f.ancestor(c.sc,f.isAnchor);c=new h(e,0,e,1)}b({range:c,text:c.toString(),url:c.isOnAnchor()?f.ancestor(c.sc,f.isAnchor).href:""},function(b){c.select(),d(a),0!==b.toLowerCase().indexOf("http://")&&(b="http://"+b),document.execCommand("createlink",!1,b)})},this.color=function(a,b){var c=JSON.parse(b);this.foreColor(a,c.foreColor),this.backColor(a,c.backColor)},this.insertTable=function(b,e){d(b);for(var f,g=e.split("x"),i=g[0],j=g[1],k=[],l=c?"&nbsp;":"<br/>",m=0;i>m;m++)k.push("<td>"+l+"</td>");f=k.join("");for(var n,o=[],p=0;j>p;p++)o.push("<tr>"+f+"</tr>");n=o.join("");var q='<table class="table table-bordered">'+n+"</table>";(new h).insertNode(a(q)[0])},this.float=function(a,b,c){d(a),c.style.cssFloat=b},this.resize=function(a,b,c){d(a),c.style.width=a.width()*b+"px",c.style.height=""},this.resizeTo=function(a,b){b.style.width=a.x+"px",b.style.height=a.y+"px"}},m=function(){this.update=function(b,c){var d=function(b,c){b.find(".dropdown-menu li a").each(function(){var b=a(this).attr("data-value")==c;this.className=b?"checked":""})},e=b.find(".note-fontsize");e.find(".note-current-fontsize").html(c["font-size"]),d(e,parseFloat(c["font-size"]));var f=b.find(".note-line-height");d(f,parseFloat(c["line-height"]));var g=function(a,c){var d=b.find(a);d[c()?"addClass":"removeClass"]("active")};g('button[data-event="bold"]',function(){return"bold"===c["font-weight"]}),g('button[data-event="italic"]',function(){return"italic"===c["font-style"]}),g('button[data-event="underline"]',function(){return"underline"===c["text-decoration"]}),g('button[data-event="justifyLeft"]',function(){return"left"===c["text-align"]||"start"===c["text-align"]}),g('button[data-event="justifyCenter"]',function(){return"center"===c["text-align"]}),g('button[data-event="justifyRight"]',function(){return"right"===c["text-align"]}),g('button[data-event="justifyFull"]',function(){return"justify"===c["text-align"]}),g('button[data-event="insertUnorderedList"]',function(){return"unordered"===c["list-style"]}),g('button[data-event="insertOrderedList"]',function(){return"ordered"===c["list-style"]})},this.updateRecentColor=function(b,c,d){var e=a(b).closest(".note-color"),f=e.find(".note-recent-color"),g=JSON.parse(f.attr("data-value"));g[c]=d,f.attr("data-value",JSON.stringify(g));var h="backColor"===c?"background-color":"color";f.find("i").css(h,d)}},n=function(){this.update=function(b,c){var d=b.find(".note-link-popover"),e=b.find(".note-image-popover");if(c.anchor){var f=d.find("a");f.attr("href",c.anchor.href).html(c.anchor.href);var g=c.anchor.getBoundingClientRect();d.css({display:"block",left:g.left,top:a(document).scrollTop()+g.bottom})}else d.hide();if(c.image){var g=c.image.getBoundingClientRect();e.css({display:"block",left:g.left,top:a(document).scrollTop()+g.bottom})}else e.hide()},this.hide=function(a){a.children().hide()}},o=function(){this.update=function(b,c){var d=b.find(".note-control-selection");if(c.image){var e=c.image.getBoundingClientRect();d.css({display:"block",left:e.left+"px",top:a(document).scrollTop()+e.top+"px",width:e.width+"px",height:e.height+"px"}).data("target",c.image);var f=e.width+"x"+e.height;d.find(".note-control-selection-info").text(f)}else d.hide()},this.hide=function(a){a.children().hide()}},p=function(){this.showImageDialog=function(b,c,d){var e=b.find(".note-image-dialog"),f=b.find(".note-dropzone"),g=b.find(".note-image-input");e.on("shown",function(){f.on("dragenter dragover dragleave",!1),f.on("drop",function(a){c(a),e.modal("hide")}),g.on("change",function(){d(this.files),a(this).val(""),e.modal("hide")})}).on("hidden",function(){f.off("dragenter dragover dragleave drop"),g.off("change")}).modal("show")},this.showLinkDialog=function(a,b,c){var d=a.find(".note-link-dialog"),e=d.find(".note-link-text"),f=d.find(".note-link-url"),g=d.find(".note-link-btn");d.on("shown",function(){e.html(b.text),f.val(b.url).keyup(function(){f.val()?g.removeClass("disabled").attr("disabled",!1):g.addClass("disabled").attr("disabled",!0),b.text||e.html(f.val())}).trigger("focus"),g.click(function(a){d.modal("hide"),c(f.val()),a.preventDefault()})}).on("hidden",function(){f.off("keyup"),d.off("shown hidden"),g.off("click")}).modal("show")}},q=function(){var c=new l,d=new m,e=new n,g=new o,h=new p,i={BACKSPACE:8,TAB:9,ENTER:13,SPACE:32,NUM0:48,NUM1:49,NUM4:52,NUM7:55,NUM8:56,B:66,E:69,I:73,J:74,K:75,L:76,R:82,U:85,Y:89,Z:90,BACKSLACH:220},j=function(b){var c=a(b).closest(".note-editor");return{editor:function(){return c},editable:function(){return c.find(".note-editable")},toolbar:function(){return c.find(".note-toolbar")},popover:function(){return c.find(".note-popover")},handle:function(){return c.find(".note-handle")},dialog:function(){return c.find(".note-dialog")}}},k=function(a){var d=b?a.metaKey:a.ctrlKey,e=a.shiftKey,f=a.keyCode,g=d||e?j(a.target):null;if(d&&(e&&f===i.Z||f===i.Y))c.redo(g.editable());else if(d&&f===i.Z)c.undo(g.editable());else if(d&&f===i.B)c.bold(g.editable());else if(d&&f===i.I)c.italic(g.editable());else if(d&&f===i.U)c.underline(g.editable());else if(d&&f===i.BACKSLACH)c.removeFormat(g.editable());else if(d&&f===i.K)c.setLinkDialog(g.editable(),function(a,b){h.showLinkDialog(g.dialog(),a,b)});else if(d&&e&&f===i.L)c.justifyLeft(g.editable());else if(d&&e&&f===i.E)c.justifyCenter(g.editable());else if(d&&e&&f===i.R)c.justifyRight(g.editable());else if(d&&e&&f===i.J)c.justifyFull(g.editable());else if(d&&e&&f===i.NUM7)c.insertUnorderedList(g.editable());else if(d&&e&&f===i.NUM8)c.insertOrderedList(g.editable());else if(e&&f===i.TAB)c.outdent(g.editable());else if(f===i.TAB)c.indent(g.editable());else if(d&&f===i.NUM0)c.formatBlock(g.editable(),"P");else if(d&&i.NUM1<=f&&f<=i.NUM4){var k="H"+String.fromCharCode(f);c.formatBlock(g.editable(),k)}else{if(!d||f!==i.ENTER)return(f===i.BACKSPACE||f===i.ENTER||f===i.SPACE)&&c.recordUndo(j(a.target).editable()),void 0;c.insertHorizontalRule(g.editable())}a.preventDefault()},q=function(b,d){a.each(d,function(a,d){var e=new FileReader;e.onload=function(a){c.insertImage(b,a.target.result)},e.readAsDataURL(d)})},r=function(a){var b=a.originalEvent.dataTransfer;if(b&&b.files){var c=j(a.currentTarget||a.target);q(c.editable(),b.files)}a.stopPropagation(),a.preventDefault()},s=function(a){f.isImg(a.target)&&a.preventDefault()},t=function(a){var b=j(a.currentTarget||a.target),f=c.currentStyle(a.target);f&&(d.update(b.toolbar(),f),e.update(b.popover(),f),g.update(b.handle(),f))},u=function(a){var b=j(a.currentTarget||a.target);e.hide(b.popover()),g.hide(b.handle())},v=function(b){if(f.isControlSizing(b.target)){var d,h=j(b.target),i=h.handle(),k=h.popover(),l=h.editable(),m=h.editor(),n=i.find(".note-control-selection").data("target"),o=a(n).offset(),p=a(document).scrollTop();m.on("mousemove",function(a){d={x:a.clientX-o.left,y:a.clientY-(o.top-p)},c.resizeTo(d,n),g.update(i,{image:n}),e.update(k,{image:n})}).on("mouseup",function(){m.off("mousemove").off("mouseup")}),c.recordUndo(l),b.stopPropagation(),b.preventDefault()}},w=function(b){var c=a(b.target).closest("[data-event]");c.length>0&&b.preventDefault()},x=function(b){var e=a(b.target).closest("[data-event]");if(e.length>0){var f,g=e.attr("data-event"),i=e.attr("data-value"),k=j(b.target),l=k.dialog(),m=k.editable();if(-1!==a.inArray(g,["resize","float"])){var n=k.handle(),o=n.find(".note-control-selection");f=o.data("target")}c[g]&&(m.trigger("focus"),c[g](m,i,f)),-1!==a.inArray(g,["backColor","foreColor"])?d.updateRecentColor(e[0],g,i):"showLinkDialog"===g?c.setLinkDialog(m,function(a,b){h.showLinkDialog(l,a,b)}):"showImageDialog"===g&&h.showImageDialog(l,r,function(a){q(m,a)}),t(b)}},y=18,z=function(b){var c,d=a(b.target.parentNode),e=d.next(),f=d.find(".note-dimension-picker-mousecatcher"),g=d.find(".note-dimension-picker-highlighted"),h=d.find(".note-dimension-picker-unhighlighted");if(void 0===b.offsetX){var i=a(b.target).offset();c={x:b.pageX-i.left,y:b.pageY-i.top}}else c={x:b.offsetX,y:b.offsetY};var j={c:Math.ceil(c.x/y)||1,r:Math.ceil(c.y/y)||1};g.css({width:j.c+"em",height:j.r+"em"}),f.attr("data-value",j.c+"x"+j.r),3<j.c&&j.c<20&&h.css({width:j.c+1+"em"}),3<j.r&&j.r<20&&h.css({height:j.r+1+"em"}),e.html(j.c+" x "+j.r)};this.attach=function(a){a.editable.on("keydown",k),a.editable.on("mousedown",s),a.editable.on("keyup mouseup",t),a.editable.on("scroll",u),a.editable.on("dragenter dragover dragleave",!1),a.editable.on("drop",r),a.handle.on("mousedown",v),a.toolbar.on("click",x),a.popover.on("click",x),a.toolbar.on("mousedown",w),a.popover.on("mousedown",w);var b=a.toolbar,c=b.find(".note-dimension-picker-mousecatcher");c.on("mousemove",z)},this.dettach=function(a){a.editable.off(),a.toolbar.off(),a.handle.off(),a.popover.off()}},r=function(){var c='<div class="note-toolbar btn-toolbar"><div class="note-insert btn-group"><button type="button" class="btn btn-small" title="Picture" data-event="showImageDialog"><i class="icon-picture"></i></button><button type="button" class="btn btn-small" title="Link" data-event="showLinkDialog" data-shortcut="Ctrl+K" data-mac-shortcut="⌘+K" ><i class="icon-link"></i></button></div><div class="note-table btn-group"><button type="button" class="btn btn-small dropdown-toggle" title="Table" data-toggle="dropdown"><i class="icon-table"></i> <span class="caret"></span></button><ul class="dropdown-menu"><div class="note-dimension-picker"><div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"></div><div class="note-dimension-picker-highlighted"></div><div class="note-dimension-picker-unhighlighted"></div></div><div class="note-dimension-display"> 1 x 1 </div></ul></div><div class="note-style btn-group"><button type="button" class="btn btn-small dropdown-toggle" title="Style" data-toggle="dropdown"><i class="icon-magic"></i> <span class="caret"></span></button><ul class="dropdown-menu"><li><a data-event="formatBlock" data-value="p">Paragraph</a></li><li><a data-event="formatBlock" data-value="blockquote"><blockquote>Quote</blockquote></a></li><li><a data-event="formatBlock" data-value="pre">Code</a></li><li><a data-event="formatBlock" data-value="h1"><h1>Header 1</h1></a></li><li><a data-event="formatBlock" data-value="h2"><h2>Header 2</h2></a></li><li><a data-event="formatBlock" data-value="h3"><h3>Header 3</h3></a></li><li><a data-event="formatBlock" data-value="h4"><h4>Header 4</h4></a></li></ul></div><div class="note-fontsize btn-group"><button type="button" class="btn btn-small dropdown-toggle" data-toggle="dropdown" title="Font Size"><span class="note-current-fontsize">11</span> <b class="caret"></b></button><ul class="dropdown-menu"><li><a data-event="fontSize" data-value="8"><i class="icon-ok"></i> 8</a></li><li><a data-event="fontSize" data-value="9"><i class="icon-ok"></i> 9</a></li><li><a data-event="fontSize" data-value="10"><i class="icon-ok"></i> 10</a></li><li><a data-event="fontSize" data-value="11"><i class="icon-ok"></i> 11</a></li><li><a data-event="fontSize" data-value="12"><i class="icon-ok"></i> 12</a></li><li><a data-event="fontSize" data-value="14"><i class="icon-ok"></i> 14</a></li><li><a data-event="fontSize" data-value="18"><i class="icon-ok"></i> 18</a></li><li><a data-event="fontSize" data-value="24"><i class="icon-ok"></i> 24</a></li><li><a data-event="fontSize" data-value="36"><i class="icon-ok"></i> 36</a></li></ul></div><div class="note-color btn-group"><button type="button" class="btn btn-small note-recent-color" title="Recent Color" data-event="color" data-value=\'{"foreColor":"black","backColor":"yellow"}\'><i class="icon-font" style="color:black;background-color:yellow;"></i></button><button type="button" class="btn btn-small dropdown-toggle" title="More Color" data-toggle="dropdown"><span class="caret"></span></button><ul class="dropdown-menu"><li><div class="btn-group"><div class="note-palette-title">BackColor</div><div class="note-color-palette" data-target-event="backColor"></div></div><div class="btn-group"><div class="note-palette-title">FontColor</div><div class="note-color-palette" data-target-event="foreColor"></div></div></li></ul></div><div class="note-style btn-group"><button type="button" class="btn btn-small" title="Bold" data-shortcut="Ctrl+B" data-mac-shortcut="⌘+B" data-event="bold"><i class="icon-bold"></i></button><button type="button" class="btn btn-small" title="Italic" data-shortcut="Ctrl+I" data-mac-shortcut="⌘+I" data-event="italic"><i class="icon-italic"></i></button><button type="button" class="btn btn-small" title="Underline" data-shortcut="Ctrl+U" data-mac-shortcut="⌘+U" data-event="underline"><i class="icon-underline"></i></button><button type="button" class="btn btn-small" title="Remove Font Style" data-shortcut="Ctrl+\\" data-mac-shortcut="⌘+\\" data-event="removeFormat"><i class="icon-eraser"></i></button></div><div class="note-para btn-group"><button type="button" class="btn btn-small" title="Unordered list" data-shortcut="Ctrl+Shift+8" data-mac-shortcut="⌘+⇧+7" data-event="insertUnorderedList"><i class="icon-list-ul"></i></button><button type="button" class="btn btn-small" title="Ordered list" data-shortcut="Ctrl+Shift+7" data-mac-shortcut="⌘+⇧+8" data-event="insertOrderedList"><i class="icon-list-ol"></i></button><button type="button" class="btn btn-small dropdown-toggle" title="Paragraph" data-toggle="dropdown"><i class="icon-align-left"></i> <span class="caret"></span></button><ul class="dropdown-menu right"><li><div class="note-align btn-group"><button type="button" class="btn btn-small" title="Align left" data-shortcut="Ctrl+Shift+L" data-mac-shortcut="⌘+⇧+L" data-event="justifyLeft"><i class="icon-align-left"></i></button><button type="button" class="btn btn-small" title="Align center" data-shortcut="Ctrl+Shift+E" data-mac-shortcut="⌘+⇧+E" data-event="justifyCenter"><i class="icon-align-center"></i></button><button type="button" class="btn btn-small" title="Align right" data-shortcut="Ctrl+Shift+R" data-mac-shortcut="⌘+⇧+R" data-event="justifyRight"><i class="icon-align-right"></i></button><button type="button" class="btn btn-small" title="Justify full" data-shortcut="Ctrl+Shift+J" data-mac-shortcut="⌘+⇧+J" data-event="justifyFull"><i class="icon-align-justify"></i></button></div></li><li><div class="note-list btn-group"><button type="button" class="btn btn-small" title="Outdent" data-shortcut="Shift+TAB" data-mac-shortcut="⇧+TAB" data-event="outdent"><i class="icon-indent-left"></i></button><button type="button" class="btn btn-small" title="Indent" data-shortcut="TAB" data-mac-shortcut="TAB" data-event="indent"><i class="icon-indent-right"></i></button></li></ul></div><div class="note-line-height btn-group"><button type="button" class="btn btn-small dropdown-toggle" data-toggle="dropdown" title="Line Height"><i class="icon-text-height"></i>&nbsp; <b class="caret"></b></button><ul class="dropdown-menu right"><li><a data-event="lineHeight" data-value="1.0"><i class="icon-ok"></i> 1.0</a></li><li><a data-event="lineHeight" data-value="1.2"><i class="icon-ok"></i> 1.2</a></li><li><a data-event="lineHeight" data-value="1.4"><i class="icon-ok"></i> 1.4</a></li><li><a data-event="lineHeight" data-value="1.5"><i class="icon-ok"></i> 1.5</a></li><li><a data-event="lineHeight" data-value="1.6"><i class="icon-ok"></i> 1.6</a></li><li><a data-event="lineHeight" data-value="1.8"><i class="icon-ok"></i> 1.8</a></li><li><a data-event="lineHeight" data-value="2.0"><i class="icon-ok"></i> 2.0</a></li><li><a data-event="lineHeight" data-value="3.0"><i class="icon-ok"></i> 3.0</a></li></ul></div></div>',d='<div class="note-popover"><div class="note-link-popover popover fade bottom in" style="display: none;"><div class="arrow"></div><div class="popover-content note-link-content"><a href="http://www.google.com" target="_blank">www.google.com</a>&nbsp;&nbsp;<div class="note-insert btn-group"><button type="button" class="btn btn-small" title="Edit" data-event="showLinkDialog"><i class="icon-edit"></i></button><button type="button" class="btn btn-small" title="Unlink" data-event="unlink"><i class="icon-unlink"></i></button></div></div></div><div class="note-image-popover popover fade bottom in" style="display: none;"><div class="arrow"></div><div class="popover-content note-image-content"><div class="btn-group"><button type="button" class="btn btn-small" title="Resize Full" data-event="resize" data-value="1"><i class="icon-resize-full"></i></button><button type="button" class="btn btn-small" title="Resize Half" data-event="resize" data-value="0.5">½</button><button type="button" class="btn btn-small" title="Resize Thrid" data-event="resize" data-value="0.33">⅓</button><button type="button" class="btn btn-small" title="Resize Quarter" data-event="resize" data-value="0.25">¼</button></div><div class="btn-group"><button type="button" class="btn btn-small" title="Float Left" data-event="float" data-value="left"><i class="icon-align-left"></i></button><button type="button" class="btn btn-small" title="Float Right" data-event="float" data-value="right"><i class="icon-align-right"></i></button><button type="button" class="btn btn-small" title="Float None" data-event="float" data-value="none"><i class="icon-reorder"></i></button></div></div></div></div>',e='<div class="note-handle"><div class="note-control-selection"><div class="note-control-selection-bg"></div><div class="note-control-holder note-control-nw"></div><div class="note-control-holder note-control-ne"></div><div class="note-control-holder note-control-sw"></div><div class="note-control-sizing note-control-se"></div><div class="note-control-selection-info"></div></div></div>',f='<div class="note-dialog"><div class="note-image-dialog modal hide in" aria-hidden="false"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h4>Insert Image</h4></div><div class="modal-body"><div class="row-fluid"><div class="note-dropzone span12">Drag an image here</div><div>or if you prefer...</div><input class="note-image-input" type="file" class="note-link-url" type="text" /></div></div></div><div class="note-link-dialog modal hide in" aria-hidden="false"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h4>Edit Link</h4></div><div class="modal-body"><div class="row-fluid"><label>Text to display</label><span class="note-link-text input-xlarge uneditable-input" /><label>To what URL should this link go?</label><input class="note-link-url span12" type="text" /></div></div><div class="modal-footer"><a href="#" class="btn disabled note-link-btn" disabled="disabled">Link</a></div></div></div>',g=function(c,d){c.find("button").each(function(c,d){var e=a(d),f=e.attr(b?"data-mac-shortcut":"data-shortcut");f&&e.attr("title",function(a,b){return b+" ("+f+")"})}).tooltip({container:"body",placement:d||"top"})},h=[["#000000","#424242","#636363","#9C9C94","#CEC6CE","#EFEFEF","#EFF7F7","#FFFFFF"],["#FF0000","#FF9C00","#FFFF00","#00FF00","#00FFFF","#0000FF","#9C00FF","#FF00FF"],["#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE"],["#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD"],["#E76363","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5"],["#CE0000","#E79439","#EFC631","#6BA54A","#4A7B8C","#3984C6","#634AA5","#A54A7B"],["#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842"],["#630000","#7B3900","#846300","#295218","#083139","#003163","#21104A","#4A1031"]],i=function(b){b.find(".note-color-palette").each(function(){for(var b=a(this),c=b.attr("data-target-event"),d="",e=0,f=h.length;f>e;e++){for(var g=h[e],i="<div>",j=0,k=g.length;k>j;j++){var l=g[j],m=['<button type="button" class="note-color-btn" style="background-color:',l,';" data-event="',c,'" data-value="',l,'" title="',l,'" data-toggle="button"></button>'].join("");i+=m}i+="</div>",d+=i}b.html(d)})};this.createLayout=function(b,h){if(!b.next().hasClass("note-editor")){var j=a('<div class="note-editor"></div>'),l=a('<div class="note-editable" contentEditable="true"></div>').prependTo(j);h&&l.height(h),l.html(b.html()),l.data("NoteHistory",new k);var m=a(c).prependTo(j);i(m),g(m,"bottom");var n=a(d).prependTo(j);g(n),a(e).prependTo(j),a(f).prependTo(j),j.insertAfter(b),b.hide()}};var j=this.layoutInfoFromHolder=function(a){var b=a.next();if(b.hasClass("note-editor"))return{editor:b,editable:b.find(".note-editable"),toolbar:b.find(".note-toolbar"),popover:b.find(".note-popover"),handle:b.find(".note-handle"),dialog:b.find(".note-dialog")}};this.removeLayout=function(a){var b=j(a);b&&(a.html(b.editable.html()),b.editor.remove(),a.show())}},s=new r,t=new q;a.fn.extend({summernote:function(b){b=b||{},this.each(function(c,d){var e=a(d);s.createLayout(e,b.height);var f=s.layoutInfoFromHolder(e);t.attach(f),b.focus&&f.editable.focus()})},code:function(b){return void 0===b?this.map(function(b,c){var d=s.layoutInfoFromHolder(a(c));return d.editable.html()}):(this.each(function(c,d){var e=s.layoutInfoFromHolder(a(d));e.editable.html(b)}),void 0)},destroy:function(){this.each(function(b,c){var d=a(c),e=s.layoutInfoFromHolder(d);t.dettach(e),s.removeLayout(d)})},summernoteInner:function(){return{dom:f,list:e,func:d}}})}(jQuery);
1
+ !function(a){"use strict";var b=navigator.appVersion.indexOf("Mac")>-1,c=navigator.userAgent.indexOf("MSIE")>-1,d=function(){var a=function(a){return function(b){return a===b}},b=function(a,b){return a===b},c=function(){return!1};return{eq:a,eq2:b,fail:c}}(),e=function(){var a=function(a){return a[0]},b=function(a){return a[a.length-1]},c=function(a){return a.slice(0,a.length-1)},d=function(a){return a.slice(1)},e=function(c,e){if(0===c.length)return[];var f=d(c);return f.reduce(function(a,c){var d=b(a);return e(b(d),c)?d[d.length]=c:a[a.length]=[c],a},[[a(c)]])},f=function(a){for(var b=[],c=0,d=a.length;d>c;c++)a[c]&&b.push(a[c]);return b};return{head:a,last:b,initial:c,tail:d,compact:f,clusterBy:e}}(),f=function(){var b=function(a){return function(b){return b&&b.nodeName===a}},c=function(a){return a&&/^P|^LI|^H[1-7]/.test(a.nodeName)},f=function(a){return a&&/^UL|^OL/.test(a.nodeName)},g=function(b){return b&&a(b).hasClass("note-editable")},h=function(b){return b&&a(b).hasClass("note-control-sizing")},i=function(a,b){for(;a;){if(b(a))return a;a=a.parentNode}return null},j=function(a,b){b=b||d.fail;var c=[];return i(a,function(a){return c.push(a),b(a)}),c},k=function(b,c){for(var d=j(b),e=c;e;e=e.parentNode)if(a.inArray(e,d)>-1)return e;return null},l=function(a,b){for(var c,d=[],e=k(a,b),f=document.createNodeIterator(e,NodeFilter.SHOW_ALL,null,!1),g=!1;(c=f.nextNode())&&(a===c&&(g=!0),g&&d.push(c),b!==c););return d},m=function(a,b){b=b||d.fail;for(var c=[];a&&(c.push(a),a!==b);)a=a.nextSibling;return c},n=function(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a},o=function(b,c){return a.each(c,function(a,c){b.appendChild(c)}),b},p=b("#text"),q=function(a){return p(a)?a.nodeValue.length:a.childNodes.length},r=function(a){for(var b=0;a=a.previousSibling;)b+=1;return b},s=function(b,c){var f=e.initial(j(c,d.eq(b)));return a.map(f,r).reverse()},t=function(a,b){for(var c=a,d=0,e=b.length;e>d;d++)c=c.childNodes[b[d]];return c},u=function(a,b){if(0===b)return a;if(b>=q(a))return a.nextSibling;if(p(a))return a.splitText(b);var c=a.childNodes[b];return a=n(a.cloneNode(!1),a),o(a,m(c))},v=function(a,b,c){var e=j(b,d.eq(a));return 1===e.length?u(b,c):e.reduce(function(a,d){var e=d.cloneNode(!1);return n(e,d),a===b&&(a=u(a,c)),o(e,m(a)),e})};return{isText:p,isPara:c,isList:f,isEditable:g,isControlSizing:h,isAnchor:b("A"),isDiv:b("DIV"),isSpan:b("SPAN"),isB:b("B"),isU:b("U"),isS:b("S"),isI:b("I"),isImg:b("IMG"),ancestor:i,listAncestor:j,listNext:m,commonAncestor:k,listBetween:l,insertAfter:n,position:r,makeOffsetPath:s,fromOffsetPath:t,split:v}}(),g=!!document.createRange,h=function(b,c,h,i){if(0===arguments.length&&document.getSelection){var j=document.getSelection().getRangeAt(0);b=j.startContainer,c=j.startOffset,h=j.endContainer,i=j.endOffset}this.sc=b,this.so=c,this.ec=h,this.eo=i;var k=function(){if(g){var a=document.createRange();return a.setStart(b,c),a.setEnd(h,i),a}};this.select=function(){var a=k();if(g){var b=document.getSelection();b.rangeCount>0&&b.removeAllRanges(),b.addRange(a)}},this.listPara=function(){var c=f.listBetween(b,h),g=e.compact(a.map(c,function(a){return f.ancestor(a,f.isPara)}));return a.map(e.clusterBy(g,d.eq2),e.head)},this.isOnList=function(){var a=f.ancestor(b,f.isList),c=f.ancestor(h,f.isList);return a&&a===c},this.isOnAnchor=function(){var a=f.ancestor(b,f.isAnchor),c=f.ancestor(h,f.isAnchor);return a&&a===c},this.isCollapsed=function(){return b===h&&c===i},this.insertNode=function(a){var b=k();g&&b.insertNode(a)},this.surroundContents=function(b){var c=a("<"+b+" />")[0],d=k();return g&&d.surroundContents(c),c},this.toString=function(){var a=k();return g?a.toString():void 0},this.bookmark=function(a){return{s:{path:f.makeOffsetPath(a,b),offset:c},e:{path:f.makeOffsetPath(a,h),offset:i}}}},i=function(a,b){return new h(f.fromOffsetPath(a,b.s.path),b.s.offset,f.fromOffsetPath(a,b.e.path),b.e.offset)},j=function(){this.styleFont=function(b,c){var d=b.surroundContents("span");a.each(c,function(a,b){d.style[a]=b})},this.stylePara=function(b,c){var d=b.listPara();a.each(d,function(b,d){a.each(c,function(a,b){d.style[a]=b})})},this.current=function(b,c){var d=a(f.isText(b.sc)?b.sc.parentNode:b.sc),e=d.css(["font-size","font-weight","font-style","text-decoration","text-align","list-style-type","line-height"])||{};if(e["font-size"]=parseInt(e["font-size"]),isNaN(parseInt(e["font-weight"]))||(e["font-weight"]=e["font-weight"]>400?"bold":"normal"),b.isOnList()){var g=["circle","disc","disc-leading-zero","square"],h=a.inArray(e["list-style-type"],g)>-1;e["list-style"]=h?"unordered":"ordered"}else e["list-style"]="none";var i=f.ancestor(b.sc,f.isPara);if(i&&i.style["line-height"])e["line-height"]=i.style.lineHeight;else{var j=parseInt(e["line-height"])/parseInt(e["font-size"]);e["line-height"]=j.toFixed(1)}return e.image=f.isImg(c)&&c,e.anchor=b.isOnAnchor()&&f.ancestor(b.sc,f.isAnchor),e.aAncestor=f.listAncestor(b.sc,f.isEditable),e}},k=function(){var a=[],b=[],c=function(a){var b=a[0],c=new h;return{contents:a.html(),bookmark:c.bookmark(b),scrollTop:a.scrollTop()}},d=function(a,b){a.html(b.contents).scrollTop(b.scrollTop),i(a[0],b.bookmark).select()};this.undo=function(e){var f=c(e);0!==a.length&&(d(e,a.pop()),b.push(f))},this.redo=function(e){var f=c(e);0!==b.length&&(d(e,b.pop()),a.push(f))},this.recordUndo=function(d){b=[],a.push(c(d))}},l=function(){var b=new j;this.currentStyle=function(a){return 0==document.getSelection().rangeCount?null:b.current(new h,a)},this.undo=function(a){a.data("NoteHistory").undo(a)},this.redo=function(a){a.data("NoteHistory").redo(a)};for(var d=this.recordUndo=function(a){a.data("NoteHistory").recordUndo(a)},e=["bold","italic","underline","justifyLeft","justifyCenter","justifyRight","justifyFull","insertOrderedList","insertUnorderedList","indent","outdent","formatBlock","removeFormat","backColor","foreColor","insertImage","insertHorizontalRule"],g=0,i=e.length;i>g;g++)this[e[g]]=function(a){return function(b,c){d(b),document.execCommand(a,!1,c)}}(e[g]);this.tab=function(a){var b=new h;return b.isOnList()||!b.isCollapsed()?this.indent(a):void 0},this.fontSize=function(a,b){d(a),document.execCommand("fontSize",!1,3);var c=a.find("font[size=3]");c.removeAttr("size").css("font-size",b+"px")},this.lineHeight=function(a,c){d(a),b.stylePara(new h,{lineHeight:c})},this.unlink=function(a){var b=new h;if(b.isOnAnchor()){d(a);var c=f.ancestor(b.sc,f.isAnchor);b=new h(c,0,c,1),b.select(),document.execCommand("unlink")}},this.setLinkDialog=function(a,b){var c=new h;if(c.isOnAnchor()){var e=f.ancestor(c.sc,f.isAnchor);c=new h(e,0,e,1)}b({range:c,text:c.toString(),url:c.isOnAnchor()?f.ancestor(c.sc,f.isAnchor).href:""},function(b){c.select(),d(a),0!==b.toLowerCase().indexOf("http://")&&(b="http://"+b),document.execCommand("createlink",!1,b)})},this.color=function(a,b){var c=JSON.parse(b);d(a),document.execCommand("foreColor",!1,c.foreColor),document.execCommand("backColor",!1,c.backColor)},this.insertTable=function(b,e){d(b);for(var f,g=e.split("x"),i=g[0],j=g[1],k=[],l=c?"&nbsp;":"<br/>",m=0;i>m;m++)k.push("<td>"+l+"</td>");f=k.join("");for(var n,o=[],p=0;j>p;p++)o.push("<tr>"+f+"</tr>");n=o.join("");var q='<table class="table table-bordered">'+n+"</table>";(new h).insertNode(a(q)[0])},this.float=function(a,b,c){d(a),c.style.cssFloat=b},this.resize=function(a,b,c){d(a),c.style.width=a.width()*b+"px",c.style.height=""},this.resizeTo=function(a,b){b.style.width=a.x+"px",b.style.height=a.y+"px"}},m=function(){this.update=function(b,c){var d=function(b,c){b.find(".dropdown-menu li a").each(function(){var b=a(this).attr("data-value")==c;this.className=b?"checked":""})},e=b.find(".note-fontsize");e.find(".note-current-fontsize").html(c["font-size"]),d(e,parseFloat(c["font-size"]));var f=b.find(".note-line-height");d(f,parseFloat(c["line-height"]));var g=function(a,c){var d=b.find(a);d[c()?"addClass":"removeClass"]("active")};g('button[data-event="bold"]',function(){return"bold"===c["font-weight"]}),g('button[data-event="italic"]',function(){return"italic"===c["font-style"]}),g('button[data-event="underline"]',function(){return"underline"===c["text-decoration"]}),g('button[data-event="justifyLeft"]',function(){return"left"===c["text-align"]||"start"===c["text-align"]}),g('button[data-event="justifyCenter"]',function(){return"center"===c["text-align"]}),g('button[data-event="justifyRight"]',function(){return"right"===c["text-align"]}),g('button[data-event="justifyFull"]',function(){return"justify"===c["text-align"]}),g('button[data-event="insertUnorderedList"]',function(){return"unordered"===c["list-style"]}),g('button[data-event="insertOrderedList"]',function(){return"ordered"===c["list-style"]})},this.updateRecentColor=function(b,c,d){var e=a(b).closest(".note-color"),f=e.find(".note-recent-color"),g=JSON.parse(f.attr("data-value"));g[c]=d,f.attr("data-value",JSON.stringify(g));var h="backColor"===c?"background-color":"color";f.find("i").css(h,d)}},n=function(){this.update=function(b,c){var d=b.find(".note-link-popover"),e=b.find(".note-image-popover");if(c.anchor){var f=d.find("a");f.attr("href",c.anchor.href).html(c.anchor.href);var g=c.anchor.getBoundingClientRect();d.css({display:"block",left:g.left,top:a(document).scrollTop()+g.bottom})}else d.hide();if(c.image){var g=c.image.getBoundingClientRect();e.css({display:"block",left:g.left,top:a(document).scrollTop()+g.bottom})}else e.hide()},this.hide=function(a){a.children().hide()}},o=function(){this.update=function(b,c){var d=b.find(".note-control-selection");if(c.image){var e=c.image.getBoundingClientRect();d.css({display:"block",left:e.left+"px",top:a(document).scrollTop()+e.top+"px",width:e.width+"px",height:e.height+"px"}).data("target",c.image);var f=e.width+"x"+e.height;d.find(".note-control-selection-info").text(f)}else d.hide()},this.hide=function(a){a.children().hide()}},p=function(){this.showImageDialog=function(b,c,d){var e=b.find(".note-image-dialog"),f=b.find(".note-dropzone"),g=b.find(".note-image-input");e.on("shown",function(){f.on("dragenter dragover dragleave",!1),f.on("drop",function(a){c(a),e.modal("hide")}),g.on("change",function(){d(this.files),a(this).val(""),e.modal("hide")})}).on("hidden",function(){f.off("dragenter dragover dragleave drop"),g.off("change")}).modal("show")},this.showLinkDialog=function(a,b,c){var d=a.find(".note-link-dialog"),e=d.find(".note-link-text"),f=d.find(".note-link-url"),g=d.find(".note-link-btn");d.on("shown",function(){e.html(b.text),f.val(b.url).keyup(function(){f.val()?g.removeClass("disabled").attr("disabled",!1):g.addClass("disabled").attr("disabled",!0),b.text||e.html(f.val())}).trigger("focus"),g.click(function(a){d.modal("hide"),c(f.val()),a.preventDefault()})}).on("hidden",function(){f.off("keyup"),d.off("shown hidden"),g.off("click")}).modal("show")},this.showHelpDialog=function(a){a.find(".note-help-dialog").modal("show")}},q=function(){var c=new l,d=new m,e=new n,g=new o,h=new p,i={BACKSPACE:8,TAB:9,ENTER:13,SPACE:32,NUM0:48,NUM1:49,NUM4:52,NUM7:55,NUM8:56,B:66,E:69,I:73,J:74,K:75,L:76,R:82,U:85,Y:89,Z:90,BACKSLACH:220},j=function(b){var c=a(b).closest(".note-editor");return{editor:function(){return c},editable:function(){return c.find(".note-editable")},toolbar:function(){return c.find(".note-toolbar")},popover:function(){return c.find(".note-popover")},handle:function(){return c.find(".note-handle")},dialog:function(){return c.find(".note-dialog")}}},k=function(a){var d=b?a.metaKey:a.ctrlKey,e=a.shiftKey,f=a.keyCode,g=d||e||f===i.TAB,k=g?j(a.target):null;if(d&&(e&&f===i.Z||f===i.Y))c.redo(k.editable());else if(d&&f===i.Z)c.undo(k.editable());else if(d&&f===i.B)c.bold(k.editable());else if(d&&f===i.I)c.italic(k.editable());else if(d&&f===i.U)c.underline(k.editable());else if(d&&f===i.BACKSLACH)c.removeFormat(k.editable());else if(d&&f===i.K)c.setLinkDialog(k.editable(),function(a,b){h.showLinkDialog(k.dialog(),a,b)});else if(d&&e&&f===i.L)c.justifyLeft(k.editable());else if(d&&e&&f===i.E)c.justifyCenter(k.editable());else if(d&&e&&f===i.R)c.justifyRight(k.editable());else if(d&&e&&f===i.J)c.justifyFull(k.editable());else if(d&&e&&f===i.NUM7)c.insertUnorderedList(k.editable());else if(d&&e&&f===i.NUM8)c.insertOrderedList(k.editable());else if(e&&f===i.TAB)c.outdent(k.editable());else if(f===i.TAB)c.tab(k.editable());else if(d&&f===i.NUM0)c.formatBlock(k.editable(),"P");else if(d&&i.NUM1<=f&&f<=i.NUM4){var l="H"+String.fromCharCode(f);c.formatBlock(k.editable(),l)}else{if(!d||f!==i.ENTER)return(f===i.BACKSPACE||f===i.ENTER||f===i.SPACE)&&c.recordUndo(j(a.target).editable()),void 0;c.insertHorizontalRule(k.editable())}a.preventDefault()},q=function(b,d){a.each(d,function(a,d){var e=new FileReader;e.onload=function(a){c.insertImage(b,a.target.result)},e.readAsDataURL(d)})},r=function(a){var b=a.originalEvent.dataTransfer;if(b&&b.files){var c=j(a.currentTarget||a.target);q(c.editable(),b.files)}a.stopPropagation(),a.preventDefault()},s=function(a){f.isImg(a.target)&&a.preventDefault()},t=function(a){var b=j(a.currentTarget||a.target),f=c.currentStyle(a.target);f&&(d.update(b.toolbar(),f),e.update(b.popover(),f),g.update(b.handle(),f))},u=function(a){var b=j(a.currentTarget||a.target);e.hide(b.popover()),g.hide(b.handle())},v=function(b){if(f.isControlSizing(b.target)){var d,h=j(b.target),i=h.handle(),k=h.popover(),l=h.editable(),m=h.editor(),n=i.find(".note-control-selection").data("target"),o=a(n).offset(),p=a(document).scrollTop();m.on("mousemove",function(a){d={x:a.clientX-o.left,y:a.clientY-(o.top-p)},c.resizeTo(d,n),g.update(i,{image:n}),e.update(k,{image:n})}).on("mouseup",function(){m.off("mousemove").off("mouseup")}),c.recordUndo(l),b.stopPropagation(),b.preventDefault()}},w=function(b){var c=a(b.target).closest("[data-event]");c.length>0&&b.preventDefault()},x=function(b){var e=a(b.target).closest("[data-event]");if(e.length>0){var f,g=e.attr("data-event"),i=e.attr("data-value"),k=j(b.target),l=k.dialog(),m=k.editable();if(-1!==a.inArray(g,["resize","float"])){var n=k.handle(),o=n.find(".note-control-selection");f=o.data("target")}c[g]&&(m.trigger("focus"),c[g](m,i,f)),-1!==a.inArray(g,["backColor","foreColor"])?d.updateRecentColor(e[0],g,i):"showLinkDialog"===g?c.setLinkDialog(m,function(a,b){h.showLinkDialog(l,a,b)}):"showImageDialog"===g?h.showImageDialog(l,r,function(a){q(m,a)}):"showHelpDialog"===g&&h.showHelpDialog(l),t(b)}},y=18,z=function(b){var c,d=a(b.target.parentNode),e=d.next(),f=d.find(".note-dimension-picker-mousecatcher"),g=d.find(".note-dimension-picker-highlighted"),h=d.find(".note-dimension-picker-unhighlighted");if(void 0===b.offsetX){var i=a(b.target).offset();c={x:b.pageX-i.left,y:b.pageY-i.top}}else c={x:b.offsetX,y:b.offsetY};var j={c:Math.ceil(c.x/y)||1,r:Math.ceil(c.y/y)||1};g.css({width:j.c+"em",height:j.r+"em"}),f.attr("data-value",j.c+"x"+j.r),3<j.c&&j.c<20&&h.css({width:j.c+1+"em"}),3<j.r&&j.r<20&&h.css({height:j.r+1+"em"}),e.html(j.c+" x "+j.r)};this.attach=function(a){a.editable.on("keydown",k),a.editable.on("mousedown",s),a.editable.on("keyup mouseup",t),a.editable.on("scroll",u),a.editable.on("dragenter dragover dragleave",!1),a.editable.on("drop",r),a.handle.on("mousedown",v),a.toolbar.on("click",x),a.popover.on("click",x),a.toolbar.on("mousedown",w),a.popover.on("mousedown",w);var b=a.toolbar,c=b.find(".note-dimension-picker-mousecatcher");c.on("mousemove",z)},this.dettach=function(a){a.editable.off(),a.toolbar.off(),a.handle.off(),a.popover.off()}},r=function(){var c='<div class="note-toolbar btn-toolbar"><div class="note-insert btn-group"><button type="button" class="btn btn-small" title="Picture" data-event="showImageDialog" tabindex="-1"><i class="icon-picture"></i></button><button type="button" class="btn btn-small" title="Link" data-event="showLinkDialog" data-shortcut="Ctrl+K" data-mac-shortcut="⌘+K" tabindex="-1"><i class="icon-link"></i></button></div><div class="note-table btn-group"><button type="button" class="btn btn-small dropdown-toggle" title="Table" data-toggle="dropdown" tabindex="-1"><i class="icon-table"></i> <span class="caret"></span></button><ul class="dropdown-menu"><div class="note-dimension-picker"><div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"></div><div class="note-dimension-picker-highlighted"></div><div class="note-dimension-picker-unhighlighted"></div></div><div class="note-dimension-display"> 1 x 1 </div></ul></div><div class="note-style btn-group"><button type="button" class="btn btn-small dropdown-toggle" title="Style" data-toggle="dropdown" tabindex="-1"><i class="icon-magic"></i> <span class="caret"></span></button><ul class="dropdown-menu"><li><a data-event="formatBlock" data-value="p">Paragraph</a></li><li><a data-event="formatBlock" data-value="blockquote"><blockquote>Quote</blockquote></a></li><li><a data-event="formatBlock" data-value="pre">Code</a></li><li><a data-event="formatBlock" data-value="h1"><h1>Header 1</h1></a></li><li><a data-event="formatBlock" data-value="h2"><h2>Header 2</h2></a></li><li><a data-event="formatBlock" data-value="h3"><h3>Header 3</h3></a></li><li><a data-event="formatBlock" data-value="h4"><h4>Header 4</h4></a></li></ul></div><div class="note-fontsize btn-group"><button type="button" class="btn btn-small dropdown-toggle" data-toggle="dropdown" title="Font Size" tabindex="-1"><span class="note-current-fontsize">11</span> <b class="caret"></b></button><ul class="dropdown-menu"><li><a data-event="fontSize" data-value="8"><i class="icon-ok"></i> 8</a></li><li><a data-event="fontSize" data-value="9"><i class="icon-ok"></i> 9</a></li><li><a data-event="fontSize" data-value="10"><i class="icon-ok"></i> 10</a></li><li><a data-event="fontSize" data-value="11"><i class="icon-ok"></i> 11</a></li><li><a data-event="fontSize" data-value="12"><i class="icon-ok"></i> 12</a></li><li><a data-event="fontSize" data-value="14"><i class="icon-ok"></i> 14</a></li><li><a data-event="fontSize" data-value="18"><i class="icon-ok"></i> 18</a></li><li><a data-event="fontSize" data-value="24"><i class="icon-ok"></i> 24</a></li><li><a data-event="fontSize" data-value="36"><i class="icon-ok"></i> 36</a></li></ul></div><div class="note-color btn-group"><button type="button" class="btn btn-small note-recent-color" title="Recent Color" data-event="color" data-value=\'{"foreColor":"black","backColor":"yellow"}\' tabindex="-1"><i class="icon-font" style="color:black;background-color:yellow;"></i></button><button type="button" class="btn btn-small dropdown-toggle" title="More Color" data-toggle="dropdown" tabindex="-1"><span class="caret"></span></button><ul class="dropdown-menu"><li><div class="btn-group"><div class="note-palette-title">BackColor</div><div class="note-color-palette" data-target-event="backColor"></div></div><div class="btn-group"><div class="note-palette-title">FontColor</div><div class="note-color-palette" data-target-event="foreColor"></div></div></li></ul></div><div class="note-style btn-group"><button type="button" class="btn btn-small" title="Bold" data-shortcut="Ctrl+B" data-mac-shortcut="⌘+B" data-event="bold" tabindex="-1"><i class="icon-bold"></i></button><button type="button" class="btn btn-small" title="Italic" data-shortcut="Ctrl+I" data-mac-shortcut="⌘+I" data-event="italic" tabindex="-1"><i class="icon-italic"></i></button><button type="button" class="btn btn-small" title="Underline" data-shortcut="Ctrl+U" data-mac-shortcut="⌘+U" data-event="underline" tabindex="-1"><i class="icon-underline"></i></button><button type="button" class="btn btn-small" title="Remove Font Style" data-shortcut="Ctrl+\\" data-mac-shortcut="⌘+\\" data-event="removeFormat" tabindex="-1"><i class="icon-eraser"></i></button></div><div class="note-para btn-group"><button type="button" class="btn btn-small" title="Unordered list" data-shortcut="Ctrl+Shift+8" data-mac-shortcut="⌘+⇧+7" data-event="insertUnorderedList" tabindex="-1"><i class="icon-list-ul"></i></button><button type="button" class="btn btn-small" title="Ordered list" data-shortcut="Ctrl+Shift+7" data-mac-shortcut="⌘+⇧+8" data-event="insertOrderedList" tabindex="-1"><i class="icon-list-ol"></i></button><button type="button" class="btn btn-small dropdown-toggle" title="Paragraph" data-toggle="dropdown" tabindex="-1"><i class="icon-align-left"></i> <span class="caret"></span></button><ul class="dropdown-menu right"><li><div class="note-align btn-group"><button type="button" class="btn btn-small" title="Align left" data-shortcut="Ctrl+Shift+L" data-mac-shortcut="⌘+⇧+L" data-event="justifyLeft" tabindex="-1"><i class="icon-align-left"></i></button><button type="button" class="btn btn-small" title="Align center" data-shortcut="Ctrl+Shift+E" data-mac-shortcut="⌘+⇧+E" data-event="justifyCenter" tabindex="-1"><i class="icon-align-center"></i></button><button type="button" class="btn btn-small" title="Align right" data-shortcut="Ctrl+Shift+R" data-mac-shortcut="⌘+⇧+R" data-event="justifyRight" tabindex="-1"><i class="icon-align-right"></i></button><button type="button" class="btn btn-small" title="Justify full" data-shortcut="Ctrl+Shift+J" data-mac-shortcut="⌘+⇧+J" data-event="justifyFull" tabindex="-1"><i class="icon-align-justify"></i></button></div></li><li><div class="note-list btn-group"><button type="button" class="btn btn-small" title="Outdent" data-shortcut="Shift+TAB" data-mac-shortcut="⇧+TAB" data-event="outdent" tabindex="-1"><i class="icon-indent-left"></i></button><button type="button" class="btn btn-small" title="Indent" data-shortcut="TAB" data-mac-shortcut="TAB" data-event="indent" tabindex="-1"><i class="icon-indent-right"></i></button></li></ul></div><div class="note-line-height btn-group"><button type="button" class="btn btn-small dropdown-toggle" data-toggle="dropdown" title="Line Height" tabindex="-1"><i class="icon-text-height"></i>&nbsp; <b class="caret"></b></button><ul class="dropdown-menu right"><li><a data-event="lineHeight" data-value="1.0"><i class="icon-ok"></i> 1.0</a></li><li><a data-event="lineHeight" data-value="1.2"><i class="icon-ok"></i> 1.2</a></li><li><a data-event="lineHeight" data-value="1.4"><i class="icon-ok"></i> 1.4</a></li><li><a data-event="lineHeight" data-value="1.5"><i class="icon-ok"></i> 1.5</a></li><li><a data-event="lineHeight" data-value="1.6"><i class="icon-ok"></i> 1.6</a></li><li><a data-event="lineHeight" data-value="1.8"><i class="icon-ok"></i> 1.8</a></li><li><a data-event="lineHeight" data-value="2.0"><i class="icon-ok"></i> 2.0</a></li><li><a data-event="lineHeight" data-value="3.0"><i class="icon-ok"></i> 3.0</a></li></ul></div><div class="note-help btn-group"><button type="button" class="btn btn-small" title="Help" data-event="showHelpDialog" tabindex="-1"><i class="icon-question"></i></button></div>',d='<div class="note-popover"><div class="note-link-popover popover fade bottom in" style="display: none;"><div class="arrow"></div><div class="popover-content note-link-content"><a href="http://www.google.com" target="_blank">www.google.com</a>&nbsp;&nbsp;<div class="note-insert btn-group"><button type="button" class="btn btn-small" title="Edit" data-event="showLinkDialog" tabindex="-1"><i class="icon-edit"></i></button><button type="button" class="btn btn-small" title="Unlink" data-event="unlink" tabindex="-1"><i class="icon-unlink"></i></button></div></div></div><div class="note-image-popover popover fade bottom in" style="display: none;"><div class="arrow"></div><div class="popover-content note-image-content"><div class="btn-group"><button type="button" class="btn btn-small" title="Resize Full" data-event="resize" data-value="1" tabindex="-1"><i class="icon-resize-full"></i></button><button type="button" class="btn btn-small" title="Resize Half" data-event="resize" data-value="0.5" tabindex="-1">½</button><button type="button" class="btn btn-small" title="Resize Thrid" data-event="resize" data-value="0.33" tabindex="-1">⅓</button><button type="button" class="btn btn-small" title="Resize Quarter" data-event="resize" data-value="0.25" tabindex="-1">¼</button></div><div class="btn-group"><button type="button" class="btn btn-small" title="Float Left" data-event="float" data-value="left" tabindex="-1"><i class="icon-align-left"></i></button><button type="button" class="btn btn-small" title="Float Right" data-event="float" data-value="right" tabindex="-1"><i class="icon-align-right"></i></button><button type="button" class="btn btn-small" title="Float None" data-event="float" data-value="none" tabindex="-1"><i class="icon-reorder"></i></button></div></div></div></div>',e='<div class="note-handle"><div class="note-control-selection"><div class="note-control-selection-bg"></div><div class="note-control-holder note-control-nw"></div><div class="note-control-holder note-control-ne"></div><div class="note-control-holder note-control-sw"></div><div class="note-control-sizing note-control-se"></div><div class="note-control-selection-info"></div></div></div>',f='<table class="table table-hover table-striped table-bordered"><thead><tr><th></th><th>Mac</th><th>Windows</th></tr></thead><tbody><tr><td>Undo</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">Z</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Z</button></td></tr><tr><td>Redo</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">Z</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Y</button></td></tr><tr><td>Indent</td><td><button class="btn btn-mini">Tab</button></td><td><button class="btn btn-mini">Tab</button></td></tr><tr><td>Outdent</td><td><button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">Tab</button></td><td><button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">Tab</button></td></tr><tr><td>Bold</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">B</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">B</button></td></tr><tr><td>Italic</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">I</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">I</button></td></tr><tr><td>Underline</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">U</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">U</button></td></tr><tr><td>Remove Font Style</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">\\</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">\\</button></td></tr><tr><td>Align Left</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">L</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">L</button></td></tr><tr><td>Align Center</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">E</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">E</button></td></tr><tr><td>Align Right</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">R</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">R</button></td></tr><tr><td>Justify Full</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">J</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">J</button></td></tr><tr><td>Ordered List</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">NUM7</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">NUM7</button></td></tr><tr><td>Unordered List</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">⇧</button> + <button class="btn btn-mini">NUM8</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">Shift</button> + <button class="btn btn-mini">NUM8</button></td></tr><tr><td>Normal Text</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM0</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM0</button></td></tr><tr><td>Heading 1</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM1</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM1</button></td></tr><tr><td>Heading 2</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM2</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM2</button></td></tr><tr><td>Heading 3</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM3</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM3</button></td></tr><tr><td>Heading 4</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">NUM4</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">NUM4</button></td></tr><tr><td>Insert Link</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">K</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">K</button></td></tr><tr><td>Insert Horizontal Rule</td><td><button class="btn btn-mini">⌘</button> + <button class="btn btn-mini">ENTER</button></td><td><button class="btn btn-mini">Ctrl</button> + <button class="btn btn-mini">ENTER</button></td></tr></tbody></table>',g='<div class="note-dialog"><div class="note-image-dialog modal hide in" aria-hidden="false"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true" tabindex="-1">×</button><h4>Insert Image</h4></div><div class="modal-body"><div class="row-fluid"><div class="note-dropzone span12">Drag an image here</div><div>or if you prefer...</div><input class="note-image-input" type="file" class="note-link-url" type="text" /></div></div></div><div class="note-link-dialog modal hide in" aria-hidden="false"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true" tabindex="-1">×</button><h4>Edit Link</h4></div><div class="modal-body"><div class="row-fluid"><label>Text to display</label><span class="note-link-text input-xlarge uneditable-input" /><label>To what URL should this link go?</label><input class="note-link-url span12" type="text" /></div></div><div class="modal-footer"><a href="#" class="btn disabled note-link-btn" disabled="disabled">Link</a></div></div><div class="note-help-dialog modal hide in" aria-hidden="false"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true" tabindex="-1">×</button><h4>Help</h4></div><div class="modal-body"><div class="tabbable"><ul class="nav nav-tabs"><li class="active"><a href="#summernote-shortcut" data-toggle="tab"><i class="icon-keyboard"></i> Shortcut</a></li><li><a href="#summernote-about" data-toggle="tab"><i class="icon-question"></i> About</a></li></ul><div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;"><div class="tab-pane active" id="summernote-shortcut">'+f+"</div>"+'<div class="tab-pane" id="summernote-about">'+'<p class="text-center">Summernote v0.2 distributed under the MIT license.</p>'+'<p class="text-center"><a href="//hackerwins.github.io/summernote/" target="_blank">Home</a> · <a href="//github.com/HackerWins/summernote" target="_blank">GitHub Project</a> · <a href="//github.com/HackerWins/summernote/issues" target="_blank">Issues</a></p>'+"</div>"+"</div>"+"</div>"+"</div>"+'<div class="modal-footer">'+'<button class="btn" data-dismiss="modal" aria-hidden="true">Ok</button>'+"</div>"+"</div>"+"</div>",h=function(c,d){c.find("button").each(function(c,d){var e=a(d),f=e.attr(b?"data-mac-shortcut":"data-shortcut");
2
+ f&&e.attr("title",function(a,b){return b+" ("+f+")"})}).tooltip({container:"body",placement:d||"top"})},i=[["#000000","#424242","#636363","#9C9C94","#CEC6CE","#EFEFEF","#EFF7F7","#FFFFFF"],["#FF0000","#FF9C00","#FFFF00","#00FF00","#00FFFF","#0000FF","#9C00FF","#FF00FF"],["#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE"],["#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD"],["#E76363","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5"],["#CE0000","#E79439","#EFC631","#6BA54A","#4A7B8C","#3984C6","#634AA5","#A54A7B"],["#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842"],["#630000","#7B3900","#846300","#295218","#083139","#003163","#21104A","#4A1031"]],j=function(b){b.find(".note-color-palette").each(function(){for(var b=a(this),c=b.attr("data-target-event"),d="",e=0,f=i.length;f>e;e++){for(var g=i[e],h="<div>",j=0,k=g.length;k>j;j++){var l=g[j],m=['<button type="button" class="note-color-btn" style="background-color:',l,';" data-event="',c,'" data-value="',l,'" title="',l,'" data-toggle="button" tabindex="-1"></button>'].join("");h+=m}h+="</div>",d+=h}b.html(d)})};this.createLayout=function(b,f,i){if(!b.next().hasClass("note-editor")){var l=a('<div class="note-editor"></div>'),m=a('<div class="note-editable" contentEditable="true"></div>').prependTo(l);i&&m.attr("tabIndex",i),f&&m.height(f),m.html(b.html()),m.data("NoteHistory",new k);var n=a(c).prependTo(l);j(n),h(n,"bottom");var o=a(d).prependTo(l);h(o),a(e).prependTo(l),a(g).prependTo(l),l.insertAfter(b),b.hide()}};var l=this.layoutInfoFromHolder=function(a){var b=a.next();if(b.hasClass("note-editor"))return{editor:b,editable:b.find(".note-editable"),toolbar:b.find(".note-toolbar"),popover:b.find(".note-popover"),handle:b.find(".note-handle"),dialog:b.find(".note-dialog")}};this.removeLayout=function(a){var b=l(a);b&&(a.html(b.editable.html()),b.editor.remove(),a.show())}},s=new r,t=new q;a.fn.extend({summernote:function(b){b=b||{},this.each(function(c,d){var e=a(d);s.createLayout(e,b.height,b.tabIndex);var f=s.layoutInfoFromHolder(e);t.attach(f),b.focus&&f.editable.focus()})},code:function(b){return void 0===b?this.map(function(b,c){var d=s.layoutInfoFromHolder(a(c)),e=!(!d||!d.editable);return e?d.editable.html():a(c).html()}):(this.each(function(c,d){var e=s.layoutInfoFromHolder(a(d));e&&e.editable&&e.editable.html(b)}),void 0)},destroy:function(){this.each(function(b,c){var d=a(c),e=s.layoutInfoFromHolder(d);e&&e.editable&&(t.dettach(e),s.removeLayout(d))})},summernoteInner:function(){return{dom:f,list:e,func:d}}})}(jQuery);
@@ -1,217 +1 @@
1
- /*---------------------------------------------------
2
- LESS Elements 0.9
3
- ---------------------------------------------------
4
- A set of useful LESS mixins
5
- More info at: http://lesselements.com
6
- ---------------------------------------------------*/
7
- .note-editor {
8
- border: 1px solid #a9a9a9;
9
- }
10
- .note-editor .note-toolbar {
11
- background-color: #f5f5f5;
12
- margin: 0px;
13
- padding: 5px;
14
- border-bottom: 1px solid #a9a9a9;
15
- }
16
- .note-editor .note-toolbar .note-table .dropdown-menu {
17
- min-width: 0;
18
- padding: 5px;
19
- }
20
- .note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker {
21
- font-size: 18px;
22
- }
23
- .note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-mousecatcher {
24
- z-index: 3;
25
- position: absolute !important;
26
- width: 20em;
27
- height: 20em;
28
- cursor: pointer;
29
- }
30
- .note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-unhighlighted {
31
- z-index: 1;
32
- position: relative !important;
33
- width: 5em;
34
- height: 5em;
35
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat;
36
- }
37
- .note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-highlighted {
38
- z-index: 2;
39
- position: absolute !important;
40
- width: 1em;
41
- height: 1em;
42
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat;
43
- }
44
- .note-editor .note-toolbar .note-style h1,
45
- .note-editor .note-toolbar .note-style h2,
46
- .note-editor .note-toolbar .note-style h3,
47
- .note-editor .note-toolbar .note-style h4,
48
- .note-editor .note-toolbar .note-style blockquote {
49
- margin: 0px;
50
- }
51
- .note-editor .note-toolbar .note-fontsize button {
52
- height: 26px;
53
- }
54
- .note-editor .note-toolbar .note-color .dropdown-toggle {
55
- width: 20px;
56
- padding: 2px 5px;
57
- }
58
- .note-editor .note-toolbar .note-color .dropdown-menu {
59
- padding: 5px;
60
- }
61
- .note-editor .note-toolbar .note-color .dropdown-menu .note-palette-title {
62
- font-size: 12px;
63
- }
64
- .note-editor .note-toolbar .note-para .dropdown-menu {
65
- min-width: 140px;
66
- padding: 5px;
67
- }
68
- .note-editor .note-toolbar .note-para li:first-child {
69
- margin-bottom: 5px;
70
- }
71
- .note-editor .note-popover .popover {
72
- max-width: none;
73
- }
74
- .note-editor .note-popover .popover .popover-content {
75
- padding: 5px;
76
- }
77
- .note-editor .note-popover .popover .popover-content a {
78
- display: inline-block;
79
- max-width: 200px;
80
- overflow: hidden;
81
- text-overflow: ellipsis;
82
- white-space: nowrap;
83
- /* for FF */
84
- vertical-align: middle;
85
- /* for FF */
86
-
87
- }
88
- .note-editor .note-popover .popover.bottom .arrow {
89
- left: 20px;
90
- }
91
- .note-editor .note-handle .note-control-selection {
92
- position: absolute;
93
- display: none;
94
- border: 1px solid black;
95
- }
96
- .note-editor .note-handle .note-control-selection > div {
97
- position: absolute;
98
- }
99
- .note-editor .note-handle .note-control-selection .note-control-selection-bg {
100
- width: 100%;
101
- height: 100%;
102
- background-color: black;
103
- -moz-opacity: 0.3;
104
- -khtml-opacity: 0.3;
105
- -webkit-opacity: 0.3;
106
- opacity: 0.3;
107
- -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30);
108
- filter: alpha(opacity=30);
109
- }
110
- .note-editor .note-handle .note-control-selection .note-control-handle {
111
- border: 1px solid black;
112
- width: 7px;
113
- height: 7px;
114
- }
115
- .note-editor .note-handle .note-control-selection .note-control-holder {
116
- border: 1px solid black;
117
- width: 7px;
118
- height: 7px;
119
- }
120
- .note-editor .note-handle .note-control-selection .note-control-sizing {
121
- border: 1px solid black;
122
- width: 7px;
123
- height: 7px;
124
- background-color: white;
125
- }
126
- .note-editor .note-handle .note-control-selection .note-control-nw {
127
- left: -5px;
128
- top: -5px;
129
- border-bottom: none;
130
- border-right: none;
131
- }
132
- .note-editor .note-handle .note-control-selection .note-control-ne {
133
- right: -5px;
134
- top: -5px;
135
- border-bottom: none;
136
- border-left: none;
137
- }
138
- .note-editor .note-handle .note-control-selection .note-control-sw {
139
- left: -5px;
140
- bottom: -5px;
141
- border-top: none;
142
- border-right: none;
143
- }
144
- .note-editor .note-handle .note-control-selection .note-control-se {
145
- cursor: se-resize;
146
- right: -5px;
147
- bottom: -5px;
148
- }
149
- .note-editor .note-handle .note-control-selection .note-control-selection-info {
150
- margin: 5px;
151
- padding: 5px;
152
- right: 0;
153
- bottom: 0;
154
- color: white;
155
- background-color: black;
156
- -moz-opacity: 0.3;
157
- -khtml-opacity: 0.3;
158
- -webkit-opacity: 0.3;
159
- opacity: 0.3;
160
- -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30);
161
- filter: alpha(opacity=30);
162
- -webkit-border-radius: 5px;
163
- -moz-border-radius: 5px;
164
- border-radius: 5px;
165
- }
166
- .note-editor .note-dialog .note-image-dialog .note-dropzone {
167
- color: lightgray;
168
- min-height: 200px;
169
- border: 4px dashed lightgray;
170
- font-size: 30px;
171
- line-height: 6;
172
- text-align: center;
173
- }
174
- .note-editor .note-editable {
175
- outline: none;
176
- overflow: scroll;
177
- padding: 10px;
178
- }
179
- .note-editor .dropdown-menu {
180
- min-width: 90px;
181
- }
182
- .note-editor .dropdown-menu.right {
183
- left: auto;
184
- right: 0;
185
- }
186
- .note-editor .dropdown-menu.right::before {
187
- left: auto !important;
188
- right: 9px;
189
- }
190
- .note-editor .dropdown-menu.right::after {
191
- left: auto !important;
192
- right: 10px;
193
- }
194
- .note-editor .dropdown-menu li a i {
195
- visibility: hidden;
196
- color: deepskyblue;
197
- }
198
- .note-editor .dropdown-menu li a.checked i {
199
- visibility: visible;
200
- }
201
- .note-editor .btn-small {
202
- font-size: 14px;
203
- min-height: 26px;
204
- }
205
- .note-editor .note-color-palette {
206
- line-height: 1;
207
- }
208
- .note-editor .note-color-palette div .note-color-btn {
209
- width: 17px;
210
- height: 17px;
211
- border: 1px solid #fff;
212
- margin: 0;
213
- padding: 0;
214
- }
215
- .note-editor .note-color-palette div .note-color-btn:hover {
216
- border: 1px solid #000;
217
- }
1
+ .note-editor{border:1px solid #a9a9a9}.note-editor .note-toolbar{padding:5px;margin:0;background-color:#f5f5f5;border-bottom:1px solid #a9a9a9}.note-editor .note-toolbar .note-table .dropdown-menu{min-width:0;padding:5px}.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker{font-size:18px}.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:20em;height:20em;cursor:pointer}.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-editor .note-toolbar .note-style h1,.note-editor .note-toolbar .note-style h2,.note-editor .note-toolbar .note-style h3,.note-editor .note-toolbar .note-style h4,.note-editor .note-toolbar .note-style blockquote{margin:0}.note-editor .note-toolbar .note-fontsize button{height:26px}.note-editor .note-toolbar .note-color .dropdown-toggle{width:20px;padding:2px 5px}.note-editor .note-toolbar .note-color .dropdown-menu{padding:5px}.note-editor .note-toolbar .note-color .dropdown-menu .note-palette-title{font-size:12px}.note-editor .note-toolbar .note-para .dropdown-menu{min-width:140px;padding:5px}.note-editor .note-toolbar .note-para li:first-child{margin-bottom:5px}.note-editor .note-popover .popover{max-width:none}.note-editor .note-popover .popover .popover-content{padding:5px}.note-editor .note-popover .popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-editor .note-popover .popover .arrow{left:20px}.note-editor .note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-editor .note-handle .note-control-selection>div{position:absolute}.note-editor .note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:black;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-editor .note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-editor .note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-editor .note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-editor .note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-editor .note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-editor .note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-editor .note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-editor .note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;color:white;background-color:black;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-editor .note-dialog .note-image-dialog .note-dropzone{min-height:200px;font-size:30px;line-height:6;color:lightgray;text-align:center;border:4px dashed lightgray}.note-editor .note-editable{padding:10px;overflow:scroll;outline:0}.note-editor .dropdown-menu{min-width:90px}.note-editor .dropdown-menu.right{right:0;left:auto}.note-editor .dropdown-menu.right::before{right:9px;left:auto!important}.note-editor .dropdown-menu.right::after{right:10px;left:auto!important}.note-editor .dropdown-menu li a i{color:deepskyblue;visibility:hidden}.note-editor .dropdown-menu li a.checked i{visibility:visible}.note-editor .btn-small{min-height:26px;font-size:14px}.note-editor .note-color-palette{line-height:1}.note-editor .note-color-palette div .note-color-btn{width:17px;height:17px;padding:0;margin:0;border:1px solid #fff}.note-editor .note-color-palette div .note-color-btn:hover{border:1px solid #000}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: summernote-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1.2
4
+ version: 0.2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hyo Seong Choi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-10 00:00:00.000000000 Z
11
+ date: 2013-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -67,7 +67,7 @@ files:
67
67
  - vendor/assets/stylesheets/summernote.css
68
68
  - LICENSE.txt
69
69
  - README.md
70
- homepage: http://gihub.com/rorlab/summernote-rails
70
+ homepage: http://rorlab.github.io/summernote-rails/
71
71
  licenses:
72
72
  - MIT
73
73
  metadata: {}