From 051e4af74c679fd0fc8d0571945f424a5d7486c3 Mon Sep 17 00:00:00 2001 From: Philip Arndt Date: Thu, 27 Jan 2011 12:54:52 +1300 Subject: [PATCH] Show/hide the styles box on hover. --- core/public/javascripts/refinery/boot_wym.js | 2 +- .../wymeditor/jquery.refinery.wymeditor.js | 20 +++++++++++++++---- .../wymeditor/skins/refinery/skin.js | 8 ++++++++ .../wymeditor/skins/refinery/skin.css | 6 ++---- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/core/public/javascripts/refinery/boot_wym.js b/core/public/javascripts/refinery/boot_wym.js index c20652d1fd..53d953af68 100755 --- a/core/public/javascripts/refinery/boot_wym.js +++ b/core/public/javascripts/refinery/boot_wym.js @@ -245,7 +245,7 @@ WYMeditor.editor.prototype.loadIframe = function(iframe) { doc.write(html); doc.close(); - $.each(["wymeditor/skins/refinery/wymiframe", "formatting", "theme"], function(i, href) { + $.each(["wymeditor/skins/refinery/wymiframe", "formatting", "refinery/theme", "theme"], function(i, href) { $("").appendTo(doc.head); }); $("").appendTo(doc.head); diff --git a/core/public/javascripts/wymeditor/jquery.refinery.wymeditor.js b/core/public/javascripts/wymeditor/jquery.refinery.wymeditor.js index cebef12894..d72a98957b 100644 --- a/core/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +++ b/core/public/javascripts/wymeditor/jquery.refinery.wymeditor.js @@ -839,7 +839,7 @@ WYMeditor.editor.prototype.bindEvents = function() { .blur(function() { $(this).toggleClass('hasfocus'); }); //handle click event on classes buttons - $(this._box).find(this._options.classSelector).click(function() { + $(this._box).find(this._options.classSelector).bind('click', function() { var aClasses = eval(wym._options.classesItems); var sName = $(this).attr(WYMeditor.NAME); @@ -970,8 +970,7 @@ WYMeditor.editor.prototype.exec = function(cmd) { case WYMeditor.APPLY_CLASS: wym = this; - $(wym._box).find(this._options.classUnhiddenSelector).toggleClass(this._options.classHiddenSelector.substring(1)); // substring(1) to remove the . at the start - $(wym._box).find("a[name=" + WYMeditor.APPLY_CLASS +"]").toggleClass('selected').parent().toggleClass('activated'); + wym.toggleClassSelector(); // determine whether any classes are already selected and add the enabled class to them. $(wym._box).find(this._options.classUnhiddenSelector).find("a[name]").each(function(index, rule){ if ($(wym.selected()).hasClass($(rule).attr('name'))) { @@ -1082,6 +1081,16 @@ WYMeditor.editor.prototype.toggleClass = function(sClass, jqexpr) { }; +WYMeditor.editor.prototype.toggleClassSelector = function() { + // substring(1) to remove the . at the start + var wym = this; + $(wym._box).find(wym._options.classUnhiddenSelector) + .toggleClass(wym._options.classHiddenSelector.substring(1)); + + $(wym._box).find("a[name=" + WYMeditor.APPLY_CLASS +"]") + .toggleClass('selected').parent().toggleClass('activated'); +} + /* @name removeClass * @description Removes class on selected element, or one of its parents */ @@ -1640,12 +1649,15 @@ WYMeditor.editor.prototype.listen = function() { } // ensure links can't be navigated to. - $(this._doc).find('a[href]').click(function(e){e.preventDefault();}); + $(this._doc).find('a[href]').click(function(e){ + e.preventDefault(); + }); }; WYMeditor.editor.prototype.mousedown = function(e) { var wym = WYMeditor.INSTANCES[this.ownerDocument.title]; + wym._selected_image = (e.target.tagName.toLowerCase() == WYMeditor.IMG) ? e.target : null; $(wym._iframe).contents().find('.selected_by_wym').removeClass('selected_by_wym'); if (!$.browser.mozilla) { $(wym._selected_image).addClass('selected_by_wym'); } diff --git a/core/public/javascripts/wymeditor/skins/refinery/skin.js b/core/public/javascripts/wymeditor/skins/refinery/skin.js index 1f6e656427..185f542e72 100644 --- a/core/public/javascripts/wymeditor/skins/refinery/skin.js +++ b/core/public/javascripts/wymeditor/skins/refinery/skin.js @@ -25,6 +25,14 @@ WYMeditor.SKINS['refinery'] = { },function(){ $(this).removeClass('hover'); }); + + // show or hide CSS class options on hover + $(wym._box).find('.wym_tools_class') + .hover($.proxy(function(){ + this.toggleClassSelector(); + }, wym), $.proxy(function(){ + this.toggleClassSelector(); + }, wym)); // adjust sizing $(wym._box).css('width', $(wym._element).width() - 2) diff --git a/core/public/stylesheets/wymeditor/skins/refinery/skin.css b/core/public/stylesheets/wymeditor/skins/refinery/skin.css index b0a66ea1bb..dfe2b71e70 100644 --- a/core/public/stylesheets/wymeditor/skins/refinery/skin.css +++ b/core/public/stylesheets/wymeditor/skins/refinery/skin.css @@ -471,11 +471,9 @@ a.wym_wymeditor_link { display: block; position: absolute; left: 0px; - top: 29px; + top: 23px; + padding-top: 6px !important; width: 200px; - border-color: gray; - border-style: solid; - border-width: 0px 1px 1px 1px !important; } .wym_classes_hidden { display: none;