summernote-rails 0.6.16.0 → 0.7.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -8
  3. data/lib/summernote-rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/summernote/locales/ar-AR.js +7 -0
  5. data/vendor/assets/javascripts/summernote/locales/ca-ES.js +59 -7
  6. data/vendor/assets/javascripts/summernote/locales/cs-CZ.js +7 -0
  7. data/vendor/assets/javascripts/summernote/locales/da-DK.js +7 -0
  8. data/vendor/assets/javascripts/summernote/locales/de-DE.js +7 -0
  9. data/vendor/assets/javascripts/summernote/locales/es-ES.js +53 -4
  10. data/vendor/assets/javascripts/summernote/locales/es-EU.js +7 -0
  11. data/vendor/assets/javascripts/summernote/locales/fa-IR.js +7 -0
  12. data/vendor/assets/javascripts/summernote/locales/fi-FI.js +7 -0
  13. data/vendor/assets/javascripts/summernote/locales/fr-FR.js +7 -0
  14. data/vendor/assets/javascripts/summernote/locales/he-IL.js +7 -0
  15. data/vendor/assets/javascripts/summernote/locales/hu-HU.js +7 -0
  16. data/vendor/assets/javascripts/summernote/locales/id-ID.js +7 -0
  17. data/vendor/assets/javascripts/summernote/locales/it-IT.js +7 -0
  18. data/vendor/assets/javascripts/summernote/locales/ja-JP.js +7 -0
  19. data/vendor/assets/javascripts/summernote/locales/ko-KR.js +14 -2
  20. data/vendor/assets/javascripts/summernote/locales/nb-NO.js +7 -0
  21. data/vendor/assets/javascripts/summernote/locales/nl-NL.js +7 -0
  22. data/vendor/assets/javascripts/summernote/locales/pl-PL.js +7 -0
  23. data/vendor/assets/javascripts/summernote/locales/pt-BR.js +7 -0
  24. data/vendor/assets/javascripts/summernote/locales/ro-RO.js +7 -0
  25. data/vendor/assets/javascripts/summernote/locales/ru-RU.js +12 -0
  26. data/vendor/assets/javascripts/summernote/locales/sk-SK.js +7 -0
  27. data/vendor/assets/javascripts/summernote/locales/sl-SI.js +7 -0
  28. data/vendor/assets/javascripts/summernote/locales/sr-RS-Latin.js +7 -0
  29. data/vendor/assets/javascripts/summernote/locales/sr-RS.js +7 -0
  30. data/vendor/assets/javascripts/summernote/locales/sv-SE.js +7 -0
  31. data/vendor/assets/javascripts/summernote/locales/th-TH.js +11 -4
  32. data/vendor/assets/javascripts/summernote/locales/tr-TR.js +7 -0
  33. data/vendor/assets/javascripts/summernote/locales/uk-UA.js +12 -0
  34. data/vendor/assets/javascripts/summernote/locales/vi-VN.js +7 -0
  35. data/vendor/assets/javascripts/summernote/locales/zh-CN.js +7 -0
  36. data/vendor/assets/javascripts/summernote/locales/zh-TW.js +7 -0
  37. data/vendor/assets/javascripts/summernote/plugin/hello/summernote-ext-hello.js +82 -0
  38. data/vendor/assets/javascripts/summernote/plugin/specialchars/summernote-ext-specialchars.js +316 -0
  39. data/vendor/assets/javascripts/summernote/summernote.js +3354 -3813
  40. data/vendor/assets/stylesheets/summernote.css +1 -1
  41. metadata +4 -5
  42. data/vendor/assets/javascripts/summernote/plugin/summernote-ext-hello.js +0 -89
  43. data/vendor/assets/javascripts/summernote/plugin/summernote-ext-hint.js +0 -270
  44. data/vendor/assets/javascripts/summernote/plugin/summernote-ext-video.js +0 -573
