Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
153185 stories
·
33 followers

Ready to review some changes but not others? Try using Play Console’s new Save for later feature

1 Share

Posted by Georgia Doyle, Senior UX Writer and Content Designer, and Kanu Tibrewal, Software Engineer



We’ve launched a new Save for later feature on Google Play Console’s Publishing overview to give you more control over when you send changes for review. 


In the past, changes to your app were bundled together before being sent for review. This presented challenges if you needed to reprioritize changes, or if the changes were no longer relevant. For example, updates to your test tracks grouped with marketing changes that need to be rescheduled. This lack of flexibility meant that if some changes were ready for review but not others, you could end up delaying urgent fixes, or publishing changes that you weren’t quite ready to make.

Now, you have the ability to hold back the changes you’re not ready to have reviewed.

How it works

In the 'Changes not yet sent for review' section of the Publishing overview page, select ‘Save for later’ on the groups of changes that you don’t want to include in your next review. You can view and edit the list of saved changes, and return them to the Publishing overview if you change your mind. Once the review has started, your saved changes will be added back to ‘Changes not yet sent for review’.


Integration with our pre-review checks


Save for later also works with our pre-review checks. Pre-review checks look for issues in your changes that may prevent your app from being published, so that you can fix them before you send changes for review. If checks find issues with your app, there are two ways you can proceed:

  • If issues are isolated to an individual track, we’ll show you an error beside that change, so you know what to save for later in order to proceed to review with your other changes.
  • If you have issues that affect your whole app, for example, App content issues, Save for later will be unavailable and you will need to fix them before you can send any changes for review.

Greater flexibility in your workflows

Our goal for Save for later is to give you greater flexibility over your release schedule. With this feature you can manage what changes you send for review, and address issues affecting individual tracks without holding up ready-to-release changes, so you can iterate faster and minimize the impact of rejections on your release timeline.

So, what's next?

We're committed to continuously improving your publishing experience. Save for later is a significant step towards providing you with more granular control over this all-important stage in the journey to publishing your app. We'll continue to gather your feedback and look at ways we can provide greater flexibility to the review and publishing process.

We're excited to see how Save for later helps you to streamline your release process and bring your app innovations to users even faster.

Read the whole story
alvinashcraft
just a second ago
reply
Pennsylvania, USA
Share this story
Delete

Notepad and Paint updates begin rolling out to Windows Insiders

1 Share
Hello Windows Insiders, today we are beginning to roll out updates for Notepad and Paint apps to Windows Insiders in the Canary and Dev Channels on Windows 11.

Notepad (version 11.2512.10.0)

In this update, we’re introducing multiple improvements to Notepad. First, we are expanding support of lightweight formatting to include additional Markdown syntax features. This includes strikethrough formatting and nested lists. To get started, explore these new options in the formatting toolbar, keyboard shortcuts, or by editing the Markdown syntax directly. [caption id="attachment_178546" align="alignnone" width="956"]Notepad app screenshot of a nested list and strikethrough formatted created using the Increase indent command. Notepad app screenshot of a nested list and strikethrough formatted created using the Increase indent command.[/caption] We are also introducing a new welcome experience in Notepad designed to help users discover and learn about the app’s latest and most useful features. This dialog provides a quick overview of what’s possible in Notepad and serves as a helpful starting point for both new and returning users. You can close it anytime and revisit it later by clicking the megaphone icon in the top-right corner of the toolbar. [caption id="attachment_178547" align="alignnone" width="1024"]Notepad app screenshot of the updated “What’s New” first run experience. Notepad app screenshot of the updated “What’s New” first run experience.[/caption] Finally, we are expanding support for streaming results for AI text features. Whether generated locally or in the cloud, results for Write, Rewrite, and Summarize will start to appear quicker without the need to wait for the full response, providing a preview sooner that you can interact with. To use Write, Rewrite, and Summarize in Notepad, you will need to sign in with your Microsoft account. FEEDBACK: Please file feedback in Feedback Hub (WIN + F)under Apps > Notepad.

Paint (version 11.2512.191.0) 

