<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Amith Moorkoth</title>
    <description>The latest articles on DEV Community by Amith Moorkoth (@amithmoorkoth).</description>
    <link>https://dev.to/amithmoorkoth</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F936156%2F993f567b-554a-4995-af41-e91910f3d9eb.png</url>
      <title>DEV Community: Amith Moorkoth</title>
      <link>https://dev.to/amithmoorkoth</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amithmoorkoth"/>
    <language>en</language>
    <item>
      <title>Mozilla Multiple Page Cross browser PDF Viewer</title>
      <dc:creator>Amith Moorkoth</dc:creator>
      <pubDate>Wed, 26 Apr 2023 17:34:59 +0000</pubDate>
      <link>https://dev.to/amithmoorkoth/mozilla-multiple-page-cross-browser-pdf-viewer-heh</link>
      <guid>https://dev.to/amithmoorkoth/mozilla-multiple-page-cross-browser-pdf-viewer-heh</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/amith-moorkoth/mozilla-pdf-demo"&gt;https://github.com/amith-moorkoth/mozilla-pdf-demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/mozilla/pdf.js/"&gt;PDF.js&lt;/a&gt; is a Portable Document Format (PDF) viewer that is built with HTML5.&lt;/p&gt;

&lt;p&gt;We have tried to bind multiple pages for the pdf renderer to show for a demo purpose, it is just a few lines of code which extends the above library.&lt;/p&gt;

&lt;p&gt;Please let me know this is interesting, will try to enhance the viewer.&lt;/p&gt;

</description>
      <category>mozilla</category>
      <category>pdf</category>
      <category>javascript</category>
      <category>pdfjs</category>
    </item>
    <item>
      <title>Drag and drop toolkit for React Material UI {custom made}, JSON based react forms Generator.</title>
      <dc:creator>Amith Moorkoth</dc:creator>
      <pubDate>Wed, 15 Mar 2023 14:41:18 +0000</pubDate>
      <link>https://dev.to/amithmoorkoth/drag-and-drop-toolkit-for-react-material-ui-custom-made-json-based-react-forms-generator-2gi2</link>
      <guid>https://dev.to/amithmoorkoth/drag-and-drop-toolkit-for-react-material-ui-custom-made-json-based-react-forms-generator-2gi2</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;We are going to discuss about a interesting toolkit that is available for react drag and drop utility. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🚨 Note: This project is just for demo purpose, cannot be used for production&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Any kind of feedback is welcome, thanks and I hope you enjoy the article.🤗&lt;/p&gt;

&lt;p&gt;👉 Packages used.&lt;br&gt;
▶️ React JS (v.18)&lt;br&gt;
▶️ React DND&lt;br&gt;
▶️ Material UI&lt;/p&gt;

&lt;p&gt;👉 Clone the Project.&lt;br&gt;
   &lt;a href="https://github.com/amith-moorkoth/bombie"&gt;https://github.com/amith-moorkoth/bombie&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉 Open Visual Studio Code&lt;br&gt;
  &lt;code&gt;npm install&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;👉 For starting the project&lt;br&gt;
  &lt;code&gt;npm start&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;👉 Once the project start running please go to the URL &lt;a href="http://localhost:8080/generate-component"&gt;http://localhost:8080/generate-component&lt;/a&gt; to test the project&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Now from here the article is going to be the complete workflow of the react DND bundle, which we have just created now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Assuming that the reader already have prerequisite knowledge about the react, material UI and react DND.&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Begins &lt;strong&gt;(src\Controller\ComponentGenerator\index.js)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This is the Controller component where the actual process begins, here we are setting up the context provider for the entire application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yaAmOfRr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adlkz6okyvg3tw0r8qqo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yaAmOfRr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adlkz6okyvg3tw0r8qqo.png" alt='Image description="context provider explanation"' width="584" height="72"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 &lt;strong&gt;Bombie Invokes our actual component for processing (src\Lib\ComponentGenerator\index.js)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This component is responsible for drawing the entire screen, which consist of two frames &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Drawer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DND Provider&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K4N4qJ0n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lxs6qmkb82o23vqg7oen.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K4N4qJ0n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lxs6qmkb82o23vqg7oen.png" alt='Image description="drawing layout consist of drawer and dnd provider"' width="790" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 **Drawer
&lt;/h2&gt;

&lt;p&gt;This is responsible for the showing the JSON data that got generated through the process of drag and drop&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 **DND Provider
&lt;/h2&gt;

&lt;p&gt;This component responsibility includes &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Showing the Element/custom Element that are available for dragging and can be dragged to the drawer for designing a component (src\Lib\ComponentGenerator\DragBox\index.js)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KhGRnLaX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xbexchu313x30i734bg5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KhGRnLaX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xbexchu313x30i734bg5.png" alt='Image description="all draggable element"' width="465" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Draggable Container (src\Lib\ComponentGenerator\Container\element-recursion.js)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DfIHgDHV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/59wzgop0ywt2q5f78gpi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DfIHgDHV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/59wzgop0ywt2q5f78gpi.png" alt='Image description="draggable container"' width="691" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a recursive container which will recursively loop and attach the respective DOM, as per the current requirement.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🟠 &lt;strong&gt;Why we require JSON based React Material Toolkit? (why the project got started?)&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Our Industry from the beginning is very  thirsty about the drag and drop design with functionality includes over it. eg: WordPress, shopify etc...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;We can store react component as JSON in **mongo db&lt;/strong&gt; and access anywhere by using a single library in react as well as in JavaScript**, this will reduce the big overhead for performance and page loading since we will get the most optimized data which will travel between server and client.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Designers can have the control over the 70% development lifecycle.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;...continue&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>materialui</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