@@ -1 +1 @@
1
- .note-editor{position:relative;overflow:hidden;border:1px solid #a9a9a9}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:white;opacity:.95;pointer-event:none}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:bold;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor.codeview .note-editing-area .note-editable{display:none}.note-editor.codeview .note-editing-area .note-codable{display:block}.note-editor.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%}.note-editor.fullscreen .note-editable{background-color:white}.note-editor.fullscreen .note-resizebar{display:none}.note-editor .note-editing-area{position:relative;overflow:hidden}.note-editor .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;background-color:#fff;outline:0}.note-editor .note-editing-area .note-editable[contenteditable=true]:empty:not(:focus):before{content:attr(data-placeholder)}.note-editor .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor .note-statusbar{background-color:#f5f5f5}.note-editor .note-statusbar .note-resizebar{width:100%;height:8px;padding-top:1px;cursor:ns-resize}.note-editor .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-air-editor{outline:0}.note-popover .popover{max-width:none}.note-popover .popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover .popover .arrow{left:20px}.note-popover .popover .popover-content,.panel-heading.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover .popover-content>.btn-group,.panel-heading.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover .popover-content .btn-group .note-table,.panel-heading.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.panel-heading.note-toolbar .btn-group .note-table .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-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.panel-heading.note-toolbar .btn-group .note-table .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-popover .popover .popover-content .note-style h1,.panel-heading.note-toolbar .note-style h1,.note-popover .popover .popover-content .note-style h2,.panel-heading.note-toolbar .note-style h2,.note-popover .popover .popover-content .note-style h3,.panel-heading.note-toolbar .note-style h3,.note-popover .popover .popover-content .note-style h4,.panel-heading.note-toolbar .note-style h4,.note-popover .popover .popover-content .note-style h5,.panel-heading.note-toolbar .note-style h5,.note-popover .popover .popover-content .note-style h6,.panel-heading.note-toolbar .note-style h6,.note-popover .popover .popover-content .note-style blockquote,.panel-heading.note-toolbar .note-style blockquote{margin:0}.note-popover .popover .popover-content .note-color .dropdown-toggle,.panel-heading.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover .popover-content .note-color .dropdown-menu,.panel-heading.note-toolbar .note-color .dropdown-menu{min-width:340px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group{margin:0}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group:first-child,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group:first-child{margin:0 5px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset{padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-row,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-row{height:20px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset:hover,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover{background:#eee}.note-popover .popover .popover-content .note-para .dropdown-menu,.panel-heading.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover .popover-content .note-para .dropdown-menu>div:first-child,.panel-heading.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover .popover-content .dropdown-menu,.panel-heading.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover .popover-content .dropdown-menu.right,.panel-heading.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover .popover-content .dropdown-menu.right::before,.panel-heading.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover .popover-content .dropdown-menu.right::after,.panel-heading.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover .popover-content .dropdown-menu.note-check li a i,.panel-heading.note-toolbar .dropdown-menu.note-check li a i{color:deepskyblue;visibility:hidden}.note-popover .popover .popover-content .dropdown-menu.note-check li a.checked i,.panel-heading.note-toolbar .dropdown-menu.note-check li a.checked i{visibility:visible}.note-popover .popover .popover-content .note-fontsize-10,.panel-heading.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover .popover-content .note-color-palette,.panel-heading.note-toolbar .note-color-palette{line-height:1}.note-popover .popover .popover-content .note-color-palette div .note-color-btn,.panel-heading.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover .popover-content .note-color-palette div .note-color-btn:hover,.panel-heading.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .form-group{margin-right:0;margin-left:0}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}.note-dialog .note-help-dialog{font-size:12px;color:#ccc;background:transparent;background-color:#222!important;border:0;-webkit-opacity:.9;-khtml-opacity:.9;-moz-opacity:.9;opacity:.9;-ms-filter:alpha(opacity=90);filter:alpha(opacity=90)}.note-dialog .note-help-dialog .modal-content{background:transparent;border:1px solid white;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.note-dialog .note-help-dialog a{font-size:12px;color:white}.note-dialog .note-help-dialog .title{padding-bottom:5px;margin-bottom:10px;font-size:14px;font-weight:bold;color:white;border-bottom:white 1px solid}.note-dialog .note-help-dialog .modal-close{font-size:14px;color:#dd0;cursor:pointer}.note-dialog .note-help-dialog .text-center{margin:10px 0 0}.note-dialog .note-help-dialog .note-shortcut{padding-top:8px;padding-bottom:8px}.note-dialog .note-help-dialog .note-shortcut-row{margin-right:-5px;margin-left:-5px}.note-dialog .note-help-dialog .note-shortcut-col{padding-right:5px;padding-left:5px}.note-dialog .note-help-dialog .note-shortcut-title{font-size:13px;font-weight:bold;color:#dd0}.note-dialog .note-help-dialog .note-shortcut-key{font-family:"Courier New";color:#dd0;text-align:right}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.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-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;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)}
1
+ .note-editor{position:relative}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:white;opacity:.95;pointer-event:none}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:bold;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:0}.note-editor.note-frame{border:1px solid #a9a9a9}.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;background-color:#fff}.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor.note-frame .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor.note-frame.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%}.note-editor.note-frame.fullscreen .note-editable{background-color:white}.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-statusbar{background-color:#f5f5f5;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.note-editor.note-frame .note-statusbar .note-resizebar{width:100%;height:8px;padding-top:1px;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor.note-frame .note-placeholder{padding:10px}.note-popover.popover{max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover.popover .arrow{left:20px!important}.note-popover .popover-content,.panel-heading.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover-content>.btn-group,.panel-heading.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover-content .btn-group .note-table,.panel-heading.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.panel-heading.note-toolbar .btn-group .note-table .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-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.panel-heading.note-toolbar .btn-group .note-table .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-popover .popover-content .note-style h1,.panel-heading.note-toolbar .note-style h1,.note-popover .popover-content .note-style h2,.panel-heading.note-toolbar .note-style h2,.note-popover .popover-content .note-style h3,.panel-heading.note-toolbar .note-style h3,.note-popover .popover-content .note-style h4,.panel-heading.note-toolbar .note-style h4,.note-popover .popover-content .note-style h5,.panel-heading.note-toolbar .note-style h5,.note-popover .popover-content .note-style h6,.panel-heading.note-toolbar .note-style h6,.note-popover .popover-content .note-style blockquote,.panel-heading.note-toolbar .note-style blockquote{margin:0}.note-popover .popover-content .note-color .dropdown-toggle,.panel-heading.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover-content .note-color .dropdown-menu,.panel-heading.note-toolbar .note-color .dropdown-menu{min-width:340px}.note-popover .popover-content .note-color .dropdown-menu .btn-group,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group{margin:0}.note-popover .popover-content .note-color .dropdown-menu .btn-group:first-child,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group:first-child{margin:0 5px}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset{width:100%;padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-color-row,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-row{height:20px}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset:hover,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover{background:#eee}.note-popover .popover-content .note-para .dropdown-menu,.panel-heading.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover-content .note-para .dropdown-menu>div:first-child,.panel-heading.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover-content .dropdown-menu,.panel-heading.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover-content .dropdown-menu.right,.panel-heading.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover-content .dropdown-menu.right::before,.panel-heading.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover-content .dropdown-menu.right::after,.panel-heading.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover-content .dropdown-menu.note-check li a i,.panel-heading.note-toolbar .dropdown-menu.note-check li a i{color:deepskyblue;visibility:hidden}.note-popover .popover-content .dropdown-menu.note-check li a.checked i,.panel-heading.note-toolbar .dropdown-menu.note-check li a.checked i{visibility:visible}.note-popover .popover-content .note-fontsize-10,.panel-heading.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover-content .note-color-palette,.panel-heading.note-toolbar .note-color-palette{line-height:1}.note-popover .popover-content .note-color-palette div .note-color-btn,.panel-heading.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.panel-heading.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .form-group{margin-right:0;margin-left:0}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.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-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;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-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;padding:3px;overflow:auto}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:white;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#428bca;outline:0}
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.6.16.0
4
+ version: 0.7.1.0
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: 2015-08-26 00:00:00.000000000 Z
11
+ date: 2016-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -104,9 +104,8 @@ files:
104
104
  - vendor/assets/javascripts/summernote/locales/vi-VN.js
105
105
  - vendor/assets/javascripts/summernote/locales/zh-CN.js
106
106
  - vendor/assets/javascripts/summernote/locales/zh-TW.js
107
- - vendor/assets/javascripts/summernote/plugin/summernote-ext-hello.js
108
- - vendor/assets/javascripts/summernote/plugin/summernote-ext-hint.js
109
- - vendor/assets/javascripts/summernote/plugin/summernote-ext-video.js
107
+ - vendor/assets/javascripts/summernote/plugin/hello/summernote-ext-hello.js
108
+ - vendor/assets/javascripts/summernote/plugin/specialchars/summernote-ext-specialchars.js
110
109
  - vendor/assets/javascripts/summernote/summernote.js
111
110
  - vendor/assets/stylesheets/summernote.css
112
111
  homepage: https://github.com/summernote/summernote-rails
@@ -1,89 +0,0 @@
1
- (function (factory) {
2
- /* global define */
3
- if (typeof define === 'function' && define.amd) {
4
- // AMD. Register as an anonymous module.
5
- define(['jquery'], factory);
6
- } else {
7
- // Browser globals: jQuery
8
- factory(window.jQuery);
9
- }
10
- }(function ($) {
11
- // template
12
- var tmpl = $.summernote.renderer.getTemplate();
13
-
14
- /**
15
- * @class plugin.hello
16
- *
17
- * Hello Plugin
18
- */
19
- $.summernote.addPlugin({
20
- /** @property {String} name name of plugin */
21
- name: 'hello',
22
- /**
23
- * @property {Object} buttons
24
- * @property {Function} buttons.hello function to make button
25
- * @property {Function} buttons.helloDropdown function to make button
26
- * @property {Function} buttons.helloImage function to make button
27
- */
28
- buttons: { // buttons
29
- hello: function (lang, options) {
30
-
31
- return tmpl.iconButton(options.iconPrefix + 'header', {
32
- event : 'hello',
33
- title: 'hello',
34
- hide: true
35
- });
36
- },
37
- helloDropdown: function (lang, options) {
38
-
39
-
40
- var list = '<li><a data-event="helloDropdown" href="#" data-value="summernote">summernote</a></li>';
41
- list += '<li><a data-event="helloDropdown" href="#" data-value="codemirror">Code Mirror</a></li>';
42
- var dropdown = '<ul class="dropdown-menu">' + list + '</ul>';
43
-
44
- return tmpl.iconButton(options.iconPrefix + 'header', {
45
- title: 'hello',
46
- hide: true,
47
- dropdown : dropdown
48
- });
49
- },
50
- helloImage : function (lang, options) {
51
- return tmpl.iconButton(options.iconPrefix + 'file-image-o', {
52
- event : 'helloImage',
53
- title: 'helloImage',
54
- hide: true
55
- });
56
- }
57
-
58
- },
59
-
60
- /**
61
- * @property {Object} events
62
- * @property {Function} events.hello run function when button that has a 'hello' event name fires click
63
- * @property {Function} events.helloDropdown run function when button that has a 'helloDropdown' event name fires click
64
- * @property {Function} events.helloImage run function when button that has a 'helloImage' event name fires click
65
- */
66
- events: { // events
67
- hello: function (event, editor, layoutInfo) {
68
- // Get current editable node
69
- var $editable = layoutInfo.editable();
70
-
71
- // Call insertText with 'hello'
72
- editor.insertText($editable, 'hello ');
73
- },
74
- helloDropdown: function (event, editor, layoutInfo, value) {
75
- // Get current editable node
76
- var $editable = layoutInfo.editable();
77
-
78
- // Call insertText with 'hello'
79
- editor.insertText($editable, 'hello ' + value + '!!!!');
80
- },
81
- helloImage : function (event, editor, layoutInfo) {
82
- var $editable = layoutInfo.editable();
83
-
84
- var img = $('<img src="http://upload.wikimedia.org/wikipedia/commons/b/b0/NewTux.svg" />');
85
- editor.insertNode($editable, img[0]);
86
- }
87
- }
88
- });
89
- }));
@@ -1,270 +0,0 @@
1
- (function (factory) {
2
- /* global define */
3
- if (typeof define === 'function' && define.amd) {
4
- // AMD. Register as an anonymous module.
5
- define(['jquery'], factory);
6
- } else {
7
- // Browser globals: jQuery
8
- factory(window.jQuery);
9
- }
10
- }(function ($) {
11
- // import core class
12
- var range = $.summernote.core.range;
13
-
14
- var KEY = {
15
- UP: 38,
16
- DOWN: 40,
17
- ENTER: 13
18
- };
19
-
20
- var DROPDOWN_KEYCODES = [KEY.UP, KEY.DOWN, KEY.ENTER];
21
-
22
- /**
23
- * @class plugin.hint
24
- *
25
- * Hint Plugin
26
- */
27
- $.summernote.addPlugin({
28
- /**
29
- * name name of plugin
30
- * @property {String}
31
- **/
32
- name: 'hint',
33
-
34
- /**
35
- * @property {Regex}
36
- * @interface
37
- */
38
- match: /[a-z]+/g,
39
-
40
- /**
41
- * create list item template
42
- *
43
- * @interface
44
- * @param {Object} search
45
- * @returns {Array} created item list
46
- */
47
- template: null,
48
-
49
- /**
50
- * create inserted content to add in summernote
51
- *
52
- * @interface
53
- * @param {String} html
54
- * @param {String} keyword
55
- * @return {HTMLEleemnt|String}
56
- */
57
- content: null,
58
-
59
- /**
60
- * load search list
61
- *
62
- * @interface
63
- */
64
- load: null,
65
-
66
- /**
67
- * @param {jQuery} $node
68
- */
69
- scrollTo: function ($node) {
70
- var $parent = $node.parent();
71
- $parent[0].scrollTop = $node[0].offsetTop - ($parent.innerHeight() / 2);
72
- },
73
-
74
- /**
75
- * @param {jQuery} $popover
76
- */
77
- moveDown: function ($popover) {
78
- var index = $popover.find('.active').index();
79
- this.activate($popover, (index === -1) ? 0 : (index + 1) % $popover.children().length);
80
- },
81
-
82
- /**
83
- * @param {jQuery} $popover
84
- */
85
- moveUp: function ($popover) {
86
- var index = $popover.find('.active').index();
87
- this.activate($popover, (index === -1) ? 0 : (index - 1) % $popover.children().length);
88
- },
89
-
90
- /**
91
- * @param {jQuery} $popover
92
- * @param {Number} i
93
- */
94
- activate: function ($popover, idx) {
95
- idx = idx || 0;
96
-
97
- if (idx < 0) {
98
- idx = $popover.children().length - 1;
99
- }
100
-
101
- $popover.children().removeClass('active');
102
- var $activeItem = $popover.children().eq(idx);
103
- $activeItem.addClass('active');
104
-
105
- this.scrollTo($activeItem);
106
- },
107
-
108
- /**
109
- * @param {jQuery} $popover
110
- */
111
- replace: function ($popover) {
112
- var wordRange = $popover.data('wordRange');
113
- var $activeItem = $popover.find('.active');
114
- var content = this.content($activeItem.data('item'));
115
-
116
- if (typeof content === 'string') {
117
- content = document.createTextNode(content);
118
- }
119
-
120
- $popover.removeData('wordRange');
121
-
122
- wordRange.insertNode(content);
123
- range.createFromNode(content).collapse().select();
124
- },
125
-
126
- /**
127
- * @param {String} keyword
128
- * @return {Object|null}
129
- */
130
- searchKeyword: function (keyword, callback) {
131
- if (this.match.test(keyword)) {
132
- var matches = this.match.exec(keyword);
133
- this.search(matches[1], callback);
134
- } else {
135
- callback();
136
- }
137
- },
138
-
139
-
140
- createTemplate: function (list) {
141
- var items = [];
142
- list = list || [];
143
-
144
- for (var i = 0, len = list.length; i < len; i++) {
145
- var $item = $('<a class="list-group-item"></a>');
146
- $item.append(this.template(list[i]));
147
- $item.data('item', list[i]);
148
- items.push($item);
149
- }
150
-
151
- if (items.length) {
152
- items[0].addClass('active');
153
- }
154
-
155
- return items;
156
- },
157
-
158
- search: function (keyword, callback) {
159
- keyword = keyword || '';
160
- callback();
161
- },
162
-
163
- init : function (layoutInfo) {
164
- var self = this;
165
-
166
- var $note = layoutInfo.holder();
167
- var $popover = $('<div />').addClass('hint-group').css({
168
- 'position': 'absolute',
169
- 'max-height': 150,
170
- 'z-index' : 999,
171
- 'overflow' : 'hidden',
172
- 'display' : 'none',
173
- 'border' : '1px solid gray',
174
- 'border-radius' : '5px'
175
- });
176
-
177
- $popover.on('click', '.list-group-item', function HintItemClick() {
178
- self.replace($popover);
179
-
180
- $popover.hide();
181
- $note.summernote('focus');
182
- });
183
-
184
- $(document).on('click', function HintClick() {
185
- $popover.hide();
186
- });
187
-
188
- $note.on('summernote.keydown', function HintKeyDown(customEvent, nativeEvent) {
189
- if ($popover.css('display') !== 'block') {
190
- return true;
191
- }
192
-
193
- if (nativeEvent.keyCode === KEY.DOWN) {
194
- nativeEvent.preventDefault();
195
- self.moveDown($popover);
196
- } else if (nativeEvent.keyCode === KEY.UP) {
197
- nativeEvent.preventDefault();
198
- self.moveUp($popover);
199
- } else if (nativeEvent.keyCode === KEY.ENTER) {
200
- nativeEvent.preventDefault();
201
- self.replace($popover);
202
-
203
- $popover.hide();
204
- $note.summernote('focus');
205
- }
206
- });
207
-
208
- var timer = null;
209
- $note.on('summernote.keyup', function HintKeyUp(customEvent, nativeEvent) {
210
- if (DROPDOWN_KEYCODES.indexOf(nativeEvent.keyCode) > -1) {
211
- if (nativeEvent.keyCode === KEY.ENTER) {
212
- if ($popover.css('display') === 'block') {
213
- return false;
214
- }
215
- }
216
-
217
- } else {
218
-
219
- clearTimeout(timer);
220
- timer = setTimeout(function () {
221
- var range = $note.summernote('createRange');
222
- var word = range.getWordRange();
223
-
224
- self.searchKeyword(word.toString(), function (searchList) {
225
- if (!searchList) {
226
- $popover.hide();
227
- return;
228
- }
229
-
230
- if (searchList && !searchList.length) {
231
- $popover.hide();
232
- return;
233
- }
234
-
235
- layoutInfo.popover().append($popover);
236
-
237
- // popover below placeholder.
238
- var rects = word.getClientRects();
239
- var rect = rects[rects.length - 1];
240
- $popover.html(self.createTemplate(searchList)).css({
241
- left: rect.left,
242
- top: rect.top + rect.height
243
- }).data('wordRange', word).show();
244
- });
245
- }, self.throttle);
246
-
247
- }
248
- });
249
-
250
- this.load($popover);
251
- },
252
-
253
- throttle : 50,
254
-
255
- // FIXME Summernote doesn't support event pipeline yet.
256
- // - Plugin -> Base Code
257
- events: {
258
- ENTER: function (e, editor, layoutInfo) {
259
-
260
- if (layoutInfo.popover().find('.hint-group').css('display') !== 'block') {
261
- // apply default enter key
262
- layoutInfo.holder().summernote('insertParagraph');
263
- }
264
-
265
- // prevent ENTER key
266
- return true;
267
- }
268
- }
269
- });
270
- }));
@@ -1,573 +0,0 @@
1
- (function (factory) {
2
- /* global define */
3
- if (typeof define === 'function' && define.amd) {
4
- // AMD. Register as an anonymous module.
5
- define(['jquery'], factory);
6
- } else {
7
- // Browser globals: jQuery
8
- factory(window.jQuery);
9
- }
10
- }(function ($) {
11
- // template
12
- var tmpl = $.summernote.renderer.getTemplate();
13
-
14
- // core functions: range, dom
15
- var range = $.summernote.core.range;
16
- var dom = $.summernote.core.dom;
17
-
18
- /**
19
- * createVideoNode
20
- *
21
- * @member plugin.video
22
- * @private
23
- * @param {String} url
24
- * @return {Node}
25
- */
26
- var createVideoNode = function (url) {
27
- // video url patterns(youtube, instagram, vimeo, dailymotion, youku, mp4, ogg, webm)
28
- var ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
29
- var ytMatch = url.match(ytRegExp);
30
-
31
- var igRegExp = /\/\/instagram.com\/p\/(.[a-zA-Z0-9]*)/;
32
- var igMatch = url.match(igRegExp);
33
-
34
- var vRegExp = /\/\/vine.co\/v\/(.[a-zA-Z0-9]*)/;
35
- var vMatch = url.match(vRegExp);
36
-
37
- var vimRegExp = /\/\/(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/;
38
- var vimMatch = url.match(vimRegExp);
39
-
40
- var dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/;
41
- var dmMatch = url.match(dmRegExp);
42
-
43
- var youkuRegExp = /\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/;
44
- var youkuMatch = url.match(youkuRegExp);
45
-
46
- var mp4RegExp = /^.+.(mp4|m4v)$/;
47
- var mp4Match = url.match(mp4RegExp);
48
-
49
- var oggRegExp = /^.+.(ogg|ogv)$/;
50
- var oggMatch = url.match(oggRegExp);
51
-
52
- var webmRegExp = /^.+.(webm)$/;
53
- var webmMatch = url.match(webmRegExp);
54
-
55
- var $video;
56
- if (ytMatch && ytMatch[1].length === 11) {
57
- var youtubeId = ytMatch[1];
58
- $video = $('<iframe>')
59
- .attr('frameborder', 0)
60
- .attr('src', '//www.youtube.com/embed/' + youtubeId)
61
- .attr('width', '640').attr('height', '360');
62
- } else if (igMatch && igMatch[0].length) {
63
- $video = $('<iframe>')
64
- .attr('frameborder', 0)
65
- .attr('src', igMatch[0] + '/embed/')
66
- .attr('width', '612').attr('height', '710')
67
- .attr('scrolling', 'no')
68
- .attr('allowtransparency', 'true');
69
- } else if (vMatch && vMatch[0].length) {
70
- $video = $('<iframe>')
71
- .attr('frameborder', 0)
72
- .attr('src', vMatch[0] + '/embed/simple')
73
- .attr('width', '600').attr('height', '600')
74
- .attr('class', 'vine-embed');
75
- } else if (vimMatch && vimMatch[3].length) {
76
- $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')
77
- .attr('frameborder', 0)
78
- .attr('src', '//player.vimeo.com/video/' + vimMatch[3])
79
- .attr('width', '640').attr('height', '360');
80
- } else if (dmMatch && dmMatch[2].length) {
81
- $video = $('<iframe>')
82
- .attr('frameborder', 0)
83
- .attr('src', '//www.dailymotion.com/embed/video/' + dmMatch[2])
84
- .attr('width', '640').attr('height', '360');
85
- } else if (youkuMatch && youkuMatch[1].length) {
86
- $video = $('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>')
87
- .attr('frameborder', 0)
88
- .attr('height', '498')
89
- .attr('width', '510')
90
- .attr('src', '//player.youku.com/embed/' + youkuMatch[1]);
91
- } else if (mp4Match || oggMatch || webmMatch) {
92
- $video = $('<video controls>')
93
- .attr('src', url)
94
- .attr('width', '640').attr('height', '360');
95
- } else {
96
- // this is not a known video link. Now what, Cat? Now what?
97
- return false;
98
- }
99
-
100
- return $video[0];
101
- };
102
-
103
- /**
104
- * @member plugin.video
105
- * @private
106
- * @param {jQuery} $editable
107
- * @return {String}
108
- */
109
- var getTextOnRange = function ($editable) {
110
- $editable.focus();
111
-
112
- var rng = range.create();
113
-
114
- // if range on anchor, expand range with anchor
115
- if (rng.isOnAnchor()) {
116
- var anchor = dom.ancestor(rng.sc, dom.isAnchor);
117
- rng = range.createFromNode(anchor);
118
- }
119
-
120
- return rng.toString();
121
- };
122
-
123
- /**
124
- * toggle button status
125
- *
126
- * @member plugin.video
127
- * @private
128
- * @param {jQuery} $btn
129
- * @param {Boolean} isEnable
130
- */
131
- var toggleBtn = function ($btn, isEnable) {
132
- $btn.toggleClass('disabled', !isEnable);
133
- $btn.attr('disabled', !isEnable);
134
- };
135
-
136
- /**
137
- * Show video dialog and set event handlers on dialog controls.
138
- *
139
- * @member plugin.video
140
- * @private
141
- * @param {jQuery} $dialog
142
- * @param {jQuery} $dialog
143
- * @param {Object} text
144
- * @return {Promise}
145
- */
146
- var showVideoDialog = function ($editable, $dialog, text) {
147
- return $.Deferred(function (deferred) {
148
- var $videoDialog = $dialog.find('.note-video-dialog');
149
-
150
- var $videoUrl = $videoDialog.find('.note-video-url'),
151
- $videoBtn = $videoDialog.find('.note-video-btn');
152
-
153
- $videoDialog.one('shown.bs.modal', function () {
154
- $videoUrl.val(text).on('input', function () {
155
- toggleBtn($videoBtn, $videoUrl.val());
156
- }).trigger('focus');
157
-
158
- $videoBtn.click(function (event) {
159
- event.preventDefault();
160
-
161
- deferred.resolve($videoUrl.val());
162
- $videoDialog.modal('hide');
163
- });
164
- }).one('hidden.bs.modal', function () {
165
- $videoUrl.off('input');
166
- $videoBtn.off('click');
167
-
168
- if (deferred.state() === 'pending') {
169
- deferred.reject();
170
- }
171
- }).modal('show');
172
- });
173
- };
174
-
175
- /**
176
- * @class plugin.video
177
- *
178
- * Video Plugin
179
- *
180
- * video plugin is to make embeded video tag.
181
- *
182
- * ### load script
183
- *
184
- * ```
185
- * < script src="plugin/summernote-ext-video.js"></script >
186
- * ```
187
- *
188
- * ### use a plugin in toolbar
189
- * ```
190
- * $("#editor").summernote({
191
- * ...
192
- * toolbar : [
193
- * ['group', [ 'video' ]]
194
- * ]
195
- * ...
196
- * });
197
- * ```
198
- */
199
- $.summernote.addPlugin({
200
- /** @property {String} name name of plugin */
201
- name: 'video',
202
- /**
203
- * @property {Object} buttons
204
- * @property {function(object): string} buttons.video
205
- */
206
- buttons: {
207
- video: function (lang, options) {
208
- return tmpl.iconButton(options.iconPrefix + 'youtube-play', {
209
- event: 'showVideoDialog',
210
- title: lang.video.video,
211
- hide: true
212
- });
213
- }
214
- },
215
-
216
- /**
217
- * @property {Object} dialogs
218
- * @property {function(object, object): string} dialogs.video
219
- */
220
- dialogs: {
221
- video: function (lang) {
222
- var body = '<div class="form-group row-fluid">' +
223
- '<label>' + lang.video.url + ' <small class="text-muted">' + lang.video.providers + '</small></label>' +
224
- '<input class="note-video-url form-control span12" type="text" />' +
225
- '</div>';
226
- var footer = '<button href="#" class="btn btn-primary note-video-btn disabled" disabled>' + lang.video.insert + '</button>';
227
- return tmpl.dialog('note-video-dialog', lang.video.insert, body, footer);
228
- }
229
- },
230
- /**
231
- * @property {Object} events
232
- * @property {Function} events.showVideoDialog
233
- */
234
- events: {
235
- showVideoDialog: function (event, editor, layoutInfo) {
236
- var $dialog = layoutInfo.dialog(),
237
- $editable = layoutInfo.editable(),
238
- text = getTextOnRange($editable);
239
-
240
- // save current range
241
- editor.saveRange($editable);
242
-
243
- showVideoDialog($editable, $dialog, text).then(function (url) {
244
- // when ok button clicked
245
-
246
- // restore range
247
- editor.restoreRange($editable);
248
-
249
- // build node
250
- var $node = createVideoNode(url);
251
-
252
- if ($node) {
253
- // insert video node
254
- editor.insertNode($editable, $node);
255
- }
256
- }).fail(function () {
257
- // when cancel button clicked
258
- editor.restoreRange($editable);
259
- });
260
- }
261
- },
262
-
263
- // define language
264
- langs: {
265
- 'en-US': {
266
- video: {
267
- video: 'Video',
268
- videoLink: 'Video Link',
269
- insert: 'Insert Video',
270
- url: 'Video URL?',
271
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)'
272
- }
273
- },
274
- 'ar-AR': {
275
- video: {
276
- video: 'فيديو',
277
- videoLink: 'رابط الفيديو',
278
- insert: 'إدراج الفيديو',
279
- url: 'رابط الفيديو',
280
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)'
281
- }
282
- },
283
- 'ca-ES': {
284
- video: {
285
- video: 'Video',
286
- videoLink: 'Enllaç del video',
287
- insert: 'Inserir video',
288
- url: 'URL del video?',
289
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, o Youku)'
290
- }
291
- },
292
- 'cs-CZ': {
293
- video: {
294
- video: 'Video',
295
- videoLink: 'Odkaz videa',
296
- insert: 'Vložit video',
297
- url: 'URL videa?',
298
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion nebo Youku)'
299
- }
300
- },
301
- 'da-DK': {
302
- video: {
303
- video: 'Video',
304
- videoLink: 'Video Link',
305
- insert: 'Indsæt Video',
306
- url: 'Video URL?',
307
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)'
308
- }
309
- },
310
- 'de-DE': {
311
- video: {
312
- video: 'Video',
313
- videoLink: 'Video Link',
314
- insert: 'Video einfügen',
315
- url: 'Video URL?',
316
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, oder Youku)'
317
- }
318
- },
319
- 'es-ES': {
320
- video: {
321
- video: 'Video',
322
- videoLink: 'Link del video',
323
- insert: 'Insertar video',
324
- url: '¿URL del video?',
325
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, o Youku)'
326
- }
327
- },
328
- 'es-EU': {
329
- video: {
330
- video: 'Bideoa',
331
- videoLink: 'Bideorako esteka',
332
- insert: 'Bideo berri bat txertatu',
333
- url: 'Bideoaren URL helbidea',
334
- providers: '(YouTube, Vimeo, Vine, Instagram, edo DailyMotion)'
335
- }
336
- },
337
- 'fa-IR': {
338
- video: {
339
- video: 'ویدیو',
340
- videoLink: 'لینک ویدیو',
341
- insert: 'افزودن ویدیو',
342
- url: 'آدرس ویدیو ؟',
343
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, یا Youku)'
344
- }
345
- },
346
- 'fi-FI': {
347
- video: {
348
- video: 'Video',
349
- videoLink: 'Linkki videoon',
350
- insert: 'Lisää video',
351
- url: 'Videon URL-osoite?',
352
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion tai Youku)'
353
- }
354
- },
355
- 'fr-FR': {
356
- video: {
357
- video: 'Vidéo',
358
- videoLink: 'Lien vidéo',
359
- insert: 'Insérer une vidéo',
360
- url: 'URL de la vidéo',
361
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)'
362
- }
363
- },
364
- 'he-IL': {
365
- video: {
366
- video: 'סרטון',
367
- videoLink: 'קישור לסרטון',
368
- insert: 'הוסף סרטון',
369
- url: 'קישור לסרטון',
370
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion או Youku)'
371
- }
372
- },
373
- 'hu-HU': {
374
- video: {
375
- video: 'Videó',
376
- videoLink: 'Videó hivatkozás',
377
- insert: 'Videó beszúrása',
378
- url: 'Videó URL címe',
379
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, vagy Youku)'
380
- }
381
- },
382
- 'id-ID': {
383
- video: {
384
- video: 'Video',
385
- videoLink: 'Link video',
386
- insert: 'Sisipkan video',
387
- url: 'Tautan video',
388
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, atau Youku)'
389
- }
390
- },
391
- 'it-IT': {
392
- video: {
393
- video: 'Video',
394
- videoLink: 'Collegamento ad un Video',
395
- insert: 'Inserisci Video',
396
- url: 'URL del Video',
397
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)'
398
- }
399
- },
400
- 'ja-JP': {
401
- video: {
402
- video: '動画',
403
- videoLink: '動画リンク',
404
- insert: '動画挿入',
405
- url: '動画のURL',
406
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku)'
407
- }
408
- },
409
- 'ko-KR': {
410
- video: {
411
- video: '동영상',
412
- videoLink: '동영상 링크',
413
- insert: '동영상 추가',
414
- url: '동영상 URL',
415
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku 사용 가능)'
416
- }
417
- },
418
- 'nb-NO': {
419
- video: {
420
- video: 'Video',
421
- videoLink: 'Videolenke',
422
- insert: 'Sett inn video',
423
- url: 'Video-URL',
424
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)'
425
- }
426
- },
427
- 'nl-NL': {
428
- video: {
429
- video: 'Video',
430
- videoLink: 'Video link',
431
- insert: 'Video invoegen',
432
- url: 'URL van de video',
433
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion of Youku)'
434
- }
435
- },
436
- 'pl-PL': {
437
- video: {
438
- video: 'Wideo',
439
- videoLink: 'Adres wideo',
440
- insert: 'Wstaw wideo',
441
- url: 'Adres wideo',
442
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, lub Youku)'
443
- }
444
- },
445
- 'pt-BR': {
446
- video: {
447
- video: 'Vídeo',
448
- videoLink: 'Link para vídeo',
449
- insert: 'Inserir vídeo',
450
- url: 'URL do vídeo?',
451
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, ou Youku)'
452
- }
453
- },
454
- 'ro-RO': {
455
- video: {
456
- video: 'Video',
457
- videoLink: 'Link video',
458
- insert: 'Inserează video',
459
- url: 'URL video?',
460
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, sau Youku)'
461
- }
462
- },
463
- 'ru-RU': {
464
- video: {
465
- video: 'Видео',
466
- videoLink: 'Ссылка на видео',
467
- insert: 'Вставить видео',
468
- url: 'URL видео',
469
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)'
470
- }
471
- },
472
- 'sk-SK': {
473
- video: {
474
- video: 'Video',
475
- videoLink: 'Odkaz videa',
476
- insert: 'Vložiť video',
477
- url: 'URL videa?',
478
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion nebo Youku)'
479
- }
480
- },
481
- 'sl-SI': {
482
- video: {
483
- video: 'Video',
484
- videoLink: 'Video povezava',
485
- insert: 'Vstavi video',
486
- url: 'Povezava do videa',
487
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ali Youku)'
488
- }
489
- },
490
- 'sr-RS': {
491
- video: {
492
- video: 'Видео',
493
- videoLink: 'Веза ка видеу',
494
- insert: 'Уметни видео',
495
- url: 'URL видео',
496
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)'
497
- }
498
- },
499
- 'sr-RS-Latin': {
500
- video: {
501
- video: 'Video',
502
- videoLink: 'Veza ka videu',
503
- insert: 'Umetni video',
504
- url: 'URL video',
505
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ili Youku)'
506
- }
507
- },
508
- 'sv-SE': {
509
- video: {
510
- video: 'Filmklipp',
511
- videoLink: 'Länk till filmklipp',
512
- insert: 'Infoga filmklipp',
513
- url: 'Länk till filmklipp',
514
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)'
515
- }
516
- },
517
- 'th-TH': {
518
- video: {
519
- video: 'วีดีโอ',
520
- videoLink: 'ลิงก์ของวีดีโอ',
521
- insert: 'แทรกวีดีโอ',
522
- url: 'ที่อยู่ URL ของวีดีโอ?',
523
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion หรือ Youku)'
524
- }
525
- },
526
- 'tr-TR': {
527
- video: {
528
- video: 'Video',
529
- videoLink: 'Video bağlantısı',
530
- insert: 'Video ekle',
531
- url: 'Video bağlantısı?',
532
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion veya Youku)'
533
- }
534
- },
535
- 'uk-UA': {
536
- video: {
537
- video: 'Відео',
538
- videoLink: 'Посилання на відео',
539
- insert: 'Вставити відео',
540
- url: 'URL відео',
541
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion чи Youku)'
542
- }
543
- },
544
- 'vi-VN': {
545
- video: {
546
- video: 'Video',
547
- videoLink: 'Đường Dẫn đến Video',
548
- insert: 'Chèn Video',
549
- url: 'URL',
550
- providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion và Youku)'
551
- }
552
- },
553
- 'zh-CN': {
554
- video: {
555
- video: '视频',
556
- videoLink: '视频链接',
557
- insert: '插入视频',
558
- url: '视频地址',
559
- providers: '(优酷, Instagram, DailyMotion, Youtube等)'
560
- }
561
- },
562
- 'zh-TW': {
563
- video: {
564
- video: '影片',
565
- videoLink: '影片連結',
566
- insert: '插入影片',
567
- url: '影片網址',
568
- providers: '(優酷, Instagram, DailyMotion, Youtube等)'
569
- }
570
- }
571
- }
572
- });
573
- }));