In this update, we’re introducing two new features to Paint, Coloring book and fill tolerance slider. Coloring book, an AI-powered feature that lets you create unique coloring book pages from a text prompt. To get started, open Paint and select the Coloring book option from the Copilot menu. Once the side panel is open, type in a description of the coloring book you want to create, like “a cute fluffy cat on a donut” or "a house with a garden and fence" and hit the Generate button. Paint will then generate a set of unique coloring book pages based on your prompt. Once the coloring book pages are generated, you can click on any one of them to Add to canvas, copy, or save it for later use. [caption id="attachment_178548" align="alignnone" width="1024"]Paint app showing a cat on a donut coloring book page. Paint app showing a cat on a donut coloring book page.[/caption] Coloring book will be available only on Copilot+ PCs. To use Coloring book, you will need to sign in with your Microsoft account. We’re also adding a fill tolerance slider, giving you control over how precisely the Fill tool applies color. To get started, select the Fill tool and use the slider on the left side of the canvas to adjust the tolerance to your desired level. Experiment with different tolerance settings to achieve clean fills or creative effects. [caption id="attachment_178550" align="alignnone" width="1024"]Paint app showing Fill tool with tolerance set to 8% versus 18%. Paint app showing Fill tool with tolerance set to 8% versus 18%.[/caption] FEEDBACK: Please file feedback in Feedback Hub (WIN + F)under Apps > Paint. As always, we love getting feedback from the community and we will be looking out for your thoughts and suggestions on these updates! Thanks, Dave Grochocki, Principal Group Product Manager – Windows Inbox Apps
Read the whole story
alvinashcraft
21 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Programmatically Turning Off the Screen

1 Share

I sometimes work on systems that control displays that run for most of the day. But there are “quiet hours” during which those screens show no content, and we would rather them be turned off. Having some downtime saves on resources, including the life of the display. The way this is handled differs from one solution to another. Sometimes we use third-party hardware to control the screens according to a schedule. Other times, we might enter the schedule into the display settings. I’m working on a solution that is a bit more varied from day-to-day. The schedule options don’t work here.

I want a display to turn on at the start of the day and turn off a little after sunset. Calculating the time of sunrise and sunset is pretty easy. I keep a web app on GitHub just for that purpose (Note: since sunrise time is location dependent, this webapp will ask for permission to use your location). The challenge is how do I tell the screen to turn on and off. Ideally, I would use HDMI-CEC. This is the protocol that you see used in many consumer devices (such as a PlayStation or Chromecast) to turn a television on and change the input. Unfortunately, HDMI-CEC is not generally supported by computer video cards. That’s not an option. But many displays have an option to turn off when there is no video signal and to turn on when one is received. An achievable approach would be to have the computer to simply turn off its HDMI output.

On Windows, we can achieve this with a single API call to SendMessage(). The SendMessage() is used by a broad range of Windows components for communicating with each other and invoking functionality. The first argument to this function is a handle for the window that the message is to be sent to. The window handle constant HWND_BROADCAST sends a message to all top-level windows. It also can be used to send messages to the system itself. There are three other parameters in SendMessage(). It also takes the command for the message and two parameters. The command that we need to turn the display off is WM_SYSCOMMAND. This means that we want to execute a system command. The third parameter identifies which command that we want to invoke. In our case, it is SC_MONITORPOWER (System Command Monitor Power). The by the value passed in the fourth position, the command can tell the display output to turn on (-1), off(2), or sleep mode(1).

Using this command, I can turn the display off. It will turn back on if the mouse is moved or a key on the keyboard is pressed. Using the command to turn back on is a bit different. For my scenario, the computers reboot daily at least an hour before they are needed. This is enough to turn the display back on. I’ve tried making the function call with the parameter to turn the display on. But the result varies. I’ve had better success if I make the system call that makes the system process a keyboard input or mouse movement. You would think that the SendMessage() call could be used for this purpose too. You would only use that function to send a key press message to a specific window. To have the system act as though there were a user input I need to use the SendInput() function. A mouse move input is the safest input to generate. Key input might activate functionality in applications that one might not intend to invoke.

INPUT input = { 0 };
input.type = INPUT_MOUSE;
input.mi.dx = 10;
input.mi.dy = 10;
input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE;
if (SendInput(1, &input, sizeof(INPUT)) == 0)
{
	std::wcerr << L"Error sending mouse move input to wake up the screen. Error code: 0x" << std::hex << GetLastError() << std::endl;
}

The source code and compiled binaries for this program can be found on my GitHub page in this repository. I’ve made a command line utility that takes a single argument. The value of the argument can be on, off, or sleep. I suggest **not** running it on a laptop. When I tried these commands on a laptop I got unusual results. They may generally work better on computers that use external displays.


Posts may contain products with affiliate links. When you make purchases using these links, we receive a small commission at no extra cost to you. Thank you for your support.

