<!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>[12174] sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn: Learn: Sync with git WordPress/learn@b3bf342</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 { white-space: pre-line; 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" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="http://meta.trac.wordpress.org/changeset/12174">12174</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://meta.trac.wordpress.org/changeset/12174","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>adamwood</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2022-11-01 02:36:20 +0000 (Tue, 01 Nov 2022)</dd>
</dl>
<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Learn: Sync with git WordPress/learn@b3bf342</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnincadminphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/admin.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnincpostmetaphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/post-meta.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearninctaxonomyphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/taxonomy.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnpackagejson">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/package.json</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnviewsmetaboxworkshopdetailsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/views/metabox-workshop-details.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnwebpackconfigjs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/webpack.config.js</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildlanguagemetaassetphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/language-meta.asset.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildlanguagemetajs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/language-meta.js</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/js/language-meta/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnjslanguagemetaindexjs">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/js/language-meta/index.js</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnviewslocaleslistphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/views/locales-list.php</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildlanguagemetaassetphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/language-meta.asset.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/language-meta.asset.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/language-meta.asset.php 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php return array('dependencies' => array('wp-components', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-plugins'), 'version' => '5f69d9e6a0b3b4401d69');
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/language-meta.asset.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnbuildlanguagemetajs"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/language-meta.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/language-meta.js (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/build/language-meta.js 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+!function(){"use strict";var e=window.wp.element,t=window.wp.components,n=window.wp.data,a=window.wp.editPost,o=window.wp.i18n,l=window.wp.plugins;const r=wporgLearnLocales;(0,l.registerPlugin)("wporg-learn-language-meta",{render:()=>{const l=(0,n.useSelect)((e=>e("core/editor").getEditedPostAttribute("meta")||{})),{editPost:i}=(0,n.useDispatch)("core/editor"),[w,g]=(0,e.useState)(null==l?void 0:l.language);return(0,e.createElement)(a.PluginDocumentSettingPanel,{title:(0,o.__)("Language","wporg-learn")},(0,e.createElement)(t.PanelRow,null,(0,e.createElement)(t.SelectControl,{label:(0,o.__)("Language","wporg-learn"),value:w,options:r,onChange:e=>{g(e),i({meta:{...l,language:e}})}})))}})}();
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnincadminphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/admin.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/admin.php 2022-11-01 00:48:18 UTC (rev 12173)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/admin.php 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3,6 +3,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> namespace WPOrg_Learn\Admin;
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> use WP_Query;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+use function WordPressdotorg\Locales\get_locales_with_english_names;
</ins><span class="cx" style="display: block; padding: 0 10px"> use function WordPressdotorg\Locales\get_locale_name_from_code;
</span><span class="cx" style="display: block; padding: 0 10px"> use function WPOrg_Learn\Post_Meta\get_available_workshop_locales;
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13,7 +14,13 @@
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'admin_notices', __NAMESPACE__ . '\show_term_translation_notice' );
</span><span class="cx" style="display: block; padding: 0 10px"> add_filter( 'manage_wporg_workshop_posts_columns', __NAMESPACE__ . '\add_workshop_list_table_columns' );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+foreach ( array( 'lesson-plan', 'meeting', 'course', 'lesson' ) as $pt ) {
+ add_filter( 'manage_' . $pt . '_posts_columns', __NAMESPACE__ . '\add_list_table_language_column' );
+}
</ins><span class="cx" style="display: block; padding: 0 10px"> add_action( 'manage_wporg_workshop_posts_custom_column', __NAMESPACE__ . '\render_workshop_list_table_columns', 10, 2 );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+foreach ( array( 'lesson-plan', 'meeting', 'course', 'lesson' ) as $pt ) {
+ add_filter( 'manage_' . $pt . '_posts_custom_column', __NAMESPACE__ . '\render_list_table_language_column', 10, 2 );
+}
</ins><span class="cx" style="display: block; padding: 0 10px"> add_filter( 'manage_edit-wporg_workshop_sortable_columns', __NAMESPACE__ . '\add_workshop_list_table_sortable_columns' );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'restrict_manage_posts', __NAMESPACE__ . '\add_workshop_list_table_filters', 10, 2 );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'pre_get_posts', __NAMESPACE__ . '\handle_workshop_list_table_filters' );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -22,6 +29,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> add_filter( 'views_edit-' . $pt, __NAMESPACE__ . '\list_table_views' );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'pre_get_posts', __NAMESPACE__ . '\handle_list_table_views' );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+add_action( 'bulk_edit_custom_box', __NAMESPACE__ . '\add_language_bulk_edit_field', 10, 2 );
+add_action( 'save_post', __NAMESPACE__ . '\language_bulk_edit_save' );
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px"> * Show a notice on taxonomy term screens about terms being translatable.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -79,8 +88,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> function add_workshop_list_table_columns( $columns ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $columns = array_slice( $columns, 0, -2, true )
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- + array( 'video_language' => __( 'Language', 'wporg-learn' ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ + array( 'video_language' => __( 'Video Language', 'wporg-learn' ) )
</ins><span class="cx" style="display: block; padding: 0 10px"> + array( 'video_caption_language' => __( 'Subtitles', 'wporg-learn' ) )
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ + array( 'language' => __( 'Language', 'wporg-learn' ) )
</ins><span class="cx" style="display: block; padding: 0 10px"> + array_slice( $columns, -2, 2, true );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> return $columns;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -87,6 +97,21 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Add a language column to the post list table.
+ *
+ * @param array $columns
+ *
+ * @return array
+ */
+function add_list_table_language_column( $columns ) {
+ $columns = array_slice( $columns, 0, -2, true )
+ + array( 'language' => __( 'Language', 'wporg-learn' ) )
+ + array_slice( $columns, -2, 2, true );
+
+ return $columns;
+}
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px"> * Render the cell contents for the additional columns in the post list table for workshops.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $column_name
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -98,6 +123,15 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $post = get_post( $post_id );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> switch ( $column_name ) {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ case 'language':
+ $language = get_post_meta( get_the_ID(), 'language', true );
+
+ printf(
+ '%s [%s]',
+ esc_html( get_locale_name_from_code( $language, 'english' ) ),
+ esc_html( $language )
+ );
+ break;
</ins><span class="cx" style="display: block; padding: 0 10px"> case 'video_language':
</span><span class="cx" style="display: block; padding: 0 10px"> printf(
</span><span class="cx" style="display: block; padding: 0 10px"> '%s [%s]',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -122,6 +156,26 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Render the cell contents for the additional language columns in the post list table.
+ *
+ * @param string $column_name
+ * @param int $post_id
+ *
+ * @return void
+ */
+function render_list_table_language_column( $column_name, $post_id ) {
+ $language = get_post_meta( get_the_ID(), 'language', true );
+
+ if ( 'language' === $column_name ) {
+ printf(
+ '%s [%s]',
+ esc_html( get_locale_name_from_code( $language, 'english' ) ),
+ esc_html( $language )
+ );
+ }
+}
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px"> * Make additional columns sortable.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @param array $sortable_columns
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -155,7 +209,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <?php esc_html_e( 'Filter by language', 'wporg-learn' ); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </label>
</span><span class="cx" style="display: block; padding: 0 10px"> <select id="filter-by-language" name="language">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <option value=""<?php selected( ! $language ); ?>><?php esc_html_e( 'Any language', 'wporg-learn' ); ?></option>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <option value=""<?php selected( ! $language ); ?>><?php esc_html_e( 'Any video language', 'wporg-learn' ); ?></option>
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php foreach ( $available_locales as $code => $name ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <option value="<?php echo esc_attr( $code ); ?>"<?php selected( $code, $language ); ?>>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -338,3 +392,50 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * Render a field for the additional language meta field on the bulk edit screen.
+ *
+ * @param string $column_name
+ * @param string $post_type
+ *
+ * @return void
+ */
+function add_language_bulk_edit_field( $column_name, $post_type ) {
+ $post_types_with_language = array( 'lesson-plan', 'wporg_workshop', 'meeting', 'course', 'lesson' );
+ if ( in_array( $post_type, $post_types_with_language, true ) && 'language' === $column_name ) {
+ $locales = get_locales_with_english_names();
+ ?>
+ <fieldset class="inline-edit-col-right">
+ <div class="inline-edit-group wp-clearfix">
+ <label class="inline-edit-status alignleft">
+ <span class="title">Language</span>
+ <select name="language">
+ <option value="0" selected>— No Change —</option>
+ <?php foreach ( $locales as $code => $label ) : ?>
+ <option value="<?php echo esc_attr( $code ); ?>">
+ <?php echo esc_html( $label ); ?>
+ </option>
+ <?php endforeach; ?>
+ </select>
+ </label>
+ </div>
+ </fieldset>
+ <?php
+ }
+}
+
+/**
+ * Update the language meta field when bulk editing.
+ *
+ * @param int $post_id
+ *
+ * @return void
+ */
+function language_bulk_edit_save( $post_id ) {
+ if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'bulk-posts' ) || empty( $_REQUEST['language'] ) ) {
+ return;
+ }
+
+ update_post_meta( $post_id, 'language', $_REQUEST['language'] );
+}
</ins></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnincpostmetaphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/post-meta.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/post-meta.php 2022-11-01 00:48:18 UTC (rev 12173)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/post-meta.php 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -18,6 +18,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'add_meta_boxes', __NAMESPACE__ . '\add_workshop_metaboxes' );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'save_post_lesson-plan', __NAMESPACE__ . '\save_lesson_plan_metabox_fields' );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'save_post_wporg_workshop', __NAMESPACE__ . '\save_workshop_metabox_fields' );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+add_action( 'admin_footer', __NAMESPACE__ . '\render_locales_list' );
</ins><span class="cx" style="display: block; padding: 0 10px"> add_action( 'enqueue_block_editor_assets', __NAMESPACE__ . '\enqueue_editor_assets' );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -177,6 +178,23 @@
</span><span class="cx" style="display: block; padding: 0 10px"> )
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+ // Language field.
+ $post_types = array( 'lesson-plan', 'wporg_workshop', 'meeting', 'course', 'lesson' );
+ foreach ( $post_types as $post_type ) {
+ register_post_meta(
+ $post_type,
+ 'language',
+ array(
+ 'description' => __( 'The language for the content.', 'wporg_learn' ),
+ 'type' => 'string',
+ 'single' => true,
+ 'default' => 'en_US',
+ 'sanitize_callback' => __NAMESPACE__ . '\sanitize_locale',
+ 'show_in_rest' => true,
+ )
+ );
+ }
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -190,10 +208,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * @return string
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> function sanitize_locale( $meta_value, $meta_key, $object_type, $object_subtype ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- if ( 'wporg_workshop' !== $object_subtype ) {
- return $meta_value;
- }
-
</del><span class="cx" style="display: block; padding: 0 10px"> $meta_value = trim( $meta_value );
</span><span class="cx" style="display: block; padding: 0 10px"> $locales = array_keys( get_locales_with_english_names() );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -499,9 +513,31 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Render the locales list for the language meta block.
+ */
+function render_locales_list() {
+ global $typenow;
+
+ $post_types_with_language = array( 'lesson-plan', 'wporg_workshop', 'meeting', 'course', 'lesson' );
+ if ( in_array( $typenow, $post_types_with_language, true ) ) {
+ $locales = get_locales_with_english_names();
+
+ require get_views_path() . 'locales-list.php';
+ }
+}
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px"> * Enqueue scripts for the block editor.
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> function enqueue_editor_assets() {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ enqueue_expiration_date_assets();
+ enqueue_language_meta_assets();
+}
+
+/**
+ * Enqueue scripts for the expiration data block.
+ */
+function enqueue_expiration_date_assets() {
</ins><span class="cx" style="display: block; padding: 0 10px"> global $typenow;
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $post_types_with_expiration = array( 'lesson-plan', 'wporg_workshop', 'course', 'lesson' );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -523,3 +559,30 @@
</span><span class="cx" style="display: block; padding: 0 10px"> wp_set_script_translations( 'wporg-learn-expiration-date', 'wporg-learn' );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+
+/**
+ * Enqueue scripts for the language meta block.
+ */
+function enqueue_language_meta_assets() {
+ global $typenow;
+
+ $post_types_with_language = array( 'lesson-plan', 'wporg_workshop', 'meeting', 'course', 'lesson' );
+ if ( in_array( $typenow, $post_types_with_language, true ) ) {
+ $script_asset_path = get_build_path() . 'language-meta.asset.php';
+ if ( ! file_exists( $script_asset_path ) ) {
+ wp_die( 'You need to run `yarn start` or `yarn build` to build the required assets.' );
+ }
+
+ $script_asset = require( $script_asset_path );
+ wp_enqueue_script(
+ 'wporg-learn-language-meta',
+ get_build_url() . 'language-meta.js',
+ $script_asset['dependencies'],
+ $script_asset['version'],
+ true
+ );
+
+ wp_set_script_translations( 'wporg-learn-language-meta', 'wporg-learn' );
+ }
+}
</ins></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearninctaxonomyphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/taxonomy.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/taxonomy.php 2022-11-01 00:48:18 UTC (rev 12173)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/taxonomy.php 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -21,10 +21,10 @@
</span><span class="cx" style="display: block; padding: 0 10px"> register_lesson_level();
</span><span class="cx" style="display: block; padding: 0 10px"> register_lesson_plan_series();
</span><span class="cx" style="display: block; padding: 0 10px"> register_workshop_series();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- register_workshop_topic();
</del><span class="cx" style="display: block; padding: 0 10px"> register_workshop_type();
</span><span class="cx" style="display: block; padding: 0 10px"> register_wp_version();
</span><span class="cx" style="display: block; padding: 0 10px"> register_included_content();
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ register_topic();
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -233,7 +233,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'items_list_navigation' => __( 'Instruction Types list navigation', 'wporg-learn' ),
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $args = array(
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $args = array(
</ins><span class="cx" style="display: block; padding: 0 10px"> 'labels' => $labels,
</span><span class="cx" style="display: block; padding: 0 10px"> 'hierarchical' => true,
</span><span class="cx" style="display: block; padding: 0 10px"> 'public' => true,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -297,7 +297,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * Register the Workshop Series taxonomy.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Register the Lesson Plan Series taxonomy.
</ins><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> function register_lesson_plan_series() {
</span><span class="cx" style="display: block; padding: 0 10px"> $labels = array(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -386,11 +386,11 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * Register the Workshop Topic taxonomy.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Register the Topic taxonomy.
</ins><span class="cx" style="display: block; padding: 0 10px"> */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-function register_workshop_topic() {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+function register_topic() {
</ins><span class="cx" style="display: block; padding: 0 10px"> $labels = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'name' => _x( 'Topics', 'Topic Plans associated to tutorial.', 'wporg-learn' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'name' => _x( 'Topics', 'Topics associated with the content.', 'wporg-learn' ),
</ins><span class="cx" style="display: block; padding: 0 10px"> 'singular_name' => _x( 'Topic', 'Taxonomy Singular Name', 'wporg-learn' ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'menu_name' => __( 'Topics', 'wporg-learn' ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'all_items' => __( 'All topic', 'wporg-learn' ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -410,6 +410,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'no_terms' => __( 'No Topic ', 'wporg-learn' ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'items_list' => __( 'Topic list', 'wporg-learn' ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'items_list_navigation' => __( 'Topic list navigation', 'wporg-learn' ),
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'back_to_items' => __( '← Back to topics', 'wporg-learn' ),
</ins><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $args = array(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -423,11 +424,11 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'show_tagcloud' => false,
</span><span class="cx" style="display: block; padding: 0 10px"> 'show_in_rest' => true,
</span><span class="cx" style="display: block; padding: 0 10px"> 'capabilities' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'assign_terms' => 'edit_workshops',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'assign_terms' => 'edit_any_learn_content', // See \WPOrg_Learn\Capabilities\map_meta_caps.
</ins><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- register_taxonomy( 'topic', array( 'wporg_workshop' ), $args );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ register_taxonomy( 'topic', array( 'lesson-plan', 'wporg_workshop', 'course', 'lesson', 'meeting' ), $args );
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnjslanguagemetaindexjs"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/js/language-meta/index.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/js/language-meta/index.js (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/js/language-meta/index.js 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,49 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/* global wporgLearnLocales */
+// see render_locales_list() in wp-content/plugins/wporg-learn/inc/post-meta.php
+
+/**
+ * WordPress dependencies
+ */
+import { PanelRow, SelectControl } from '@wordpress/components';
+import { useDispatch, useSelect } from '@wordpress/data';
+import { PluginDocumentSettingPanel } from '@wordpress/edit-post';
+import { useState } from '@wordpress/element';
+import { __ } from '@wordpress/i18n';
+import { registerPlugin } from '@wordpress/plugins';
+
+const locales = wporgLearnLocales;
+
+const LanguageMeta = () => {
+ const postMetaData = useSelect(
+ ( select ) =>
+ select( 'core/editor' ).getEditedPostAttribute( 'meta' ) || {}
+ );
+ const { editPost } = useDispatch( 'core/editor' );
+ const [ language, setLanguage ] = useState( postMetaData?.language );
+
+ return (
+ <PluginDocumentSettingPanel title={ __( 'Language', 'wporg-learn' ) }>
+ <PanelRow>
+ <SelectControl
+ label={ __( 'Language', 'wporg-learn' ) }
+ value={ language }
+ options={ locales }
+ onChange={ ( newLanguage ) => {
+ setLanguage( newLanguage );
+
+ editPost( {
+ meta: {
+ ...postMetaData,
+ language: newLanguage,
+ },
+ } );
+ } }
+ />
+ </PanelRow>
+ </PluginDocumentSettingPanel>
+ );
+};
+
+registerPlugin( 'wporg-learn-language-meta', {
+ render: LanguageMeta,
+} );
</ins></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnpackagejson"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/package.json</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/package.json 2022-11-01 00:48:18 UTC (rev 12173)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/package.json 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14,15 +14,17 @@
</span><span class="cx" style="display: block; padding: 0 10px"> "packages-update": "wp-scripts packages-update"
</span><span class="cx" style="display: block; padding: 0 10px"> },
</span><span class="cx" style="display: block; padding: 0 10px"> "dependencies": {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ "@wordpress/block-editor": "^10.3.0",
+ "@wordpress/blocks": "11.17.0",
</ins><span class="cx" style="display: block; padding: 0 10px"> "@wordpress/components": "12.0.5",
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ "@wordpress/core-data": "^5.3.0",
</ins><span class="cx" style="display: block; padding: 0 10px"> "@wordpress/data": "4.26.5",
</span><span class="cx" style="display: block; padding: 0 10px"> "@wordpress/date": "4.18.0",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- "@wordpress/i18n": "3.18.0",
- "@wordpress/url": "3.19.0",
</del><span class="cx" style="display: block; padding: 0 10px"> "@wordpress/edit-post": "3.25.3",
</span><span class="cx" style="display: block; padding: 0 10px"> "@wordpress/element": "2.19.1",
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ "@wordpress/i18n": "3.18.0",
</ins><span class="cx" style="display: block; padding: 0 10px"> "@wordpress/plugins": "2.24.5",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- "@wordpress/blocks": "11.17.0"
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ "@wordpress/url": "3.19.0"
</ins><span class="cx" style="display: block; padding: 0 10px"> },
</span><span class="cx" style="display: block; padding: 0 10px"> "devDependencies": {
</span><span class="cx" style="display: block; padding: 0 10px"> "@wordpress/scripts": "^19.2.2"
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnviewslocaleslistphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/views/locales-list.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/views/locales-list.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/views/locales-list.php 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,19 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+
+namespace WPOrg_Learn\Locale;
+
+defined( 'WPINC' ) || die();
+
+/** @var array $locales */
+?>
+
+<script type="text/javascript" id="wporg-learn-locales">
+ const wporgLearnLocales = [
+ <?php foreach ( $locales as $code => $label ) : ?>
+ {
+ label: "<?php echo esc_html( $label ); ?>",
+ value: "<?php echo esc_attr( $code ); ?>",
+ },
+ <?php endforeach; ?>
+ ];
+</script>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/views/locales-list.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnviewsmetaboxworkshopdetailsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/views/metabox-workshop-details.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/views/metabox-workshop-details.php 2022-11-01 00:48:18 UTC (rev 12173)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/views/metabox-workshop-details.php 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -66,7 +66,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <?php wp_nonce_field( 'workshop-metaboxes', 'workshop-metabox-nonce' ); ?>
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> <p>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- <label for="workshop-video-language"><?php esc_html_e( 'Language', 'wporg_learn' ); ?></label>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <label for="workshop-video-language"><?php esc_html_e( 'Video Language', 'wporg_learn' ); ?></label>
</ins><span class="cx" style="display: block; padding: 0 10px"> <select id="workshop-video-language" name="video-language" style="width: 100%;">
</span><span class="cx" style="display: block; padding: 0 10px"> <?php foreach ( $locales as $code => $label ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <option value="<?php echo esc_attr( $code ); ?>" <?php selected( $code, $post->video_language ); ?>>
</span></span></pre></div>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporglearnwebpackconfigjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/webpack.config.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/webpack.config.js 2022-11-01 00:48:18 UTC (rev 12173)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/webpack.config.js 2022-11-01 02:36:20 UTC (rev 12174)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13,6 +13,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'locale-notice': './js/locale-notice.js',
</span><span class="cx" style="display: block; padding: 0 10px"> 'lesson-plan-actions': './js/lesson-plan-actions/src/index.js',
</span><span class="cx" style="display: block; padding: 0 10px"> 'lesson-plan-details': './js/lesson-plan-details/src/index.js',
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'language-meta': './js/language-meta/index.js',
</ins><span class="cx" style="display: block; padding: 0 10px"> };
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> module.exports = config;
</span></span></pre>
</div>
</div>
</body>
</html>