<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[27494] trunk/src/wp-includes: wpLink: stop using UI dialog, restyle the modal, add better responsive behaviour.</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://core.trac.wordpress.org/changeset/27494">27494</a></dd>
<dt>Author</dt> <dd>azaozz</dd>
<dt>Date</dt> <dd>2014-03-11 00:03:54 +0000 (Tue, 11 Mar 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>wpLink: stop using UI dialog, restyle the modal, add better responsive behaviour.
Fix UI dialog styling to match the rest of the admin styling.
Props avryl, see <a href="http://core.trac.wordpress.org/ticket/26952">#26952</a></pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpincludesclasswpeditorphp">trunk/src/wp-includes/class-wp-editor.php</a></li>
<li><a href="#trunksrcwpincludescssbuttonscss">trunk/src/wp-includes/css/buttons.css</a></li>
<li><a href="#trunksrcwpincludescsseditorcss">trunk/src/wp-includes/css/editor.css</a></li>
<li><a href="#trunksrcwpincludescssjqueryuidialogcss">trunk/src/wp-includes/css/jquery-ui-dialog.css</a></li>
<li><a href="#trunksrcwpincludesjswplinkjs">trunk/src/wp-includes/js/wplink.js</a></li>
<li><a href="#trunksrcwpincludesscriptloaderphp">trunk/src/wp-includes/script-loader.php</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpincludesclasswpeditorphp"></a>
<div class="modfile"><h4>Modified: trunk/src/wp-includes/class-wp-editor.php (27493 => 27494)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/src/wp-includes/class-wp-editor.php 2014-03-10 23:29:49 UTC (rev 27493)
+++ trunk/src/wp-includes/class-wp-editor.php 2014-03-11 00:03:54 UTC (rev 27494)
</span><span class="lines">@@ -492,8 +492,6 @@
</span><span class="cx">
</span><span class="cx"> if ( in_array('wplink', self::$plugins, true) || in_array('link', self::$qt_buttons, true) ) {
</span><span class="cx"> wp_enqueue_script('wplink');
</span><del>- wp_enqueue_script('wpdialogs');
- wp_enqueue_style('wp-jquery-ui-dialog');
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if ( in_array('wpfullscreen', self::$plugins, true) || in_array('fullscreen', self::$qt_buttons, true) )
</span><span class="lines">@@ -1041,58 +1039,61 @@
</span><span class="cx"> * @since 3.1.0
</span><span class="cx"> */
</span><span class="cx"> public static function wp_link_dialog() {
</span><del>- ?>
- <div style="display:none;">
- <form id="wp-link" tabindex="-1">
- <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
- <div id="link-selector">
- <div id="link-options">
- <p class="howto"><?php _e( 'Enter the destination URL' ); ?></p>
- <div>
- <label><span><?php _e( 'URL' ); ?></span><input id="url-field" type="text" name="href" /></label>
- </div>
- <div>
- <label><span><?php _e( 'Title' ); ?></span><input id="link-title-field" type="text" name="linktitle" /></label>
- </div>
- <div class="link-target">
- <label><input type="checkbox" id="link-target-checkbox" /> <?php _e( 'Open link in a new window/tab' ); ?></label>
- </div>
- </div>
- <?php $show_internal = '1' == get_user_setting( 'wplink', '0' ); ?>
- <p class="howto toggle-arrow <?php if ( $show_internal ) echo 'toggle-arrow-active'; ?>" id="internal-toggle"><?php _e( 'Or link to existing content' ); ?></p>
- <div id="search-panel"<?php if ( ! $show_internal ) echo ' style="display:none"'; ?>>
- <div class="link-search-wrapper">
- <label>
- <span class="search-label"><?php _e( 'Search' ); ?></span>
- <input type="search" id="search-field" class="link-search-field" autocomplete="off" />
- <span class="spinner"></span>
- </label>
- </div>
- <div id="search-results" class="query-results">
- <ul></ul>
- <div class="river-waiting">
- <span class="spinner"></span>
</del><ins>+ $search_panel_visible = '1' == get_user_setting( 'wplink', '0' ) ? ' class="search-panel-visible"' : '';
+
+ ?>
+ <div id="wp-link-backdrop"></div>
+ <div id="wp-link-wrap"<?php echo $search_panel_visible; ?>>
+ <form id="wp-link" tabindex="-1">
+ <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
+ <div id="link-modal-title">
+ <?php _e( 'Insert/edit link' ) ?>
+ <div id="wp-link-close" tabindex="0"></div>
+ </div>
+ <div id="link-selector">
+ <div id="link-options">
+ <p class="howto"><?php _e( 'Enter the destination URL' ); ?></p>
+ <div>
+ <label><span><?php _e( 'URL' ); ?></span><input id="url-field" type="text" name="href" /></label>
</ins><span class="cx"> </div>
</span><ins>+ <div>
+ <label><span><?php _e( 'Title' ); ?></span><input id="link-title-field" type="text" name="linktitle" /></label>
+ </div>
+ <div class="link-target">
+ <label><input type="checkbox" id="link-target-checkbox" /> <?php _e( 'Open link in a new window/tab' ); ?></label>
+ </div>
</ins><span class="cx"> </div>
</span><del>- <div id="most-recent-results" class="query-results">
- <div class="query-notice"><em><?php _e( 'No search term specified. Showing recent items.' ); ?></em></div>
- <ul></ul>
- <div class="river-waiting">
- <span class="spinner"></span>
</del><ins>+ <p class="howto" id="wp-link-search-toggle"><?php _e( 'Or link to existing content' ); ?></p>
+ <div id="search-panel">
+ <div class="link-search-wrapper">
+ <label>
+ <span class="search-label"><?php _e( 'Search' ); ?></span>
+ <input type="search" id="search-field" class="link-search-field" autocomplete="off" />
+ <span class="spinner"></span>
+ </label>
</ins><span class="cx"> </div>
</span><ins>+ <div id="search-results" class="query-results">
+ <ul></ul>
+ <div class="river-waiting">
+ <span class="spinner"></span>
+ </div>
+ </div>
+ <div id="most-recent-results" class="query-results">
+ <div class="query-notice"><em><?php _e( 'No search term specified. Showing recent items.' ); ?></em></div>
+ <ul></ul>
+ <div class="river-waiting">
+ <span class="spinner"></span>
+ </div>
+ </div>
</ins><span class="cx"> </div>
</span><span class="cx"> </div>
</span><del>- </div>
- <div class="submitbox">
- <div id="wp-link-update">
- <input type="submit" value="<?php esc_attr_e( 'Add Link' ); ?>" class="button-primary" id="wp-link-submit" name="wp-link-submit">
</del><ins>+ <div class="submitbox">
+ <div id="wp-link-update">
+ <input type="submit" value="<?php esc_attr_e( 'Add Link' ); ?>" class="button-primary" id="wp-link-submit" name="wp-link-submit">
+ </div>
</ins><span class="cx"> </div>
</span><del>- <div id="wp-link-cancel">
- <a class="submitdelete deletion" href="#"><?php _e( 'Cancel' ); ?></a>
</del><ins>+ </form>
</ins><span class="cx"> </div>
</span><del>- </div>
- </form>
- </div>
- <?php
</del><ins>+ <?php
</ins><span class="cx"> }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunksrcwpincludescssbuttonscss"></a>
<div class="modfile"><h4>Modified: trunk/src/wp-includes/css/buttons.css (27493 => 27494)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/src/wp-includes/css/buttons.css 2014-03-10 23:29:49 UTC (rev 27493)
+++ trunk/src/wp-includes/css/buttons.css 2014-03-11 00:03:54 UTC (rev 27494)
</span><span class="lines">@@ -1,6 +1,11 @@
</span><span class="cx"> /* ----------------------------------------------------------------------------
</span><span class="cx">
</span><ins>+NOTE: If you edit this file, you should make sure that the CSS rules for
+buttons in the following files are updated.
</ins><span class="cx">
</span><ins>+* jquery-ui-dialog.css
+* editor.css
+
</ins><span class="cx"> WordPress-style Buttons
</span><span class="cx"> =======================
</span><span class="cx"> Create a button by adding the `.button` class to an element. For backwards
</span></span></pre></div>
<a id="trunksrcwpincludescsseditorcss"></a>
<div class="modfile"><h4>Modified: trunk/src/wp-includes/css/editor.css (27493 => 27494)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/src/wp-includes/css/editor.css 2014-03-10 23:29:49 UTC (rev 27493)
+++ trunk/src/wp-includes/css/editor.css 2014-03-11 00:03:54 UTC (rev 27494)
</span><span class="lines">@@ -313,6 +313,8 @@
</span><span class="cx"> text-align: center;
</span><span class="cx"> color: #fff;
</span><span class="cx"> text-shadow: none;
</span><ins>+ padding: 0;
+ line-height: 26px;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> .mce-window .mce-btn {
</span><span class="lines">@@ -335,6 +337,14 @@
</span><span class="cx"> background-image: none;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+/* Remove the dotted border on :focus and the extra padding in Firefox */
+.mce-window .mce-btn::-moz-focus-inner {
+ border-width: 1px 0;
+ border-style: solid none;
+ border-color: transparent;
+ padding: 0;
+}
+
</ins><span class="cx"> .mce-window .mce-btn:hover {
</span><span class="cx"> background: #fafafa;
</span><span class="cx"> border-color: #999;
</span><span class="lines">@@ -366,16 +376,17 @@
</span><span class="cx"> .mce-window .mce-btn.mce-primary {
</span><span class="cx"> background: #2ea2cc;
</span><span class="cx"> border-color: #0074a2;
</span><del>- -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
- box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
- color: #fff;
</del><ins>+ -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+ box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+ color: #fff;
+ text-decoration: none;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> .mce-window .mce-btn.mce-primary:hover {
</span><span class="cx"> background: #1e8cbe;
</span><span class="cx"> border-color: #0074a2;
</span><del>- -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
- box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
</del><ins>+ -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+ box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
</ins><span class="cx"> color: #fff;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -389,8 +400,8 @@
</span><span class="cx"> background: #1b7aa6;
</span><span class="cx"> border-color: #005684;
</span><span class="cx"> color: rgba(255,255,255,0.95);
</span><del>- -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
- box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
</del><ins>+ -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+ box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> .mce-window .mce-btn.mce-primary.mce-disabled {
</span><span class="lines">@@ -400,6 +411,17 @@
</span><span class="cx"> text-shadow: 0 -1px 0 rgba(0,0,0,0.1);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+@media screen and ( max-width: 782px ) {
+ .mce-window .mce-btn {
+ padding: 10px 14px;
+ line-height: 1;
+ font-size: 14px;
+ vertical-align: middle;
+ height: auto;
+ margin-bottom: 4px;
+ }
+}
+
</ins><span class="cx"> /* Charmap modal */
</span><span class="cx"> .mce-charmap {
</span><span class="cx"> margin: 3px;
</span><span class="lines">@@ -864,12 +886,94 @@
</span><span class="cx"> wp-link
</span><span class="cx"> ------------------------------------------------------------------------------*/
</span><span class="cx">
</span><ins>+#wp-link-wrap {
+ display: none;
+ background-color: #fff;
+ width: 600px;
+ overflow: hidden;
+ margin-left: -300px;
+ position: fixed;
+ top: 30px;
+ left: 50%;
+ z-index: 100105;
+}
+
+#wp-link-backdrop {
+ display: none;
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ min-height: 360px;
+ background: #000;
+ opacity: 0.7;
+ z-index: 100100;
+}
+
</ins><span class="cx"> #wp-link {
</span><del>- background-color: #F5F5F5;
- line-height: 1.4em;
- font-size: 12px;
</del><ins>+ position: relative;
+ height: 100%;
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+#wp-link-wrap.search-panel-visible {
+ bottom: 30px;
+}
+
+#link-modal-title {
+ background: #fcfcfc;
+ border-bottom: 1px solid #dfdfdf;
+ height: 42px;
+ font-size: 22px;
+ font-weight: 600;
+ line-height: 41px;
+ padding: 0 42px 0 16px;
+ top: 0;
+ right: 0;
+ left: 0;
+}
+
+#wp-link-close {
+ color: #666;
+ cursor: pointer;
+ padding: 0;
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 42px;
+ height: 42px;
+ text-align: center;
+}
+
+#wp-link-close:before {
+ font: normal 20px/42px 'dashicons';
+ vertical-align: top;
+ speak: none;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ width: 42px;
+ height: 42px;
+ content: '\f158';
+}
+
+#wp-link-close:hover,
+#wp-link-close:focus {
+ color: #2ea2cc;
+}
+
+#link-selector {
+ padding: 0 16px 52px;
+}
+
+#wp-link-wrap.search-panel-visible #link-selector {
+ padding: 0 16px;
+ position: absolute;
+ top: 42px;
+ left: 0;
+ right: 0;
+ bottom: 44px;
+}
+
</ins><span class="cx"> #wp-link ol,
</span><span class="cx"> #wp-link ul {
</span><span class="cx"> list-style: none;
</span><span class="lines">@@ -877,52 +981,41 @@
</span><span class="cx"> padding: 0;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+#wp-link-search-toggle::after {
+ font: normal 20px/1 'dashicons';
+ vertical-align: top;
+ speak: none;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ content: '\f140';
+}
+
+.search-panel-visible #wp-link-search-toggle::after {
+ content: '\f142';
+}
+
</ins><span class="cx"> #wp-link input[type="text"] {
</span><span class="cx"> -webkit-box-sizing: border-box;
</span><span class="cx"> -moz-box-sizing: border-box;
</span><span class="cx"> box-sizing: border-box;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-#wp-link input[type="text"],
-#wp-link textarea {
- border-width: 1px;
- border-style: solid;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- font-size: 12px;
- margin: 1px;
- padding: 3px;
-}
-
</del><span class="cx"> #wp-link #link-options {
</span><span class="cx"> padding: 10px 0 14px;
</span><del>- border-bottom: 1px solid #dfdfdf;
- margin: 0 6px 14px;
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #wp-link p.howto {
</span><del>- margin: 3px;
</del><ins>+ margin: 3px 0;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-#wp-link #internal-toggle {
- display: inline-block;
</del><ins>+#wp-link-search-toggle {
</ins><span class="cx"> cursor: pointer;
</span><del>- padding-left: 18px;
</del><span class="cx"> }
</span><span class="cx">
</span><del>-#wp-link .toggle-arrow {
- background: transparent url(../images/toggle-arrow.png) top left no-repeat;
- height: 23px;
- line-height: 23px;
-}
-
-#wp-link .toggle-arrow-active {
- background-position: center left;
-}
-
</del><span class="cx"> #wp-link label input[type="text"] {
</span><del>- width: 360px;
</del><ins>+ width: 400px;
</ins><span class="cx"> margin-top: 5px;
</span><ins>+ max-width: 70%;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #wp-link #link-options label span,
</span><span class="lines">@@ -931,15 +1024,17 @@
</span><span class="cx"> width: 80px;
</span><span class="cx"> text-align: right;
</span><span class="cx"> padding-right: 5px;
</span><ins>+ max-width: 24%;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #wp-link .link-search-field {
</span><span class="cx"> float: left;
</span><del>- width: 220px;
</del><ins>+ width: 250px;
+ max-width: 70%;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #wp-link .link-search-wrapper {
</span><del>- margin: 5px 6px 9px;
</del><ins>+ margin: 5px 0 9px;
</ins><span class="cx"> display: block;
</span><span class="cx"> overflow: hidden;
</span><span class="cx"> }
</span><span class="lines">@@ -958,16 +1053,18 @@
</span><span class="cx"> width: auto;
</span><span class="cx"> padding: 3px 0 0;
</span><span class="cx"> margin: 0 0 0 87px;
</span><del>- font-size: 11px;
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #wp-link .query-results {
</span><span class="cx"> border: 1px #dfdfdf solid;
</span><del>- margin: 0 5px 5px;
</del><ins>+ margin: 0;
</ins><span class="cx"> background: #fff;
</span><del>- height: 185px;
</del><span class="cx"> overflow: auto;
</span><del>- position: relative;
</del><ins>+ position: absolute;
+ left: 16px;
+ right: 16px;
+ bottom: 16px;
+ top: 205px;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #wp-link li,
</span><span class="lines">@@ -1005,6 +1102,10 @@
</span><span class="cx"> font-weight: bold;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+#wp-link li:last-child {
+ border: none;
+}
+
</ins><span class="cx"> #wp-link .item-title {
</span><span class="cx"> display: inline-block;
</span><span class="cx"> width: 80%;
</span><span class="lines">@@ -1020,13 +1121,13 @@
</span><span class="cx"> bottom: 0;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-#wp-link #search-results {
</del><ins>+#wp-link #search-results,
+#wp-link #search-panel {
</ins><span class="cx"> display: none;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-#wp-link #search-panel {
- float: left;
- width: 100%;
</del><ins>+#wp-link-wrap.search-panel-visible #search-panel {
+ display: block;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #wp-link .river-waiting {
</span><span class="lines">@@ -1040,338 +1141,61 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #wp-link .submitbox {
</span><del>- padding: 5px 10px;
- font-size: 11px;
- overflow: auto;
- height: 29px;
</del><ins>+ padding: 8px 16px;
+ background: #fcfcfc;
+ border-top: 1px solid #dfdfdf;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-#wp-link-cancel {
- line-height: 25px;
- float: left;
-}
-
</del><span class="cx"> #wp-link-update {
</span><span class="cx"> line-height: 23px;
</span><span class="cx"> float: right;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-/*!
- * jQuery UI CSS Framework 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- */
-
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden {
- display: none;
-}
-.ui-helper-hidden-accessible {
- border: 0;
- clip: rect(0 0 0 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px;
-}
-.ui-helper-reset {
- margin: 0;
- padding: 0;
- border: 0;
- outline: 0;
- line-height: 1.3;
- text-decoration: none;
- font-size: 100%;
- list-style: none;
-}
-.ui-helper-clearfix:before,
-.ui-helper-clearfix:after {
- content: "";
- display: table;
- border-collapse: collapse;
-}
-.ui-helper-clearfix:after {
- clear: both;
-}
-.ui-helper-clearfix {
- min-height: 0; /* support: IE7 */
-}
-.ui-helper-zfix {
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- position: absolute;
- opacity: 0;
- filter:Alpha(Opacity=0);
-}
-
-.ui-front {
- z-index: 100;
-}
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled {
- cursor: default !important;
-}
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon {
- display: block;
- text-indent: -99999px;
- overflow: hidden;
- background-repeat: no-repeat;
-}
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-
-
-/*!
- * jQuery UI Resizable 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Resizable#theming
- */
-.ui-resizable {
- position: relative;
-}
-.ui-resizable-handle {
- position: absolute;
- font-size: 0.1px;
- display: block;
-}
-.ui-resizable-disabled .ui-resizable-handle,
-.ui-resizable-autohide .ui-resizable-handle {
- display: none;
-}
-.ui-resizable-n {
- cursor: n-resize;
- height: 7px;
- width: 100%;
- top: -5px;
- left: 0;
-}
-.ui-resizable-s {
- cursor: s-resize;
- height: 7px;
- width: 100%;
- bottom: -5px;
- left: 0;
-}
-.ui-resizable-e {
- cursor: e-resize;
- width: 7px;
- right: -5px;
- top: 0;
- height: 100%;
-}
-.ui-resizable-w {
- cursor: w-resize;
- width: 7px;
- left: -5px;
- top: 0;
- height: 100%;
-}
-.ui-resizable-se {
- cursor: se-resize;
- width: 12px;
- height: 12px;
- right: 1px;
- bottom: 1px;
-}
-.ui-resizable-sw {
- cursor: sw-resize;
- width: 9px;
- height: 9px;
- left: -5px;
- bottom: -5px;
-}
-.ui-resizable-nw {
- cursor: nw-resize;
- width: 9px;
- height: 9px;
- left: -5px;
- top: -5px;
-}
-.ui-resizable-ne {
- cursor: ne-resize;
- width: 9px;
- height: 9px;
- right: -5px;
- top: -5px;
-}
-
-/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */
-.ui-dialog {
- position: absolute;
- top: 0;
- /* @noflip */
- left: 0;
- padding: .2em;
- outline: 0;
-}
-.ui-dialog .ui-dialog-titlebar {
- padding: .4em 1em;
- position: relative;
-}
-.ui-dialog .ui-dialog-title {
- float: left;
- margin: .1em 0;
- white-space: nowrap;
- width: 90%;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-.ui-dialog .ui-dialog-titlebar-close {
- position: absolute;
- right: .3em;
- top: 50%;
- width: 21px;
- margin: -10px 0 0 0;
- padding: 1px;
- height: 20px;
-}
-.ui-dialog .ui-dialog-content {
- position: relative;
- border: 0;
- padding: .5em 1em;
- background: none;
- overflow: auto;
-}
-.ui-dialog .ui-dialog-buttonpane {
- text-align: left;
- border-width: 1px 0 0 0;
- background-image: none;
- margin-top: .5em;
- padding: .3em 1em .5em .4em;
-}
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
</del><ins>+#wp-link-submit {
</ins><span class="cx"> float: right;
</span><ins>+ margin-bottom: 0;
</ins><span class="cx"> }
</span><del>-.ui-dialog .ui-dialog-buttonpane button {
- margin: .5em .4em .5em 0;
- cursor: pointer;
-}
-.ui-dialog .ui-resizable-se {
- width: 12px;
- height: 12px;
- right: -5px;
- bottom: -5px;
- background-position: 16px 16px;
-}
-.ui-draggable .ui-dialog-titlebar {
- cursor: move;
-}
</del><span class="cx">
</span><del>-/* WP jQuery Dialog Theme */
-.wp-dialog {
- padding: 0;
- z-index: 300002;
- border: 0;
- -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.7);
- box-shadow: 0 5px 15px rgba(0,0,0,0.7);
- background-color: #f5f5f5;
-}
</del><ins>+@media screen and ( max-width: 782px ), ( max-height: 440px ) {
</ins><span class="cx">
</span><del>-.wp-dialog .ui-dialog-title {
- display: block;
- text-align: center;
- padding: 0;
-}
</del><ins>+ #wp-link-wrap,
+ #wp-link-wrap.search-panel-visible {
+ width: auto;
+ margin: 0;
+ top: 10px;
+ left: 10px;
+ right: 10px;
+ bottom: 10px;
+ max-width: 600px;
+ margin: auto;
+ }
</ins><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar {
- padding: 0 1em;
- background-color: #444;
- font-size: 13px;
- line-height: 24px;
- color: #fff;
-}
</del><ins>+ #link-selector {
+ overflow: auto;
+ height: calc(100% - 88px);
+ padding-bottom: 0;
+ }
</ins><span class="cx">
</span><del>-.wp-dialog .ui-dialog-content {
- padding: 0;
-}
</del><ins>+ #wp-link #search-panel {
+ display: block;
+ }
</ins><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar-close {
- cursor: pointer;
- -webkit-appearance: none;
- border: 0;
- width: 30px;
- height: 20px;
- top: 13px;
- right: 6px;
- background: none;
-}
</del><ins>+ #wp-link-search-toggle {
+ display: none;
+ }
</ins><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar-close:before {
- content: '\f158';
- font: normal 20px/1 'dashicons';
- speak: none;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- color: #999;
- padding-left: 12px;
-}
</del><ins>+ #search-panel .query-results {
+ position: static;
+ }
</ins><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar-close:hover:before {
- color: #2ea2cc;
</del><span class="cx"> }
</span><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar-close .ui-button-text {
- display: none;
-}
-
-.wp-dialog .ui-dialog-titlebar-close:hover,
-.wp-dialog .ui-dialog-titlebar-close:focus {
- background-position: -87px -32px;
-}
-
-.ui-widget-overlay {
- z-index: 300001;
- background-color: #000;
- opacity: 0.6;
- filter: alpha(opacity=60);
-}
-
-/* TinyMCE modal */
-/* TODO: restyle the TinyMCE 4.0 modals
</del><ins>+/* Old TinyMCE 3.x modal */
+/*
</ins><span class="cx"> .clearlooks2 .mceTop {
</span><span class="cx"> border-bottom: 1px solid #ccc;
</span><span class="cx"> }
</span><span class="lines">@@ -1807,7 +1631,6 @@
</span><span class="cx"> font-family: Arial, sans-serif;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-
</del><span class="cx"> /* HiDPI */
</span><span class="cx"> @media print,
</span><span class="cx"> (-o-min-device-pixel-ratio: 5/4),
</span><span class="lines">@@ -1817,14 +1640,6 @@
</span><span class="cx"> #wp-fullscreen-buttons #wp_fs_image span.mce_image {
</span><span class="cx"> background: none;
</span><span class="cx"> }
</span><del>-
- #wp-link .toggle-arrow {
- background: transparent url(../images/toggle-arrow-2x.png) top left no-repeat;
- -webkit-background-size: 19px 69px;
- background-size: 19px 69px;
- }
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> /* TODO: DFW responsive */
</span><del>-
-
</del></span></pre></div>
<a id="trunksrcwpincludescssjqueryuidialogcss"></a>
<div class="modfile"><h4>Modified: trunk/src/wp-includes/css/jquery-ui-dialog.css (27493 => 27494)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/src/wp-includes/css/jquery-ui-dialog.css 2014-03-10 23:29:49 UTC (rev 27493)
+++ trunk/src/wp-includes/css/jquery-ui-dialog.css 2014-03-11 00:03:54 UTC (rev 27494)
</span><span class="lines">@@ -56,18 +56,12 @@
</span><span class="cx"> filter:Alpha(Opacity=0);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-.ui-front {
- z-index: 100;
-}
-
-
</del><span class="cx"> /* Interaction Cues
</span><span class="cx"> ----------------------------------*/
</span><span class="cx"> .ui-state-disabled {
</span><span class="cx"> cursor: default !important;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-
</del><span class="cx"> /* Icons
</span><span class="cx"> ----------------------------------*/
</span><span class="cx">
</span><span class="lines">@@ -79,20 +73,6 @@
</span><span class="cx"> background-repeat: no-repeat;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-
-
</del><span class="cx"> /*!
</span><span class="cx"> * jQuery UI Resizable 1.10.1
</span><span class="cx"> * http://jqueryui.com
</span><span class="lines">@@ -148,10 +128,10 @@
</span><span class="cx"> /* @noflip */
</span><span class="cx"> .ui-resizable-se {
</span><span class="cx"> cursor: se-resize;
</span><del>- width: 12px;
- height: 12px;
- right: 1px;
- bottom: 1px;
</del><ins>+ width: 9px;
+ height: 9px;
+ right: -5px;
+ bottom: -5px;
</ins><span class="cx"> }
</span><span class="cx"> /* @noflip */
</span><span class="cx"> .ui-resizable-sw {
</span><span class="lines">@@ -178,142 +158,174 @@
</span><span class="cx"> top: -5px;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */
-.ui-dialog {
- position: absolute;
- top: 0;
- /* @noflip */
- left: 0;
- padding: .2em;
- outline: 0;
-}
-.ui-dialog .ui-dialog-titlebar {
- padding: .4em 1em;
- position: relative;
-}
-.ui-dialog .ui-dialog-title {
- float: left;
- margin: .1em 0;
</del><ins>+/* WP buttons: see buttons.css. */
+
+.ui-button {
+ display: inline-block;
+ text-decoration: none;
+ font-size: 13px;
+ line-height: 26px;
+ height: 28px;
+ margin: 0;
+ padding: 0 10px 1px;
+ cursor: pointer;
+ border-width: 1px;
+ border-style: solid;
+ -webkit-appearance: none;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
</ins><span class="cx"> white-space: nowrap;
</span><del>- width: 90%;
- overflow: hidden;
- text-overflow: ellipsis;
</del><ins>+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ color: #555;
+ border-color: #cccccc;
+ background: #f7f7f7;
+ -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+ box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+ vertical-align: top;
</ins><span class="cx"> }
</span><del>-.ui-dialog .ui-dialog-titlebar-close {
- position: absolute;
- right: .3em;
- top: 50%;
- width: 21px;
- margin: -10px 0 0 0;
- padding: 1px;
- height: 20px;
</del><ins>+
+/* Remove the dotted border on :focus and the extra padding in Firefox */
+.ui-button::-moz-focus-inner {
+ border-width: 1px 0;
+ border-style: solid none;
+ border-color: transparent;
+ padding: 0;
</ins><span class="cx"> }
</span><del>-.ui-dialog .ui-dialog-content {
- position: relative;
- border: 0;
- padding: .5em 1em;
- background: none;
- overflow: auto;
</del><ins>+
+.ui-button:hover {
+ background: #fafafa;
+ border-color: #999;
+ color: #222;
</ins><span class="cx"> }
</span><del>-.ui-dialog .ui-dialog-buttonpane {
- text-align: left;
- border-width: 1px 0 0 0;
- background-image: none;
- margin-top: .5em;
- padding: .3em 1em .5em .4em;
</del><ins>+
+.ui-button:focus {
+ -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+ box-shadow: 1px 1px 1px rgba(0,0,0,.2);
</ins><span class="cx"> }
</span><del>-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
- float: right;
</del><ins>+
+.ui-button:active {
+ background: #eee;
+ border-color: #999;
+ color: #333;
+ -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+ box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+ outline: none;
</ins><span class="cx"> }
</span><del>-.ui-dialog .ui-dialog-buttonpane button {
- margin: .5em .4em .5em 0;
- cursor: pointer;
-}
-.ui-dialog .ui-resizable-se {
- width: 12px;
- height: 12px;
- right: -5px;
- bottom: -5px;
- background-position: 16px 16px;
-}
-.ui-draggable .ui-dialog-titlebar {
- cursor: move;
-}
</del><span class="cx">
</span><del>-/* WP jQuery Dialog Theme */
-.wp-dialog {
- padding: 0;
- z-index: 100102;
- border: 0;
- -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.7);
- box-shadow: 0 5px 15px rgba(0,0,0,0.7);
- background-color: #f5f5f5;
</del><ins>+.ui-button[disabled],
+.ui-button:disabled {
+ color: #aaa !important;
+ border-color: #ddd !important;
+ background: #f7f7f7 !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ text-shadow: 0 1px 0 #fff !important;
+ cursor: default;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-.wp-dialog .ui-dialog-title {
- display: block;
- text-align: center;
- padding: 0;
</del><ins>+@media screen and ( max-width: 782px ) {
+
+ .ui-button {
+ padding: 10px 14px;
+ line-height: 1;
+ font-size: 14px;
+ vertical-align: middle;
+ height: auto;
+ margin-bottom: 4px;
+ }
+
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar {
- padding: 0 1em;
- background-color: #444;
- font-size: 13px;
- line-height: 24px;
- color: #fff;
</del><ins>+/* WP Theme */
+
+.ui-dialog {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 100102;
+ background-color: #fff;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-.wp-dialog .ui-dialog-content {
- padding: 0;
</del><ins>+.ui-dialog-titlebar {
+ background: #fcfcfc;
+ border-bottom: 1px solid #dfdfdf;
+ height: 56px;
+ font-size: 22px;
+ font-weight: 600;
+ line-height: 56px;
+ padding: 0 40px 0 16px;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar-close {
</del><ins>+.ui-button.ui-dialog-titlebar-close {
+ background: none;
+ border: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ color: #666;
</ins><span class="cx"> cursor: pointer;
</span><del>- -webkit-appearance: none;
- border: 0;
- width: 30px;
- height: 20px;
- top: 13px;
- right: 6px;
- background: none;
</del><ins>+ display: block;
+ padding: 0;
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 40px;
+ height: 40px;
+ text-align: center;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar-close:before {
- content: '\f158';
</del><ins>+.ui-dialog-titlebar-close:before {
</ins><span class="cx"> font: normal 20px/1 'dashicons';
</span><ins>+ vertical-align: top;
</ins><span class="cx"> speak: none;
</span><span class="cx"> -webkit-font-smoothing: antialiased;
</span><span class="cx"> -moz-osx-font-smoothing: grayscale;
</span><del>- color: #999;
- padding-left: 12px;
</del><ins>+ line-height: 40px;
+ width: 40px;
+ height: 40px;
+ content: '\f158';
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar-close:hover:before {
</del><ins>+.ui-button.ui-dialog-titlebar-close:hover {
</ins><span class="cx"> color: #2ea2cc;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar-close .ui-button-text {
</del><ins>+.ui-dialog-titlebar-close .ui-button-text {
</ins><span class="cx"> display: none;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-.wp-dialog .ui-dialog-titlebar-close:hover,
-.wp-dialog .ui-dialog-titlebar-close:focus {
- background-position: -87px -32px;
</del><ins>+.ui-dialog-content {
+ padding: 16px;
+ overflow: auto;
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+.ui-dialog-buttonpane {
+ background: #fcfcfc;
+ border-top: 1px solid #dfdfdf;
+ padding: 16px;
+}
+
+.ui-dialog-buttonpane .ui-button {
+ margin-left: 16px;
+}
+
+.ui-dialog-buttonpane .ui-dialog-buttonset {
+ float: right;
+}
+
+.ui-draggable .ui-dialog-titlebar {
+ cursor: move;
+}
+
</ins><span class="cx"> .ui-widget-overlay {
</span><ins>+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ min-height: 360px;
+ background: #000;
+ opacity: 0.7;
</ins><span class="cx"> z-index: 100101;
</span><del>- background-color: #000;
- opacity: 0.6;
- filter: alpha(opacity=60);
</del><span class="cx"> }
</span></span></pre></div>
<a id="trunksrcwpincludesjswplinkjs"></a>
<div class="modfile"><h4>Modified: trunk/src/wp-includes/js/wplink.js (27493 => 27494)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/src/wp-includes/js/wplink.js 2014-03-10 23:29:49 UTC (rev 27493)
+++ trunk/src/wp-includes/js/wplink.js 2014-03-11 00:03:54 UTC (rev 27494)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><span class="cx"> /* global ajaxurl, tinymce, wpLinkL10n, setUserSetting, wpActiveEditor */
</span><span class="cx"> var wpLink;
</span><span class="cx">
</span><del>-(function($){
- var inputs = {}, rivers = {}, ed, River, Query;
</del><ins>+( function( $ ) {
+ var inputs = {}, rivers = {}, editor, River, Query;
</ins><span class="cx">
</span><span class="cx"> wpLink = {
</span><span class="cx"> timeToTriggerRiver: 150,
</span><span class="lines">@@ -12,54 +12,49 @@
</span><span class="cx"> lastSearch: '',
</span><span class="cx"> textarea: '',
</span><span class="cx">
</span><del>- init : function() {
- inputs.dialog = $('#wp-link');
- inputs.submit = $('#wp-link-submit');
</del><ins>+ init: function() {
+ inputs.wrap = $('#wp-link-wrap');
+ inputs.dialog = $( '#wp-link' );
+ inputs.backdrop = $( '#wp-link-backdrop' );
+ inputs.submit = $( '#wp-link-submit' );
+ inputs.close = $( '#wp-link-close' );
</ins><span class="cx"> // URL
</span><del>- inputs.url = $('#url-field');
- inputs.nonce = $('#_ajax_linking_nonce');
</del><ins>+ inputs.url = $( '#url-field' );
+ inputs.nonce = $( '#_ajax_linking_nonce' );
</ins><span class="cx"> // Secondary options
</span><del>- inputs.title = $('#link-title-field');
</del><ins>+ inputs.title = $( '#link-title-field' );
</ins><span class="cx"> // Advanced Options
</span><del>- inputs.openInNewTab = $('#link-target-checkbox');
- inputs.search = $('#search-field');
</del><ins>+ inputs.openInNewTab = $( '#link-target-checkbox' );
+ inputs.search = $( '#search-field' );
</ins><span class="cx"> // Build Rivers
</span><del>- rivers.search = new River( $('#search-results') );
- rivers.recent = new River( $('#most-recent-results') );
- rivers.elements = $('.query-results', inputs.dialog);
</del><ins>+ rivers.search = new River( $( '#search-results' ) );
+ rivers.recent = new River( $( '#most-recent-results' ) );
+ rivers.elements = inputs.dialog.find( '.query-results' );
</ins><span class="cx">
</span><span class="cx"> // Bind event handlers
</span><span class="cx"> inputs.dialog.keydown( wpLink.keydown );
</span><span class="cx"> inputs.dialog.keyup( wpLink.keyup );
</span><del>- inputs.submit.click( function(e){
- e.preventDefault();
</del><ins>+ inputs.submit.click( function( event ) {
+ event.preventDefault();
</ins><span class="cx"> wpLink.update();
</span><span class="cx"> });
</span><del>- $('#wp-link-cancel').click( function(e){
- e.preventDefault();
</del><ins>+ inputs.close.add( inputs.backdrop ).click( function( event ) {
+ event.preventDefault();
</ins><span class="cx"> wpLink.close();
</span><span class="cx"> });
</span><del>- $('#internal-toggle').click( wpLink.toggleInternalLinking );
</del><span class="cx">
</span><del>- rivers.elements.bind('river-select', wpLink.updateFields );
</del><ins>+ $( '#wp-link-search-toggle' ).click( wpLink.toggleInternalLinking );
</ins><span class="cx">
</span><ins>+ rivers.elements.on( 'river-select', wpLink.updateFields );
+
</ins><span class="cx"> inputs.search.keyup( wpLink.searchInternalLinks );
</span><del>-
- inputs.dialog.bind('wpdialogrefresh', wpLink.refresh);
- inputs.dialog.bind('wpdialogbeforeopen', wpLink.beforeOpen);
- inputs.dialog.bind('wpdialogclose', wpLink.onClose);
</del><span class="cx"> },
</span><span class="cx">
</span><del>- beforeOpen : function() {
</del><ins>+ open: function( editorId ) {
+ var ed;
+
</ins><span class="cx"> wpLink.range = null;
</span><span class="cx">
</span><del>- if ( ! wpLink.isMCE() && document.selection ) {
- wpLink.textarea.focus();
- wpLink.range = document.selection.createRange();
- }
- },
-
- open : function( editorId ) {
</del><span class="cx"> if ( editorId ) {
</span><span class="cx"> window.wpActiveEditor = editorId;
</span><span class="cx"> }
</span><span class="lines">@@ -68,35 +63,38 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- this.textarea = $( '#' + wpActiveEditor ).get(0);
</del><ins>+ this.textarea = $( '#' + window.wpActiveEditor ).get( 0 );
</ins><span class="cx">
</span><span class="cx"> if ( typeof tinymce !== 'undefined' ) {
</span><span class="cx"> ed = tinymce.get( wpActiveEditor );
</span><span class="cx">
</span><del>- if ( ed && tinymce.isIE ) {
- ed.windowManager.bookmark = ed.selection.getBookmark();
</del><ins>+ if ( ed && ! ed.isHidden() ) {
+ editor = ed;
+ } else {
+ editor = null;
</ins><span class="cx"> }
</span><ins>+
+ if ( editor && tinymce.isIE ) {
+ editor.windowManager.bookmark = editor.selection.getBookmark();
+ }
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- // Initialize the dialog
- if ( ! inputs.dialog.data('wpdialog') ) {
- inputs.dialog.wpdialog({
- title: wpLinkL10n.title,
- width: 480,
- height: 'auto',
- modal: true,
- dialogClass: 'wp-dialog'
- });
</del><ins>+ if ( ! wpLink.isMCE() && document.selection ) {
+ this.textarea.focus();
+ this.range = document.selection.createRange();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- inputs.dialog.wpdialog('open');
</del><ins>+ inputs.wrap.show();
+ inputs.backdrop.show();
+
+ wpLink.refresh();
</ins><span class="cx"> },
</span><span class="cx">
</span><del>- isMCE : function() {
- return ed && ! ed.isHidden();
</del><ins>+ isMCE: function() {
+ return editor && ! editor.isHidden();
</ins><span class="cx"> },
</span><span class="cx">
</span><del>- refresh : function() {
</del><ins>+ refresh: function() {
</ins><span class="cx"> // Refresh rivers (clear links, check visibility)
</span><span class="cx"> rivers.search.refresh();
</span><span class="cx"> rivers.recent.refresh();
</span><span class="lines">@@ -119,12 +117,12 @@
</span><span class="cx"> var e;
</span><span class="cx">
</span><span class="cx"> // If link exists, select proper values.
</span><del>- if ( e = ed.dom.getParent( ed.selection.getNode(), 'A' ) ) {
</del><ins>+ if ( e = editor.dom.getParent( editor.selection.getNode(), 'A' ) ) {
</ins><span class="cx"> // Set URL and description.
</span><del>- inputs.url.val( ed.dom.getAttrib( e, 'href' ) );
- inputs.title.val( ed.dom.getAttrib( e, 'title' ) );
</del><ins>+ inputs.url.val( editor.dom.getAttrib( e, 'href' ) );
+ inputs.title.val( editor.dom.getAttrib( e, 'title' ) );
</ins><span class="cx"> // Set open in new tab.
</span><del>- inputs.openInNewTab.prop( 'checked', ( '_blank' === ed.dom.getAttrib( e, 'target' ) ) );
</del><ins>+ inputs.openInNewTab.prop( 'checked', ( '_blank' === editor.dom.getAttrib( e, 'target' ) ) );
</ins><span class="cx"> // Update save prompt.
</span><span class="cx"> inputs.submit.val( wpLinkL10n.update );
</span><span class="cx">
</span><span class="lines">@@ -135,10 +133,6 @@
</span><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> close: function() {
</span><del>- inputs.dialog.wpdialog('close');
- },
-
- onClose: function() {
</del><span class="cx"> if ( ! wpLink.isMCE() ) {
</span><span class="cx"> wpLink.textarea.focus();
</span><span class="cx">
</span><span class="lines">@@ -146,14 +140,19 @@
</span><span class="cx"> wpLink.range.moveToBookmark( wpLink.range.getBookmark() );
</span><span class="cx"> wpLink.range.select();
</span><span class="cx"> }
</span><ins>+ } else {
+ editor.focus();
</ins><span class="cx"> }
</span><ins>+
+ inputs.backdrop.hide();
+ inputs.wrap.hide();
</ins><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> getAttrs: function() {
</span><span class="cx"> return {
</span><del>- href : inputs.url.val(),
- title : inputs.title.val(),
- target : inputs.openInNewTab.prop('checked') ? '_blank' : ''
</del><ins>+ href: inputs.url.val(),
+ title: inputs.title.val(),
+ target: inputs.openInNewTab.prop( 'checked' ) ? '_blank' : ''
</ins><span class="cx"> };
</span><span class="cx"> },
</span><span class="cx">
</span><span class="lines">@@ -230,33 +229,33 @@
</span><span class="cx"> attrs = wpLink.getAttrs();
</span><span class="cx">
</span><span class="cx"> wpLink.close();
</span><del>- ed.focus();
</del><ins>+ editor.focus();
</ins><span class="cx">
</span><span class="cx"> if ( tinymce.isIE ) {
</span><del>- ed.selection.moveToBookmark( ed.windowManager.bookmark );
</del><ins>+ editor.selection.moveToBookmark( editor.windowManager.bookmark );
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- link = ed.dom.getParent( ed.selection.getNode(), 'a[href]' );
</del><ins>+ link = editor.dom.getParent( editor.selection.getNode(), 'a[href]' );
</ins><span class="cx">
</span><span class="cx"> // If the values are empty, unlink and return
</span><span class="cx"> if ( ! attrs.href || attrs.href == 'http://' ) {
</span><del>- ed.execCommand('unlink');
</del><ins>+ editor.execCommand( 'unlink' );
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if ( link ) {
</span><del>- ed.dom.setAttribs( link, attrs );
</del><ins>+ editor.dom.setAttribs( link, attrs );
</ins><span class="cx"> } else {
</span><del>- ed.execCommand( 'mceInsertLink', false, attrs );
</del><ins>+ editor.execCommand( 'mceInsertLink', false, attrs );
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Move the cursor to the end of the selection
</span><del>- ed.selection.collapse();
</del><ins>+ editor.selection.collapse();
</ins><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> updateFields: function( e, li, originalEvent ) {
</span><del>- inputs.url.val( li.children('.item-permalink').val() );
- inputs.title.val( li.hasClass('no-title') ? '' : li.children('.item-title').text() );
</del><ins>+ inputs.url.val( li.children( '.item-permalink' ).val() );
+ inputs.title.val( li.hasClass( 'no-title' ) ? '' : li.children( '.item-title' ).text() );
</ins><span class="cx"> if ( originalEvent && originalEvent.type == 'click' )
</span><span class="cx"> inputs.url.focus();
</span><span class="cx"> },
</span><span class="lines">@@ -264,15 +263,15 @@
</span><span class="cx"> setDefaultValues: function() {
</span><span class="cx"> // Set URL and description to defaults.
</span><span class="cx"> // Leave the new tab setting as-is.
</span><del>- inputs.url.val('http://');
- inputs.title.val('');
</del><ins>+ inputs.url.val( 'http://' );
+ inputs.title.val( '' );
</ins><span class="cx">
</span><span class="cx"> // Update save prompt.
</span><span class="cx"> inputs.submit.val( wpLinkL10n.save );
</span><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> searchInternalLinks: function() {
</span><del>- var t = $(this), waiting,
</del><ins>+ var t = $( this ), waiting,
</ins><span class="cx"> search = t.val();
</span><span class="cx">
</span><span class="cx"> if ( search.length > 2 ) {
</span><span class="lines">@@ -284,10 +283,12 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> wpLink.lastSearch = search;
</span><del>- waiting = t.parent().find('.spinner').show();
</del><ins>+ waiting = $( '#river-waiting' ).show();
</ins><span class="cx">
</span><span class="cx"> rivers.search.change( search );
</span><del>- rivers.search.ajax( function(){ waiting.hide(); });
</del><ins>+ rivers.search.ajax( function() {
+ waiting.hide();
+ });
</ins><span class="cx"> } else {
</span><span class="cx"> rivers.search.hide();
</span><span class="cx"> rivers.recent.show();
</span><span class="lines">@@ -305,18 +306,29 @@
</span><span class="cx"> },
</span><span class="cx">
</span><span class="cx"> keydown: function( event ) {
</span><del>- var fn, key = $.ui.keyCode;
</del><ins>+ var fn, id,
+ key = $.ui.keyCode;
</ins><span class="cx">
</span><del>- if ( key.ESCAPE === event.which ) {
</del><ins>+ if ( key.ESCAPE === event.keyCode ) {
</ins><span class="cx"> wpLink.close();
</span><span class="cx"> event.stopImmediatePropagation();
</span><ins>+ } else if ( key.TAB === event.keyCode ) {
+ id = event.target.id;
+
+ if ( id === 'wp-link-submit' && ! event.shiftKey ) {
+ inputs.close.focus();
+ event.preventDefault();
+ } else if ( id === 'wp-link-close' && event.shiftKey ) {
+ inputs.submit.focus();
+ event.preventDefault();
+ }
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- if ( event.which !== key.UP && event.which !== key.DOWN ) {
</del><ins>+ if ( event.keyCode !== key.UP && event.keyCode !== key.DOWN ) {
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- fn = event.which === key.UP ? 'prev' : 'next';
</del><ins>+ fn = event.keyCode === key.UP ? 'prev' : 'next';
</ins><span class="cx"> clearInterval( wpLink.keyInterval );
</span><span class="cx"> wpLink[ fn ]();
</span><span class="cx"> wpLink.keyInterval = setInterval( wpLink[ fn ], wpLink.keySensitivity );
</span><span class="lines">@@ -343,7 +355,7 @@
</span><span class="cx"> return func.apply( funcContext, funcArgs );
</span><span class="cx"> // Otherwise, wait.
</span><span class="cx"> timeoutTriggered = true;
</span><del>- }, delay);
</del><ins>+ }, delay );
</ins><span class="cx">
</span><span class="cx"> return function() {
</span><span class="cx"> if ( timeoutTriggered )
</span><span class="lines">@@ -355,53 +367,37 @@
</span><span class="cx"> };
</span><span class="cx"> },
</span><span class="cx">
</span><del>- toggleInternalLinking: function( event ) {
- var panel = $('#search-panel'),
- widget = inputs.dialog.wpdialog('widget'),
- // We're about to toggle visibility; it's currently the opposite
- visible = !panel.is(':visible'),
- win = $(window);
</del><ins>+ toggleInternalLinking: function() {
+ var visible = inputs.wrap.hasClass( 'search-panel-visible' );
</ins><span class="cx">
</span><del>- $(this).toggleClass('toggle-arrow-active', visible);
-
- inputs.dialog.height('auto');
- panel.slideToggle( 300, function() {
- setUserSetting('wplink', visible ? '1' : '0');
- inputs[ visible ? 'search' : 'url' ].focus();
-
- // Move the box if the box is now expanded, was opened in a collapsed state,
- // and if it needs to be moved. (Judged by bottom not being positive or
- // bottom being smaller than top.)
- var scroll = win.scrollTop(),
- top = widget.offset().top,
- bottom = top + widget.outerHeight(),
- diff = bottom - win.height();
-
- if ( diff > scroll ) {
- widget.animate({'top': diff < top ? top - diff : scroll }, 200);
- }
- });
- event.preventDefault();
</del><ins>+ inputs.wrap.toggleClass( 'search-panel-visible', ! visible );
+ setUserSetting( 'wplink', visible ? '0' : '1' );
+ inputs[ ! visible ? 'search' : 'url' ].focus();
</ins><span class="cx"> }
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> River = function( element, search ) {
</span><span class="cx"> var self = this;
</span><span class="cx"> this.element = element;
</span><del>- this.ul = element.children('ul');
- this.waiting = element.find('.river-waiting');
</del><ins>+ this.ul = element.children( 'ul' );
+ this.contentHeight = element.children( '#link-selector-height' );
+ this.waiting = $( '#river-waiting' );
</ins><span class="cx">
</span><span class="cx"> this.change( search );
</span><span class="cx"> this.refresh();
</span><span class="cx">
</span><del>- element.scroll( function(){ self.maybeLoad(); });
- element.delegate('li', 'click', function(e){ self.select( $(this), e ); });
</del><ins>+ $( '#wp-link .query-results, #wp-link #link-selector' ).scroll( function() {
+ self.maybeLoad();
+ });
+ element.on( 'click', 'li', function( event ) {
+ self.select( $( this ), event );
+ });
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> $.extend( River.prototype, {
</span><span class="cx"> refresh: function() {
</span><span class="cx"> this.deselect();
</span><del>- this.visible = this.element.is(':visible');
</del><ins>+ this.visible = this.element.is( ':visible' );
</ins><span class="cx"> },
</span><span class="cx"> show: function() {
</span><span class="cx"> if ( ! this.visible ) {
</span><span class="lines">@@ -418,11 +414,11 @@
</span><span class="cx"> select: function( li, event ) {
</span><span class="cx"> var liHeight, elHeight, liTop, elTop;
</span><span class="cx">
</span><del>- if ( li.hasClass('unselectable') || li == this.selected )
</del><ins>+ if ( li.hasClass( 'unselectable' ) || li == this.selected )
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> this.deselect();
</span><del>- this.selected = li.addClass('selected');
</del><ins>+ this.selected = li.addClass( 'selected' );
</ins><span class="cx"> // Make sure the element is visible
</span><span class="cx"> liHeight = li.outerHeight();
</span><span class="cx"> elHeight = this.element.height();
</span><span class="lines">@@ -435,11 +431,11 @@
</span><span class="cx"> this.element.scrollTop( elTop + liTop - elHeight + liHeight );
</span><span class="cx">
</span><span class="cx"> // Trigger the river-select event
</span><del>- this.element.trigger('river-select', [ li, event, this ]);
</del><ins>+ this.element.trigger( 'river-select', [ li, event, this ] );
</ins><span class="cx"> },
</span><span class="cx"> deselect: function() {
</span><span class="cx"> if ( this.selected )
</span><del>- this.selected.removeClass('selected');
</del><ins>+ this.selected.removeClass( 'selected' );
</ins><span class="cx"> this.selected = false;
</span><span class="cx"> },
</span><span class="cx"> prev: function() {
</span><span class="lines">@@ -448,7 +444,7 @@
</span><span class="cx">
</span><span class="cx"> var to;
</span><span class="cx"> if ( this.selected ) {
</span><del>- to = this.selected.prev('li');
</del><ins>+ to = this.selected.prev( 'li' );
</ins><span class="cx"> if ( to.length )
</span><span class="cx"> this.select( to );
</span><span class="cx"> }
</span><span class="lines">@@ -457,7 +453,7 @@
</span><span class="cx"> if ( ! this.visible )
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- var to = this.selected ? this.selected.next('li') : $('li:not(.unselectable):first', this.element);
</del><ins>+ var to = this.selected ? this.selected.next( 'li' ) : $( 'li:not(.unselectable):first', this.element );
</ins><span class="cx"> if ( to.length )
</span><span class="cx"> this.select( to );
</span><span class="cx"> },
</span><span class="lines">@@ -478,13 +474,13 @@
</span><span class="cx">
</span><span class="cx"> this._search = search;
</span><span class="cx"> this.query = new Query( search );
</span><del>- this.element.scrollTop(0);
</del><ins>+ this.element.scrollTop( 0 );
</ins><span class="cx"> },
</span><span class="cx"> process: function( results, params ) {
</span><span class="cx"> var list = '', alt = true, classes = '',
</span><span class="cx"> firstPage = params.page == 1;
</span><span class="cx">
</span><del>- if ( !results ) {
</del><ins>+ if ( ! results ) {
</ins><span class="cx"> if ( firstPage ) {
</span><span class="cx"> list += '<li class="unselectable"><span class="item-title"><em>' +
</span><span class="cx"> wpLinkL10n.noMatchesFound + '</em></span></li>';
</span><span class="lines">@@ -509,20 +505,22 @@
</span><span class="cx"> el = this.element,
</span><span class="cx"> bottom = el.scrollTop() + el.height();
</span><span class="cx">
</span><del>- if ( ! this.query.ready() || bottom < this.ul.height() - wpLink.riverBottomThreshold )
</del><ins>+ if ( ! this.query.ready() || bottom < this.contentHeight.height() - wpLink.riverBottomThreshold )
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> setTimeout(function() {
</span><span class="cx"> var newTop = el.scrollTop(),
</span><span class="cx"> newBottom = newTop + el.height();
</span><span class="cx">
</span><del>- if ( ! self.query.ready() || newBottom < self.ul.height() - wpLink.riverBottomThreshold )
</del><ins>+ if ( ! self.query.ready() || newBottom < self.contentHeight.height() - wpLink.riverBottomThreshold )
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> self.waiting.show();
</span><span class="cx"> el.scrollTop( newTop + self.waiting.outerHeight() );
</span><span class="cx">
</span><del>- self.ajax( function() { self.waiting.hide(); });
</del><ins>+ self.ajax( function() {
+ self.waiting.hide();
+ });
</ins><span class="cx"> }, wpLink.timeToTriggerRiver );
</span><span class="cx"> }
</span><span class="cx"> });
</span><span class="lines">@@ -536,7 +534,7 @@
</span><span class="cx">
</span><span class="cx"> $.extend( Query.prototype, {
</span><span class="cx"> ready: function() {
</span><del>- return !( this.querying || this.allLoaded );
</del><ins>+ return ! ( this.querying || this.allLoaded );
</ins><span class="cx"> },
</span><span class="cx"> ajax: function( callback ) {
</span><span class="cx"> var self = this,
</span><span class="lines">@@ -551,14 +549,14 @@
</span><span class="cx">
</span><span class="cx"> this.querying = true;
</span><span class="cx">
</span><del>- $.post( ajaxurl, query, function(r) {
</del><ins>+ $.post( ajaxurl, query, function( r ) {
</ins><span class="cx"> self.page++;
</span><span class="cx"> self.querying = false;
</span><del>- self.allLoaded = !r;
</del><ins>+ self.allLoaded = ! r;
</ins><span class="cx"> callback( r, query );
</span><span class="cx"> }, 'json' );
</span><span class="cx"> }
</span><span class="cx"> });
</span><span class="cx">
</span><del>- $(document).ready( wpLink.init );
-})(jQuery);
</del><ins>+ $( document ).ready( wpLink.init );
+})( jQuery );
</ins></span></pre></div>
<a id="trunksrcwpincludesscriptloaderphp"></a>
<div class="modfile"><h4>Modified: trunk/src/wp-includes/script-loader.php (27493 => 27494)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/src/wp-includes/script-loader.php 2014-03-10 23:29:49 UTC (rev 27493)
+++ trunk/src/wp-includes/script-loader.php 2014-03-11 00:03:54 UTC (rev 27494)
</span><span class="lines">@@ -338,7 +338,7 @@
</span><span class="cx">
</span><span class="cx"> $scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", array(), false, 1 );
</span><span class="cx">
</span><del>- $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), false, 1 );
</del><ins>+ $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery' ), false, 1 );
</ins><span class="cx"> did_action( 'init' ) && $scripts->localize( 'wplink', 'wpLinkL10n', array(
</span><span class="cx"> 'title' => __('Insert/edit link'),
</span><span class="cx"> 'update' => __('Update'),
</span></span></pre>
</div>
</div>
</body>
</html>