<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>CodeProject Latest postings for Web Development</title>
    <link>https://www.codeproject.com</link>
    <description>Latest postings for Web Development from CodeProject</description>
    <language>en-us</language>
    <image>
      <title>CodeProject Latest postings for Web Development</title>
      <url>https://www.codeproject.com/App_Themes/Std/Img/logo100x30.gif</url>
      <link>https://www.codeproject.com</link>
      <width>100</width>
      <height>30</height>
      <description>CodeProject</description>
    </image>
    <copyright>Copyright  CodeProject, 1999-2024</copyright>
    <webMaster>Webmaster@codeproject.com (Webmaster)</webMaster>
    <lastBuildDate>Sat, 13 Jul 2024 21:31:00 GMT</lastBuildDate>
    <ttl>20</ttl>
    <generator>C# Hand-coded goodness</generator>
    <item>
      <title>How to get an answer to your question</title>
      <description>For those new to message boards please try to follow a few simple rules when posting your question.&lt;ol&gt;&lt;li&gt;&lt;b&gt;Choose the correct forum for your message&lt;/b&gt;. Posting a VB.NET question in the C++ forum will end in tears.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;&lt;b&gt;Be specific!&lt;/b&gt; Don't ask "can someone send me the code to create an application that does 'X'. Pinpoint exactly what it is you need help with.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;Keep the subject line brief, but descriptive. eg "File Serialization problem"&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;Keep the question as brief as possible. If you have to include code, include the smallest snippet of code you can.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;Be careful when including code that you haven't made a typo. Typing mistakes can become the focal point instead of the actual question you asked.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;&lt;b&gt;Do not remove or empty a message&lt;/b&gt; if others have replied. Keep the thread intact and available for others to search and read. If your problem was answered then edit your message and add "[Solved]" to the subject line of the original post, and cast an approval vote to the one or several answers that really helped you.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;If you are posting source code with your question, place it inside &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt; tags. We advise you also check the "Encode "&amp;lt;" (and other HTML) characters when pasting" checkbox before pasting anything inside the PRE block, and make sure "Use HTML in this post" check box is checked.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;Be courteous and DON'T SHOUT. Everyone here helps because they enjoy helping others, not because it's their job.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;Please do not post links to your question into an unrelated forum such as the lounge. It will be deleted. Likewise, do not post the same question in more than one forum.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;Do not be abusive, offensive, inappropriate or harass anyone on the boards. Doing so will get you kicked off and banned. Play nice.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;If you have a school or university assignment, assume that your teacher or lecturer is also reading these forums. &lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;No advertising or soliciting.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;We reserve the right to move your posts to a more appropriate forum or to delete anything deemed inappropriate or illegal.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;
&lt;div class="signature"&gt;cheers,&lt;br /&gt;
Chris Maunder&lt;br /&gt;
&lt;br /&gt;
The Code Project | Co-founder&lt;br /&gt;
&lt;small&gt;Microsoft C++ MVP&lt;/small&gt;&lt;/div&gt;</description>
      <author>Chris Maunder</author>
      <link>https://www.codeproject.com/Messages/3587921/How-to-get-an-answer-to-your-question</link>
      <pubDate>Sat, 04 Sep 2010 12:25:00 GMT</pubDate>
      <guid>3_3587921</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>HOW TO ANSWER A QUESTION</title>
      <description>Apologies for the shouting but this is important.&lt;br /&gt;
&lt;br /&gt;
When answering a question please:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Read the question carefully&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;Understand that English isn't everyone's first language so be lenient of bad spelling and grammar&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;If a question is poorly phrased then either ask for clarification, ignore it, or mark it down. &lt;b&gt;Insults are not welcome&lt;/b&gt;&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;If the question is inappropriate then click the 'vote to remove message' button&lt;br /&gt;
&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;
Insults, slap-downs and sarcasm aren't welcome. Let's work to help developers, not make them feel stupid. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="ForumSig"&gt;cheers,&lt;br /&gt;
Chris Maunder&lt;br /&gt;
&lt;br /&gt;
The Code Project Co-founder&lt;br /&gt;
Microsoft C++ MVP&lt;/div&gt;</description>
      <author>Chris Maunder</author>
      <link>https://www.codeproject.com/Messages/3117211/HOW-TO-ANSWER-A-QUESTION</link>
      <pubDate>Mon, 13 Jul 2009 08:40:00 GMT</pubDate>
      <guid>3_3117211</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Building a Web-based Code Editor</title>
      <description>I'm currently implementing a web-based code editor into my web project (Project Chromosphere.com). I think some of you might be interested. It's a work in progress, but you can see it here: &lt;a href="https://chromosphere.com/chromosphere/scripts/js/ui/sandbox/vsCode/"&gt;&lt;b&gt;https://chromosphere.com/chromosphere/scripts/js/ui/sandbox/vsCode/&lt;/b&gt;&lt;/a&gt;[&lt;a href="https://chromosphere.com/chromosphere/scripts/js/ui/sandbox/vsCode/" target="_blank" title="New Window"&gt;^&lt;/a&gt;] &lt;br /&gt;