Mastodon: @j2inet@masto.ai
Instagram: @j2inet
Facebook: @j2inet
YouTube: @j2inet
Telegram: j2inet
Bluesky: @j2i.net





Read the whole story
alvinashcraft
30 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

January Xbox Update: Xbox Expands to Arm-based PCs, Game Save Sync Indicator, and More

1 Share

January Xbox Update: Xbox Expands to Arm-based PCs, Game Save Sync Indicator, and More

ARM Laptop Asset

Starting the new year, we have some new updates to help expand and improve how you play Xbox games. This includes adding the Xbox PC app to Arm-based Windows 11 PCs, rolling out a highly demanded Game Save Sync Indicator to PC and handheld devices so you can more easily track your gaming status on multiple devices, and partnering to include cloud gaming on Hisense and V homeOS-powered Smart TVs so you can stream and play your favorite Game Pass titles directly from your TV. Read more about these including new game additions, below.

Xbox PC App Experience Expands to Arm-based Windows 11 PCs

We’re excited to share that the Xbox PC app experience is expanding support to Arm-based Windows 11 PCs.

Now you can download titles from the Xbox PC app catalog to unlock more games to play locally on Arm-based Windows 11 PCs. This includes all the titles offered through your Xbox Game Pass subscription.

More devices. More flexibility. Same great Xbox experience – wherever you play. Learn more about this new addition here.

Game Save Sync Indicator Is Now Live

We’re rolling out a feature you’ve been asking for: the Game Save Sync Indicator is now available across PC and handheld experiences.

This player-first feature gives you real-time visibility into your cloud save status, so you’ll always know when your gameplay progress is synced. Whether you’re wrapping up on your PC or powering down your handheld, you can hit the road with confidence.

No more guesswork. No more lost progress. Just seamless, stress-free play across devices, wherever your travels take you.

Xbox Cloud Gaming Coming to Select Hisense and V homeOS Smart TVs

At CES, Xbox teamed up with V (formerly VIDAA) to announce that the Xbox app is coming to select Hisense and V homeOS-powered Smart TVs in 2026. This partnership means more ways to play, giving you the freedom to jump into your favorite games on even more devices.

Soon, Xbox Game Pass subscribers will be able to stream hundreds of games directly through the Xbox app on supported TVs via Xbox Cloud Gaming.

Learn more about this exciting update here.

Game Additions

Handheld Compatibility Program – Optimizing Play for Players

The Handheld Compatibility Program makes it easier for you to identify which games are optimized for handheld play. This update is now visible on product detail pages across all Windows devices and featured in the handheld compatible channel on Home on supported Windows handhelds. Recently, the following games were added to the program:

  • Arc Raiders (Mostly Compatible)
  • Clair Obscur: Expedition 33 (Handheld Optimized)
  • Dave the Diver (Handheld Optimized)
  • Fallout 4: Anniversary Edition (Handheld Optimized)
  • Final Fantasy VII Remake Intergrade (Mostly Compatible)
  • Marvel Cosmic Invasion (Handheld Optimized)
  • Octopath Traveler 0 (Mostly Compatible)
  • The Outer Worlds 2 (Handheld Optimized)
  • Red Dead Redemption (Mostly Compatible)
  • Silent Hill 2 (Handheld Optimized)

Xbox Play Anywhere – Buy once, play anywhere

Over 1,000 games now support Xbox Play Anywhere, making it easier than ever to switch between PC, console, and supported handhelds at no extra cost to you. Jump into games like Octopath Traveler 0 and The Finals now. Your progress travels with you, including saves, add-ons, and achievements. Just sign in with your Xbox account on any device and pick up right where you left off.

These are the games added to the Xbox Play Anywhere collection in December:

  • Abyss DX
  • A Game About Digging A Hole
  • Brok: Natal Tail, A New Christmas Special
  • Brok: The Brawl Bar
  • Buffet Boss
  • Christmas Mutilator
  • Coloring Book
  • Cup Heroes
  • Cyberpunk Hacker
  • Detective – Rainy Night
  • Dimensions: The Catalyst
  • Dome Keeper
  • Dunjungle
  • Fast Food Master 2025
  • The Finals
  • Frogo Deluxe
  • Jellycar Worlds
  • The Legend of Princess Lyria
  • Marvel Cosmic Invasion
  • Montezuma’s Revenge – The 40th Anniversary Edition
  • Octopath Traveler 0
  • Oddsparks: An Automation Adventure – Ultimate Edition
  • Pinball Jam
  • Portal Balls
  • Potions: A Curious Tale
  • Puzzle Galaxy Xbox Edition
  • Recipe of Love
  • Rhythm Doctor
  • Routine
  • Slimeboo
  • Snaky Snakes
  • Space Elite Force II – Reloaded
  • Stacky Dash
  • SpotCat vs The Cheddar Mafia Back To Past
  • Talisman: Digital 5th Edition
  • Thank Goodness You’re Here!
  • Treasure Drop
  • Uboat Attack
  • Wylde Flowers
  • Yakuza: Shadows of New York

