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 +4 -4
- data/README.md +54 -26
- data/lib/summernote/rails/version.rb +1 -1
- data/vendor/assets/javascripts/summernote.js +206 -42
- data/vendor/assets/javascripts/summernote.min.js +2 -1
- data/vendor/assets/stylesheets/summernote.css +1 -217
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca46781971a97cbd650d7deb6c85a182d54cb2be
|
4
|
+
data.tar.gz: aba31acaa4d25961214172901a94d9abf831f722
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1dfbea5b0622b0a12f9e84c4706d3a4630c31368279ec7d49bb0c4fe85c4d911b2302088fc571e69a8d7aa35ded9d08d0fb212ebc49e9ebee05845a420a4e2ed
|
7
|
+
data.tar.gz: 130eec35a7f17d8f140d634013cc05701b7849e0e2d62b33d87ce3d00acc7c0df5d4aa00ed56d899d1a6e15d1e87131040be390e53b73d6b3bf786bd737606fb
|
data/README.md
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
# Summernote::Rails
|
2
2
|
|
3
|
-
|
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
|
-
|
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
|
-
|
7
|
+
https://github.com/hackerwins/summernote.
|
8
|
+
|
9
|
+
The version of summernote-rails is matched with that of summernote editor.
|
8
10
|
|
9
11
|
[](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
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
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.
|
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 :
|
94
|
-
- v0.2.1 :
|
95
|
-
- v0.2.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
|
@@ -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
|
-
|
538
|
-
|
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
|
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.
|
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> <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> <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> ' +
|
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
|
-
|
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?" ":"<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> <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> <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?" ":"<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> <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> <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.
|
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-
|
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://
|
70
|
+
homepage: http://rorlab.github.io/summernote-rails/
|
71
71
|
licenses:
|
72
72
|
- MIT
|
73
73
|
metadata: {}
|