Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-inclu.../js/dist
File: editor.js
[15000] Fix | Delete
[15001] Fix | Delete
[15002] Fix | Delete
[15003] Fix | Delete
/**
[15004] Fix | Delete
* Internal dependencies
[15005] Fix | Delete
*/
[15006] Fix | Delete
[15007] Fix | Delete
[15008] Fix | Delete
[15009] Fix | Delete
const {
[15010] Fix | Delete
PrivatePublishDateTimePicker
[15011] Fix | Delete
} = unlock(external_wp_blockEditor_namespaceObject.privateApis);
[15012] Fix | Delete
[15013] Fix | Delete
/**
[15014] Fix | Delete
* Renders the PostSchedule component. It allows the user to schedule a post.
[15015] Fix | Delete
*
[15016] Fix | Delete
* @param {Object} props Props.
[15017] Fix | Delete
* @param {Function} props.onClose Function to close the component.
[15018] Fix | Delete
*
[15019] Fix | Delete
* @return {Component} The component to be rendered.
[15020] Fix | Delete
*/
[15021] Fix | Delete
function PostSchedule(props) {
[15022] Fix | Delete
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PrivatePostSchedule, {
[15023] Fix | Delete
...props,
[15024] Fix | Delete
showPopoverHeaderActions: true,
[15025] Fix | Delete
isCompact: false
[15026] Fix | Delete
});
[15027] Fix | Delete
}
[15028] Fix | Delete
function PrivatePostSchedule({
[15029] Fix | Delete
onClose,
[15030] Fix | Delete
showPopoverHeaderActions,
[15031] Fix | Delete
isCompact
[15032] Fix | Delete
}) {
[15033] Fix | Delete
const {
[15034] Fix | Delete
postDate,
[15035] Fix | Delete
postType
[15036] Fix | Delete
} = (0,external_wp_data_namespaceObject.useSelect)(select => ({
[15037] Fix | Delete
postDate: select(store_store).getEditedPostAttribute('date'),
[15038] Fix | Delete
postType: select(store_store).getCurrentPostType()
[15039] Fix | Delete
}), []);
[15040] Fix | Delete
const {
[15041] Fix | Delete
editPost
[15042] Fix | Delete
} = (0,external_wp_data_namespaceObject.useDispatch)(store_store);
[15043] Fix | Delete
const onUpdateDate = date => editPost({
[15044] Fix | Delete
date
[15045] Fix | Delete
});
[15046] Fix | Delete
const [previewedMonth, setPreviewedMonth] = (0,external_wp_element_namespaceObject.useState)(startOfMonth(new Date(postDate)));
[15047] Fix | Delete
[15048] Fix | Delete
// Pick up published and schduled site posts.
[15049] Fix | Delete
const eventsByPostType = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_coreData_namespaceObject.store).getEntityRecords('postType', postType, {
[15050] Fix | Delete
status: 'publish,future',
[15051] Fix | Delete
after: startOfMonth(previewedMonth).toISOString(),
[15052] Fix | Delete
before: endOfMonth(previewedMonth).toISOString(),
[15053] Fix | Delete
exclude: [select(store_store).getCurrentPostId()],
[15054] Fix | Delete
per_page: 100,
[15055] Fix | Delete
_fields: 'id,date'
[15056] Fix | Delete
}), [previewedMonth, postType]);
[15057] Fix | Delete
const events = (0,external_wp_element_namespaceObject.useMemo)(() => (eventsByPostType || []).map(({
[15058] Fix | Delete
date: eventDate
[15059] Fix | Delete
}) => ({
[15060] Fix | Delete
date: new Date(eventDate)
[15061] Fix | Delete
})), [eventsByPostType]);
[15062] Fix | Delete
const settings = (0,external_wp_date_namespaceObject.getSettings)();
[15063] Fix | Delete
[15064] Fix | Delete
// To know if the current timezone is a 12 hour time with look for "a" in the time format
[15065] Fix | Delete
// We also make sure this a is not escaped by a "/"
[15066] Fix | Delete
const is12HourTime = /a(?!\\)/i.test(settings.formats.time.toLowerCase() // Test only the lower case a.
[15067] Fix | Delete
.replace(/\\\\/g, '') // Replace "//" with empty strings.
[15068] Fix | Delete
.split('').reverse().join('') // Reverse the string and test for "a" not followed by a slash.
[15069] Fix | Delete
);
[15070] Fix | Delete
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PrivatePublishDateTimePicker, {
[15071] Fix | Delete
currentDate: postDate,
[15072] Fix | Delete
onChange: onUpdateDate,
[15073] Fix | Delete
is12Hour: is12HourTime,
[15074] Fix | Delete
events: events,
[15075] Fix | Delete
onMonthPreviewed: date => setPreviewedMonth(parseISO(date)),
[15076] Fix | Delete
onClose: onClose,
[15077] Fix | Delete
isCompact: isCompact,
[15078] Fix | Delete
showPopoverHeaderActions: showPopoverHeaderActions
[15079] Fix | Delete
});
[15080] Fix | Delete
}
[15081] Fix | Delete
[15082] Fix | Delete
;// CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-schedule/label.js
[15083] Fix | Delete
/**
[15084] Fix | Delete
* WordPress dependencies
[15085] Fix | Delete
*/
[15086] Fix | Delete
[15087] Fix | Delete
[15088] Fix | Delete
[15089] Fix | Delete
[15090] Fix | Delete
/**
[15091] Fix | Delete
* Internal dependencies
[15092] Fix | Delete
*/
[15093] Fix | Delete
[15094] Fix | Delete
[15095] Fix | Delete
/**
[15096] Fix | Delete
* Renders the PostScheduleLabel component.
[15097] Fix | Delete
*
[15098] Fix | Delete
* @param {Object} props Props.
[15099] Fix | Delete
*
[15100] Fix | Delete
* @return {Component} The component to be rendered.
[15101] Fix | Delete
*/
[15102] Fix | Delete
function PostScheduleLabel(props) {
[15103] Fix | Delete
return usePostScheduleLabel(props);
[15104] Fix | Delete
}
[15105] Fix | Delete
[15106] Fix | Delete
/**
[15107] Fix | Delete
* Custom hook to get the label for post schedule.
[15108] Fix | Delete
*
[15109] Fix | Delete
* @param {Object} options Options for the hook.
[15110] Fix | Delete
* @param {boolean} options.full Whether to get the full label or not. Default is false.
[15111] Fix | Delete
*
[15112] Fix | Delete
* @return {string} The label for post schedule.
[15113] Fix | Delete
*/
[15114] Fix | Delete
function usePostScheduleLabel({
[15115] Fix | Delete
full = false
[15116] Fix | Delete
} = {}) {
[15117] Fix | Delete
const {
[15118] Fix | Delete
date,
[15119] Fix | Delete
isFloating
[15120] Fix | Delete
} = (0,external_wp_data_namespaceObject.useSelect)(select => ({
[15121] Fix | Delete
date: select(store_store).getEditedPostAttribute('date'),
[15122] Fix | Delete
isFloating: select(store_store).isEditedPostDateFloating()
[15123] Fix | Delete
}), []);
[15124] Fix | Delete
return full ? getFullPostScheduleLabel(date) : getPostScheduleLabel(date, {
[15125] Fix | Delete
isFloating
[15126] Fix | Delete
});
[15127] Fix | Delete
}
[15128] Fix | Delete
function getFullPostScheduleLabel(dateAttribute) {
[15129] Fix | Delete
const date = (0,external_wp_date_namespaceObject.getDate)(dateAttribute);
[15130] Fix | Delete
const timezoneAbbreviation = getTimezoneAbbreviation();
[15131] Fix | Delete
const formattedDate = (0,external_wp_date_namespaceObject.dateI18n)(
[15132] Fix | Delete
// translators: If using a space between 'g:i' and 'a', use a non-breaking space.
[15133] Fix | Delete
(0,external_wp_i18n_namespaceObject._x)('F j, Y g:i\xa0a', 'post schedule full date format'), date);
[15134] Fix | Delete
return (0,external_wp_i18n_namespaceObject.isRTL)() ? `${timezoneAbbreviation} ${formattedDate}` : `${formattedDate} ${timezoneAbbreviation}`;
[15135] Fix | Delete
}
[15136] Fix | Delete
function getPostScheduleLabel(dateAttribute, {
[15137] Fix | Delete
isFloating = false,
[15138] Fix | Delete
now = new Date()
[15139] Fix | Delete
} = {}) {
[15140] Fix | Delete
if (!dateAttribute || isFloating) {
[15141] Fix | Delete
return (0,external_wp_i18n_namespaceObject.__)('Immediately');
[15142] Fix | Delete
}
[15143] Fix | Delete
[15144] Fix | Delete
// If the user timezone does not equal the site timezone then using words
[15145] Fix | Delete
// like 'tomorrow' is confusing, so show the full date.
[15146] Fix | Delete
if (!isTimezoneSameAsSiteTimezone(now)) {
[15147] Fix | Delete
return getFullPostScheduleLabel(dateAttribute);
[15148] Fix | Delete
}
[15149] Fix | Delete
const date = (0,external_wp_date_namespaceObject.getDate)(dateAttribute);
[15150] Fix | Delete
if (isSameDay(date, now)) {
[15151] Fix | Delete
return (0,external_wp_i18n_namespaceObject.sprintf)(
[15152] Fix | Delete
// translators: %s: Time of day the post is scheduled for.
[15153] Fix | Delete
(0,external_wp_i18n_namespaceObject.__)('Today at %s'),
[15154] Fix | Delete
// translators: If using a space between 'g:i' and 'a', use a non-breaking space.
[15155] Fix | Delete
(0,external_wp_date_namespaceObject.dateI18n)((0,external_wp_i18n_namespaceObject._x)('g:i\xa0a', 'post schedule time format'), date));
[15156] Fix | Delete
}
[15157] Fix | Delete
const tomorrow = new Date(now);
[15158] Fix | Delete
tomorrow.setDate(tomorrow.getDate() + 1);
[15159] Fix | Delete
if (isSameDay(date, tomorrow)) {
[15160] Fix | Delete
return (0,external_wp_i18n_namespaceObject.sprintf)(
[15161] Fix | Delete
// translators: %s: Time of day the post is scheduled for.
[15162] Fix | Delete
(0,external_wp_i18n_namespaceObject.__)('Tomorrow at %s'),
[15163] Fix | Delete
// translators: If using a space between 'g:i' and 'a', use a non-breaking space.
[15164] Fix | Delete
(0,external_wp_date_namespaceObject.dateI18n)((0,external_wp_i18n_namespaceObject._x)('g:i\xa0a', 'post schedule time format'), date));
[15165] Fix | Delete
}
[15166] Fix | Delete
if (date.getFullYear() === now.getFullYear()) {
[15167] Fix | Delete
return (0,external_wp_date_namespaceObject.dateI18n)(
[15168] Fix | Delete
// translators: If using a space between 'g:i' and 'a', use a non-breaking space.
[15169] Fix | Delete
(0,external_wp_i18n_namespaceObject._x)('F j g:i\xa0a', 'post schedule date format without year'), date);
[15170] Fix | Delete
}
[15171] Fix | Delete
return (0,external_wp_date_namespaceObject.dateI18n)(
[15172] Fix | Delete
// translators: Use a non-breaking space between 'g:i' and 'a' if appropriate.
[15173] Fix | Delete
(0,external_wp_i18n_namespaceObject._x)('F j, Y g:i\xa0a', 'post schedule full date format'), date);
[15174] Fix | Delete
}
[15175] Fix | Delete
function getTimezoneAbbreviation() {
[15176] Fix | Delete
const {
[15177] Fix | Delete
timezone
[15178] Fix | Delete
} = (0,external_wp_date_namespaceObject.getSettings)();
[15179] Fix | Delete
if (timezone.abbr && isNaN(Number(timezone.abbr))) {
[15180] Fix | Delete
return timezone.abbr;
[15181] Fix | Delete
}
[15182] Fix | Delete
const symbol = timezone.offset < 0 ? '' : '+';
[15183] Fix | Delete
return `UTC${symbol}${timezone.offsetFormatted}`;
[15184] Fix | Delete
}
[15185] Fix | Delete
function isTimezoneSameAsSiteTimezone(date) {
[15186] Fix | Delete
const {
[15187] Fix | Delete
timezone
[15188] Fix | Delete
} = (0,external_wp_date_namespaceObject.getSettings)();
[15189] Fix | Delete
const siteOffset = Number(timezone.offset);
[15190] Fix | Delete
const dateOffset = -1 * (date.getTimezoneOffset() / 60);
[15191] Fix | Delete
return siteOffset === dateOffset;
[15192] Fix | Delete
}
[15193] Fix | Delete
function isSameDay(left, right) {
[15194] Fix | Delete
return left.getDate() === right.getDate() && left.getMonth() === right.getMonth() && left.getFullYear() === right.getFullYear();
[15195] Fix | Delete
}
[15196] Fix | Delete
[15197] Fix | Delete
;// CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-taxonomies/most-used-terms.js
[15198] Fix | Delete
/**
[15199] Fix | Delete
* WordPress dependencies
[15200] Fix | Delete
*/
[15201] Fix | Delete
[15202] Fix | Delete
[15203] Fix | Delete
[15204] Fix | Delete
[15205] Fix | Delete
/**
[15206] Fix | Delete
* Internal dependencies
[15207] Fix | Delete
*/
[15208] Fix | Delete
[15209] Fix | Delete
[15210] Fix | Delete
[15211] Fix | Delete
const MIN_MOST_USED_TERMS = 3;
[15212] Fix | Delete
const DEFAULT_QUERY = {
[15213] Fix | Delete
per_page: 10,
[15214] Fix | Delete
orderby: 'count',
[15215] Fix | Delete
order: 'desc',
[15216] Fix | Delete
hide_empty: true,
[15217] Fix | Delete
_fields: 'id,name,count',
[15218] Fix | Delete
context: 'view'
[15219] Fix | Delete
};
[15220] Fix | Delete
function MostUsedTerms({
[15221] Fix | Delete
onSelect,
[15222] Fix | Delete
taxonomy
[15223] Fix | Delete
}) {
[15224] Fix | Delete
const {
[15225] Fix | Delete
_terms,
[15226] Fix | Delete
showTerms
[15227] Fix | Delete
} = (0,external_wp_data_namespaceObject.useSelect)(select => {
[15228] Fix | Delete
const mostUsedTerms = select(external_wp_coreData_namespaceObject.store).getEntityRecords('taxonomy', taxonomy.slug, DEFAULT_QUERY);
[15229] Fix | Delete
return {
[15230] Fix | Delete
_terms: mostUsedTerms,
[15231] Fix | Delete
showTerms: mostUsedTerms?.length >= MIN_MOST_USED_TERMS
[15232] Fix | Delete
};
[15233] Fix | Delete
}, [taxonomy.slug]);
[15234] Fix | Delete
if (!showTerms) {
[15235] Fix | Delete
return null;
[15236] Fix | Delete
}
[15237] Fix | Delete
const terms = unescapeTerms(_terms);
[15238] Fix | Delete
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", {
[15239] Fix | Delete
className: "editor-post-taxonomies__flat-term-most-used",
[15240] Fix | Delete
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.BaseControl.VisualLabel, {
[15241] Fix | Delete
as: "h3",
[15242] Fix | Delete
className: "editor-post-taxonomies__flat-term-most-used-label",
[15243] Fix | Delete
children: taxonomy.labels.most_used
[15244] Fix | Delete
}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", {
[15245] Fix | Delete
role: "list",
[15246] Fix | Delete
className: "editor-post-taxonomies__flat-term-most-used-list",
[15247] Fix | Delete
children: terms.map(term => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("li", {
[15248] Fix | Delete
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
[15249] Fix | Delete
variant: "link",
[15250] Fix | Delete
onClick: () => onSelect(term),
[15251] Fix | Delete
children: term.name
[15252] Fix | Delete
})
[15253] Fix | Delete
}, term.id))
[15254] Fix | Delete
})]
[15255] Fix | Delete
});
[15256] Fix | Delete
}
[15257] Fix | Delete
[15258] Fix | Delete
;// CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-taxonomies/flat-term-selector.js
[15259] Fix | Delete
/**
[15260] Fix | Delete
* WordPress dependencies
[15261] Fix | Delete
*/
[15262] Fix | Delete
[15263] Fix | Delete
[15264] Fix | Delete
[15265] Fix | Delete
[15266] Fix | Delete
[15267] Fix | Delete
[15268] Fix | Delete
[15269] Fix | Delete
[15270] Fix | Delete
[15271] Fix | Delete
/**
[15272] Fix | Delete
* Internal dependencies
[15273] Fix | Delete
*/
[15274] Fix | Delete
[15275] Fix | Delete
[15276] Fix | Delete
[15277] Fix | Delete
[15278] Fix | Delete
/**
[15279] Fix | Delete
* Shared reference to an empty array for cases where it is important to avoid
[15280] Fix | Delete
* returning a new array reference on every invocation.
[15281] Fix | Delete
*
[15282] Fix | Delete
* @type {Array<any>}
[15283] Fix | Delete
*/
[15284] Fix | Delete
[15285] Fix | Delete
[15286] Fix | Delete
[15287] Fix | Delete
const flat_term_selector_EMPTY_ARRAY = [];
[15288] Fix | Delete
[15289] Fix | Delete
/**
[15290] Fix | Delete
* Module constants
[15291] Fix | Delete
*/
[15292] Fix | Delete
const MAX_TERMS_SUGGESTIONS = 20;
[15293] Fix | Delete
const flat_term_selector_DEFAULT_QUERY = {
[15294] Fix | Delete
per_page: MAX_TERMS_SUGGESTIONS,
[15295] Fix | Delete
_fields: 'id,name',
[15296] Fix | Delete
context: 'view'
[15297] Fix | Delete
};
[15298] Fix | Delete
const isSameTermName = (termA, termB) => unescapeString(termA).toLowerCase() === unescapeString(termB).toLowerCase();
[15299] Fix | Delete
const termNamesToIds = (names, terms) => {
[15300] Fix | Delete
return names.map(termName => terms.find(term => isSameTermName(term.name, termName))?.id).filter(id => id !== undefined);
[15301] Fix | Delete
};
[15302] Fix | Delete
function FlatTermSelector({
[15303] Fix | Delete
slug
[15304] Fix | Delete
}) {
[15305] Fix | Delete
var _taxonomy$labels$add_, _taxonomy$labels$sing2;
[15306] Fix | Delete
const [values, setValues] = (0,external_wp_element_namespaceObject.useState)([]);
[15307] Fix | Delete
const [search, setSearch] = (0,external_wp_element_namespaceObject.useState)('');
[15308] Fix | Delete
const debouncedSearch = (0,external_wp_compose_namespaceObject.useDebounce)(setSearch, 500);
[15309] Fix | Delete
const {
[15310] Fix | Delete
terms,
[15311] Fix | Delete
termIds,
[15312] Fix | Delete
taxonomy,
[15313] Fix | Delete
hasAssignAction,
[15314] Fix | Delete
hasCreateAction,
[15315] Fix | Delete
hasResolvedTerms
[15316] Fix | Delete
} = (0,external_wp_data_namespaceObject.useSelect)(select => {
[15317] Fix | Delete
var _post$_links, _post$_links2;
[15318] Fix | Delete
const {
[15319] Fix | Delete
getCurrentPost,
[15320] Fix | Delete
getEditedPostAttribute
[15321] Fix | Delete
} = select(store_store);
[15322] Fix | Delete
const {
[15323] Fix | Delete
getEntityRecords,
[15324] Fix | Delete
getTaxonomy,
[15325] Fix | Delete
hasFinishedResolution
[15326] Fix | Delete
} = select(external_wp_coreData_namespaceObject.store);
[15327] Fix | Delete
const post = getCurrentPost();
[15328] Fix | Delete
const _taxonomy = getTaxonomy(slug);
[15329] Fix | Delete
const _termIds = _taxonomy ? getEditedPostAttribute(_taxonomy.rest_base) : flat_term_selector_EMPTY_ARRAY;
[15330] Fix | Delete
const query = {
[15331] Fix | Delete
...flat_term_selector_DEFAULT_QUERY,
[15332] Fix | Delete
include: _termIds.join(','),
[15333] Fix | Delete
per_page: -1
[15334] Fix | Delete
};
[15335] Fix | Delete
return {
[15336] Fix | Delete
hasCreateAction: _taxonomy ? (_post$_links = post._links?.['wp:action-create-' + _taxonomy.rest_base]) !== null && _post$_links !== void 0 ? _post$_links : false : false,
[15337] Fix | Delete
hasAssignAction: _taxonomy ? (_post$_links2 = post._links?.['wp:action-assign-' + _taxonomy.rest_base]) !== null && _post$_links2 !== void 0 ? _post$_links2 : false : false,
[15338] Fix | Delete
taxonomy: _taxonomy,
[15339] Fix | Delete
termIds: _termIds,
[15340] Fix | Delete
terms: _termIds.length ? getEntityRecords('taxonomy', slug, query) : flat_term_selector_EMPTY_ARRAY,
[15341] Fix | Delete
hasResolvedTerms: hasFinishedResolution('getEntityRecords', ['taxonomy', slug, query])
[15342] Fix | Delete
};
[15343] Fix | Delete
}, [slug]);
[15344] Fix | Delete
const {
[15345] Fix | Delete
searchResults
[15346] Fix | Delete
} = (0,external_wp_data_namespaceObject.useSelect)(select => {
[15347] Fix | Delete
const {
[15348] Fix | Delete
getEntityRecords
[15349] Fix | Delete
} = select(external_wp_coreData_namespaceObject.store);
[15350] Fix | Delete
return {
[15351] Fix | Delete
searchResults: !!search ? getEntityRecords('taxonomy', slug, {
[15352] Fix | Delete
...flat_term_selector_DEFAULT_QUERY,
[15353] Fix | Delete
search
[15354] Fix | Delete
}) : flat_term_selector_EMPTY_ARRAY
[15355] Fix | Delete
};
[15356] Fix | Delete
}, [search, slug]);
[15357] Fix | Delete
[15358] Fix | Delete
// Update terms state only after the selectors are resolved.
[15359] Fix | Delete
// We're using this to avoid terms temporarily disappearing on slow networks
[15360] Fix | Delete
// while core data makes REST API requests.
[15361] Fix | Delete
(0,external_wp_element_namespaceObject.useEffect)(() => {
[15362] Fix | Delete
if (hasResolvedTerms) {
[15363] Fix | Delete
const newValues = (terms !== null && terms !== void 0 ? terms : []).map(term => unescapeString(term.name));
[15364] Fix | Delete
setValues(newValues);
[15365] Fix | Delete
}
[15366] Fix | Delete
}, [terms, hasResolvedTerms]);
[15367] Fix | Delete
const suggestions = (0,external_wp_element_namespaceObject.useMemo)(() => {
[15368] Fix | Delete
return (searchResults !== null && searchResults !== void 0 ? searchResults : []).map(term => unescapeString(term.name));
[15369] Fix | Delete
}, [searchResults]);
[15370] Fix | Delete
const {
[15371] Fix | Delete
editPost
[15372] Fix | Delete
} = (0,external_wp_data_namespaceObject.useDispatch)(store_store);
[15373] Fix | Delete
const {
[15374] Fix | Delete
saveEntityRecord
[15375] Fix | Delete
} = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store);
[15376] Fix | Delete
const {
[15377] Fix | Delete
createErrorNotice
[15378] Fix | Delete
} = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store);
[15379] Fix | Delete
if (!hasAssignAction) {
[15380] Fix | Delete
return null;
[15381] Fix | Delete
}
[15382] Fix | Delete
async function findOrCreateTerm(term) {
[15383] Fix | Delete
try {
[15384] Fix | Delete
const newTerm = await saveEntityRecord('taxonomy', slug, term, {
[15385] Fix | Delete
throwOnError: true
[15386] Fix | Delete
});
[15387] Fix | Delete
return unescapeTerm(newTerm);
[15388] Fix | Delete
} catch (error) {
[15389] Fix | Delete
if (error.code !== 'term_exists') {
[15390] Fix | Delete
throw error;
[15391] Fix | Delete
}
[15392] Fix | Delete
return {
[15393] Fix | Delete
id: error.data.term_id,
[15394] Fix | Delete
name: term.name
[15395] Fix | Delete
};
[15396] Fix | Delete
}
[15397] Fix | Delete
}
[15398] Fix | Delete
function onUpdateTerms(newTermIds) {
[15399] Fix | Delete
editPost({
[15400] Fix | Delete
[taxonomy.rest_base]: newTermIds
[15401] Fix | Delete
});
[15402] Fix | Delete
}
[15403] Fix | Delete
function onChange(termNames) {
[15404] Fix | Delete
const availableTerms = [...(terms !== null && terms !== void 0 ? terms : []), ...(searchResults !== null && searchResults !== void 0 ? searchResults : [])];
[15405] Fix | Delete
const uniqueTerms = termNames.reduce((acc, name) => {
[15406] Fix | Delete
if (!acc.some(n => n.toLowerCase() === name.toLowerCase())) {
[15407] Fix | Delete
acc.push(name);
[15408] Fix | Delete
}
[15409] Fix | Delete
return acc;
[15410] Fix | Delete
}, []);
[15411] Fix | Delete
const newTermNames = uniqueTerms.filter(termName => !availableTerms.find(term => isSameTermName(term.name, termName)));
[15412] Fix | Delete
[15413] Fix | Delete
// Optimistically update term values.
[15414] Fix | Delete
// The selector will always re-fetch terms later.
[15415] Fix | Delete
setValues(uniqueTerms);
[15416] Fix | Delete
if (newTermNames.length === 0) {
[15417] Fix | Delete
onUpdateTerms(termNamesToIds(uniqueTerms, availableTerms));
[15418] Fix | Delete
return;
[15419] Fix | Delete
}
[15420] Fix | Delete
if (!hasCreateAction) {
[15421] Fix | Delete
return;
[15422] Fix | Delete
}
[15423] Fix | Delete
Promise.all(newTermNames.map(termName => findOrCreateTerm({
[15424] Fix | Delete
name: termName
[15425] Fix | Delete
}))).then(newTerms => {
[15426] Fix | Delete
const newAvailableTerms = availableTerms.concat(newTerms);
[15427] Fix | Delete
onUpdateTerms(termNamesToIds(uniqueTerms, newAvailableTerms));
[15428] Fix | Delete
}).catch(error => {
[15429] Fix | Delete
createErrorNotice(error.message, {
[15430] Fix | Delete
type: 'snackbar'
[15431] Fix | Delete
});
[15432] Fix | Delete
// In case of a failure, try assigning available terms.
[15433] Fix | Delete
// This will invalidate the optimistic update.
[15434] Fix | Delete
onUpdateTerms(termNamesToIds(uniqueTerms, availableTerms));
[15435] Fix | Delete
});
[15436] Fix | Delete
}
[15437] Fix | Delete
function appendTerm(newTerm) {
[15438] Fix | Delete
var _taxonomy$labels$sing;
[15439] Fix | Delete
if (termIds.includes(newTerm.id)) {
[15440] Fix | Delete
return;
[15441] Fix | Delete
}
[15442] Fix | Delete
const newTermIds = [...termIds, newTerm.id];
[15443] Fix | Delete
const defaultName = slug === 'post_tag' ? (0,external_wp_i18n_namespaceObject.__)('Tag') : (0,external_wp_i18n_namespaceObject.__)('Term');
[15444] Fix | Delete
const termAddedMessage = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: term name. */
[15445] Fix | Delete
(0,external_wp_i18n_namespaceObject._x)('%s added', 'term'), (_taxonomy$labels$sing = taxonomy?.labels?.singular_name) !== null && _taxonomy$labels$sing !== void 0 ? _taxonomy$labels$sing : defaultName);
[15446] Fix | Delete
(0,external_wp_a11y_namespaceObject.speak)(termAddedMessage, 'assertive');
[15447] Fix | Delete
onUpdateTerms(newTermIds);
[15448] Fix | Delete
}
[15449] Fix | Delete
const newTermLabel = (_taxonomy$labels$add_ = taxonomy?.labels?.add_new_item) !== null && _taxonomy$labels$add_ !== void 0 ? _taxonomy$labels$add_ : slug === 'post_tag' ? (0,external_wp_i18n_namespaceObject.__)('Add new tag') : (0,external_wp_i18n_namespaceObject.__)('Add new Term');
[15450] Fix | Delete
const singularName = (_taxonomy$labels$sing2 = taxonomy?.labels?.singular_name) !== null && _taxonomy$labels$sing2 !== void 0 ? _taxonomy$labels$sing2 : slug === 'post_tag' ? (0,external_wp_i18n_namespaceObject.__)('Tag') : (0,external_wp_i18n_namespaceObject.__)('Term');
[15451] Fix | Delete
const termAddedLabel = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: term name. */
[15452] Fix | Delete
(0,external_wp_i18n_namespaceObject._x)('%s added', 'term'), singularName);
[15453] Fix | Delete
const termRemovedLabel = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: term name. */
[15454] Fix | Delete
(0,external_wp_i18n_namespaceObject._x)('%s removed', 'term'), singularName);
[15455] Fix | Delete
const removeTermLabel = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: term name. */
[15456] Fix | Delete
(0,external_wp_i18n_namespaceObject._x)('Remove %s', 'term'), singularName);
[15457] Fix | Delete
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
[15458] Fix | Delete
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.FormTokenField, {
[15459] Fix | Delete
__next40pxDefaultSize: true,
[15460] Fix | Delete
value: values,
[15461] Fix | Delete
suggestions: suggestions,
[15462] Fix | Delete
onChange: onChange,
[15463] Fix | Delete
onInputChange: debouncedSearch,
[15464] Fix | Delete
maxSuggestions: MAX_TERMS_SUGGESTIONS,
[15465] Fix | Delete
label: newTermLabel,
[15466] Fix | Delete
messages: {
[15467] Fix | Delete
added: termAddedLabel,
[15468] Fix | Delete
removed: termRemovedLabel,
[15469] Fix | Delete
remove: removeTermLabel
[15470] Fix | Delete
}
[15471] Fix | Delete
}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(MostUsedTerms, {
[15472] Fix | Delete
taxonomy: taxonomy,
[15473] Fix | Delete
onSelect: appendTerm
[15474] Fix | Delete
})]
[15475] Fix | Delete
});
[15476] Fix | Delete
}
[15477] Fix | Delete
/* harmony default export */ const flat_term_selector = ((0,external_wp_components_namespaceObject.withFilters)('editor.PostTaxonomyType')(FlatTermSelector));
[15478] Fix | Delete
[15479] Fix | Delete
;// CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-publish-panel/maybe-tags-panel.js
[15480] Fix | Delete
/**
[15481] Fix | Delete
* WordPress dependencies
[15482] Fix | Delete
*/
[15483] Fix | Delete
[15484] Fix | Delete
[15485] Fix | Delete
[15486] Fix | Delete
[15487] Fix | Delete
[15488] Fix | Delete
[15489] Fix | Delete
/**
[15490] Fix | Delete
* Internal dependencies
[15491] Fix | Delete
*/
[15492] Fix | Delete
[15493] Fix | Delete
[15494] Fix | Delete
[15495] Fix | Delete
[15496] Fix | Delete
const TagsPanel = () => {
[15497] Fix | Delete
const panelBodyTitle = [(0,external_wp_i18n_namespaceObject.__)('Suggestion:'), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("span", {
[15498] Fix | Delete
className: "editor-post-publish-panel__link",
[15499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function