Check out the full list of available games that players can enjoy anywhere.

Stream your own game – Over 1000 games

We’re continuing to grow the Stream your own game collection in Xbox Cloud Gaming. Xbox Game Pass Ultimate, Premium, and Essential subscribers can now stream from a library of 1000+ games they own, across supported devices. That includes titles like Final Fantasy VII Remake Intergrade andResident Evil Village.

More games, more flexibility, and more ways to play – wherever you may be.

Recently added:

  • Don’t Starve Together: Console Edition
  • Farming Simulator 19
  • Final Fantasy VII Remake Intergrade
  • Guilty Gear -Strive-
  • I Am Future: Cozy Apocalypse Survival
  • Just Cause 3
  • Little Nightmares III
  • Mio: Memories in Orbit
  • Planet Coaster: Console Edition
  • Resident Evil Village
  • …and many more!

Coming soon:

  • Dead Island Definitive Edition
  • Jurassic World Evolution
  • Killing Floor 2
  • Middle-earth: Shadow of Mordor – Game of the Year Edition
  • …and many more!

Check out the full list of cloud-playable games available to stream on supported devices here. For more information on Stream your own game, learn more here.

Retro Classics has 100+ games   

Great games deserve to stick around, and we’re making sure they do. Xbox and Antstream Arcade are bringing retro favorites to modern devices with Retro Classics available on Game Pass, so players can keep enjoying the classics. With over 1 million players already diving into Retro Classics, here’s a look at the titles that are coming soon to Retro Classics:

  • Sky Patrol
  • Keystone Kapers
  • Laser Gates
  • Rise of the Dragon

Xbox Game Pass subscribers can join weekly tournaments, take on community challenges and enjoy a growing library of Activision and Blizzard games with the Retro Classics collection of over 100 titles and more to come over time. Click here for more information on Retro Classics.

Xbox adds mouse and keyboard for more games

Xbox supports the use of wired USB mice and keyboards for navigation in select games and apps, as well as across Xbox and Windows devices.

Today, there are 230+ games with touch controls available on cloud, giving you more ways to play than ever before.

Here are the latest titles added this month for mouse and keyboard:

  • Kentum
  • Easy Red 2
  • Little Rocket Lab
  • Bratz Rhythm & Style
  • The Outer Worlds 2
  • Pacific Drive
  • Detechtive 2112
  • Routine
  • Prince of Persia: The Lost Crown
  • Silver Nornir

For support on setting up devices, see here for more details.

Help Shape the Future of Xbox

Stay tuned to Xbox Wire for future updates and the latest and greatest Xbox news. For support related to Xbox updates, visit the official Xbox Support site.

We love hearing from the community, whether it’s a new feature idea or feedback on something we can improve upon. Xbox is always evolving, and your input helps shape what’s next. If you’d like to help create the future of Xbox and get early access to new features, join the Xbox Insider Program today by downloading the Xbox Insider Hub for Xbox Series X|S & Xbox One or Windows PC.

Happy gaming!

The post January Xbox Update: Xbox Expands to Arm-based PCs, Game Save Sync Indicator, and More appeared first on Xbox Wire.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Xbox App Now Available on Arm-based Windows 11 PCs

1 Share

The post Xbox App Now Available on Arm-based Windows 11 PCs appeared first on Xbox Wire.

Read the whole story
alvinashcraft
2 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Exploring the AI-Powered KendoReact Smart Grid

1 Share

The KendoReact SmartGrid brings AI prompting capabilities to your favorite enterprise-grade component.

Working with large datasets in web applications can involve repetitive tasks, such as manually configuring filters, setting sorting rules or grouping data in multiple ways to find the information you need. While traditional data grids (like the Progress KendoReact Data Grid) provide the tools to accomplish these operations, they require users to understand the grid’s interface and manually configure each step of each operation.

What if our data grid could understand natural language commands? What if we could ask it to “show only failed transactions over $500” or “group customers by region and sort by revenue”? This is exactly what the new KendoReact SmartGrid offers.

KendoReact SmartGrid

The KendoReact SmartGrid enhances the traditional KendoReact DataGrid with AI-powered capabilities that enable users to interact with data using natural language. Instead of clicking through menus and manually configuring filters, users can describe what they want to see, and the AI assistant translates those requests into grid operations.

The SmartGrid maintains all the powerful features of the standard grid (sorting, filtering, grouping, etc.) while adding an intelligent layer that interprets user intent and automatically applies the appropriate data operations.

Let’s start with a basic implementation to see the SmartGrid in action:

import * as React from 'react';
import {
  Grid,
  GridColumn,
  GridToolbar,
  GridToolbarAIAssistant,
} from '@progress/kendo-react-grid';
import { filterIcon } from '@progress/kendo-svg-icons';

const App = () => {
  const transactions = [
    {
      id: 1,
      customerName: 'Acme Corp',
      amount: 1250.0,
      currency: 'USD',
      status: 'Completed',
      transType: 'Deposit',
      transDate: new Date('2024-10-15'),
    },
    {
      id: 2,
      customerName: 'Tech Solutions',
      amount: 450.0,
      currency: 'EUR',
      status: 'Failed',
      transType: 'Withdrawal',
      transDate: new Date('2024-10-16'),
    },
    {
      id: 3,
      customerName: 'Global Industries',
      amount: 2100.0,
      currency: 'USD',
      status: 'Completed',
      transType: 'Deposit',
      transDate: new Date('2024-10-17'),
    },
    {
      id: 4,
      customerName: 'StartUp Inc',
      amount: 850.0,
      currency: 'GBP',
      status: 'Pending',
      transType: 'Withdrawal',
      transDate: new Date('2024-10-18'),
    },
    {
      id: 5,
      customerName: 'Enterprise Co',
      amount: 3200.0,
      currency: 'USD',
      status: 'Completed',
      transType: 'Deposit',
      transDate: new Date('2024-10-19'),
    },
  ];

  return (
    <Grid
      autoProcessData={true}
      dataItemKey="id"
      data={transactions}
      sortable={true}
      groupable={true}
      pageable={true}
      columnMenuIcon={filterIcon}
    >
      <GridToolbar>
        <GridToolbarAIAssistant
          requestUrl="https://demos.telerik.com/service/v2/ai/grid/smart-state"
          promptPlaceHolder="Filter, sort or group with AI"
          suggestionsList={[
            'Sort by amount descending',
            'Show only completed transactions',
            'Group by transaction type',
            'Filter where currency is USD',
          ]}
          enableSpeechToText={true}
        />
      </GridToolbar>

      <GridColumn field="customerName" title="Customer Name" width={180} />
      <GridColumn field="amount" title="Amount" width={120} format="{0:c2}" />
      <GridColumn field="currency" title="Currency" width={100} />
      <GridColumn field="status" title="Status" width={120} />
      <GridColumn field="transType" title="Type" width={120} />
      <GridColumn
        field="transDate"
        title="Date"
        width={140}
        format="{0:MM/dd/yyyy}"
      />
    </Grid>
  );
};

export default App;

In the example above, we’ve created a transaction grid using the AI-powered toolbar assistant. The GridToolbarAIAssistant component provides a natural language interface that lets users type commands like “show only completed transactions” or “sort by amount descending,” and the AI automatically applies those operations to the grid.

The autoProcessData prop is key here in the above example. It enables the grid to automatically handle state updates when AI operations are applied, eliminating the need for manual state management in simple scenarios.

The SmartGrid is part of KendoReact Premium, an enterprise-grade UI library with 120+ components. The AI features demonstrated here use a Telerik-hosted service for demonstration purposes. For production applications, you’ll want to implement your own AI service tailored to your specific domain and data requirements.

Voice Input Support

A cool feature of the SmartGrid is its support for speech-to-text input. By setting enableSpeechToText={true} on the GridToolbarAIAssistant, users can speak their commands directly instead of typing them.

To use voice input, users click the microphone icon in the AI assistant and speak their command. The grid processes spoken commands the same way as typed text, so commands like “show only completed transactions” work just as seamlessly.

The voice input feature uses the browser’s native Web Speech API, so it works across modern browsers without additional dependencies or setup.

Tracking Operations with Controlled Integration

