From c1740c479cb95e820f042bd3491992e8aa14a2f3 Mon Sep 17 00:00:00 2001 From: alekseybobkov Date: Sat, 11 Apr 2015 18:55:02 -0700 Subject: [PATCH] Media Manager: implemented insert link, insert image, and crop and insert features. Minor fixes in October core and third-party JS plugins. --- modules/backend/assets/css/controls.css | 13 +- modules/backend/assets/css/october.css | 2 +- modules/backend/assets/js/october-min.js | 14 +- .../backend/assets/js/october.dragscroll.js | 5 + modules/backend/assets/js/october.popup.js | 12 +- .../backend/assets/js/vendor/vendor-min.js | 242 ++- modules/backend/assets/js/vendor/vendor.js | 4 +- .../backend/assets/less/controls/forms.less | 51 + .../backend/assets/less/controls/toolbar.less | 4 + modules/backend/assets/less/october.less | 1 + .../assets/vendor/jcrop/MIT-LICENSE.txt | 22 + .../assets/vendor/jcrop/OCTOBER-README.md | 1 + modules/backend/assets/vendor/jcrop/README.md | 66 + .../backend/assets/vendor/jcrop/css/Jcrop.gif | Bin 0 -> 329 bytes .../vendor/jcrop/css/jquery.Jcrop.min.css | 29 + .../assets/vendor/jcrop/js/jquery.Jcrop.js | 1699 +++++++++++++++++ modules/backend/classes/Controller.php | 5 + .../richeditor/assets/js/build-min.js | 2 +- .../richeditor/assets/js/richeditor.js | 2 +- modules/backend/layouts/_head.htm | 5 + modules/cms/classes/MediaLibrary.php | 13 + modules/cms/lang/en/lang.php | 13 +- modules/cms/widgets/MediaManager.php | 296 ++- .../mediamanager/assets/css/mediamanager.css | 108 +- .../assets/js/mediamanager.imagecroppopup.js | 383 +++- .../mediamanager/assets/js/mediamanager.js | 21 +- .../assets/js/mediamanager.popup.js | 12 +- .../assets/less/mediamanager.less | 115 +- .../partials/_crop-tool-image-area.htm | 33 + .../mediamanager/partials/_crop-toolbar.htm | 41 + .../mediamanager/partials/_generic-list.htm | 1 + .../partials/_image-crop-popup-body.htm | 42 +- .../mediamanager/partials/_list-grid.htm | 1 + .../partials/_resize-image-form.htm | 31 + 34 files changed, 3250 insertions(+), 39 deletions(-) create mode 100755 modules/backend/assets/vendor/jcrop/MIT-LICENSE.txt create mode 100644 modules/backend/assets/vendor/jcrop/OCTOBER-README.md create mode 100755 modules/backend/assets/vendor/jcrop/README.md create mode 100755 modules/backend/assets/vendor/jcrop/css/Jcrop.gif create mode 100755 modules/backend/assets/vendor/jcrop/css/jquery.Jcrop.min.css create mode 100755 modules/backend/assets/vendor/jcrop/js/jquery.Jcrop.js create mode 100644 modules/cms/widgets/mediamanager/partials/_crop-tool-image-area.htm create mode 100644 modules/cms/widgets/mediamanager/partials/_crop-toolbar.htm create mode 100644 modules/cms/widgets/mediamanager/partials/_resize-image-form.htm diff --git a/modules/backend/assets/css/controls.css b/modules/backend/assets/css/controls.css index f3889c72b..4139fb7e2 100644 --- a/modules/backend/assets/css/controls.css +++ b/modules/backend/assets/css/controls.css @@ -143,6 +143,16 @@ body.slim-container .form-buttons{padding:0 20px 20px} .select2-drop .select2-results .select2-no-results{padding:7px !important} .select2-drop .select2-results .select2-highlighted{background:#4da7e8} .select2-drop .select2-results > li > div{padding:5px 7px 5px} +[data-control=toolbar] .form-control{display:inline-block;margin-right:15px} +[data-control=toolbar] .form-control.width-50{width:50px} +[data-control=toolbar] .form-control.width-100{width:100px} +[data-control=toolbar] .form-control.width-150{width:150px} +[data-control=toolbar] input[type=text].form-control,[data-control=toolbar] label{position:relative;top:5px} +[data-control=toolbar] label{margin-right:7px} +[data-control=toolbar] label.standalone{margin-right:15px} +[data-control=toolbar] .select2-container{display:inline-block;width:auto;height:36px} +[data-control=toolbar] .select2-container .select2-choice{height:34px;line-height:34px} +[data-control=toolbar] select.form-control.custom-select{display:none} table.table.data{font-size:12px} table.table.data thead{background:#ffffff} table.table.data thead td,table.table.data thead th{border-width:1px;border-top:1px solid #e2e2e2 !important;border-color:#e2e2e2;padding:0;font-weight:normal} @@ -566,6 +576,7 @@ html.cssanimations .cursor-loading-indicator.hide{display:none} .control-toolbar .toolbar-item.layout-cell:last-child{padding-right:0} .control-toolbar .toolbar-item .btn,.control-toolbar .toolbar-item .btn-group,.control-toolbar .toolbar-item .dropdown{white-space:nowrap;float:none;display:inline-block;margin-right:10px} .control-toolbar .toolbar-item .btn:last-child,.control-toolbar .toolbar-item .btn-group:last-child,.control-toolbar .toolbar-item .dropdown:last-child{margin-right:0} +.control-toolbar .toolbar-item .btn.standalone,.control-toolbar .toolbar-item .btn-group.standalone,.control-toolbar .toolbar-item .dropdown.standalone{margin-right:15px} .control-toolbar .toolbar-item .btn-group > .btn,.control-toolbar .toolbar-item .btn-group > .dropdown{margin-right:0;display:inline-block;float:none} .control-toolbar .toolbar-item .btn-group .dropdown > .btn{margin-right:0;border-bottom-right-radius:0;border-top-right-radius:0} .control-toolbar .toolbar-item .btn-group .dropdown.last > .btn{border-bottom-right-radius:2px !important;border-top-right-radius:2px !important} @@ -1179,4 +1190,4 @@ div.control-scrollpad > .scrollpad-scrollbar:hover{opacity:0.7;-webkit-transitio div.control-scrollpad > .scrollpad-scrollbar[data-visible]{opacity:0.7} div.control-scrollpad > .scrollpad-scrollbar[data-hidden]{display:none} div.control-scrollpad[data-direction=horizontal] > .scrollpad-scrollbar{top:auto;left:0;width:auto;height:11px} -div.control-scrollpad[data-direction=horizontal] > .scrollpad-scrollbar .drag-handle{right:auto;top:2px;height:7px;min-height:0;min-width:10px;width:auto} +div.control-scrollpad[data-direction=horizontal] > .scrollpad-scrollbar .drag-handle{right:auto;top:2px;height:7px;min-height:0;min-width:10px;width:auto} \ No newline at end of file diff --git a/modules/backend/assets/css/october.css b/modules/backend/assets/css/october.css index ad3d4b1f4..b9a140d17 100644 --- a/modules/backend/assets/css/october.css +++ b/modules/backend/assets/css/october.css @@ -1,4 +1,4 @@ -@import "../vendor/select2/select2.css"; html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} +@import "../vendor/select2/select2.css";@import "../vendor/jcrop/css/jquery.Jcrop.min.css"; html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} body{margin:0} article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block} audio,canvas,progress,video{display:inline-block;vertical-align:baseline} diff --git a/modules/backend/assets/js/october-min.js b/modules/backend/assets/js/october-min.js index adfe0a18a..90ffec515 100644 --- a/modules/backend/assets/js/october-min.js +++ b/modules/backend/assets/js/october-min.js @@ -299,7 +299,9 @@ $(this.options.scrollMarkerContainer).append($('').appendTo(document.body) +Popup.prototype.setBackdrop=function(val){if(val&&!this.$backdrop){this.$backdrop=$('