Friday, January 1, 2021

Working With Tables in React, Part One

One of the most common user interface elements for presenting your data is a table. It turns out that there are many aspects to control when working with tables, such as:

  • defining columns and headers
  • various cell formats (text, numbers, check boxes)
  • resizing
  • filtering
  • dynamic growing
  • styling

In this two-part series, you will learn about the ins and outs of working with tabular data in React using the React Bootstrap Table component. You'll be able to create sophisticated and professional-looking tables with little effort and yet be able to customize every aspect.

Getting Started  

 

To start, you should be familiar with React itself. If you need a primer on React, Envato Tuts+ has a great series to help you get started with React. In this tutorial, we'll focus on working with React Bootstrap Table2.

To start, create a react app with the create-react-app command. You can learn how to set create-react-app up in React Crash Course for Beginners.

now navigate to the project folder and install React Bootstrap Table 2 and Bootstrap.

Create a Basic Table

We will start with a basic table. We first import the BootstrapTable component and CSS as shown below.

First, we initialize the data and column variables and then assign the data to the BootstrapTable component.  The data contains the names of some characters from the hilarious show Arrested Development

The Bootstrap component takes in the following attributes.

  • keyField
  • data
  • columns

The render() method renders a table with three columns: "ID", "Name", and "Value".

To view the table, issue the command, npm start--reload. The configuration created by create-react-app watches over your code and recompile whenever you change anything, so you only need to run it once. Then, every change will automatically be reflected.

Here is the result:

basic table

Note that each column has exactly the same width.

Working With Columns

You can control many aspects of the columns. In particular, the column widths can be specified in absolute units,, as percentages, or left unspecified. The column width of unspecified columns is the remainder divided equally. For example, for our basic table, let's specify the columns as follows:

  • first column: 20%
  • first column: 60%
  • first column: 20%

You can also manage the alignment of text and columns as well as the style of headers and columns. Here is an example of how to specify different column widths, text alignment, and custom styles:

The table now looks like this:

column sizing

Styling Your Table

You saw how to style individual columns and headers, but styling can go much further. React Bootstrap Table 2 provides a lot of options for customization. First, you can simply add the striped and hover attributes to the BootstrapTable component to get alternate background colors on each row.

Let's apply the striped and hover properties to our table.

striped table

Check out how you would style different columns with different colors.

colored columns

Table Sort

React Bootstrap Table 2 allows sortable columns. This is done by giving an attribute  of sort: true in the columns definition.

Selecting Rows

Once you have your data in a table, you may want to select some rows to perform some operations on them. React Bootstrap Table 2 provides a wide variety of selection options. All the options are organized in a single object you pass to the component as the selectRow attribute. Here are some of the selection options:

  • single selection mode (radio button)
  • multi-selection mode (checkbox)
  • configurable column selection width
  • select on row click: by default you must click the selector (radio button or checkbox)
  • hide selection column (useful if select on row click is true)
  • change background color on selection
  • initial selected rows
  • selection hooks (on single row or when all rows are selected).

The following components demonstrate many of these options:

edit the table

Other Libraries for Data Tables in React

Lets explore other open-source React table libraries.

react-virtualized

react-virtualized is  perfect for displaying a large amount of data efficiently when rendering large lists and tabular data.

react-virtualized uses a technique called virtual rendering to display extensive data efficiently. Virtual rendering only renders what is visible. For example, if you have a large list that contains a thousand items, react-virtualized will only show a fraction of the data (ones that fit on the screen) at any given moment the ones that fit on the screen) until the user scrolls to show more. Other features include:

  • supports rendering of grids, lists, tables, masonry, and collections
  • ability to auto-resize components
  • ability to display items in reverse order
  • ability to customize CSS classes and styles

react-table

react-table is a  lightweight open-source library that allows for fast and extendable datagrids for React. It also supports hooks. Some of its best features include:

  • highly customizable 
  • supports sorting, filters, row selection, column ordering, and row expansion
  • fully controllable API
  • animatable and virtualizable
  • resizable
  •  

React Data Grid

React Data Grid is another open-source library that uses bootstrap and is perfect for editing tables. It also has a stunning UI. Features include:

  • column sorting, searching, filtering, and grouping
  • ability to edit columns
  • expand columns to show more data

Conclusion

In this tutorial, we created a simple React application using react-create-app, added react-bootstrap-table2, populated a table with data, worked with columns, styled the table, and selected rows. 

In the next part, we'll continue the journey by expanding rows, adding rows, deleting rows, and covering pagination, cell editing, and advanced customization. Stay tuned. 