While autoProcessData works great for simple scenarios, we may need more control over how AI operations are applied to our grid. For example, we can log user interactions, validate AI suggestions before applying them or display an operation history to users.

The controlled approach gives us this flexibility through the onResponseSuccess callback:

import * as React from 'react';
import { process } from '@progress/kendo-data-query';
import {
  Grid,
  GridColumn,
  GridToolbar,
  GridToolbarAIAssistant,
} from '@progress/kendo-react-grid';

const App = () => {
  const [dataState, setDataState] = React.useState({
    skip: 0,
    take: 10,
    sort: [],
    filter: undefined,
    group: [],
  });

  const [outputs, setOutputs] = React.useState([]);
  const aiAssistantRef = React.useRef(null);

  const transactions = [
    {
      id: 1,
      customerName: 'Acme Corp',
      amount: 1250.0,
      status: 'Completed',
      currency: 'USD',
    },
    {
      id: 2,
      customerName: 'Tech Solutions',
      amount: 450.0,
      status: 'Failed',
      currency: 'EUR',
    },
    {
      id: 3,
      customerName: 'Global Industries',
      amount: 2100.0,
      status: 'Completed',
      currency: 'USD',
    },
    {
      id: 4,
      customerName: 'StartUp Inc',
      amount: 850.0,
      status: 'Pending',
      currency: 'GBP',
    },
    {
      id: 5,
      customerName: 'Enterprise Co',
      amount: 3200.0,
      status: 'Completed',
      currency: 'USD',
    },
  ];

  const handleResponseSuccess = (response, promptMessage) => {
    if (response && response.data) {
      // Apply AI-suggested operations to grid state
      const newState = { ...dataState };

      if (response.data.sort) newState.sort = response.data.sort;
      if (response.data.filter) newState.filter = response.data.filter;
      if (response.data.group) newState.group = response.data.group;

      setDataState(newState);

      // Track the operation in history
      if (response.data.messages) {
        const newOutput = {
          id: outputs.length + 1,
          prompt: promptMessage,
          responseContent: response.data.messages.join('\n'),
        };
        setOutputs([newOutput, ...outputs]);
      }
    }

    aiAssistantRef.current?.hide();
  };

  const processedData = process(transactions, dataState);

  return (
    <Grid
      dataItemKey="id"
      data={processedData.data}
      total={processedData.total}
      sortable={true}
      sort={dataState.sort}
      onSortChange={(e) => setDataState({ ...dataState, sort: e.sort })}
      filterable={true}
      filter={dataState.filter}
      onFilterChange={(e) => setDataState({ ...dataState, filter: e.filter })}
      groupable={true}
      group={dataState.group}
      onGroupChange={(e) => setDataState({ ...dataState, group: e.group })}
      pageable={true}
      skip={dataState.skip}
      take={dataState.take}
      onPageChange={(e) =>
        setDataState({
          ...dataState,
          skip: e.page.skip,
          take: e.page.take,
        })
      }
    >
      <GridToolbar>
        <GridToolbarAIAssistant
          ref={aiAssistantRef}
          requestUrl="https://demos.telerik.com/service/v2/ai/grid/smart-state"
          onResponseSuccess={handleResponseSuccess}
          outputs={outputs}
          promptPlaceHolder="Filter, sort or group with AI"
        />
      </GridToolbar>

      <GridColumn field="customerName" title="Customer" width={180} />
      <GridColumn field="amount" title="Amount" width={120} format="{0:c2}" />
      <GridColumn field="status" title="Status" width={120} />
      <GridColumn field="currency" title="Currency" width={100} />
    </Grid>
  );
};

export default App;

In this controlled approach, we explicitly manage the grid’s state and intercept AI responses via onResponseSuccess. This allows us to:

  • Validate AI suggestions before applying them to the grid.
  • Log user interactions and AI operations for analytics or debugging.
  • Display operation history through the outputs prop, giving users transparency into what commands they’ve issued.

The outputs prop displays a history of AI operations, helping users understand how their natural language requests were interpreted and what operations were performed on the grid.

Wrap-up

The KendoReact SmartGrid brings AI-powered capabilities to data grids, making complex data operations accessible through natural language. By simply describing what they want to see, users can filter, sort and group data without needing to understand the intricacies of the grid interface.

For more details on implementing the SmartGrid and exploring its capabilities, check out the official documentation:

And to try it for yourself, download the 30-day free trial:

Try Now

Read the whole story
alvinashcraft
9 minutes ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories