Okay
  Public Ticket #2163805
Tech Support
Closed

Comments

  • Paul Thomson started the conversation

    Good afternoon,

    I've recently purchased your plugin and was wondering whether you could help me on a few issues I'm having.

    Would apprecite it if you went through each one individually.

    My website for reference: https://www.cbdhaystack.com

    1) Your average function doesn't work on integer columns when no values are present. Shouldn't empty cells be treated as 0 values?

    2) Checkbox filtering doesn't seem to be working as expected on any columns it's active on. It returns an array of checkbox values per checkbox filter value as opposed to filtering each item individually. View my website to make sense of this, 'Products' or 'CBD Oil Characteristics' are examples of issues.

    3) How do I add a scrollbar to the top of the data table as well as having one at the bottom? It makes sense to do that as the filters are also at the top. Otherwise, if you have more than 5 values, you have to scroll to the bottom to scroll accross which means you can no longer see the table headers if you have over 5 values or so.

    4) Is there a way to fix the table headers so you can see them at all times when scrolling through the data?

    5) The column order isn't saved if you modify the SQL statement (even slightly by adding one more custom field to the query). This means you have to reorganise your entire table again! Not a great exercise. Could you please fix or provide a way to export/import column orders.

    6) When filtering a column using the number range filter, if you type in your initial parameters, filter works fine, then if you use the arrow buttons to increase or decrese values, the table doesn't update correctly to reflect the new filter values. It only seems to work with keyboard input. Making the plus/minus arrows obselete. Is this a bug? Otherwise, please can you remove the arrows as they are then irrelevant and add confusion to visitors.

    7) In the multi-select filter box, there is always a blank box which can be selected even when all rows have a value assigned. Why is this? Not required.

    8) Columns seem to be of a minimum fixed width when scrollbar enabled, even when there are small amounts of text in the column headers or data. Column width in this case should ideally wrap text to save horizontal space. The 'Rank' field for example, on my website, takes up a huge amount of space for a very narrow column.

    9) Is there a way to wrap longer pieces of text in single cells WHEN USING THE HORIZONTAL SCROLLBAR?

    10) When filtering tables with a lot of columns via the 'Columns' visibility button, the checkbox options are in one big list. They would be better displayed either in a modal window or a drop down list that spanned several columns so as to save the visitor from scrolling half way down the page. Is there a work-around for this?

    Thank you for taking a look at these issues for me.

    Regards,
    Paul

  •  2,572
    Aleksandar replied

    Hello Paul

    Thank you for your purchase.

    1. Exactly right. If there is an empty row in an Integer column, it will be treated as "0". So if you have the following entries: 10, 5, 6, NULL, the SUM will be 21, and average 5.25 (21/4). Changing this logic could be done with some custom work, which is not included in the support of the plugin, but if you need this feature let me know, and I'll see with one of my developers if it can be done for you.

    2. I cannot get the check-box filter to work on your website. I get a console error:

    TypeError: Cannot read property 'value' of null
     /wp-content/plugins/wpdatatables/assets/js/wpdatatables/wdt.frontend.min.js?ver=2.6.1:55
    

    Please update the plugin to v.2.7.1 and let me know if the issue is resolved. Also, is the filter working in back-end? When you select a check-box, it should filter the table by that value, and when you add other check-boxes, it brings up those new rows as well. It is looking at row values, not individual values in the cell.

    wpDataTables is a WYSIWYG (What You See Is What You Get) concept based plugin. This means that the table should look the same both in back-end and in front-end. If your front-end table looks and behaves differently than in back-end, this usually implies that there is another plugin (or the current theme) that's changing the behavior of our plugin.

    3. This may probably be done with some custom work, but I can offer another workaround which would fix the scroll on the bottom of the page, like this:

    9480825873.png

    So, no matter how many rows are displayed on the page, the scroll bar will always be present on the bottom. To do this, simply add the following CSS in Custom CSS field in main settings of wpDataTables/Custom JS and CSS:

    .wpdt-c .wdtscroll {
    overflow-x: visible !important;
    }
    

    4. Unfortunately, at the moment this feature is not available with plugin's built in features. This is kind of a sensitive feature, because a lot of themes use the same logic, and we've had some issues with that when we first started to work on the feature. It was dropped for the time being, and it is up to the management to decide whether it is going to kick off again.

    5. This shouldn't be happening. If you create a table using an SQL query, and use the "Complete Column List" (yellow) button to rearrange the columns, if you change the query, it should stay in the same order. Again, this could be linked to a conflict with something else.

    6. When you use arrows, you need to hit "Enter" to apply the changes. It isn't filtering dynamically, like when you type in the numbers. That is the way this filter works, and you are correct - we will work on fixing that for one of our next updates. Removing those arrows would be considered customization. Please tell me if you still need it removed after the info that they require "Enter"?

    7. This is done because the default number of values is set to "10" in column settings. If you go to the column's settings, navigate to "Data" tab, change the "Number of possible values to load" to "All", and that will disappear.

    8. The column width shouldn't be fixed when you have Horizontal scroll enabled, and they aren't on your page:

    2483150877.png

    However, if the "Rank" column would reach a big number (10.000 for example), the column would expand in width to fit that many characters.

    9. I see you already managed to wrap the text in headers. Did you do it with CSS?

    10. Unfortunately, no. They are displayed in a list, and changing this would require changing the logic of the plugin - custom work.

    Best regards.

    Kind Regards, 

    Aleksandar Vuković
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  •   Paul Thomson replied privately
  •  2,572
    Aleksandar replied

    Hello again Paul.

    You're welcome, of course.

    2. I see this is an SQL-query based table, and filters sometimes don't work with queries a bit more complicated (like yours). This is why you had to disable server-side processing, because the filters didn't work when you enable server-side, correct? This is probably happening because wpDataTables server has problems parsing the query and building new queries dynamically (rarely happens, but does sometimes). To avoid this please prepare a MySQL view (a stored query), which will return the data that you need, call it e.g. “view1” and then build a wpDataTables based on a simple query like “SELECT * FROM view1″.

    Please note some this when working with the server-side processing feature:

    • Please do not use “LIMIT” in the SELECT statement. wpDataTables adds it automatically and it will be overridden.
    • Please do not use “ORDER BY” in the SELECT statement. wpDataTables has its own sorting engine so it makes no sense to use MySQL’s sorting, since it will be overridden. Also, server-side processing feature adds this part of statement automatically when users trigger the sorting on the front-end, and having it in initial statement may cause the table to crash.

    4. You're not the first one who asked for this, and it has been added to our "To-do" list.

    5. falls under the same issue as 2. - server has problems parsing the query, and it just resets, so it doesn't store the order of the columns. This should also be resolved with a view.

    6. Unfortunately this is being pulled from the Bootstrap library, and is a dynamic element, which cannot be hidden using CSS, or modifying our code. It can probably be done as a custom solution, though. I'll get to that in a sec.

    3. 6. and 10. Our developers are very busy at the moment, working on some priority tasks and fixing bugs and issues with our plugins, so they won't be having the time for custom work in near future.

    But we can recommend these services for customization:

    https://codeable.io/?ref=l1TW1

    https://wpkraken.io/?tms-plugins

    They do develop such solutions, so can you please send your inquiry to them?

     Best regards.

    Kind Regards, 

    Aleksandar Vuković
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  • Paul Thomson replied

    Hi Alexander,

    Thanks again for the quick and comprehensive response.

    1) Yes, I did have to disable server-side processing because it wasn't working, but for me that was not too much of an issue.

    Could you please provide me with a basic example of preparing a MySQL view and accompanying query which will work on my database. I have very little experience in MySQL and purchased this plugin to help get the results which I wanted with little in the way of coding, which I believe I am close to getting...?

    Thanks for providing links to the developers you recommend.

    If you can get back to me with an example or two of a working MySQL view statement thing, I'll work from there and see how far I can get before drafting in external help.

    Thanks,
    Paul

  •  2,572
    Aleksandar replied

    Hello again Paul.

    It's quite simple. You copy the entire query from wpDataTables query window, then open the database (PHPMyAdmin), go to SQL and type:

    CREATE VIEW view1 AS

    And after that just paste the query you copied from wpDataTables.

    So, specifically for your table, it'd look like this:

    CREATE VIEW view1 AS SELECT wp_business_info.`id`,
           wp_business_info.`post_id`,
           wp_business_info.`logo_contact_info_business_name`,
           wp_business_info.`logo_contact_info_logo_2`,
           wp_business_info.`logo_contact_info_website`,
           wp_business_info.`logo_contact_info_email`,
           wp_business_info.`logo_contact_info_telephone_number`,
           wp_business_info.`incorporation_data_year_incorporated`,
           wp_business_info.`incorporation_data_director_names`,
           wp_business_info.`incorporation_data_country`,
           wp_business_info.`incorporation_data_usa_state`,
           wp_business_info.`incorporation_data_headquarters_address`,
           wp_business_info.`additional_company_info_employee_owned`,
           wp_business_info.`additional_company_info_transparent_business_practices`,
           wp_business_info.`additional_company_info_affiliate_programme`,
           wp_business_info.`additional_company_info_assistant_programmes`,
           wp_business_info.`additional_company_info_loyalty_reward_programme`,
           wp_business_info.`additional_company_info_wholesale_discounts`,
           wp_manufacturing_lab_analysis.`id`,
           wp_manufacturing_lab_analysis.`post_id`,
           wp_manufacturing_lab_analysis.`manufacturing_manufacturer_reseller`,
           wp_manufacturing_lab_analysis.`manufacturing_organic`,
           wp_manufacturing_lab_analysis.`manufacturing_extraction_method`,
           wp_manufacturing_lab_analysis.`manufacturing_hemp_origin`,
           wp_manufacturing_lab_analysis.`lab_analysis_published_lab_reports`,
           wp_manufacturing_lab_analysis.`lab_analysis_company_lab_test_url`,
           wp_manufacturing_lab_analysis.`lab_analysis_cbd_haystack_verified_lab_tests`,
           wp_manufacturing_lab_analysis.`lab_analysis_accurate_lab_results`,
           wp_website_support_shipping.`id`,
           wp_website_support_shipping.`post_id`,
           wp_website_support_shipping.`website_website_performance`,
           wp_website_support_shipping.`website_website_design`,
           wp_website_support_shipping.`website_website_ease_of_use`,
           wp_website_support_shipping.`website_website_supporting_content`,
           wp_website_support_shipping.`payments_brand_website_payments_accepted`,
           wp_website_support_shipping.`payments_brand_website_brand_rating`,
           wp_website_support_shipping.`customer_support_customer_service`,
           wp_website_support_shipping.`customer_support_email_response_time`,
           wp_website_support_shipping.`shipping_worldwide_shipping`,
           wp_website_support_shipping.`shipping_return_policy`,
           wp_products.`product_quality_value_max_potency_copy`,
           wp_products.`product_quality_value_product_diversity`,
           wp_products.`cbd_oil_characteristics`,
           wp_products.`product_line`,
           wp_products.`product_quality_value_max_potency_copy`,
           wp_products.`product_quality_value_product_diversity`,
           wp_products.`product_quality_value_price_bracket`,
           wp_products.`product_quality_value_guarantee_info`,
           wp_products.`cbd_oil_characteristics`,
           wp_products.`cbd_oil_taste`,
           wp_products.`cbd_oil_price_mg_cbd`,
           wp_products.`cbd_oil_thc_levels_mg_g`,
           wp_products.`cbd_eliquid_vape_vg_content`,
           wp_products.`cbd_eliquid_vape_pg_content_copy`,
           wp_reputation_review.`social_signals_facebook_url`,
           wp_reputation_review.`social_signals_twitter_url`,
           wp_reputation_review.`social_signals_instagram_url`,
           wp_reputation_review.`linkedin_profile`,
           wp_reputation_review.`reputation_trustpilot_url`,
           wp_reputation_review.`reputation_google_review_url`,
           wp_reputation_review.`cbd_haystack_review_trust_score`,
           wp_reputation_review.`cbd_haystack_review_rank`,
           wp_reputation_review.`cbd_haystack_review_discount_code`,
           wp_reputation_review.`other_notes`
    FROM wp_business_info
      LEFT JOIN wp_manufacturing_lab_analysis
         ON wp_business_info.`post_id` = wp_manufacturing_lab_analysis.`post_id`
      LEFT JOIN wp_website_support_shipping
         ON wp_manufacturing_lab_analysis.`post_id` = wp_website_support_shipping.`post_id`
      LEFT JOIN wp_products
         ON wp_website_support_shipping.`post_id` = wp_products.`post_id`
      LEFT JOIN wp_reputation_review
         ON wp_products.`post_id` = wp_reputation_review.`post_id`
      LEFT JOIN wp_posts
         ON wp_posts.`post_type` = 'supplier'
         AND wp_reputation_review.`post_id` = wp_posts.`ID`

    Then, create a new SQL query based table in wpDataTables, and type in:

    SELECT * FROM view1

    Best regards.

    Kind Regards, 

    Aleksandar Vuković
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  • Paul Thomson replied

    Hello Alexander,

    Thanks for this.

    I have however just tried making a new SQL table, with the following SQL query to test the check-box display/filtering issue.

    SELECT wp_products.`product_line`
    FROM wp_products

    The result I'm getting is still the same, checkbox fields remain unfilterable and display as arrays on the front-end (and backend), so something is definitely a foot.

    Same issue when disabling all plugins.

    Could you please take a look, login details same as ones provided in the private message I sent you.

    Regards,

    Paul

  •  2,572
    Aleksandar replied

    Hello again Paul.

    You don't actually need the database name, when you're just calling the one table from it.

    I logged in and checked [wpdatatable id=11], but Search and Filtering works fine.

    The filter works per values in cells, and the query returns an array, so that is how it's going to be displayed and sorted.

    4549519677.png

    I believe the main issue here is that the results are being displayed in an array, correct?

    If that is true, it cannot be resolved with filtering, because the table sees the data as it is inserted in the database, and if you take a look there, you'll see that each row has all these values exactly the same there.

    You would need to create a custom Query that would pull this information from the column, and add them like individual values.

    There's some information about how to unserialize the data here, but please note that preparing MySQL queries for you is not included in the plugin support.

    Best regards.

    Kind Regards, 

    Aleksandar Vuković
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  • Leon Rutten replied

    Hi,


    found this thread because of this problem: 

    7) In the multi-select filter box, there is always a blank box which can be selected even when all rows have a value assigned. Why is this? Not required.

    Which basically goes for any type of select. It keeps popping up the empyy ('Select all") option. 


    You suggest this for solution:

    7. This is done because the default number of values is set to "10" in column settings. If you go to the column's settings, navigate to "Data" tab, change the "Number of possible values to load" to "All", and that will disappear.


    But that doesnt change a thing. Please advice. 


    Thanks, L


  •  2,572
    Aleksandar replied

    Hello Leon

    Please verify that you're editing Column Settings/Data tab, not the "Display" tab above the table.

    If you can verify this, and still have the issue, I'm going to have to remote in and take a look.

    So, if that's the case, please open a new private ticket, where you can share the log-in credentials with me.

    We do not interfere with any data or anything else except for the plugin (in case that’s a production version of the site), and of course we do not provide login data to third party.

    Kind Regards, 

    Aleksandar Vuković
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables