After displaying a Carousel card in Dailogflow, I want to select one of the lists by voice operation - carousel

Tell us about Dailogflow.
In the settings of Intents, it was set to display the Carousel card of GoogleAssistant in the response.
I've been able to display the carousel card, but I want to select one of these cards by voice action and open the URL set for that card.
I couldn't find it in the reference, so please let me know if there is a way to achieve this.
If this is not possible, is there any other way to achieve equivalent content?
I don't have good English.Thank you for reading.

You can use follow up intent. So when you are displaying a list or carousel card and you want to make this selection by click and as well as by user utterance. You have to add two follow up intent one for selection one for text utterance.
consider below example: ShippingOption intent displays a list and that can be selectable as well as get the response by user utterance.
app.js
intentMap.set("shippingOptionIntent", shippingOptionIntent);
intentMap.set("shippingOptionIntent - select", shippingOptionIntentSelect);
intentMap.set("shippingOptionIntentChoose", shippingOptionIntentChoose);
Now set the utterance for followup intent:
Where another followup intent responsible for user selection by clicking on the option. It has the google assistant option event.
So, in this way you can handle both types of responses.

Related

React native picker long list handler

I have a long list of company names need to be displayed in the picker dropdown and it's causing the app to freeze. I am aware of the infinite scroll if it's viewing the content, where you fetch a limited size of the data from the server side and load more as the scroll reach to the bottom. But does it apply the same concept for a dropdown picker?
I am using the library #react-native-picker/picker and considering the behavior of the component I have no idea how to handle it.
I haven't done anything on my codes yet. Currently it's fetching all the listing from the server side and dump all the data in the picker.
usually it's best practice for large select list to create a modal screen which open up by clicking on the selectbox and there you provide a search box on top and show list using FlatList as it's good for large set of data and will not freeze your screen while rendering.
Check out this
This issue 2850 mentioned something may help you and to be clear there was a solution mentioned by M1K3Yio
please check the code using react-window in this link !!

Screen readers unable to read options of `vue-search-select`

I inherited a vuejs project. People using screen readers as assistive devices complain that their screen readers are unable to read the options in drop down menus that were made from vue-search-select. Here is how you can reproduce the issue:
Install a screen reader such as NVDA.
Turn on NVDA screen reader.
Go to https://vue-search-select.netlify.app/#/model
Tab to a search text field.
Confirm drop down of results appear.
Press the down arrow key to focus on any of the search result items.
Confirm the NVDA says the word "Blank" instead of actually reading out the contents of the selected item.
Here is a 10 second clip to that demonstrates steps 3 of 7.
https://www.youtube.com/watch?v=Nxx1k1oKETI
How do you modify vue-search-select such that in step 7, the screen reader will read out the contents of the selected item instead of reading out the word "Blank"?
Right now, as a temporary solution, I'm trying to write a setTimeout function that will automatically add the appropriate meta data to force screen readers to read out the content. But I'm not sure how successful this approach will be. I prefer an approach that is idiomatic to vue-search-select.
I tried adding a customAttr like so:
<model-select :custom-attr="ariaAttrs" />
function ariaAttrs() {
return function() { return '" aria-label="hello" tabindex="0'; }
}
Although the attributes do appear in my developer console's inspector, my screen reader still does not read out the options.
It seems custom-attr will not help you as it does not allow you to add any attr you want - anything the function returns is just placed as a value of data-vss-custom-attr attribute
Any decent Vue library with similar functionality would offer a slot to customize rendering of menu items, but this does not. Plus it doesn't seem to be maintained for a long time so maybe it is a time to look for an alternative....

Google Optimize test with universal Analytics

I'm using Google Optimize with Analytics (UA).
I've made a couple of simple tests with succes but now I'm a little clueless how make to following test:
On a category-page we have an overview of products. The case is that I would like to know if the click-throughs to a product-detail are the same if I remove the button... (image & title are still clickable).
If anyone can put me in the right direction how to test this, it would be highly appreciated! :)
BTW: it must be a/b test, not a multi-variation...
first in your variant code you can remove these buttons (if you are developer is easy with JS in Global JS).
Second you have to check if all links in the card are measured, when title, image or button are clicked must be send an event to Google Analytics.
Third, you have to use this event as primary goal, you can create a custom goal with its action, category and label.

Shopify - is it possible to change the preview of a product with a inputbox?

Which ways are possible to edit the live preview of the product page in Shopify with Inputboxes next to it?
Let's say the product is a poster, and i want to add a custom text on it.
When typing into the inputbox the text changes in real time on the product.
Can this be implemented in the shopify code with the basic version of shopify?
Or does this necessarily needs an app?
ADDITIONALLY:
Let me go a bit deeper. I have a code that can generate a QR code.
Now i want that the QR code to be previewed in the product. Now position and color of the QR code is different from any product. Would that need an app?
Yes you can to an extent.
First the ground rules:
You can't modify the product from the front-end and update the content or media in the back-end - this would be a huge security hole
The changes applied to the product will be visible only to the user who changed them
The solution is to use Javascript and update the content of the front-end. If you like to store the changes for that specific user you can save them as cookie or localstorage.
If you like to share this change to other people you will need to add a custom parameter in the URL of the page and generate the content from it and share that url.
Each one of these steps will require some custom Javascript that will affect only the user in question, if you like to modify the product in the back-end directly you will need some kind of an app for this.
On my mind it can be done if the dynamic text is applied over product image.
Detailed code would be too long to write here but here are the steps:
Add an input to your product form to add a custom property (https://community.shopify.com/c/Shopify-Design/Product-pages-Get-customization-information-for-products/td-p/616503)
Write a Javascript function to get input value in real time
Use this value to display it in a div in product image container
Position this div in CSS as absolute and style it as you wish
While image container position should be set as relative in CSS
HTH

How to deactivate facebook share button after click

is there some way to deactivate FB share button or mark it like "done" after sharinig content? Like button have two states which indicates if I "like" it or not. On the share button is not visible if I shared the content or not. Is there a way to do it?
Thanks.
The only way i could think of is by authorizing a user with publish_actions. In that case, the response will be the new post id, as you can read in the docs: https://developers.facebook.com/docs/sharing/reference/share-dialog
BUT: You should not do something like that anyway. Let the user share stuff several times if he wants to. He may want to select different recipients for the share.