&lt;br /&gt;
I considered creating a web-based code editor from scratch. Then, I realized the amount of time and effort to embark on such a thing would be ridiculous. I don't want to spend 1000 hours developing a web-based code editor. So, I'm going with a third-party solution. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://code.visualstudio.com/"&gt;&lt;b&gt;Microsoft VS Code&lt;/b&gt;&lt;/a&gt;[&lt;a href="https://code.visualstudio.com/" target="_blank" title="New Window"&gt;^&lt;/a&gt;] offers a good solution. The VS Code code editors are powered by the &lt;a href="https://microsoft.github.io/monaco-editor/"&gt;&lt;b&gt;Monaco Editor&lt;/b&gt;&lt;/a&gt;[&lt;a href="https://microsoft.github.io/monaco-editor/" target="_blank" title="New Window"&gt;^&lt;/a&gt;]. That's the code editor that you are actually embedding into your web page.&lt;br /&gt;
&lt;br /&gt;
To implement this web-based code editor in its most basic form is easy. &lt;br /&gt;
See the HTML document source code below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class='pre-lang' id='premain288519'&gt;&lt;div&gt;HTML&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode288519' class='copy-code' data-index='288519' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre288519' style='margin-top:0;' class='lang-html' data-language='HTML' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;!DOCTYPE&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;html&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;html&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;xmlns&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;head&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;title&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;Simple Example Code Editor&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/title&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/head&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;body&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;container"&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;style&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;width: 100%; height: 95.5vh; border: 1px solid grey;"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;script&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;src&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;https://cdn.jsdelivr.net/npm/monaco-editor@0.27.0/min/vs/loader.js"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;script&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;script&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;type&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;text/javascript"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
        require.config({
            paths: { vs: &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;https://cdn.jsdelivr.net/npm/monaco-editor@0.27.0/min/vs"&lt;/span&gt; }
        });
        require([&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;vs/editor/editor.main"&lt;/span&gt;], &lt;span class="code-keyword"&gt;function&lt;/span&gt; () {
            &lt;span class="code-keyword"&gt;var&lt;/span&gt; editor = monaco.editor.create(&lt;span class="code-sdkkeyword"&gt;document&lt;/span&gt;.getElementById(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;container"&lt;/span&gt;), {
                value: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;function hello() {\n    alert(\&amp;#39;Hello World!\&amp;#39;);\n}&amp;#39;&lt;/span&gt;,
                language: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;javascript&amp;#39;&lt;/span&gt;
            });

            monaco.editor.defineTheme(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;jScriptTheme"&lt;/span&gt;, {
                base: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;vs-dark&amp;#39;&lt;/span&gt;,
                inherit: &lt;span class="code-keyword"&gt;true&lt;/span&gt;,
                rules: [
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;aaaaaa&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;invalid&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;ff3333&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;emphasis&amp;#39;&lt;/span&gt;, fontStyle: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;italic&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;strong&amp;#39;&lt;/span&gt;, fontStyle: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;bold&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;variable&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;bbbbbb&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;variable.predefined&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;eeeeee&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;constant&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;f08c36&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;comment&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;00bb00&amp;#39;&lt;/span&gt;, fontStyle: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;italic&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;number&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;f08c36&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;number.hex&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;f08c36&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;regexp&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;4dbf99&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;annotation&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;41a6d9&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;type&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;41a6d9&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;delimiter&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;cceeff&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;delimiter.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;5c6773&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;delimiter.xml&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;5c6773&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;tag&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;tag.id.jade&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;tag.class.jade&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;meta.scss&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag.content.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag.xml&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag.php&amp;#39;&lt;/span&gt;, fontStyle: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;bold&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;key&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;41a6d9&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.key.json&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;41a6d9&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.value.json&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.name&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;f08c36&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;0451A5&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value.number&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;abb0b6&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value.unit&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value.xml&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;d88bfc&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;d88bfc&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.sql&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;d88bfc&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.yaml&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;d88bfc&amp;#39;&lt;/span&gt; }
                ],
                colors: {
                    &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;editor.background&amp;#39;&lt;/span&gt;: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;#000025&amp;#39;&lt;/span&gt;
                }
            });
            monaco.editor.setTheme(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;jScriptTheme"&lt;/span&gt;);
        });
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;script&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/body&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/html&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Below is the HTML document source for my &lt;a href="https://chromosphere.com/chromosphere/scripts/js/ui/sandbox/vsCode/"&gt;&lt;b&gt;Configured JavaScript code editor&lt;/b&gt;&lt;/a&gt;[&lt;a href="https://chromosphere.com/chromosphere/scripts/js/ui/sandbox/vsCode/" target="_blank" title="New Window"&gt;^&lt;/a&gt;].&lt;br /&gt;
See the HTML document source code below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class='pre-lang' id='premain440897'&gt;&lt;div&gt;HTML&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode440897' class='copy-code' data-index='440897' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre440897' style='margin-top:0;' class='lang-html' data-language='HTML' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;!DOCTYPE&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;html&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;html&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;xmlns&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;head&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;title&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;Configured Example Code Editor&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/title&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/head&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;body&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;container"&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;style&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;width: 100%; height: 95.5vh; border: 1px solid grey;"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;script&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;src&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;https://cdn.jsdelivr.net/npm/monaco-editor@0.27.0/min/vs/loader.js"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;script&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;script&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-attribute"&gt;type&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;text/javascript"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
        require.config({
            paths: { vs: &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;https://cdn.jsdelivr.net/npm/monaco-editor@0.27.0/min/vs"&lt;/span&gt; }
        });
        require([&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;vs/editor/editor.main"&lt;/span&gt;], &lt;span class="code-keyword"&gt;function&lt;/span&gt; () {
            &lt;span class="code-keyword"&gt;var&lt;/span&gt; container = &lt;span class="code-sdkkeyword"&gt;document&lt;/span&gt;.getElementById(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;container"&lt;/span&gt;);
            &lt;span class="code-keyword"&gt;if&lt;/span&gt; (container !== &lt;span class="code-keyword"&gt;null&lt;/span&gt;) {
                container.style.width = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;calc(100% - 2px)"&lt;/span&gt;;
                container.style.height = ((&lt;span class="code-sdkkeyword"&gt;window&lt;/span&gt;.innerHeight) - &lt;span class="code-digit"&gt;4&lt;/span&gt;) + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;px"&lt;/span&gt;;
                container.style.overflowY = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;hidden"&lt;/span&gt;;
                container.style.margin = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;0"&lt;/span&gt;;
                container.style.padding = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;0"&lt;/span&gt;;
                &lt;span class="code-sdkkeyword"&gt;document&lt;/span&gt;.body.style.margin = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;0"&lt;/span&gt;;
                &lt;span class="code-sdkkeyword"&gt;document&lt;/span&gt;.body.style.padding = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;0"&lt;/span&gt;;
            }
            &lt;span class="code-keyword"&gt;var&lt;/span&gt; editor = monaco.editor.create(&lt;span class="code-sdkkeyword"&gt;document&lt;/span&gt;.getElementById(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;container"&lt;/span&gt;), {
                value: &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;function hello(){\nalert(&amp;#39;Hello world!&amp;#39;);}"&lt;/span&gt;,
                language: &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;javascript"&lt;/span&gt;,
                theme: &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;vs-dark"&lt;/span&gt;,
                &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;autoIndent"&lt;/span&gt;: &lt;span class="code-keyword"&gt;true&lt;/span&gt;,
                &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;formatOnPaste"&lt;/span&gt;: &lt;span class="code-keyword"&gt;true&lt;/span&gt;,
                &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;formatOnType"&lt;/span&gt;: &lt;span class="code-keyword"&gt;true&lt;/span&gt;,
                keywords: [
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;break"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;case"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;catch"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;class"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;continue"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;const"&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;constructor"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;debugger"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;default"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;delete"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;do"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;else"&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;export"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;extends"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;false"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;finally"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;for"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;from"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;function"&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;get"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;if"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;import"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;in"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;instanceof"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;let"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;new"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;null"&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;return"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;set"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;super"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;switch"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;symbol"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;this"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;throw"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;true"&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;try"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;typeof"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;undefined"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;var"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;void"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;while"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;with"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;yield"&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;async"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;await"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;of"&lt;/span&gt;
                ],

                typeKeywords: [
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;any"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;boolean"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;number"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;object"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;string"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;undefined"&lt;/span&gt;
                ],

                operators: [
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;lt;="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;gt;="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;=="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;!="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;==="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;!=="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;=&amp;gt;"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;+"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;-"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;**"&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;*"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;/"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;%"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;++"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;--"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;lt;&amp;lt;"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;lt;/"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;gt;&amp;gt;"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;gt;&amp;gt;&amp;gt;"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;amp;"&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;|"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;^"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;!"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;~"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;amp;&amp;amp;"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;||"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;?"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;:"&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;+="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;-="&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;*="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;**="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;/="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;%="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;lt;&amp;lt;="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;gt;&amp;gt;="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;gt;&amp;gt;&amp;gt;="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;amp;="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;|="&lt;/span&gt;,
                    &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;^="&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;@"&lt;/span&gt;,
                ]
            });

            setTimeout(&lt;span class="code-keyword"&gt;function&lt;/span&gt; () {
                editor.getAction(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;editor.action.formatDocument&amp;#39;&lt;/span&gt;).run();
                &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;HTTP_POST_function(editor.getValue());&lt;/span&gt;
            }, &lt;span class="code-digit"&gt;200&lt;/span&gt;);

            monaco.editor.defineTheme(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;jScriptTheme&amp;#39;&lt;/span&gt;, {
                base: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;vs-dark&amp;#39;&lt;/span&gt;,
                inherit: &lt;span class="code-keyword"&gt;true&lt;/span&gt;,
                rules: [
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;aaaaaa&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;invalid&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;ff3333&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;emphasis&amp;#39;&lt;/span&gt;, fontStyle: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;italic&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;strong&amp;#39;&lt;/span&gt;, fontStyle: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;bold&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;variable&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;bbbbbb&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;variable.predefined&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;eeeeee&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;constant&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;f08c36&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;comment&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;00bb00&amp;#39;&lt;/span&gt;, fontStyle: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;italic&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;number&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;f08c36&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;number.hex&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;f08c36&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;regexp&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;4dbf99&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;annotation&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;41a6d9&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;type&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;41a6d9&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;delimiter&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;cceeff&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;delimiter.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;5c6773&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;delimiter.xml&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;5c6773&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;tag&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;tag.id.jade&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;tag.class.jade&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;meta.scss&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag.content.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag.xml&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;e7c547&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;metatag.php&amp;#39;&lt;/span&gt;, fontStyle: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;bold&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;key&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;41a6d9&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.key.json&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;41a6d9&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.value.json&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.name&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;f08c36&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;0451A5&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value.number&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;abb0b6&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value.unit&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;attribute.value.xml&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;86b300&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;d88bfc&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.html&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;d88bfc&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.sql&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;d88bfc&amp;#39;&lt;/span&gt; },
                    { token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;string.yaml&amp;#39;&lt;/span&gt;, foreground: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;d88bfc&amp;#39;&lt;/span&gt; }
                    &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt;
                    { token: &amp;#39;keyword&amp;#39;, foreground: &amp;#39;f2590c&amp;#39; },
                    { token: &amp;#39;keyword.json&amp;#39;, foreground: &amp;#39;f2590c&amp;#39; },
                    { token: &amp;#39;keyword.flow&amp;#39;, foreground: &amp;#39;f2590c&amp;#39; },
                    { token: &amp;#39;keyword.flow.scss&amp;#39;, foreground: &amp;#39;f2590c&amp;#39; },
                    { token: &amp;#39;operator.scss&amp;#39;, foreground: &amp;#39;666666&amp;#39; },
                    { token: &amp;#39;operator.sql&amp;#39;, foreground: &amp;#39;778899&amp;#39; },
                    { token: &amp;#39;operator.swift&amp;#39;, foreground: &amp;#39;666666&amp;#39; },
                    { token: &amp;#39;predefined.sql&amp;#39;, foreground: &amp;#39;FF00FF&amp;#39; },
                    */&lt;/span&gt;
                ],
                colors: {
                    &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;editor.background&amp;#39;&lt;/span&gt;: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;#000025&amp;#39;&lt;/span&gt;,
                    &lt;span class="code-comment"&gt;/*&lt;/span&gt;&lt;span class="code-comment"&gt;
                    &amp;#39;editor.foreground&amp;#39;: &amp;#39;#5c6773&amp;#39;,
                    &amp;#39;editorIndentGuide.background&amp;#39;: &amp;#39;#ecebec&amp;#39;,
                    &amp;#39;editorIndentGuide.activeBackground&amp;#39;: &amp;#39;#e0e0e0&amp;#39;,
                    */&lt;/span&gt;
                }
            });
            monaco.editor.setTheme(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;jScriptTheme&amp;#39;&lt;/span&gt;);
        }); 
    &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;script&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;  
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/body&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;/html&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;</description>
      <author>Steve Raw</author>
      <link>https://www.codeproject.com/Messages/6009676/Building-a-Web-based-Code-Editor</link>
      <pubDate>Sat, 13 Jul 2024 21:31:00 GMT</pubDate>
      <guid>3_6009676</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Creating a Synthetic Mouse Event: Event Sequence?</title>
      <description>I wrote a function in JavaScript that creates synthetic events to simulate a full mouse event. What I mean by "full" is that I'm creating and dispatching the "mouseenter", "mouseover", "mousemove", "mousedown", "mouseup", "click", and "mouseout" events. &lt;br /&gt;
&lt;br /&gt;
In what order do the "mouseenter", "mouseover", and "mousemove" events occur? I've tried looking this up, but I'm not getting anything.</description>
      <author>Steve Raw</author>
      <link>https://www.codeproject.com/Messages/6009671/Creating-a-Synthetic-Mouse-Event-Event-Sequence</link>
      <pubDate>Sat, 13 Jul 2024 19:12:00 GMT</pubDate>
      <guid>3_6009671</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>fullcalendar with resourcetimeline laravel php</title>
      <description>&lt;div class='pre-lang' id='premain324266'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode324266' class='copy-code' data-index='324266' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre324266' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
how &lt;span class="code-keyword"&gt;do&lt;/span&gt; you use Draggable events with read start and end dates &lt;span class="code-sdkkeyword"&gt;from&lt;/span&gt; the &lt;span class="code-keyword"&gt;event&lt;/span&gt; and fix them but choose resource?

&amp;lt;pre lang=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;text"&lt;/span&gt;&amp;gt;&amp;lt;pre lang=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Javascript"&lt;/span&gt;&amp;gt;
&amp;lt;pre&amp;gt;&amp;lt;script id=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;rendered-js"&lt;/span&gt;&amp;gt;
        document.addEventListener(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;DOMContentLoaded&amp;#39;&lt;/span&gt;, function () {

            &lt;span class="code-keyword"&gt;var&lt;/span&gt; date = &lt;span class="code-keyword"&gt;new&lt;/span&gt; Date()
            &lt;span class="code-keyword"&gt;var&lt;/span&gt; d = date.getDate(),
                m = date.getMonth(),
                y = date.getFullYear()

            &lt;span class="code-keyword"&gt;var&lt;/span&gt; Calendar = FullCalendar.Calendar;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;var Draggable = FullCalendar.Draggable;&lt;/span&gt;

            &lt;span class="code-keyword"&gt;var&lt;/span&gt; containerEl = document.getElementById(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;external-events&amp;#39;&lt;/span&gt;);
            &lt;span class="code-keyword"&gt;var&lt;/span&gt; checkbox = document.getElementById(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;drop-remove&amp;#39;&lt;/span&gt;);

            &lt;span class="code-keyword"&gt;var&lt;/span&gt; Draggable = FullCalendarInteraction.Draggable;

            &lt;span class="code-keyword"&gt;new&lt;/span&gt; Draggable(containerEl, {
                itemSelector: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;.external-event&amp;#39;&lt;/span&gt;,
                eventData: function (eventEl) {
                    &lt;span class="code-keyword"&gt;return&lt;/span&gt; {
                        id: eventEl.getAttribute(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-id&amp;#39;&lt;/span&gt;),
                        title: eventEl.getAttribute(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-title&amp;#39;&lt;/span&gt;),
                        start: eventEl.getAttribute(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-start&amp;#39;&lt;/span&gt;),
                        end: eventEl.getAttribute(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-end&amp;#39;&lt;/span&gt;),
                        resourceId: eventEl.getAttribute(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-resource-id&amp;#39;&lt;/span&gt;),
                        description: eventEl.getAttribute(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-description&amp;#39;&lt;/span&gt;),
                        backgroundColor: window.getComputedStyle(eventEl, &lt;span class="code-keyword"&gt;null&lt;/span&gt;).getPropertyValue(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;background-color&amp;#39;&lt;/span&gt;),
                        borderColor: window.getComputedStyle(eventEl, &lt;span class="code-keyword"&gt;null&lt;/span&gt;).getPropertyValue(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;background-color&amp;#39;&lt;/span&gt;),
                        textColor: window.getComputedStyle(eventEl, &lt;span class="code-keyword"&gt;null&lt;/span&gt;).getPropertyValue(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;color&amp;#39;&lt;/span&gt;)
                    };
                }
            });


            &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; calendarEl = document.getElementById(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;calendar&amp;#39;&lt;/span&gt;);
            &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; calendar;

            &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; start = &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;2024-05-01&amp;#39;&lt;/span&gt;;
            &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; end = &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;2024-06-31&amp;#39;&lt;/span&gt;;

            &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; resourcesurl = &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;/resources&amp;#39;&lt;/span&gt;;&lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;alert(resourcesurl);&lt;/span&gt;
            &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; zone = &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;{{$zone}}&amp;#39;&lt;/span&gt;;
            &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; available = &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;{{$available}}&amp;#39;&lt;/span&gt;;
            &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; resourcesIndex = &lt;span class="code-digit"&gt;0&lt;/span&gt;;

            &lt;span class="code-keyword"&gt;if&lt;/span&gt; (zone === &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;1&amp;#39;&lt;/span&gt;) {
                resourcesIndex += &lt;span class="code-digit"&gt;1&lt;/span&gt;;
                &lt;span class="code-keyword"&gt;if&lt;/span&gt; (resourcesIndex === &lt;span class="code-digit"&gt;1&lt;/span&gt;) {
                    resourcesurl += &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;?zone=on&amp;#39;&lt;/span&gt;;
                } &lt;span class="code-keyword"&gt;else&lt;/span&gt; {
                    resourcesurl += &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;amp;zone=on&amp;#39;&lt;/span&gt;;
                }
            }
            &lt;span class="code-keyword"&gt;if&lt;/span&gt; (available === &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;1&amp;#39;&lt;/span&gt;) {
                resourcesIndex += &lt;span class="code-digit"&gt;1&lt;/span&gt;;
                &lt;span class="code-keyword"&gt;if&lt;/span&gt; (resourcesIndex === &lt;span class="code-digit"&gt;1&lt;/span&gt;) {
                    resourcesurl += &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;?available=on&amp;#39;&lt;/span&gt;;
                } &lt;span class="code-keyword"&gt;else&lt;/span&gt; {
                    resourcesurl += &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;amp;available=on&amp;#39;&lt;/span&gt;;
                }
            }

            u/foreach ($Branches &lt;span class="code-keyword"&gt;as&lt;/span&gt; $key =&amp;gt; $branch)
                @isset($data[&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;BranchChoose&amp;#39;&lt;/span&gt;.$key])
                resourcesIndex += &lt;span class="code-digit"&gt;1&lt;/span&gt;;
            &lt;span class="code-keyword"&gt;if&lt;/span&gt; (resourcesIndex === &lt;span class="code-digit"&gt;1&lt;/span&gt;) {
                resourcesurl += &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;?BranchID&amp;#39;&lt;/span&gt; + {{$key}} + &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;=&amp;#39;&lt;/span&gt; + {{$data[&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;BranchID&amp;#39;&lt;/span&gt;.$key]}} + &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;;
            } &lt;span class="code-keyword"&gt;else&lt;/span&gt; {
                resourcesurl += &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;amp;BranchID&amp;#39;&lt;/span&gt; + {{$key}} + &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;=&amp;#39;&lt;/span&gt; + {{$data[&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;BranchID&amp;#39;&lt;/span&gt;.$key]}} + &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;;
            }
            @endisset
            @endforeach

            calendar = &lt;span class="code-keyword"&gt;new&lt;/span&gt; FullCalendar.Calendar(calendarEl, {
                plugins: [&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;interaction&amp;#39;&lt;/span&gt;, &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;resourceTimeline&amp;#39;&lt;/span&gt;],
                timeZone: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;UTC&amp;#39;&lt;/span&gt;,
                defaultView: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;resourceTimelineDay&amp;#39;&lt;/span&gt;,
                aspectRatio: &lt;span class="code-digit"&gt;1&lt;/span&gt;.&lt;span class="code-digit"&gt;5&lt;/span&gt;,
                header: {
                    left: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;prev,next&amp;#39;&lt;/span&gt;,
                    center: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;title&amp;#39;&lt;/span&gt;,
                    right: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;resourceTimelineDay&amp;#39;&lt;/span&gt;&lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;,resourceTimelineWeek,resourceTimelineMonth&lt;/span&gt;
                },

                views: {
                    resourceTimelineDay: {
                        duration: {days: &lt;span class="code-digit"&gt;10&lt;/span&gt;},
                        &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; type: &amp;#39;timeline&amp;#39;,&lt;/span&gt;
                        slotDuration: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;{{$plus}}&amp;#39;&lt;/span&gt;
                    }
                },

                now: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;{{$start_str_now}}&amp;#39;&lt;/span&gt;,
                editable: &lt;span class="code-keyword"&gt;true&lt;/span&gt;,
                droppable: &lt;span class="code-keyword"&gt;true&lt;/span&gt;,
                resourceLabelText: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;@lang("Car Plate Number")&amp;#39;&lt;/span&gt;,
                resources: resourcesurl,&lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;resourcesurl,//&amp;#39;/resources?zone=on&amp;amp;available=on&amp;#39;,//resourcesurl,//&amp;#39;/resources&amp;#39;,&lt;/span&gt;
                events: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;/events?days=10&amp;amp;date={{$start_str_now}}&amp;#39;&lt;/span&gt;,&lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;?start=${start}&amp;amp;end=${end}&lt;/span&gt;

                eventRender: function (info) {

                    &lt;span class="code-keyword"&gt;var&lt;/span&gt; eventObj = info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;;
                    &lt;span class="code-keyword"&gt;var&lt;/span&gt; start = eventObj.start;
                    &lt;span class="code-keyword"&gt;var&lt;/span&gt; end = eventObj.end;
                    &lt;span class="code-keyword"&gt;var&lt;/span&gt; title = eventObj.title;

                    console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event: &amp;#39;&lt;/span&gt; + title + &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;\nStart: &amp;#39;&lt;/span&gt; + start + &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;\nEnd: &amp;#39;&lt;/span&gt; + end);

                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; // Fix the start and end dates here&lt;/span&gt;
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; info.event.setStart(&amp;#39;2024-06-23T00:00:00&amp;#39;); // Example fixed start date&lt;/span&gt;
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; info.event.setEnd(&amp;#39;2024-06-30T00:00:00&amp;#39;);   // Example fixed end date&lt;/span&gt;

                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Clear any existing icons&lt;/span&gt;
                    info.el.querySelectorAll(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;.custom-icon&amp;#39;&lt;/span&gt;).forEach(function (icon) {
                        icon.&lt;span class="code-keyword"&gt;remove&lt;/span&gt;();
                    });

                    &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; titleEl = &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;;

                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Add custom icons before the title&lt;/span&gt;
                    &lt;span class="code-keyword"&gt;if&lt;/span&gt; (info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.extendedProps.icons) {
                         titleEl = info.el.querySelector(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;.fc-title&amp;#39;&lt;/span&gt;);
                        info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.extendedProps.icons.forEach(function (iconData) {
                            &lt;span class="code-keyword"&gt;var&lt;/span&gt; icon = document.createElement(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;span&amp;#39;&lt;/span&gt;);
                            icon.classList.&lt;span class="code-keyword"&gt;add&lt;/span&gt;(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;custom-icon&amp;#39;&lt;/span&gt;);
                            icon.innerHTML = iconData.html;
                            icon.setAttribute(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;title&amp;#39;&lt;/span&gt;, iconData.tooltip); &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Set tooltip for icon&lt;/span&gt;
                            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Insert icon before the title element&lt;/span&gt;
                            titleEl.parentNode.insertBefore(icon, titleEl);
                        });
                    }

                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Set tooltip for the title&lt;/span&gt;
                    &lt;span class="code-keyword"&gt;if&lt;/span&gt; (info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.extendedProps.tooltip) {
                        info.el.querySelector(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;.fc-title&amp;#39;&lt;/span&gt;).setAttribute(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;title&amp;#39;&lt;/span&gt;, info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.extendedProps.tooltip);
                    }


                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; info.event.start = &amp;#39;Sun Jun 23 2024 03:00:00 GMT+0300 (GMT+03:00)&amp;#39;;&lt;/span&gt;
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; info.event.end = &amp;#39;Sun Jun 30 2024 03:00:00 GMT+0300 (GMT+03:00)&amp;#39;;&lt;/span&gt;
                    {{--console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event id:&amp;#39;&lt;/span&gt;,info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.id);--}}
                    {{--$.ajax({--}}
                    {{--    url: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;/calendar/ID&amp;#39;&lt;/span&gt;,--}}
                    {{--    method: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;POST&amp;#39;&lt;/span&gt;,--}}
                    {{--    data: {--}}
                    {{--        id: info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.id,--}}
                    {{--        resourceId: info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.id,--}}
                    {{--        &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; start: startDate,--}}&lt;/span&gt;
                    {{--        &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; end: endDate,--}}&lt;/span&gt;
                    {{--        _token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;{{ csrf_token() }}&amp;#39;&lt;/span&gt;--}}
                    {{--    },--}}
                    {{--    success: function(response) {--}}
                    {{--        &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Assuming the response contains new start and end dates--}}&lt;/span&gt;
                    {{--        &lt;span class="code-keyword"&gt;var&lt;/span&gt; newStart = response.start;--}}
                    {{--        &lt;span class="code-keyword"&gt;var&lt;/span&gt; newEnd = response.end;--}}

                    {{--        info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.setStart(newStart);--}}
                    {{--        info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.setEnd(newEnd);--}}

                    {{--        console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event newstart:&amp;#39;&lt;/span&gt;,newStart);--}}
                    {{--        console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event newend:&amp;#39;&lt;/span&gt;,newEnd);--}}
                    {{--    },--}}
                    {{--    error: function (xhr) {--}}
                    {{--        info.revert();--}}
                    {{--    }--}}
                    {{--});--}}



                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Calculate and display the duration&lt;/span&gt;
                    &lt;span class="code-keyword"&gt;if&lt;/span&gt; (info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.start &amp;amp;&amp;amp; info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.end) {
                        console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event start:&amp;#39;&lt;/span&gt;,info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.start);
                        console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event end:&amp;#39;&lt;/span&gt;,info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.end);

                        &lt;span class="code-keyword"&gt;var&lt;/span&gt; duration = moment(info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.end).diff(moment(info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.start), &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;hours&amp;#39;&lt;/span&gt;);
                        &lt;span class="code-keyword"&gt;var&lt;/span&gt; durationEl = document.createElement(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;span&amp;#39;&lt;/span&gt;);
                        durationEl.classList.&lt;span class="code-keyword"&gt;add&lt;/span&gt;(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;event-duration&amp;#39;&lt;/span&gt;);
                        durationEl.innerText = `(${duration} hrs)`;

                         titleEl = info.el.querySelector(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;.fc-title&amp;#39;&lt;/span&gt;);
                        &lt;span class="code-keyword"&gt;if&lt;/span&gt; (titleEl) {
                            titleEl.appendChild(durationEl);
                        } &lt;span class="code-keyword"&gt;else&lt;/span&gt; {
                            &lt;span class="code-keyword"&gt;var&lt;/span&gt; timeEl = document.createElement(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;div&amp;#39;&lt;/span&gt;);
                            timeEl.classList.&lt;span class="code-keyword"&gt;add&lt;/span&gt;(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;fc-title&amp;#39;&lt;/span&gt;);
                            timeEl.appendChild(durationEl);
                            info.el.appendChild(timeEl);
                        }
                    }

                    console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event ID:&amp;#39;&lt;/span&gt;, info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.id);

                    console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event ID:&amp;#39;&lt;/span&gt;, &lt;span class="code-digit"&gt;222222&lt;/span&gt;);
                },

                dateClick: function (info) {
                    &lt;span class="code-keyword"&gt;var&lt;/span&gt; selectedDate = info.dateStr;
                    &lt;span class="code-keyword"&gt;var&lt;/span&gt; elements = document.querySelectorAll(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;.fc-daygrid-day[data-date="&amp;#39;&lt;/span&gt; + selectedDate + &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;"]&amp;#39;&lt;/span&gt;);
                    elements.forEach(function (element) {
                        element.style.backgroundColor = &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;lightgreen&amp;#39;&lt;/span&gt;;
                    });
                    console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event ID:&amp;#39;&lt;/span&gt;, &lt;span class="code-digit"&gt;111111&lt;/span&gt;);
                },

                eventDidMount: function (info) {
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Change background on hover&lt;/span&gt;

                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; console.log(&amp;#39;Event ID:&amp;#39;, element.style.backgroundColor);&lt;/span&gt;

                    &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; element = info.el;
                    &lt;span class="code-sdkkeyword"&gt;let&lt;/span&gt; originalBackground = element.style.backgroundColor;

                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; console.log(&amp;#39;Event ID:&amp;#39;, element.style.backgroundColor);&lt;/span&gt;

                    element.addEventListener(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;mouseover&amp;#39;&lt;/span&gt;, function () {
                        &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; console.log(&amp;#39;Event ID:&amp;#39;, element.style.backgroundColor);&lt;/span&gt;
                        element.style.backgroundColor = &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;lightgreen&amp;#39;&lt;/span&gt;;
                    });

                    element.addEventListener(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;mouseout&amp;#39;&lt;/span&gt;, function () {
                        &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; console.log(&amp;#39;Event ID:&amp;#39;, element.style.backgroundColor);&lt;/span&gt;
                        element.style.backgroundColor = originalBackground;
                    });
                },

                drop: function (info) {
                    &lt;span class="code-keyword"&gt;if&lt;/span&gt; ($(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;#drop-remove&amp;#39;&lt;/span&gt;).&lt;span class="code-keyword"&gt;is&lt;/span&gt;(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;:checked&amp;#39;&lt;/span&gt;)) {
                        info.draggedEl.parentNode.removeChild(info.draggedEl);
                    }
                },

                eventReceive: function(info) {
                    &lt;span class="code-keyword"&gt;var&lt;/span&gt; &lt;span class="code-keyword"&gt;event&lt;/span&gt; = info.&lt;span class="code-keyword"&gt;event&lt;/span&gt;;

                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Get start and end dates&lt;/span&gt;
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; var startDate = event.start.toISOString();&lt;/span&gt;
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; var endDate = event.end ? event.end.toISOString() : startDate;&lt;/span&gt;

                    console.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Event ID:&amp;#39;&lt;/span&gt;, &lt;span class="code-keyword"&gt;event&lt;/span&gt;.id);
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;console.log(&amp;#39;Resource ID:&amp;#39;, event.getResources()[0].id);&lt;/span&gt;
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; console.log(&amp;#39;Start Date:&amp;#39;, startDate);&lt;/span&gt;
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; console.log(&amp;#39;End Date:&amp;#39;, endDate);&lt;/span&gt;

                    $.ajax({
                        url: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;/calendar/update&amp;#39;&lt;/span&gt;,
                        method: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;POST&amp;#39;&lt;/span&gt;,
                        data: {
                            id: &lt;span class="code-keyword"&gt;event&lt;/span&gt;.id,
                            resourceId: &lt;span class="code-keyword"&gt;event&lt;/span&gt;.getResources()[0].id,
                            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; start: startDate,&lt;/span&gt;
                            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; end: endDate,&lt;/span&gt;
                            _token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;{{ csrf_token() }}&amp;#39;&lt;/span&gt;
                        },
                        success: function (response) {
                            alert(response.success);
                            calendar.refetchEvents();
                        },
                        error: function (xhr) {
                            info.revert();
                        }
                    });
                },

                eventDrop: function (&lt;span class="code-keyword"&gt;event&lt;/span&gt;, delta, revertFunc) {
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;console.log(&amp;#39;Event ID:&amp;#39;, event.event.id);&lt;/span&gt;
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;console.log(&amp;#39;Event ID:&amp;#39;, event.event._def.resourceIds[0]);&lt;/span&gt;
                    $.ajax({
                        url: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;/calendar/update&amp;#39;&lt;/span&gt;,
                        method: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;POST&amp;#39;&lt;/span&gt;,
                        data: {
                            id: &lt;span class="code-keyword"&gt;event&lt;/span&gt;.&lt;span class="code-keyword"&gt;event&lt;/span&gt;.id,
                            resourceId: &lt;span class="code-keyword"&gt;event&lt;/span&gt;.&lt;span class="code-keyword"&gt;event&lt;/span&gt;._def.resourceIds[0],
                            _token: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;{{ csrf_token() }}&amp;#39;&lt;/span&gt;
                        },
                        success: function (response) {
                            alert(response.success);
                        },
                        error: function (xhr) {
                            revertFunc();
                        }
                    });
                },

            });
            calendar.render();



            $(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;.fc-event&amp;#39;&lt;/span&gt;).mouseenter(function () {
                $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).addClass(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;fc-event-hover&amp;#39;&lt;/span&gt;);
            });
            $(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;.fc-event&amp;#39;&lt;/span&gt;).mouseleave(function () {
                $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).removeClass(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;fc-event-hover&amp;#39;&lt;/span&gt;);
            });

            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; // Initialize the external events&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; $(&amp;#39;#external-events .external-event&amp;#39;).each(function () {&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;     // Store data so the calendar knows to render an event upon drop&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;     $(this).data(&amp;#39;event&amp;#39;, {&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;         title: $.trim($(this).text()), // Use the element&amp;#39;s text as the event title&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;         stick: true // Maintain the event on the calendar after it is dropped&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;     });&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;     // Make the event draggable using jQuery UI&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;     $(this).draggable({&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;         zIndex: 999,&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;         revert: true, // Will cause the event to go back to its original position after the drag&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;         revertDuration: 0 // 0 means no animation&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;     });&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;&lt;/span&gt;
            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; });&lt;/span&gt;

            &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Initialize the external events&lt;/span&gt;
            $(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;#external-events .external-event&amp;#39;&lt;/span&gt;).each(function () {
                &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Make the event draggable using jQuery UI&lt;/span&gt;
                $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).draggable({
                    zIndex: &lt;span class="code-digit"&gt;999&lt;/span&gt;,
                    revert: &lt;span class="code-keyword"&gt;true&lt;/span&gt;, &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Will cause the event to go back to its original position after the drag&lt;/span&gt;
                    revertDuration: &lt;span class="code-digit"&gt;0&lt;/span&gt;, &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; 0 means no animation&lt;/span&gt;
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Use the helper function to create a clone that represents the event&lt;/span&gt;
                    helper: function () {
                        &lt;span class="code-keyword"&gt;var&lt;/span&gt; title = $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).text().trim();
                        &lt;span class="code-keyword"&gt;return&lt;/span&gt; $(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;lt;div class="fc-event"&amp;gt;&amp;#39;&lt;/span&gt;).text(title);
                    },
                    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Pass the event data to FullCalendar on drag start&lt;/span&gt;
                    start: function (&lt;span class="code-keyword"&gt;event&lt;/span&gt;, ui) {
                        &lt;span class="code-keyword"&gt;var&lt;/span&gt; eventData = {
                            id: $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).attr(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-id&amp;#39;&lt;/span&gt;),
                            title: $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).text().trim(),
                            start: $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).attr(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-start&amp;#39;&lt;/span&gt;),
                            end: $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).attr(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-end&amp;#39;&lt;/span&gt;),
                            resourceId: $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).attr(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-resource-id&amp;#39;&lt;/span&gt;),
                            description: $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).attr(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;data-description&amp;#39;&lt;/span&gt;),
                            backgroundColor: window.getComputedStyle(&lt;span class="code-keyword"&gt;this&lt;/span&gt;, &lt;span class="code-keyword"&gt;null&lt;/span&gt;).getPropertyValue(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;background-color&amp;#39;&lt;/span&gt;),
                            borderColor: window.getComputedStyle(&lt;span class="code-keyword"&gt;this&lt;/span&gt;, &lt;span class="code-keyword"&gt;null&lt;/span&gt;).getPropertyValue(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;background-color&amp;#39;&lt;/span&gt;),
                            textColor: window.getComputedStyle(&lt;span class="code-keyword"&gt;this&lt;/span&gt;, &lt;span class="code-keyword"&gt;null&lt;/span&gt;).getPropertyValue(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;color&amp;#39;&lt;/span&gt;)
                        };
                        &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Store the event data on the dragged element&lt;/span&gt;
                        $(&lt;span class="code-keyword"&gt;this&lt;/span&gt;).data(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;eventData&amp;#39;&lt;/span&gt;, eventData);
                    }
                });
            });



        });
        &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;# sourceURL=pen.js&lt;/span&gt;
    &amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;
&lt;div class='pre-lang' id='premain629962'&gt;&lt;div&gt;JavaScript&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode629962' class='copy-code' data-index='629962' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre629962' style='margin-top:0;' class='lang-javascript' data-language='Javascript' data-allowShrink='True' data-collapse='False'&gt;

&lt;/pre&gt;&lt;br /&gt;
&lt;div class='pre-lang' id='premain43289'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode43289' class='copy-code' data-index='43289' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre43289' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
&amp;lt;pre lang=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;HTML"&lt;/span&gt;&amp;gt;

&amp;lt;pre&amp;gt;&amp;lt;script src=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;https://code.jquery.com/jquery-3.4.1.min.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;
                    &amp;lt;script src=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;
                    &amp;lt;div &lt;span class="code-keyword"&gt;class&lt;/span&gt;=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;card"&lt;/span&gt;&amp;gt;
                        &amp;lt;div &lt;span class="code-keyword"&gt;class&lt;/span&gt;=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;card-header"&lt;/span&gt;&amp;gt;
                            &amp;lt;h4 &lt;span class="code-keyword"&gt;class&lt;/span&gt;=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;card-title"&lt;/span&gt;&amp;gt;Draggable Events&lt;span class="code-keyword"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;h4&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="code-keyword"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
                        &amp;lt;div &lt;span class="code-keyword"&gt;class&lt;/span&gt;=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;card-body"&lt;/span&gt;&amp;gt;
                            &amp;lt;div id=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;external-events"&lt;/span&gt;&amp;gt;
                                &amp;lt;!-- PHP loop to generate draggable events --&amp;gt;
                                @foreach ($events &lt;span class="code-keyword"&gt;as&lt;/span&gt; $event)
                                    &amp;lt;div &lt;span class="code-keyword"&gt;class&lt;/span&gt;=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;external-event"&lt;/span&gt;
                                         id=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;event_{{ $event-&amp;gt;id }}"&lt;/span&gt;
                                         data-id=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;{{ $event-&amp;gt;id }}"&lt;/span&gt;
                                         data-title=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;{{ $event-&amp;gt;title }}"&lt;/span&gt;
                                         data-start=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;{{ $event-&amp;gt;start }}"&lt;/span&gt;
                                         data-end=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;{{ $event-&amp;gt;end }}"&lt;/span&gt;
                                         data-resource-id=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;{{ $event-&amp;gt;resourceId }}"&lt;/span&gt;
                                         data-description=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;{{ $event-&amp;gt;description }}"&lt;/span&gt;
                                         style=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;background-color: {{ $event-&amp;gt;color }}; color: white;"&lt;/span&gt;&amp;gt;
                                        {{ $event-&amp;gt;title }}
                                    &lt;span class="code-keyword"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
                                @endforeach
                                &amp;lt;div &lt;span class="code-keyword"&gt;class&lt;/span&gt;=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;checkbox"&lt;/span&gt;&amp;gt;
                                    &amp;lt;label &lt;span class="code-keyword"&gt;for&lt;/span&gt;=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;drop-remove"&lt;/span&gt;&amp;gt;
                                        &amp;lt;input type=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;checkbox"&lt;/span&gt; &lt;span class="code-keyword"&gt;checked&lt;/span&gt;=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;checked"&lt;/span&gt; &lt;span class="code-keyword"&gt;readonly&lt;/span&gt; id=&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;drop-remove"&lt;/span&gt;&amp;gt;
                                        &lt;span class="code-keyword"&gt;remove&lt;/span&gt; after drop
                                    &lt;span class="code-keyword"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;label&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span class="code-keyword"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="code-keyword"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;

                        &lt;span class="code-keyword"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;

                    &lt;span class="code-keyword"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;</description>
      <author>mohammed naseralla</author>
      <link>https://www.codeproject.com/Messages/6007616/fullcalendar-with-resourcetimeline-laravel-php</link>
      <pubDate>Thu, 27 Jun 2024 10:43:00 GMT</pubDate>
      <guid>3_6007616</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Can you use ApiKey and JWT in the same web API</title>
      <description>I have a web api that services both wpf and browser clients. WPF only requires and ApiKey built into the application while the web will require authentication and authorisation (using JWT bearer tokens).&lt;br /&gt;
&lt;br /&gt;
If so does anyone have an example.&lt;br /&gt;
&lt;div class="signature"&gt;Never underestimate the power of human stupidity -&lt;br /&gt;
RAH&lt;br /&gt;
I'm old. I know stuff - JSOP&lt;/div&gt;</description>
      <author>Mycroft Holmes</author>
      <link>https://www.codeproject.com/Messages/6007201/Can-you-use-ApiKey-and-JWT-in-the-same-web-API</link>
      <pubDate>Tue, 25 Jun 2024 01:29:00 GMT</pubDate>
      <guid>3_6007201</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Do I need Open API when using Azure</title>
      <description>I have a really simple API and see no need to implement open API except I want to host it on Azure (where my 2 table database is hosted). The overhead and learning curve for swagger is greater than the API learning curve.&lt;br /&gt;
&lt;br /&gt;
So is it possible to host a non Open API on azure.&lt;br /&gt;
&lt;br /&gt;
[edit]Search co pilot for "do I need open api to publish to azure" - the answer is no you do not need it. [/edit]&lt;br /&gt;
&lt;div class="signature"&gt;Never underestimate the power of human stupidity -&lt;br /&gt;
RAH&lt;br /&gt;
I'm old. I know stuff - JSOP&lt;/div&gt;</description>
      <author>Mycroft Holmes</author>
      <link>https://www.codeproject.com/Messages/6005389/Do-I-need-Open-API-when-using-Azure</link>
      <pubDate>Thu, 13 Jun 2024 02:06:00 GMT</pubDate>
      <guid>3_6005389</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Opinions of WIX</title>
      <description>I'm a long-term web developer, used to building web-based applications in ASP.Net and using CSS, semantic markup, Javascript, AJAX and dynamically-generated content at the server. I'm happy hand-coding CSS and crafting HTML using classes, defining grids, floats etc. etc..&lt;br /&gt;
&lt;br /&gt;
I've recently been "commandeered" by a charity I volunteer with to assist their overworked webmaster. Their website is primarily static pages, and end-users can add blog entries for specific categories. There's no server-side form processing involved. BUT the site is running on the WIX platform. It is &lt;i&gt;possible&lt;/i&gt; to write page-specific CSS, but it won't do you much good as WIX generates its own HTML from your definitions of strips, sections, text etc - and doesn't let you add classnames or element IDs. &lt;br /&gt;
&lt;br /&gt;
The webmaster reckons WIX is the bees-knees and claims that "&lt;i&gt;Wix is probably the leading web platform around today. ... Wix is truly state of the art and the market leader.&lt;/i&gt;"  He also claims that it generates "responsive pages" - but the "responsiveness", such as it is, is done at the server. This means if you open a page on a mobile phone, then turn it into landscape, the page doesn't re-flow or re-structure; it just makes everything bigger to fill the width. This is &lt;i&gt;NOT&lt;/i&gt; my understanding of "responsive design"...&lt;br /&gt;
&lt;br /&gt;
I'm curious as to others' opinion of Wix, and whether I'm missing something obvious, or am way behind the web design trend.&lt;br /&gt;

&lt;div class="signature"&gt;&lt;a href="https://gpo-markers.derektp.co.uk" target="_blank"&gt;Telegraph marker posts&lt;/a&gt; ... nothing to do with IT&lt;br /&gt;
&lt;a href="https://sticktalk.com" target="_blank"&gt;Phasmid email discussion group&lt;/a&gt; ... also nothing to do with IT&lt;br /&gt;
&lt;a href="https://nascotwoodbees.co.uk" target="_blank"&gt;Beekeeping and honey site&lt;/a&gt; ... still nothing to do with IT&lt;br&gt;&lt;/div&gt;</description>
      <author>DerekT-P</author>
      <link>https://www.codeproject.com/Messages/6005199/Opinions-of-WIX</link>
      <pubDate>Tue, 11 Jun 2024 19:19:00 GMT</pubDate>
      <guid>3_6005199</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Configuration Error</title>
      <description>I configured my website in IIS to use Windows Authentication, and it works when I don't try to add Authorization Rules.&lt;br /&gt;
&lt;br /&gt;
However, I added an Allow rule to allow only users in the Administrators group, and it gives the below error when attempting to load the page:&lt;br /&gt;
&lt;br /&gt;
HTTP Error 500.19 - Internal Server Error&lt;br /&gt;
&lt;blockquote class="quote"&gt;&lt;div class="op"&gt;Quote:&lt;/div&gt;Cannot add duplicate collection entry of type 'add' with combined key attributes 'users, roles, verbs' respectively set to ', Administrators, '&lt;/blockquote&gt;This is what my web config looks like: &lt;br /&gt;
        &amp;lt;security&amp;gt;&lt;br /&gt;
            &amp;lt;authorization&amp;gt;&lt;br /&gt;
                &amp;lt;remove users="*" roles="" verbs="" /&amp;gt;&lt;br /&gt;
                &amp;lt;add accessType="Allow" users="" roles="Administrators" /&amp;gt;&lt;br /&gt;
            &amp;lt;/authorization&amp;gt;&lt;br /&gt;
        &amp;lt;/security&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can anyone see what I'm doing wrong?&lt;br /&gt;
&lt;div class="signature"&gt;The difficult we do right away...&lt;br /&gt;
...the impossible takes slightly longer.&lt;/div&gt;</description>
      <author>Richard Andrew x64</author>
      <link>https://www.codeproject.com/Messages/6001413/Configuration-Error</link>
      <pubDate>Wed, 15 May 2024 20:32:00 GMT</pubDate>
      <guid>3_6001413</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Identity Management Recommendations</title>
      <description>My company wants to create an internal portal website as a gateway to our applications that is hosted in an on-premises web server.&lt;br /&gt;
&lt;br /&gt;
I don't want to try to re-invent the identity management, login and authorization process.&lt;br /&gt;
&lt;br /&gt;
Is there any third-party solution that can be integrated with a local website to perform login functionality and user management?&lt;br /&gt;
&lt;div class="signature"&gt;The difficult we do right away...&lt;br /&gt;
...the impossible takes slightly longer.&lt;/div&gt;</description>
      <author>Richard Andrew x64</author>
      <link>https://www.codeproject.com/Messages/6001108/Identity-Management-Recommendations</link>
      <pubDate>Tue, 14 May 2024 13:45:00 GMT</pubDate>
      <guid>3_6001108</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Gemfile.lock parsing/linting</title>
      <description>Every week I get a Dependabot alerts from github about my repositories, but when I go to have github build the needed PR to do the updates, it always fails with the error "/Gemfile.lock not parseable".  The file looks good to me, but then I really have no idea what it's supposed to look like.  IS there online service that will parse &amp;amp; lint a gemfile and tell me what's wrong with it?&lt;br /&gt;

&lt;div class="signature"&gt;Truth,&lt;br&gt;&lt;br /&gt;
 James&lt;/div&gt;</description>
      <author>James Curran</author>
      <link>https://www.codeproject.com/Messages/6000277/Gemfile-lock-parsing-linting</link>
      <pubDate>Wed, 08 May 2024 21:17:00 GMT</pubDate>
      <guid>3_6000277</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Swagger Generated URL Questtion</title>
      <description>I have an Asp.Net MVC API with this controller :
&lt;div class='pre-lang' id='premain403452'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode403452' class='copy-code' data-index='403452' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre403452' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-keyword"&gt;namespace&lt;/span&gt; ApiDemo.Controllers
{
    [Route(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;api/[controller]/[action]"&lt;/span&gt;)]
    [ApiController]
    &lt;span class="code-keyword"&gt;public&lt;/span&gt; &lt;span class="code-keyword"&gt;class&lt;/span&gt; UsersController : ControllerBase
    {
        [HttpGet(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;{id}/{name}/{birthDate}/{isAlive}/{presNo}"&lt;/span&gt;)]
        &lt;span class="code-keyword"&gt;public&lt;/span&gt; IActionResult Get(&lt;span class="code-keyword"&gt;int&lt;/span&gt; id, &lt;span class="code-keyword"&gt;string&lt;/span&gt; name, DateTime birthDate, &lt;span class="code-keyword"&gt;bool&lt;/span&gt; isAlive, &lt;span class="code-keyword"&gt;int&lt;/span&gt; presNo)
        {
            &lt;span class="code-keyword"&gt;return&lt;/span&gt; StatusCode(&lt;span class="code-digit"&gt;200&lt;/span&gt;);
        }
    }
}&lt;/pre&gt;
When I call this Swagger generates this Request URL:
&lt;div class='pre-lang' id='premain50778'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode50778' class='copy-code' data-index='50778' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre50778' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
https:&lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; localhost:7062/api/Users/Get/12345/Rutherford%20Birchard%20Hayes%20/1822-10-04%205%3A13%3A22/false/19&lt;/span&gt;&lt;/pre&gt;
I don't understand the instances of '%20B' or '%3A22'. They are not always the same. What are these? Where are they coming from?&lt;br /&gt;

&lt;div class="signature"&gt;In theory, theory and practice are the same. But in practice, they never are.”&lt;br /&gt;
If it's not broken, fix it until it is.&lt;br /&gt;
Everything makes sense in someone's mind.
&lt;/div&gt;</description>
      <author>Kevin Marois</author>
      <link>https://www.codeproject.com/Messages/5998716/Swagger-Generated-URL-Questtion</link>
      <pubDate>Fri, 26 Apr 2024 22:37:00 GMT</pubDate>
      <guid>3_5998716</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>ASP.Net MVC Core API Question Revisited</title>
      <description>I posted on this yesterday, but I haven't made any progress.&lt;br /&gt;
&lt;br /&gt;
I'm just trying to set up a simplet test API. Here's my controller:
&lt;div class='pre-lang' id='premain430641'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode430641' class='copy-code' data-index='430641' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre430641' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-bracket"&gt;[&lt;/span&gt;&lt;span class="code-sdkkeyword"&gt;Route&lt;/span&gt;(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;api/user"&lt;/span&gt;)]
[ApiController]
&lt;span class="code-keyword"&gt;public&lt;/span&gt; &lt;span class="code-keyword"&gt;class&lt;/span&gt; UserController : _ControllerBase
{
    &lt;span class="code-keyword"&gt;public&lt;/span&gt; UserController(IConfiguration configuration) :
        &lt;span class="code-keyword"&gt;base&lt;/span&gt;(configuration)
    {
    }

    [HttpGet(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;getById/{id}"&lt;/span&gt;)]
    &lt;span class="code-keyword"&gt;public&lt;/span&gt; IActionResult GetById([FromQuery]int id)
    {
        &lt;span class="code-keyword"&gt;try&lt;/span&gt;
        {
            &lt;span class="code-keyword"&gt;var&lt;/span&gt; repo = &lt;span class="code-keyword"&gt;new&lt;/span&gt; Repository(GetDataContext());

            &lt;span class="code-keyword"&gt;var&lt;/span&gt; owner = repo.GetById(id);

            &lt;span class="code-keyword"&gt;if&lt;/span&gt; (owner &lt;span class="code-keyword"&gt;is&lt;/span&gt; &lt;span class="code-keyword"&gt;null&lt;/span&gt;)
            {
                &lt;span class="code-keyword"&gt;return&lt;/span&gt; NotFound();
            }
            &lt;span class="code-keyword"&gt;else&lt;/span&gt;
            {
                &lt;span class="code-keyword"&gt;return&lt;/span&gt; Ok(owner);
            }
        }
        &lt;span class="code-keyword"&gt;catch&lt;/span&gt; (Exception ex)
        {
            &lt;span class="code-keyword"&gt;return&lt;/span&gt; StatusCode(&lt;span class="code-digit"&gt;500&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Internal server error"&lt;/span&gt;);
        }
    }

    [HttpGet]
    &lt;span class="code-keyword"&gt;public&lt;/span&gt; IActionResult GetAll()
    {
        &lt;span class="code-keyword"&gt;try&lt;/span&gt;
        {
            &lt;span class="code-keyword"&gt;var&lt;/span&gt; repo = &lt;span class="code-keyword"&gt;new&lt;/span&gt; Repository(GetDataContext());

            &lt;span class="code-keyword"&gt;var&lt;/span&gt; owners = repo.GetAll();

            &lt;span class="code-keyword"&gt;return&lt;/span&gt; Ok(owners);
        }
        &lt;span class="code-keyword"&gt;catch&lt;/span&gt; (Exception ex)
        {
            &lt;span class="code-keyword"&gt;return&lt;/span&gt; StatusCode(&lt;span class="code-digit"&gt;500&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Internal server error"&lt;/span&gt;);
        }
    }

    [HttpPost]
    &lt;span class="code-keyword"&gt;public&lt;/span&gt; IActionResult Test([FromBody]TestEntity testEntity)
    {
        &lt;span class="code-keyword"&gt;return&lt;/span&gt; StatusCode(&lt;span class="code-digit"&gt;200&lt;/span&gt;);
    }
}&lt;/pre&gt;
I can call the first two methods, GetAll and GetById like this:
&lt;div class='pre-lang' id='premain357222'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode357222' class='copy-code' data-index='357222' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre357222' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
https: &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;localhost:5001/api/User&lt;/span&gt;
and
https: &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;localhost:5001/api/User/GetById/1&lt;/span&gt;&lt;/pre&gt;
and they both return data. But this gives me a Not Found error
&lt;div class='pre-lang' id='premain544500'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode544500' class='copy-code' data-index='544500' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre544500' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-bracket"&gt;[&lt;/span&gt;&lt;span class="code-sdkkeyword"&gt;HttpPost&lt;/span&gt;]
&lt;span class="code-keyword"&gt;public&lt;/span&gt; IActionResult Test([FromBody]TestEntity testEntity)
{
&lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;...&lt;/span&gt;
}&lt;/pre&gt;
called using Postman like this:
&lt;div class='pre-lang' id='premain163006'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode163006' class='copy-code' data-index='163006' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre163006' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
https: &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;localhost:5001/api/User/test/{"id": 10,"name": Someone Else}&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;Questions&lt;/b&gt;&lt;br /&gt;
First, I'm not even sure I have the controller methods set up right. I don't really understand when/why to use the various attributes such as [FromBody] &amp;amp; [FromQuery]. I'm slowly learning by I may have it wrong here.&lt;br /&gt;
&lt;br /&gt;
If I'm passing an object, as opposed to say an int, what should the method signature look like? Do I use FromBody or FromQuery? My Google searches return many different results. What would the correct syntax look like?&lt;br /&gt;
&lt;br /&gt;
Second, the way I'm passing params, seperated by '/' seems wrong. Shouldn't the call to the API look something like this?
&lt;div class='pre-lang' id='premain366838'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode366838' class='copy-code' data-index='366838' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre366838' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
https: &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;localhost:2001/api/User/GetById?id=123&lt;/span&gt;&lt;/pre&gt;
Am I doing something wrong here?&lt;br /&gt;

&lt;div class="signature"&gt;In theory, theory and practice are the same. But in practice, they never are.”&lt;br /&gt;
If it's not broken, fix it until it is.&lt;br /&gt;
Everything makes sense in someone's mind.
&lt;/div&gt;</description>
      <author>Kevin Marois</author>
      <link>https://www.codeproject.com/Messages/5997579/ASP-Net-MVC-Core-API-Question-Revisited</link>
      <pubDate>Fri, 19 Apr 2024 05:44:00 GMT</pubDate>
      <guid>3_5997579</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>ASP.Net MVC Core API Question</title>
      <description>I'm trying to learn ASP.Net MVC Core API. I think I'm doing the routing wronge.&lt;br /&gt;
&lt;br /&gt;
I have a UserController:
&lt;div class='pre-lang' id='premain537573'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode537573' class='copy-code' data-index='537573' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre537573' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-keyword"&gt;namespace&lt;/span&gt; Falcon.API.Controllers
{
    [Route(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;api/user"&lt;/span&gt;)]
    [ApiController]
    &lt;span class="code-keyword"&gt;public&lt;/span&gt; &lt;span class="code-keyword"&gt;class&lt;/span&gt; UserController : _ControllerBase
    {
        &lt;span class="code-keyword"&gt;public&lt;/span&gt; UserController(IConfiguration configuration) :
            &lt;span class="code-keyword"&gt;base&lt;/span&gt;(configuration)
        {
        }

        [HttpGet(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;getById/{id}"&lt;/span&gt;)]
        &lt;span class="code-keyword"&gt;public&lt;/span&gt; IActionResult GetById(&lt;span class="code-keyword"&gt;int&lt;/span&gt; id)
        {
            &lt;span class="code-keyword"&gt;try&lt;/span&gt;
            {
                &lt;span class="code-keyword"&gt;var&lt;/span&gt; repo = &lt;span class="code-keyword"&gt;new&lt;/span&gt; Repository(GetDataContext());

                &lt;span class="code-keyword"&gt;var&lt;/span&gt; owner = repo.GetById(id);

                &lt;span class="code-keyword"&gt;if&lt;/span&gt; (owner &lt;span class="code-keyword"&gt;is&lt;/span&gt; &lt;span class="code-keyword"&gt;null&lt;/span&gt;)
                {
                    &lt;span class="code-keyword"&gt;return&lt;/span&gt; NotFound();
                }
                &lt;span class="code-keyword"&gt;else&lt;/span&gt;
                {
                    &lt;span class="code-keyword"&gt;return&lt;/span&gt; Ok(owner);
                }
            }
            &lt;span class="code-keyword"&gt;catch&lt;/span&gt; (Exception ex)
            {
                &lt;span class="code-keyword"&gt;return&lt;/span&gt; StatusCode(&lt;span class="code-digit"&gt;500&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Internal server error"&lt;/span&gt;);
            }
        }

        [HttpGet]
        &lt;span class="code-keyword"&gt;public&lt;/span&gt; IActionResult GetAll()
        {
            &lt;span class="code-keyword"&gt;try&lt;/span&gt;
            {
                &lt;span class="code-keyword"&gt;var&lt;/span&gt; repo = &lt;span class="code-keyword"&gt;new&lt;/span&gt; Repository(GetDataContext());

                &lt;span class="code-keyword"&gt;var&lt;/span&gt; owners = repo.GetAll();

                &lt;span class="code-keyword"&gt;return&lt;/span&gt; Ok(owners);
            }
            &lt;span class="code-keyword"&gt;catch&lt;/span&gt; (Exception ex)
            {
                &lt;span class="code-keyword"&gt;return&lt;/span&gt; StatusCode(&lt;span class="code-digit"&gt;500&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Internal server error"&lt;/span&gt;);
            }
        }

        [HttpGet(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;login/{username}/{password}"&lt;/span&gt;)]
        &lt;span class="code-keyword"&gt;public&lt;/span&gt; IActionResult Login(&lt;span class="code-keyword"&gt;string&lt;/span&gt; userName, &lt;span class="code-keyword"&gt;string&lt;/span&gt; password)
        {
            &lt;span class="code-keyword"&gt;try&lt;/span&gt;
            {
                &lt;span class="code-keyword"&gt;var&lt;/span&gt; repo = &lt;span class="code-keyword"&gt;new&lt;/span&gt; UserRepository(GetDataContext());

                &lt;span class="code-keyword"&gt;var&lt;/span&gt; owner = repo.Login(userName, password);

                &lt;span class="code-keyword"&gt;if&lt;/span&gt; (owner &lt;span class="code-keyword"&gt;is&lt;/span&gt; &lt;span class="code-keyword"&gt;null&lt;/span&gt;)
                {
                    &lt;span class="code-keyword"&gt;return&lt;/span&gt; NotFound();
                }
                &lt;span class="code-keyword"&gt;else&lt;/span&gt;
                {
                    &lt;span class="code-keyword"&gt;return&lt;/span&gt; Ok(owner);
                }
            }
            &lt;span class="code-keyword"&gt;catch&lt;/span&gt; (Exception ex)
            {
                &lt;span class="code-keyword"&gt;return&lt;/span&gt; StatusCode(&lt;span class="code-digit"&gt;500&lt;/span&gt;, &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Internal server error"&lt;/span&gt;);
            }
        }
    }
}&lt;/pre&gt;
When I call it, I'm doing this:
&lt;div class='pre-lang' id='premain437466'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode437466' class='copy-code' data-index='437466' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre437466' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-keyword"&gt;public&lt;/span&gt; &lt;span class="code-keyword"&gt;async&lt;/span&gt; Task Login(&lt;span class="code-keyword"&gt;string&lt;/span&gt; userName, &lt;span class="code-keyword"&gt;string&lt;/span&gt; password)
{
    UserEntity results = &lt;span class="code-keyword"&gt;null&lt;/span&gt;;

    &lt;span class="code-keyword"&gt;var&lt;/span&gt; url = $&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;https:// localhost:5001/api/User/Login/{userName}/{password}"&lt;/span&gt;;

    &lt;span class="code-keyword"&gt;using&lt;/span&gt; (&lt;span class="code-keyword"&gt;var&lt;/span&gt; httpClient = &lt;span class="code-keyword"&gt;new&lt;/span&gt; HttpClient())
    {
        &lt;span class="code-keyword"&gt;using&lt;/span&gt; (&lt;span class="code-keyword"&gt;var&lt;/span&gt; response = &lt;span class="code-keyword"&gt;await&lt;/span&gt; httpClient.GetAsync(url))
        {
            &lt;span class="code-keyword"&gt;string&lt;/span&gt; apiResponse = &lt;span class="code-keyword"&gt;await&lt;/span&gt; response.Content.ReadAsStringAsync();
            results = JsonConvert.DeserializeObject(apiResponse);
        }
    }

    &lt;span class="code-keyword"&gt;return&lt;/span&gt; results;
}&lt;/pre&gt;
This works. It calls the GetAll
&lt;div class='pre-lang' id='premain692025'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode692025' class='copy-code' data-index='692025' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre692025' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
https: &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;localhost:5001/api/User&lt;/span&gt;&lt;/pre&gt;
This works when calling GetById
&lt;div class='pre-lang' id='premain191319'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode191319' class='copy-code' data-index='191319' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre191319' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
https: &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;localhost:5001/api/User/GetById/1&lt;/span&gt;&lt;/pre&gt;
This does NOT work. I get a not found
&lt;div class='pre-lang' id='premain849206'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode849206' class='copy-code' data-index='849206' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre849206' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
https: &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt;localhost:5001/api/User/Login/jsmith/mypass&lt;/span&gt;&lt;/pre&gt;
Can someone tell me what's wrong?&lt;br /&gt;

&lt;div class="signature"&gt;In theory, theory and practice are the same. But in practice, they never are.”&lt;br /&gt;
If it's not broken, fix it until it is.&lt;br /&gt;
Everything makes sense in someone's mind.
&lt;/div&gt;</description>
      <author>Kevin Marois</author>
      <link>https://www.codeproject.com/Messages/5997378/ASP-Net-MVC-Core-API-Question</link>
      <pubDate>Thu, 18 Apr 2024 06:06:00 GMT</pubDate>
      <guid>3_5997378</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>What is generally the current best method for storing uploaded documents?</title>
      <description>Hi forum,&lt;br /&gt;
&lt;br /&gt;
What is currently the best method, in terms of security as well as scalability and least complexity, to store user uploaded documents on a shared hosting platform?  &lt;br /&gt;
&lt;br /&gt;
Is it to store the uploaded documents in a secure folder(s) location with a reference pointer (file path) in the database?&lt;br /&gt;
&lt;br /&gt;
Or store the documents in the database itself (blob datatype)?&lt;br /&gt;
&lt;br /&gt;
Or use a nosql "document store" version of the database?&lt;br /&gt;
&lt;br /&gt;
The documents uploaded will be:&lt;br /&gt;
&lt;br /&gt;
    Mix of sensitive information &lt;i&gt;(ex. containing a living person's date of birth)&lt;/i&gt; as well as historical, non-sensitive information&lt;br /&gt;
    &lt;br /&gt;
    Varying in size from 1 page or image to several dozen&lt;br /&gt;
    &lt;br /&gt;
    Varying in document type, mainly from .pdf, image files &lt;i&gt;(.png, .jpeg, etc)&lt;/i&gt;, .doc or .txt text files &lt;i&gt;(there will be no audio or video file types)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The number of documents stored in the first year is estimated between 100 and 500, with about 1000 to 1200 additional each of the next couple of years.&lt;br /&gt;
&lt;br /&gt;
If/when the site outgrows a shared hosting environment, other hosted solutions will be explored.&lt;br /&gt;
&lt;br /&gt;
Other info:&lt;br /&gt;
&lt;br /&gt;
    PHP version 8.3.2&lt;br /&gt;
    MySQL version 8.3.0 &lt;i&gt;(InnoDB type used)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks in advance! &lt;img src="https://codeproject.global.ssl.fastly.net/script/Forums/Images/coffee.gif" align="top" alt="Java | [Coffee]" /&gt;</description>
      <author>we5inelgr</author>
      <link>https://www.codeproject.com/Messages/5991359/What-is-generally-the-current-best-method-for-stor</link>
      <pubDate>Thu, 07 Mar 2024 02:06:00 GMT</pubDate>
      <guid>3_5991359</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Looking for a working working sample google maps on blazor web app with loading markers from database</title>
      <description>iam looking for a working sample google maps on blazor web app with loading markers from database.&lt;br /&gt;
Using C# and SQL Server Database.&lt;br /&gt;
Everything i found i written for example with syncfusion or telerik controls.&lt;br /&gt;
or with old asp.net&lt;br /&gt;
could anyone help me?</description>
      <author>urx1941</author>
      <link>https://www.codeproject.com/Messages/5984318/Looking-for-a-working-working-sample-google-maps-o</link>
      <pubDate>Thu, 25 Jan 2024 10:19:00 GMT</pubDate>
      <guid>3_5984318</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>Setting a CORS header, and allowing my Javascript modules that are inlined</title>
      <description>I'm at the end of the project finally, and I'm putting the wraps on it. &lt;br /&gt;
&lt;br /&gt;
I started programming headers in PHP for cache, and then it expanded into security as well. I built a system of ECMAScript modules, and my entry point module is being blocked by my CORS header. I can't figure this out, and could use some guidance on the subject. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Here is what I have.&lt;/b&gt; &lt;br /&gt;
/assets/scripts/core&lt;br /&gt;
/assets/scripts/core/coreExternal.module.js&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;coreExternal.module.js content&lt;/b&gt;&lt;br /&gt;
&lt;div class='pre-lang' id='premain276872'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode276872' class='copy-code' data-index='276872' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre276872' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
window.coreExternal {
  setCommissionStartDate,
  setCommissionStopDate, and so forth&lt;/pre&gt;
&lt;b&gt;On the WebPage, I use a script tag to load coreExternal&lt;/b&gt;&lt;br /&gt;
&lt;code&gt;&amp;lt;script type="module" src="/pcad/assets/scripts/core/coreExternal.module.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;br /&gt;
This call to the module, makes the window.coreExternal functions look like dangerous inlined script. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;This is my PHP header for CORS&lt;/b&gt;&lt;br /&gt;
&lt;div class='pre-lang' id='premain833055'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode833055' class='copy-code' data-index='833055' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre833055' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
$nonce = base64_encode(random_bytes(&lt;span class="code-digit"&gt;16&lt;/span&gt;));
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Content-Security-Policy: default-src &amp;#39;self&amp;#39; *.fontawesome.com; script-src &amp;#39;self&amp;#39; &amp;#39;unsafe-inline&amp;#39; /pcad/assets/scripts/core/ https://kit.fontawesome.com/ &amp;#39;nonce-"&lt;/span&gt;.$nonce.&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;#39; &amp;#39;sha256-...&amp;#39;; style-src &amp;#39;self&amp;#39;; img-src &amp;#39;self&amp;#39; data:;"&lt;/span&gt;);&lt;/pre&gt;
&lt;br /&gt;
From reading the documentation from Content Security Policy, I added 'unsafe-inline' which should sledge hammer out my modules, but they are still blocked.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Error Message:&lt;/b&gt;&lt;br /&gt;
Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“script-src”).&lt;br /&gt;
Source: coreExternal.setCommissionStartDate(this… assignCommission.phtml&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;My Questions&lt;/b&gt;&lt;br /&gt;
I don't do CORS stuff everyday, just once every few years, and this is the first time I've done it in code, and not used the web server to program this. Perhaps I have the concept going but failed in execution, well I'm sure that's it. &lt;br /&gt;

&lt;ol&gt;
&lt;li&gt;Do I need the access-control headers?&lt;/li&gt;&lt;li&gt;Did I paint myself into a corner using modules the way I did?&lt;/li&gt;&lt;li&gt;Is one policy canceling another policy?&lt;/li&gt;&lt;/ol&gt;
I still have issues with these error messages as well&lt;br /&gt;
&lt;blockquote class="quote"&gt;&lt;div class="op"&gt;Quote:&lt;/div&gt;Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“style-src”).&lt;br /&gt;
Source: --bs-breadcrumb-divider: '&amp;gt;'; viewVendors.phtml&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
The manual style I added to the table element&lt;br /&gt;
&lt;blockquote class="quote"&gt;&lt;div class="op"&gt;Quote:&lt;/div&gt;Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“style-src”).&lt;br /&gt;
Source: width: 100%; border: none; viewVendors.phtml&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
These are my headers in PHP. At this point, YES I am throwing darts at the wall on this, plus SMH and &lt;img src="https://codeproject.global.ssl.fastly.net/script/Forums/Images/smiley_confused.gif" align="top" alt="Confused | :confused:" /&gt; 
&lt;div class='pre-lang' id='premain850665'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode850665' class='copy-code' data-index='850665' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre850665' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Cache-Control: no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0"&lt;/span&gt;);
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Pragma: no-cache"&lt;/span&gt;);
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Strict-Transport-Security: max-age=31536000; includeSubDomains; preload"&lt;/span&gt;);
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;X-Content-Type-Options: nosniff"&lt;/span&gt;);
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;X-Frame-Options: DENY"&lt;/span&gt;);
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;X-XSS-Protection: 1; mode=block"&lt;/span&gt;);
header(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;Referrer-Policy: same-origin&amp;#39;&lt;/span&gt;);

header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Access-Control-Allow-Origin: self"&lt;/span&gt;);   &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Replace * with the actual origin(s) you want to allow&lt;/span&gt;
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Access-Control-Allow-Methods: GET, POST, OPTIONS"&lt;/span&gt;);
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Access-Control-Allow-Headers: Content-Type"&lt;/span&gt;);
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Access-Control-Expose-Headers: *"&lt;/span&gt;);

&lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Best Version that works - 01/24/2024 jKirkerx - Warning: Content-Security-Policy: The page’s settings blocked the loading of a resource at https://kit.fontawesome.com/ea5e36f877.js ("script-src").&lt;/span&gt;
header(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Content-Security-Policy: default-src &amp;#39;self&amp;#39; *.fontawesome.com; script-src &amp;#39;self&amp;#39; &amp;#39;unsafe-inline&amp;#39; /pcad/assets/scripts/core/ https://kit.fontawesome.com/ &amp;#39;nonce-"&lt;/span&gt;.$nonce.&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&amp;#39; &amp;#39;sha256-...&amp;#39;; style-src &amp;#39;self&amp;#39;; img-src &amp;#39;self&amp;#39; data:;"&lt;/span&gt;);&lt;/pre&gt;

&lt;div class="signature"&gt;If it ain't broke don't fix it&lt;br /&gt;
Discover my world at &lt;a href="https://jkirkerx.com" target="_blank"&gt;jkirkerx.com&lt;/a&gt;&lt;/div&gt;</description>
      <author>jkirkerx</author>
      <link>https://www.codeproject.com/Messages/5984240/Setting-a-CORS-header-and-allowing-my-Javascript-m</link>
      <pubDate>Wed, 24 Jan 2024 21:30:00 GMT</pubDate>
      <guid>3_5984240</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>JS Arrow functions this &amp;amp; setTimeout scope</title>
      <description>I'm following this tut on js: &lt;a href="https://www.youtube.com/watch?v=ajTvmGxWQF8&amp;amp;list=PL1PqvM2UQiMoGNTaxFMSK2cih633lpFKP&amp;amp;index=8"&gt;Arrow Functions JavaScript Tutorial - What NOT to do!!! &lt;/a&gt;, and in the part where he explains why not to use setTimeout inside arrow functions, the justification is that they look for scope on the window. and not on the enclosed scope of arrowFunc method. But the tests i made, had the opposite results: the named functions had window, arrow function had the correct one. So:&lt;br /&gt;
&lt;br /&gt;
&lt;div class='pre-lang' id='premain224559'&gt;&lt;div&gt;JavaScript&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode224559' class='copy-code' data-index='224559' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre224559' style='margin-top:0;' class='lang-javascript' data-language='Javascript' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-keyword"&gt;const&lt;/span&gt; dude = {
  name: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;dude&amp;#39;&lt;/span&gt;,
  namedFunc() {
    &lt;span class="code-sdkkeyword"&gt;console&lt;/span&gt;.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;name 1: &amp;#39;&lt;/span&gt;, &lt;span class="code-keyword"&gt;this&lt;/span&gt;.name); &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Dude&lt;/span&gt;

    setTimeout(&lt;span class="code-keyword"&gt;function&lt;/span&gt;() {
      &lt;span class="code-sdkkeyword"&gt;console&lt;/span&gt;.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;this 1:&amp;#39;&lt;/span&gt;, &lt;span class="code-keyword"&gt;this&lt;/span&gt;);
      &lt;span class="code-sdkkeyword"&gt;console&lt;/span&gt;.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;name 2:&amp;#39;&lt;/span&gt;, &lt;span class="code-keyword"&gt;this&lt;/span&gt;.name); &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; undefined&lt;/span&gt;
    }, &lt;span class="code-digit"&gt;200&lt;/span&gt;);
  },
  arrowFunc() {
    &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; temos scope tb...&lt;/span&gt;
    &lt;span class="code-sdkkeyword"&gt;console&lt;/span&gt;.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;name 3:&amp;#39;&lt;/span&gt;, &lt;span class="code-keyword"&gt;this&lt;/span&gt;.name); &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Dude&lt;/span&gt;

    setTimeout(() =&amp;gt; {
      &lt;span class="code-sdkkeyword"&gt;console&lt;/span&gt;.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;this 2:&amp;#39;&lt;/span&gt;, &lt;span class="code-keyword"&gt;this&lt;/span&gt;); &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; {name: &amp;#39;dude&amp;#39;, nameWNamed: ƒ, nameWArrow: ƒ}&lt;/span&gt;
      &lt;span class="code-sdkkeyword"&gt;console&lt;/span&gt;.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;name 4:&amp;#39;&lt;/span&gt;, &lt;span class="code-keyword"&gt;this&lt;/span&gt;.name); &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; Dude&lt;/span&gt;
    }, &lt;span class="code-digit"&gt;300&lt;/span&gt;)
  }
}

&lt;span class="code-sdkkeyword"&gt;console&lt;/span&gt;.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;namedFunc:&amp;#39;&lt;/span&gt;, dude.namedFunc());
&lt;span class="code-sdkkeyword"&gt;console&lt;/span&gt;.log(&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;arrowFunc:&amp;#39;&lt;/span&gt;, dude.arrowFunc());
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Expected:&lt;br /&gt;
&lt;div class='pre-lang' id='premain216150'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode216150' class='copy-code' data-index='216150' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre216150' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-keyword"&gt;this&lt;/span&gt; &lt;span class="code-digit"&gt;1&lt;/span&gt;: {name: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;dude&amp;#39;&lt;/span&gt;, namedFunc: ƒ, arrowFunc: ƒ}
name &lt;span class="code-digit"&gt;2&lt;/span&gt;: dude
&lt;span class="code-keyword"&gt;this&lt;/span&gt; &lt;span class="code-digit"&gt;2&lt;/span&gt;: Window&amp;#160;{window: Window, self: Window, document: document, name: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;, location: Location,&amp;#160;…}
name &lt;span class="code-digit"&gt;4&lt;/span&gt;: &lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Actual result:&lt;br /&gt;
&lt;br /&gt;
&lt;div class='pre-lang' id='premain343575'&gt;&lt;div&gt;&lt;/div&gt;&lt;div class='pre-action-link'&gt;&lt;span id='copycode343575' class='copy-code' data-index='343575' style='visibility:hidden'&gt;&lt;svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 460 460' style='width: 16px;height:16px;' xml:space='preserve'&gt;&lt;g&gt;&lt;path d='M425.934,0H171.662c-18.122,0-32.864,14.743-32.864,32.864v77.134h30V32.864c0-1.579,1.285-2.864,2.864-2.864h254.272     c1.579,0,2.864,1.285,2.864,2.864v254.272c0,1.58-1.285,2.865-2.864,2.865h-74.729v30h74.729 c18.121,0,32.864-14.743,32.864-32.865V32.864C458.797,14.743,444.055,0,425.934,0z'&gt;&lt;/path&gt;&lt;path d='M288.339,139.998H34.068c-18.122,0-32.865,14.743-32.865,32.865v254.272C1.204,445.257,15.946,460,34.068,460h254.272 c18.122,0,32.865-14.743,32.865-32.864V172.863C321.206,154.741,306.461,139.998,288.339,139.998z M288.341,430H34.068    c-1.58,0-2.865-1.285-2.865-2.864V172.863c0-1.58,1.285-2.865,2.865-2.865h254.272c1.58,0,2.865,1.285,2.865,2.865v254.273h0.001 C291.206,428.715,289.92,430,288.341,430z'&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre id='pre343575' style='margin-top:0;' data-allowShrink='True' data-collapse='False'&gt;
&lt;span class="code-keyword"&gt;this&lt;/span&gt; &lt;span class="code-digit"&gt;1&lt;/span&gt;: Window&amp;#160;{window: Window, self: Window, document: document, name: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;, location: Location,&amp;#160;…}
name &lt;span class="code-digit"&gt;2&lt;/span&gt;: 
&lt;span class="code-keyword"&gt;this&lt;/span&gt; &lt;span class="code-digit"&gt;2&lt;/span&gt;: {name: &lt;span class="code-string"&gt;&amp;#39;&lt;/span&gt;&lt;span class="code-string"&gt;dude&amp;#39;&lt;/span&gt;, namedFunc: ƒ, arrowFunc: ƒ}
name &lt;span class="code-digit"&gt;4&lt;/span&gt;: dude&lt;/pre&gt;</description>
      <author>Member 16183444</author>
      <link>https://www.codeproject.com/Messages/5982726/JS-Arrow-functions-this-amp-setTimeout-scope</link>
      <pubDate>Tue, 16 Jan 2024 12:46:00 GMT</pubDate>
      <guid>3_5982726</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>WordPress for Windows</title>
      <description>Is there a server-side web framework like WordPress but built on Microsoft technologies?&lt;br /&gt;
&lt;div class="signature"&gt;The difficult we do right away...&lt;br /&gt;
...the impossible takes slightly longer.&lt;/div&gt;</description>
      <author>Richard Andrew x64</author>
      <link>https://www.codeproject.com/Messages/5981291/WordPress-for-Windows</link>
      <pubDate>Sun, 07 Jan 2024 15:24:00 GMT</pubDate>
      <guid>3_5981291</guid>
      <subject>Web Development</subject>
    </item>
    <item>
      <title>how PHP works</title>
      <description>Can someone help me understand whether PHP is compiled or interpreted?&lt;br /&gt;
&lt;br /&gt;
I googled it and was left very confused.&lt;br /&gt;
&lt;br /&gt;
It sounds like PHP is compiled to some type of bytecode.  But, I have never seen another file created (an executable).&lt;br /&gt;
&lt;br /&gt;
I can't imagine PHP would re-compile each script.php every time it is used, but I don't see any .exe files getting created.&lt;br /&gt;
&lt;br /&gt;
Anyone know how PHP really works?  It seems like almost no one knows.&lt;br /&gt;
&lt;br /&gt;
Thanks.</description>
      <author>mike7411</author>
      <link>https://www.codeproject.com/Messages/5979557/how-PHP-works</link>
      <pubDate>Tue, 26 Dec 2023 21:24:00 GMT</pubDate>
      <guid>3_5979557</guid>
      <subject>Web Development</subject>
    </item>
  </channel>
</rss>