Best WordPress Support Plugins for 2021

 Having a professional and competent customer support system helps your website stand out from your competition and grab the attention of your potential customers. But building the best customer support for your website requires the right tools.

Thanks to WordPress support plugins you can effortlessly setup a dynamic support system that will offer comprehensive customer support, build trust in your visitors and help grow your business. 

 All in one button with call back request
An example of WordPress Support Plugins available on CodeCanyon

In this article we'll feature a handpicked selection of impressive WordPress support plugins on CodeCanyon. These plugins are designed to help you give your customers the best support by instantly answering their questions. 

Best-Selling WordPress Support Plugins on CodeCanyon in 2021

CodeCanyon is the perfect place to find an amazing range of WordPress support plugins for your website for a low one-time payment. Grab one of these premium WordPress Support plugins and create a lasting impression that will help you turn your visitors into repeat customers.

Topeselling support plugins for WordPress

The best WordPress support plugins offer fast and easy-to-use tools that customers can use to find solutions to their problems. They also offer logical systems for addressing queries. In addition to helping deliver professional support, they also allow for integration with numerous social platforms that customers use for fast communication. 

Best WordPress Support Plugins 

Let us go over some of the best WordPress support plugins on CodeCanyon.

1. FAST—WordPress Support Ticket Plugin

FAST - WordPress Support Ticket Plugin

FAST is a professional support ticket system that is easy for your customers to use. It will give you and your team up-to-the-minute updates using email and Slack notifications. WooCommerce mode allows you to add a support system to your shop. Customers can select the order and product that they need support with as they create a support ticket.

2. SupportEzzy—WordPress Ticket System 

SupportEzzy - WordPress Ticket System

WP SupportEzzy is an elegant support tickets system for WordPress built as a stand-alone VueJs app that runs on a single WordPress page of your website. This app does not interfere with your existing WordPress theme and plugins and will work with any WordPress site.

You can use the app as a part of your existing website or create a new WordPress installation and run this app on a homepage for dedicated support portal.

3. Support Board—WordPress Chat Plugin

Support Board - WordPress Chat Plugin

Support Board is a WordPress plugin that helps you automate your customers’ communication with artificial intelligence-driven bots and a chat system integrated with the most-used platforms. 

Sync your users and structured data automatically. In just a matter of minutes, without a single line of code, the WordPress chat will be ready to use.

It supports multisite websites and multiple languages. You can integrate and communicate with your customers directly in Slack. You can even connect Dialogflow and use rich messages on the fly.

 

4. All-in-One Support Button and Callback Request

All in One Support Button + Callback Request

All-in-One Support Button displays on every page of your site and provides as many contact methods as you want. You can choose what contact methods will be displayed on desktop and mobile versions of your site separately. You can set one link for desktop version and another for mobile.

5. WooCommerce Support Ticket System

WooCommerce Support Ticket System

The WooCommerce Support Ticket System seamlessly integrates into your WooCommerce installation, adding a system to manage user and order support tickets. In this way, the shop admin can easily track and give support for orders and users' issues!

Note: This plugin, like the latest versions of WordPress, requires PHP version 5.5 or higher.

6. WordPress Whatsapp Support 

WordPress Whatsapp Support

More than 1 billion people in over 180 countries use WhatsApp. The WordPress WhatsApp Support plugin provides a better and easier way for visitors and customers to communicate directly with your support team. It runs on your own WordPress site, allowing you full control over your support via WhatsApp.

Fully compatible with WhatsApp Business and regular WhatsApp accounts. Integrates with WooCommerce, WPBakery Page Builder, Dokan, and WPML. 

 7. WordPress Support All-In-One

WordPress All-in-one Support

If you’re looking for an advanced versatile plugin for instant messaging support, look no further. 

The All-in-One Messaging Button will be displayed neatly at the bottom right corner of your page 

  • When clicked or tapped, 7 different IM app buttons will be shown.
  • It’s not only convenient but also encourages your visitors get in touch with you.
  • You get their contacts in your database for later promotion campaigns.

8. Pinky Chat

Pinky Chat is a faster way to quickly handle your customer service, you can talk to your customer in real time over the web. Additionally, you can track analytics for your website, viewing the visitor’s path and geolocation details. Finally, the live chat widget works with any website: static HTML websites, WordPress, OpenCart, Joomla, Drupal, or PHP scripts.

9. ChatBubble—All in One Social Support Floating Button

ChatBubble - All in One Social Support Floating Button

Get in touch with your website visitors and customers directly from your favourite messaging app with the ChatBubble WordPress plugin. It is easy to set up. Just add your social media usernames or phone numbers and you're ready to go. ChatBubble supports more than ten Social Media platforms.

Free Support Plugins for WordPress

If you are on tight budget there are free support plugins with great features that allow you to communicate with your website visitors. However, if you expand, these features may not be able to scale with your business and you might need to consider premium plugins. 

1. WP Support Ticket 

WP Support Ticket

Using this plugin you can create your own customer support system and customers on your website can generate support tickets whenever they require assistance. You solve their issues by posting replies to the tickets. The customers will get email notifications when you post a reply message to the ticket.

2. SupportCandy

Support Candy

This plugin adds to WordPress the features of a complete helpdesk ticket system. Easy to configure and easy to use, it is simply a step ahead when it comes to simplicity, functionality and extensibility. It is translation ready.

3. Awesome Support—WordPress HelpDesk & Support Plugin

Awesome Support

The free version of this plugin is loaded with lots of features that allow you to provide competent support for your customers.

4. KB Support

KB Support

KB Support is the ultimate WordPress plugin for providing support and help-desk services to your customers. It's enriched with features, so you can be sure that right from activation, KB Support will provide the perfect help-desk solution for your agents to support your customers.

The built-in knowledge base allows customers to find solutions to their issues during the ticket submission process, reducing the overall number of support queries received by your help desk.

Get Your WordPress Support Plugin Today!

Finding the right support plugin that helps you solve your customers problems in the best possible way is the first step to building a customer support system for your website. CodeCanyon has just what you need when it comes WordPress Support plugins. 

Topselling support plugins for Wordpress

And while you're here, check out some of our other posts on WordPress and WordPress plugins!

Thursday, December 31, 2020

How to Use Texture, Clarity, Dehaze, Vibrance and Saturation in Adobe Camera Raw

The section of Adobe Camera Raw that includes Texture, Clarity, Dehaze, Vibrance and Saturation can make a big difference to the look of your images. They can also sometimes cause confusion, as some of the sliders appear to perform similar tasks. In this article, we’ll break each down for you so you can better understand their unique functions.

Clarity and Texture

Clarity and Texture are similar but not quite the same. Clarity has been around for a little while in ACR and it adds contrast to your midtones, leaving those tones at the ends of the spectrum untouched.

Clarity set to +100
Clarity set to +100

Texture on the other hand is quite a new addition, added in 2019. Texture is a little like structure in other photo editing applications, it sharpens in one direction and smooths in another. Unlike traditional sharpening features though, it doesn’t target the edges of shapes but instead enhances textures already present and almost mimics a faux HDR effect. When Texture is used on an image with a shallow depth of field for example, it shouldn’t alter your background blur.

Texture set to +100
Texture set to +100

Likewise, in the opposite direction, when the Texture slider is used to smooth, you shouldn’t lose those important details.

Vibrance and Saturation

While Saturation affects colours across your whole image, Vibrance targets just your midtone colours. When you increase the Saturation slider, all the colours across your entire tonal range will be affected, from shadows right up to highlights. If you increase it a lot, it’ll make the colours really strong and gaudy, a little like a cartoon.

Saturation at +100
Saturation at +100

A good way to see the difference between the two is actually to decrease them. If we take Saturation to -100 you can see it removes all of the colour in the image, making it black and white.

Saturation at -100
Saturation at -100

However if Vibrance is decreased to -100 you’re left with an anaemic, muted image, but certainly one that still has some colour present.

Vibrance at -100
Vibrance at -100

Dehaze

To demonstrate Dehaze I’ve switched to a photograph that was taken on quite a misty day with poor visibility.

Dehaze
Dehaze Before and After

You can see that by increasing the Dehaze slider it really brings back details that were getting lost towards the background. You can go too far with Dehaze, and it'll suffer the same tradeoff as other sliders, with 'too bright' colours and being too sharp. Dehaze is also handy if you want to make a misty picture look even more hazy, just drag the slider the opposite way to lose some definition from your background and gradually towards the front depending how far you pull the slider.

Less is More

As with all editing tools, less is often more and you’ll likely find the right balance between each of these sliders to get just the right result for your image. Here’s a before and after image with a more considered use of the options I’ve gone through in this article. There aren’t any other edits - not even basic corrections - so you can see what effect just these particular tools can have.

Balanced Sliders Before and After
Balanced Sliders Before and After

And here's a larger version so you can see the image more clearly and the adjustments that have been made.

Balanced Sliders
Balanced Sliders

If you're using an older version of Adobe Camera Raw, you might find this video helpful.

More Adobe Camera Raw Tutorials