Quantcast
Channel: Infragistics Community
Viewing all 2223 articles
Browse latest View live

Infragistics Windows Forms Release Notes - July 2020: 19.2, 20.1 Service Release

$
0
0

Release notes reflect the state of resolved bugs and new additions from the previous release. You will find these notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

In order to download release notes, use the following links:

Windows Forms 2019 Volume 2 Service Release (Build 19.2.20192.381)

PDF - Infragistics for Windows Forms 2019 Volume 2
Excel - Infragistics for Windows Forms 2019 Volume 2

Windows Forms 2020 Volume 1 Service Release (Build 20.1.20201.42)

PDF - Infragistics for Windows Forms 2020 Volume 1
Excel - Infragistics for Windows Forms 2020 Volume 1

Windows Forms UI Controls


User Testing: Top 5 Myths vs Reality

$
0
0
See how unmoderated user testing lets you fix app development issues early in your development process when the cost to fix is low. (read more)

Ignite UI for Angular 10.1.0 Release

$
0
0
See how we have enhanced our Angular Grid and other UI components such as the Overlay, Calendar, Combo and Drop-Down, Date Picker, Pagination and more in our newest release of Ignite UI for Angular 10.1.0(read more)

220+ Material Inspired Icons for Great User Experience

$
0
0

Icons have always been important in enhancing the user experience, not only for navigating easily through the information in your app or on your web site but also in increasing the readability of the content by summarising it, making it exciting and drawing the user’s attention to the most important parts of your web projects. They save space in toolbars and palettes and there is no need to translate icons for international users.

While working on different samples and apps at Infragistics our design team has always found Google’s material icons great for user interface design, but kind of limited — especially in areas like Finance and Health. So, after some discussions we decided to extend the official Material Design Icon set provided by Google with an unofficial subset of 5 categories of icons that will be valuable not only for us but for the great people that use our products.

Being a product designer working from home for a couple of months due to a worldwide pandemic and taking care of a family at the same time is no easy task. Especially when you have a curious 6-year-old boy who wants to know more about your work and why it is more important than playing Monopoly or football for example.

I saw this as an opportunity to spend the time together and since my son really likes to draw, I decided to achieve this by enjoying some collaborative hours during the next days in sketching ideas for the five categories our design team has decided to start with.

Sketches my 6-year-old son did for some of the material inspired icons

We sat together with pencils in our hands and I tried to explain some design concepts. We thought about proper metaphors and real-world objects, wrote down some of the associations for possible symbols that we had in mind and then drew up some prototypes of what later would have become the new sets of material inspired icons that I designed.

My son often had questions and tried to implement what he heard in his sketches. Don’t ask me how I explained the meaning of some of the icons like fertilization and contraception since one’s understanding of an icon is based mostly on previous experience. I did not. Those symbols I kept for my eyes only. Respirator masks and viruses were far more easier to grasp (and to discuss without difficult questions) because of the challenging times we all face. The interaction with my son actually encouraged me to develop and validate my ideas even further. I now think if you can make icons memorable for a 6-year-old then you’ve done a great job.

Valuable and productive time it was!

The IgniteUI for Angular material inspired icon set contains more than 220 icons for various situations you may encounter in your designs. We are launching all these icons distributed in 5 categories:

Finance

The extended set with finance icons covers general needs related to banking, cash, savings, shopping and e-commerce.

Health

The set with health icons covers different topics as dental care, medicine symbols, medical facilities and institutions, health related issues.

Logos

This set of icons consists of some of the most popular logos you may want to use in your designs like Apple Pay, Dropbox, Google Drive, PayPal, different browser logos, the most recent Microsoft product logos for Word, Excel, Outlook and more — all fitting well within the Material Design language.

Programming

If you’re looking for programming related material icons like git commit, git compare, git merge, repository, inspect code, console and more — this is where you’ll find them.

Social Media

We couldn’t get away without having all the social media material inspired icons for Facebook, TikTok, Instagram, YouTube, LinkedIn, etc.


Each icon is available as an SVG file because of the wide support across modern browsers and in addition we’ve exported the icons as JavaScript objects so you can import them in your Angular/React/Vue app.

The initial target for this set is to work with our Ignite UI for Angular UI framework by utilizing the igx-icon component and the Ignite UI for Angular Icon Service.

Now we are thinking about adding more icon categories in the future and making the icon sets available to as many platforms as we can. We are considering Construction, Food, Music and Sports but if you have any other suggestions for material icons that you feel will be a great addition please comment below.

Stay safe and try to find creative ways in involving your kids in what you do. It’s a quality time and definitely leads to some memorable moments!

User Testing in the Time of Pandemic*

$
0
0

As a UX Manager, the quality of user research is just as important as the quality of a design for me. And very often the overall quality of our team’s output is tied to feedback that we can collect. In recent years, we have focused on optimizing our processes. In this two-part article, I want to start by sharing with you my best practices for getting the most value out of user testing. In this first part, I will focus on the importance of creating a usability test plan, containing observation activities that will lead us to one or more well-formulated hypotheses for which we can collect quantitative and qualitative feedback.

Have a Plan 

So, let’s start with the creation of a plan. I know it is quite obvious and you probably have heard it a thousand times, but it is one of the areas where I most frequently see mistakes from junior people. From my early days as a university student, I was cultivated with this mindset and am very strict about it. But the majority of people I meet don’t write down plans and goals for their efforts. As one of my favorite authors once said:

"Plan your work and work your plan"

Napoleon Hill

When it comes to user testing, whether during times of social distance or social attraction (or however the next normal is called), UX designers and researchers must remember to write down their observations, suspicions, and goals as a starting point for creating a plan. This is formally known as formulating a hypothesis for your research. An example of a null hypothesis, which I prefer when creating a user testing plan, would be that the number of users that click on the “DOWNLOAD TRIAL” button on my website is not dependent on its color and location on the website. From this hypothesis, we determine the variables we control, such as the style of the button, and the ones we plan to measure i.e. the percentage/amount of users that click it. Last but not least, the hypothesis guides us for the design of the prototype or mock-up that we create to confirm or refute it. If my hypothesis rings a bell, you recognized correctly that my example is often the trigger to run some A/B testing which is not to be confused with user testing, even though it also involves users, talking of which leads us to our next section.

With or Without Users 

Now, this may come as a surprise to some of you thinking - but how can I have user testing without users? You are right, you can’t. But to create a good hypothesis, you often need to either observe users and their behavior or run another validation experiment such as heuristic evaluation. In my work, I have been using both and for observing user behavior online, I find particularly useful tools like hotjar. A few years ago, it took us to the conclusion that our customers were frequently looping between demos, documentation, and marketing pages, which motivated us to design a more integrated experience between the three.

Our current website creates a much more integrated experience between marketing information, product pages, demos, and detailed developer documentation.

Before I jump over the heuristic evaluation, I want to make one more point. Thus far, I have mentioned A/B testing and tools for observation of user behavior and heatmaps such as hotjar. These usually involve feedback from the largest range of users. Our core topic today is user testing, which is usually limited to a much smaller number of users, and last but not least comes the heuristic evaluation that is achieved with the involvement of a very small number of experts. I run heuristic evaluations as often as possible and usually do them for the marketing pages of a particular product. The last time I did it, I uncovered several stylistic decisions that tried to be aesthetic, but at the end of the day, frustrated the people who took part in the experiment. Running a heuristic evaluation is relatively simple, you need a set of heuristics, I usually use Jacob Nielsen’s Ten Heuristics for User Interface Design and involve UX design students in it. After we identify the problems and qualify them, with respect to the rule they break, we collectively decide on the severity and compile a list that may contain either a fruitful soil for planting some hypotheses or specific guidance on solving the problem, when it is a more trivial one. This method tends to result in a lot of qualitative feedback, based on personal observations and when it comes to user testing, the next thing to remember is to always combine qualitative and quantitative methods for collecting feedback. We will  discuss this in the next section.

Quality vs. Quantity 

When it comes to user testing, I always combine a quantitative technique like a remote usability test, using tools and platforms such as Indigo.Design, with a qualitative method like a short survey or feedback form, which allows participants to share their thoughts. I have tried sharing links directly from Sketch or Adobe XD, but this approached allowed me to collect only qualitative feedback and usually unveiled only major problems in my design. I have also conducted user testing the traditional way, observing users as they complete a list of tasks. But the need for moderation and observation introduced big overhead for me, even if I did it online through screen sharing and similar approaches. The unmoderated remote user testing that Indigo.Design provides, turned out to be not only a suitable strategy during a pandemic, but also kept my day open and gave my users much more flexible terms for participation. It not only quantifies the test for me but also allows me to record and review screen capture from the device of my user and record audio through which I can use the advantages of the think-aloud technique. Furthermore, I love the prototyping experience I get with UI Kits for Sketch, Figma, and Adobe XD. This streamlines my prototyping and cuts down the iteration time in half for me. If you are curious to know more about the whole process, there are a ton of useful video tutorials.

A study showing the tasks on the left and details about each one with users that succeeded or failed at them.

Before I jump to the quality, I want to make one final remark about the quantitative approach - always take into consideration learning effects. Or to put it differently, eliminate learning by randomizing the order of your tasks. Luckily, Indigo.Design enables that with just the flip of a switch, upon setting up your usability test. The final step of that configuration is a place where, besides thanking your users for their participation, you can also share with them a link to a feedback form asking them questions about different aspects of their experience. You can use a more formal approach with forms like the NASA Task Load Index, or a less strict one like in this JotForm Template which you can customize to your needs. The specifics are irrelevant as long as you remember to take advantage of quantitative and qualitative methods in parallel.

As you read this, I am polishing the second part of this article and it will be published very soon!

*I have to give credit for the title to the Nobel winning author Gabriel García Márquez and his novel Love in the Time of Cholera. My love for prototyping and usability testing contribute to this association with an author I admire.

More User Testing in the Time of Pandemic

$
0
0

In the first part of this article, we talked about the importance of planning and what to focus on as you draw the grand scheme of your user test. We also outlined some differences between A/B testing as an automated match-up done mostly with real apps and usability testing allowing you to test even with medium-fidelity artifacts to avoid code waste. In this second part, we will introduce additional best practices that will save you a lot of headaches and time: creating a script, testing your test, and having a broader strategy for user testing.

Use a Script 

People often ask about the most important quality of a good designer and my response is always empathy. Our biggest strength often becomes our greatest weakness and that is the case with empathy while running a user test face to face. As researchers, we can become trapped in users’ emotions and frustrations, making subtle changes in the conditions that affect the outcome of the test without even noticing. But by creating a script and sticking to it, we can alleviate this. And doing so is even more crucial in the new normal. Remote user testing, without direct moderation, requires a script to help guide participants, making sure they are subjected to analogous conditions. This alleviates potential areas of frustration, while also preventing unintended bias from spoiling the outcome of the test.

Indigo.Design lets you define tasks and show messages to participants before they begin as well as upon completing the user test.

A good script should prepare the user for the study with clear expectations of what lies ahead and how long it is going to last. It should provide a scenario for each task and may give additional hints or guidance upon user request. And finally, it should contain some closing remarks and clarifications about the test that also express gratitude for people’s time and effort. A way to implement your script via the user testing mechanisms of Indigo.Design is to first define your tasks, providing a scenario for each one, and then to write the welcome and thank you messages for your participants. As we also mentioned in part one, it is a good idea to add a feedback survey link in the closing notes of your study. Having a script is not a silver bullet for running user tests smoothly.

Run Pilot Tests  ️

No matter how good our plans are, occasionally they will fail us. To avoid disappointment, we must test our user tests (the play of words is intentional). With just one or two pilot runs of your user test, you will learn and be prepared for any potential misunderstandings and frustrations that users in your larger study might experience. This lets you adjust your script and plans accordingly making the whole experience more pleasant and predictable, while at the same time your data will be cleaner and more accurate.

"Plans are nothing; planning is everything"
Dwight Eisenhower

In our team, we always run our user tests internally before moving on to representative users. Even a fellow designer can provide constructive feedback about the clarity of the script, task scenarios, and questions in the feedback form. Such pilot tests may add a couple of hours to your preparation but always end up saving a much larger waste of time because as humans we are burdened not to see our own mistakes. And speaking about planning, it is time to broaden this activity’s horizon and arrive at the final best practice that I would like to share.

Do it Regularly 

At the end of the day, everything boils down to having a bigger strategy when it comes to user testing, which is the only practice not affected by the presence or absence of a pandemic. Collecting feedback and conducting studies can truly take you from failure to success but only after you stop treating it like a one-time-event. Once you start consistently following these practices and executing them regularly driven by a long-term effort to learn and improve, you will reap the full benefit of user testing. Consider your product roadmap, underline the strategic milestones on it, reinforce them with the right type and amount of user testing, and you are on track to success.

I believe that by sharing our team’s best practices in this two-part article we can inspire others to commit to user testing and do it with the right mindset. Remember to create a plan for your experiment with a hypothesis and proper setup, consider different ways for collecting user feedback, but always one that combines quantitative and qualitative input. Always prepare a script and make sure users stick to it, run pilot tests to make sure everything is easy to comprehend and correctly understood. And last but not least, always think broad and strategic about your efforts with a commitment to continuously dedicate time for user testing. Godspeed for your upcoming user tests my fellow UX designers and developers!

Using the Ignite UI for Web Components Dock Manager in Blazor

$
0
0

Earlier this year, I announced the release of a brand-new Dock Manager component in the Ignite UI for Web Components product.  As you may know, web components are web standards compliant components that are dependency free, pure HTML/JavaScript, and are seen as a native HTML element.  This means that Infragistics is the first component vendor to provide a Dock Manager component that will work with any web framework including Angular, Vue, React, and Blazor just to name a few.

What is a dock manager? Well, if you have ever used Visual Studio you know exactly what it is. If you haven’t, it’s a component that provides a way to manage a complex layout using different type of panes with various sizes, positions, and behaviors, and that can be docked to various locations within an app. The dock manager allows your end-users to customize it further by pinning, resizing, moving, floating, and hiding panes.  Besides a data grid, this is a game changer for all web applications.

Now the question is, “How do I use this awesome Dock Manager web component in my Blazor applications?”. Great question!  I’m going to walk you through all the step necessary to utilize the Ignite UI for Web Components Dock Manager in your Blazor applications. We’ll be using a combination of HTML, JavaScript, C#, and Blazor’s JS Interop. Let’s get to it!

Create a New Blazor Application

The first step is to create a new Blazor application. I am going to use Visual Studio 2019 to create a new Blazor Web Assembly App (WASM). I named my project “BlazorDockManagerWC”.

Create a JavaScript File

The first step is to create a JavaScript file in the “wwwroot” folder of our project. I named my JavaScript file “dockmanager.js” and placed it in a “scripts” folder.  This will be the file to hold all of our JavaScript functions for the Blazor dock manger.

Update index.html

After we have created the JavaScript file, lets open the “index.html” page and import our script. We will want to make sure we import the script as a “module”.

Import the Dock Manager WC

Now, we want to open our “dockmanager.js” JavaScript file and import the Ignite UI for Web Component Dock Manager.  The Dock Manager web component is available on NPM as a trial package. We will use “unpkg.com” to import the dock manager into our script. Unpkg is a fast, global content delivery network for everything on npm. You can use it to load any file quickly and easily from any package on npm.

import { defineCustomElements } from 'https://unpkg.com/igniteui-dockmanager@1.0.3/loader/index.mjs';
defineCustomElements();

Create the Dock Manager

Open the “Index.razor” file in your Blazor application and define the dock manager web component. Within the opening and closing tag of the Dock Manager component, we will define several DIVs to act as our docking panes within the dock manager component. Each DIV will host various content that will be displayed in our dock manager component.

<igc-dockmanager @ref="dockManager" style="height:800px;"><div slot="content1">Content 1</div><div slot="content2">Content 2</div><div slot="content3">Content 3</div><div slot="content4">Content 4</div><div slot="content5">Content 5</div><div slot="content6">Content 6</div><div slot="content7">Content 7</div><div slot="content8">Content 8</div><div slot="content9">Content 9</div></igc-dockmanager>

As you can see, we have defined an “@ref” value on the dock manager which will allow us to access the dock manager in our C# code later, and we have also set a default height using an inline style.

I also want to point out that on each DIV element we have set the “slot” property which is used to uniquely identify each div as a pane in the dock manager. This is required, so don’t forget this step.

Create Dock Manager Helper Functions

Open the “dockmanager.js” JavaScript file and create a few helper functions that we will use to create content panes, split panes, and tabbed panes that will control the layout of the DIVs in the dock manager component.

function createContentPane(contentID, paneHeader) {
    const pane = {
        header: paneHeader,
        type: "contentPane",
        contentId: contentID
    };
    return pane;
}

function createSplitPane(orientation, contentPanes, size) {
    const pane = {
        type: "splitPane",
        orientation: orientation,
        panes: contentPanes,
        size: size
    };
    return pane;
}

function createTabPane(orientation, contentPanes, size) {
    const pane = {
        type: "documentHost",
        size: size,
        rootPane: {
            type: "splitPane",
            orientation: orientation,
            panes: [
                {
                    type: "tabGroupPane",
                    panes: contentPanes
                }
            ]
        }
    };
    return pane;
}

Define the Dock Manager Layout

Now that we have our help methods defined in our JavaScript file, we can start creating the layout for the DIV elements within our dock manager component.  Let’s start by creating a new function called “initDockManager” that accepts a dock manager as an argument.

window.initDockManager = function (dockmanager) {   

};

NOTE: Since we must use JS Interop in Blazor in order to interact with our dock manager web components, you have to make sure you declare the “initDockManager” function on the “window” object.

Next, let’s create the various dock manager panes using our help functions we created earlier.  Since we have nine DIV elements within the dock manager component in our “index.razor” file, we will have at least nine content panes. We will then use a combination of tabbed panes, split panes, and content panes to lay them out.

    const pane1 = createContentPane('content1', 'Content Pane 1');
    const pane2 = createContentPane('content2', 'Unpinned Pane 1');
    pane2.isPinned = false;

    const pane3 = createContentPane('content3', 'Document 1');
    const pane4 = createContentPane('content4', 'Document 2');

    const contentPane5 = createContentPane('content5', 'Unpinned Pane 2');
    contentPane5.isPinned = false;

    const pane6 = createContentPane('content6', 'Tab 1');
    const pane7 = createContentPane('content7', 'Tab 2');
    const pane8 = createContentPane('content8', 'Content Pane 2');
    const pane9 = createContentPane('content9', 'Floating Pane');

    const tabPane1 = createTabPane("horizontal", [pane3, pane4], 200);

    const splitPane1 = createSplitPane("vertical", [pane1, pane2]);
    const splitPane2 = createSplitPane("vertical", [tabPane1, contentPane5], 200);

Now that we have all our panes created, we need to define the layout of the dock manager component using these panes. Using the “dockManager” function parameter, we will set the layout property using a combination of content panes, tabbed panes, split panes, and floating panes to define the layout of the dock manager component.

    dockmanager.layout = {
        rootPane: {
            type: "splitPane",
            orientation: "horizontal",
            panes: [
                splitPane1,
                splitPane2,
                {
                    type: "splitPane",
                    orientation: "vertical",
                    panes: [
                        {
                            type: "tabGroupPane",
                            size: 200,
                            panes: [pane6, pane7]
                        },
                        pane8
                    ]                    
                }
            ]
        },
        floatingPanes: [
            {
                type: "splitPane",
                orientation: "horizontal",
                floatingHeight: 150,
                floatingWidth: 250,
                floatingLocation: { x: 800, y: 250 },
                panes: [pane9]
            }
        ]
    }

This is what the entire “initDockManager” function looks like:

window.initDockManager = function (dockmanager) {

    const pane1 = createContentPane('content1', 'Content Pane 1');
    const pane2 = createContentPane('content2', 'Unpinned Pane 1');
    pane2.isPinned = false;

    const pane3 = createContentPane('content3', 'Document 1');
    const pane4 = createContentPane('content4', 'Document 2');

    const contentPane5 = createContentPane('content5', 'Unpinned Pane 2');
    contentPane5.isPinned = false;

    const pane6 = createContentPane('content6', 'Tab 1');
    const pane7 = createContentPane('content7', 'Tab 2');
    const pane8 = createContentPane('content8', 'Content Pane 2');
    const pane9 = createContentPane('content9', 'Floating Pane');

    const tabPane1 = createTabPane("horizontal", [pane3, pane4], 200);

    const splitPane1 = createSplitPane("vertical", [pane1, pane2]);
    const splitPane2 = createSplitPane("vertical", [tabPane1, contentPane5], 200);

    dockmanager.layout = {
        rootPane: {
            type: "splitPane",
            orientation: "horizontal",
            panes: [
                splitPane1,
                splitPane2,
                {
                    type: "splitPane",
                    orientation: "vertical",
                    panes: [
                        {
                            type: "tabGroupPane",
                            size: 200,
                            panes: [pane6, pane7]
                        },
                        pane8
                    ]                    
                }
            ]
        },
        floatingPanes: [
            {
                type: "splitPane",
                orientation: "horizontal",
                floatingHeight: 150,
                floatingWidth: 250,
                floatingLocation: { x: 800, y: 250 },
                panes: [pane9]
            }
        ]
    }
};

Use Blazor JS Interop to Initialize the Dock Manager

The final step is to take advantage of Blazor’s JS Interop feature to call our “initDockManager” JavaScript function we have defined in our “dockmanagerjs” JavaScript file.

Step one is to inject the IJSRuntime into our “Index.Razor” file where we have defined our dock manager component. To do this, we simply add “@inject IJSRuntime JSRuntime” to the top of our “Index.razor” file.

Step two is to modify the @code section of our “Index.razor” file to call the “initDockManager” JavaScript function we created earlier.

Remember the “@ref” we added to our dock manager component earlier in the post? This is where we want to make sure we have defined an ElementReference called dockManager in our “@code” section.

Now, let’s override the OnAfterRenderAsync method, and make a call to the JSInterop.InvokeVoidAsync method passing our dockManager ElementReference as an argument.  The entire @code section of the “Index.razor” file should look like this:

@code{

    ElementReference dockManager;

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            await JSRuntime.InvokeVoidAsync("initDockManager", dockManager);
        }
    }
}

Run the Blazor Application

That’s it! We’re all done. Now is the time to see the fruits of our labor in action. Run the application and watch in awe as the Ignite UI Dock Manager comes to life in our Blazor application. 

Isn’t it beautiful?

If you'd like to get the source code to this project, you can find here: https://github.com/brianlagunas/BlazorDockManagerWC

Be sure to follow and contact me directly on Twitter, subscribe to my YouTube channel, and follow me on Twitch to watch me stream live.

Ignite UI for Blazor – The Official Release

$
0
0

Today is the day that you have all been waiting for.  Its the day that Infragistics changes the lives of Microsoft Blazor developers all around the world. Its the day we release Ignite UI for Blazor!  Starting right now build rich Blazor WASM (web assembly) and Blazor Server (ASP.NET Core) applications using your existing C# skills and eliminate the need to use JavaScript.

Don't wait any longer!

Download Infragistics Ignite UI for Blazor

What exactly do you get in the official release of Ignite UI for Blazor? Well, let's find out.

Bullet Graph

The bullet graph component provides you with the ability to create attractive data presentations, replacing meters and gauges that are used on dashboards with simple yet straightforward and clear bar charts. A bullet graph is one of the most effective and efficient ways to present progress towards goals, good/better/best ranges, or compare multiple measurements in as little horizontal or vertical space as possible.

Category Chart

This touch-enabled charting control makes visualizing category data a breeze. Built on top of a high-performing and feature-rich data chart, the category chart filters the complexities of data visualization into a simplified API that anyone can use.

Charts

Build expressive dashboards, apply deep analytics, and render millions of data points with our real-time Blazor charts. Including the most asked for business, financial and scientific charts, Ignite UI for Blazor fulfills your fintech and business needs.

Chart Types

  • Area
  • Bar Chart
  • Column
  • Line
  • Point
  • Point Chart
  • Point Chart
  • Polar Area Chart
  • Polar Line Chart
  • Polar Scatter Chart
  • Polar Scatter Chart
  • Polar Spline Area Chart
  • Polar Spline Chart
  • Radial Area Chart
  • Radial Column Chart
  • Radial Line Chart
  • Range Area Chart
  • Range Column Chart
  • Scatter Area Chart
  • Scatter Bubble Chart
  • Scatter Bubble Chart
  • Scatter Contour Chart
  • Scatter Line Chart
  • Scatter Marker Chart
  • Scatter Marker Chart
  • Scatter Polygon Chart
  • Scatter Polyline Chart
  • Scatter Spline Chart
  • Spark Area
  • Spark Line
  • Spark Win Loss
  • Spline
  • Spline Area Chart
  • Spline Chart
  • SplineArea
  • Stacked 100 Area Chart
  • Stacked 100 Bar Chart
  • Stacked 100 Column Chart
  • Stacked 100 Line Chart
  • Stacked 100 Spline Area Chart
  • Stacked 100 Spline Chart
  • Stacked Area Chart
  • Stacked Bar Chart
  • Stacked Column Chart
  • Stacked Line Chart
  • Stacked Spline Area Chart
  • Stacked Spline Chart
  • Step Area Chart
  • Step Line Chart
  • StepArea
  • StepLine
  • Waterfall
  • Waterfall Chart

As you can see, there is a Blazor chart for every scenario you can think of! The Blazor chart is a modular design of axis, markers, series, legend, and annotation layers. With this data chart, you can create multiple instances of these visual elements in the same chart plot area to create composite chart views.

Chart Features

Your charts need to be fast, and they need to be all-encompassing. With every Blazor chart type – bar, line, column, pie, area, stacked series, and more – you can visualize your data the way you prefer.

Here is just a few of the interactive features you get with the chart:

  • Crosshairs
  • Annotations
  • Callouts
  • Final Values
  • Markers (10 types)
  • Tooltips
  • Series Highlighting
  • Legend
  • Time Series Chart (TimeXAxis)

Data Grid

The Ignite UI for Blazor Data Grid is a tabular grid component that allows you to quickly bind and display your data with little coding or configuration. Features of the Blazor data grid include inline editing, filtering, sorting, templates, row selection, row grouping, row pinning and movable columns and more. When we designed the core grid component, we optimized for live, streaming data, with the ability to handle unlimited data set size in number of rows or columns. With a large portion of our customer base being financial services, these are the most important attributes – load time, scroll time, unlimited rows, unlimited columns – with buttery-smooth scrolling under heavy loads. At the same time, many of you are coming from feature-packed enterprise line-of-business apps. We are delivering the features you need as well.

Here is a list of the Blazor data grid features we are shipping today.

  • Inline editing
  • Batch editing
  • Virtualized Row / Columns
  • Load on Demand Data
  • Column Sorting (Single / Multi)
  • Column Resizing
  • Column Moving
  • Column Summaries
  • Column Pinning
  • Column Chooser
  • Column Hiding
  • Column Filtering UI (Excel Style Filtering)
  • Column Grouping (Groups w/ Sticky Headers / Outlook Grouping)
  • Cell Selection
  • Cell Activation
  • Cell Range Selection
  • Row Selection (Single / Multi)
  • Row Pinning
  • Grid Toolbar (So you add custom buttons, like Export, Show / Hide, etc.)

One of the cooler features, which covers most of the interactive UX that your users expect, is the Column Options dialog. When you hover with the mouse over a column header, you will see a hamburger menu on every column header (by default) which triggers the column options dialog in the Blazor grid control, which looks like this:

Doughnut Chart

Display your data with multiple series using this rich Doughnut Chart. Similar to a Pie Chart, the Doughnut Chart shows categorical statistics expressed in percentages. With its hollow center, it's best for displaying multiple series using concentric rings where each ring represents a data series. Bind easily to data, configure the inner radius, display exploded slices, customize themes, and more with this well-rounded control.

Financial Chart

This lightweight, high-performance chart is easy to configure to display mission-critical financial data using a simple and intuitive API. Just bind your data, and the chart takes care of everything else. The Blazor Financial Chart component is part of Infragistics’ best-in-breed UI for building high-performance, high-volume financial services, and capital market data applications.

Linear Gauge

Make data visualizations and dashboards more engaging with a Linear Gauge that shows off KPIs with rich style and interactivity. The gauges are powerful, easy to use, and highly configurable to present dashboards.

Geographic Map

Create highly-detailed, thematic geographical maps using an innovative feature set that includes: custom shape templates, the ability to render polylines and polyshapes, Map Progression, Scatter Area Plots, an intuitive Overview Pane, and more.

Pie Chart

Create simple or exploded pie charts. Customize the threshold for inclusion in the Other category, and display text labels and images that can be within or outside of the pie in a manner that avoids overlap. Users can click or drill down to view underlying data, explode out a section of the pie, and find information via tooltips.

Radial Gauge

Radial Gauge makes your data visualizations and dashboards more engaging and shows off KPIs with rich style and interactivity. The gauges are powerful, easy to use, and configurable to present dashboards capable of displaying clocks, industrial panels, automotive dashboards, and aircraft cockpits.

Sparkline

The Sparkline control is a data-intense, design-simple graphic that allows end users to spot trends, variations, and patterns in data in a clear and compact representation.

Tree Map

Add powerful Blazor Treemap visualizations of high-volumes of hierarchical (tree-structured) data as a set of nested nodes. The Blazor Treemap displays hierarchical (tree-structured) data as a set of nested nodes. Each branch of the tree is given a Treemap node, which is then tiled with smaller nodes representing sub-branches. Treemaps are great for quick analysis of large data sets and can deliver insights really quickly in very compact area.

Here is the Blazor Treemap showing off drilldown, along with some of the different algorithms we have supplied for customizing the Treemap layout.

Multi-Column Combo Box (Preview)

Lastly, we have the new Multi-Column Combo Box. This component is unique in that it's a combo box that visualizes large amounts of data in a data grid embedded in the dropdown. It supports features such as filtering with auto-suggest, a material-based label, defining columns, controlling column header visibility, sorting, and more. As noted above, this control is being released as a Preview component because there are just a few features and behaviors we'd like to get in before calling it a solid v1. Look for an update to this component very soon.

Dock Manager - Coming Soon

Last but not least, is the world's first ever Blazor Dock Manager. What is a dock manager? Well, if you have ever used Visual Studio you know exactly what it is. If you haven’t, it’s a component that provides a way to manage a complex layout using different types of panes with various sizes, positions, and behaviors, and that can be docked to various locations within an app. The dock manager allows your end-users to customize it further by pinning, resizing, moving, floating, and hiding panes.

Unfortunately, for this initial release, we were not able to finish the Blazor Dock Manager component. Which is why there is a "Coming Soon" in the title of this section. We're still working on it as we speak. As soon as we have completed the Blazor Dock Manager component, we will release it to you immediately.

However, if you really want to use a dock manager in your Blazor apps, you can still do it. You'll just have to use our Ignite UI for Web Component Dock Manager instead. Just follow the steps outlined in my latest blog post on "Using the Ignite UI for Web Components Dock Manager in Blazor". 

Let’s Wrap this Baby Up!

I hope you are as excited as I am with today's release of Ignite UI for Blazor.  We have a long term plan for supporting your Blazor application needs, and we are committed to bringing you the markets best, highest performing, and most beautiful Blazor controls period. But in order to accomplish this, we need your help. 

If you have ideas about new features we should bring to our components, important issues we need to fix, or even brand new components you’d like us to introduce, please let us know by posting them on our Product Ideas website. Follow and engage with us on Twitter via @infragistics. You can also follow and contact me directly on Twitter at @brianlagunasYou can also subscribe to my YouTube channel to be notified of new videos, and follow me on Twitch to watch me stream live.  Also make sure to connect with our various teams via our Community Forums where you can interact with Infragistics engineers and other customers.  

Lastly, when you do build something cool with our controls, please make sure to let us know.


Ignite UI for Web Components 1.1.4 Updates

$
0
0

There is a lot going on here at Infragistics. Fom releasing a brand new Ignite UI for Blazor product, to shipping updates to our market leading embedded data analytics product called Reveal, to creating the game changing App Builder that allows you to design web apps and generate Angular code with the click of a button.

With all this excitement, I wanted to take a moment to talk about some of the smaller updates that we are shipping for Ignite UI for Web Components. Historically, when Infragistics releases a product, it is done with a large volume release version such as 20.1. However, with Ignite UI for Web components we follow a continuous delivery process for delivering new components, features, and bug fixes to our customers. This means that we are constantly pushing new updates with incremental versions the moment they are ready. We no longer wait 6 months for a release.

So, what are these new updates? Well, let’s check them out.

Data Grid Updates

The data grid is always the star of our products. With unmatched performance and flexibility, we are always focusing efforts to add new features being requested by customers like you. This means with nearly every release; we will have new data grid features for you to enjoy.

Cell Editing

The core feature in any grid is editing. When we first released our web component data grid, it was released as a read-only grid that could handle high volumes of data. While most companies may have waited for a long as it took to implement something like editing before releasing the component, we decided to release what we had at the time. Which means we released a grid with no editing. This goes back to our continuous delivery model. When it is ready, ship it. Don’t make customers wait for anything.

Well now the time has come! We are officially releasing the cell editing feature in the web component data grid. Cell editing is exactly what it sounds like. The web component data grid provides the ability for your user to edit the data you present to them in your web application.

There are numerous ways to enter edit mode (begin editing).

  • Press F2
  • Double Click the Cell
  • Hit the Enter key on the active Cell

Either one of those methods will place the cell into edit mode. At this time, you can then change the value of the cell. The value of the cell is committed by pressing enter, by tabbing out of the cell, or if the cell loses focus by clicking somewhere else in the app.

When in edit mode, you can easily place other cells into edit mode by using the tab key to move focus to the next cell. You can also use the “shift + tab” combination to move focus to the previous cell to continue editing.

Escape will exit edit mode and undo any changes made to the cell value.

Cell Batch Editing

Cell batch editing is a feature that allows you to make multiple edits to various cells in the data grid and commit the changes to the data source all at once. The cool part about this feature is that there is built-in undo and redo support. You can undo, or redo changes made to the values in the cells until you call the commitChanges method off the grid. Once you call commitChanges on the grid, all values are committed to the data source.

ComboBox Column

The web component data grid is also receiving a brand-new combo box column type. This new combo box column type will allow you to provide a combo box editor in your data grid that provides a list of values that can be filtered/searched, and a single item selected.

To use the combo box column type in your web component data grid, simply use the new IgrComboBoxColumn object, set the field, data source, textField, and valueField properties.

<IgrComboBoxColumn field="City" headerText="City" 
                                               dataSource={this.cityList} 
                                               textField="City" valueField={["City"]} />

Multi-Column Combo Box (Preview)

Lastly, we have the new Multi-Column Combo Box. This component is unique in that it's a combo box that visualizes large amounts of data in a data grid embedded in the dropdown. It supports features such as filtering with auto-suggest, a material-based label, defining columns, controlling column header visibility, sorting, and more. This control is being released as a Preview component because there are just a few features and behaviors we'd like to get in before calling it a solid v1. Look for an update to this component very soon.

Let’s Wrap this Baby Up!

If you have ideas about new features we should bring to our components, important issues we need to fix, or even brand new components you’d like us to introduce, please let us know by posting them on our Product Ideas website.  Follow and engage with us on Twitter via @infragistics. You can also follow and contact me directly on Twitter at @brianlagunasYou can also subscribe to my YouTube channel to be notified of new videos, and follow me on Twitch to watch me stream live.  Also make sure to connect with our various teams via our Community Forums where you can interact with Infragistics engineers and other customers.  

Ignite UI for React 16.12.4 Updates

$
0
0

There is a lot going on here at Infragistics. From releasing a brand new Ignite UI for Blazor product, to shipping updates to our market leading embedded data analytics product called Reveal, to creating the game changing App Builder that allows you to design web apps and generate Angular code with the click of a button.

With all this excitement, I wanted to take a moment to talk about some of the smaller updates that we are shipping for Ignite UI for React. Historically, when Infragistics releases a product, it is done with a large volume release version such as 20.1. However, with Ignite UI for React we follow a continuous delivery process for delivering new components, features, and bug fixes to our customers. This means that we are constantly pushing new updates with incremental versions the moment they are ready. We no longer wait 6 months for a release.

So, what are these new updates? Well, let’s check them out.

Data Grid Updates

The data grid is always the star of our products. With unmatched performance and flexibility, we are always focusing efforts to add new features being requested by customers like you. This means with nearly every release; we will have new data grid features for you to enjoy.

Cell Editing

The core feature in any grid is editing. When we first released our React data grid, it was released as a read-only grid that could handle high volumes of data. While most companies may have waited for a long as it took to implement something like editing before releasing the component, we decided to release what we had at the time. Which means we released a grid with no editing. This goes back to our continuous delivery model. When it is ready, ship it. Don’t make customers wait for anything.

Well now the time has come! We are officially releasing the cell editing feature in the React data grid. Cell editing is exactly what it sounds like. The React data grid provides the ability for your user to edit the data you present to them in your web application.

There are numerous ways to enter edit mode (begin editing).

  • Press F2
  • Double Click the Cell
  • Hit the Enter key on the active Cell

Either one of those methods will place the cell into edit mode. At this time, you can then change the value of the cell. The value of the cell is committed by pressing enter, by tabbing out of the cell, or if the cell loses focus by clicking somewhere else in the app.

When in edit mode, you can easily place other cells into edit mode by using the tab key to move focus to the next cell. You can also use the “shift + tab” combination to move focus to the previous cell to continue editing.

Escape will exit edit mode and undo any changes made to the cell value.

Cell Batch Editing

Cell batch editing is a feature that allows you to make multiple edits to various cells in the data grid and commit the changes to the data source all at once. The cool part about this feature is that there is built-in undo and redo support. You can undo, or redo changes made to the values in the cells until you call the commitChanges method off the grid. Once you call commitChanges on the grid, all values are committed to the data source.

ComboBox Column

The React data grid is also receiving a brand-new combo box column type. This new combo box column type will allow you to provide a combo box editor in your data grid that provides a list of values that can be filtered/searched, and a single item selected.

To use the combo box column type in your React data grid, simply use the new IgrComboBoxColumn object, set the field, data source, textField, and valueField properties.

<igc-combo-box-column id="City" field="City"
                                    text-field="name" header-text="City"></igc-combo-box-column />

Multi-column combo (Preview)

Lastly, we have the new MultiColumnComboBox. This component is unique in that it's a combo box that visualizes large amounts of data in a data grid embedded in the dropdown. It supports features such as filtering with auto-suggest, a material-based label, defining columns, controlling column header visibility, sorting, and more. This control is being released as a Preview component because there are just a few features and behaviors we'd like to get in before calling it a solid v1. Look for an update to this component very soon.

Let’s Wrap this Baby Up!

If you have ideas about new features we should bring to our components, important issues we need to fix, or even brand new components you’d like us to introduce, please let us know by posting them on our Product Ideas website. Follow and engage with us on Twitter via @infragistics. You can also follow and contact me directly on Twitter at @brianlagunasYou can also subscribe to my YouTube channel to be notified of new videos, and follow me on Twitch to watch me stream live. Also make sure to connect with our various teams via our Community Forums where you can interact with Infragistics engineers and other customers.  

Ignite UI for Angular 10.2.0 Release

$
0
0

It has been a busy time here at Infragistics, with a number of Ignite UI updates and new releases coming in the past few weeks. Now we are proud to announce the release of Ignite UI for Angular 10.2.0!

With this release, we offer some unique, new Angular components and enhanced features including delighters for developers and users. From the new Add Row feature for our Angular Data Grid / Data Table, to the enhancements to the Calendar and Overlay, Ignite UI for Angular 10.2 will help developers provide the best possible user experience in their Angular applications.

Angular Grids: Grid, Tree Grid and Hierarchical Grid 

 Native add row for Angular grid 

Ignite UI for Angular Grid component provides an easy way to perform data manipulation operations like creating, updating, and deleting records. Now we are introducing the Angular add row feature. The feature provides a convenient way to perform data manipulations through inline row adding and a powerful API for Angular CRUD operations. It is designed to work together with the Angular action strip component to achieve the best possible user experience. 

An example of behavior in the Angular Tree Grid:

Like this sample? Get access to our complete Angular toolkit and start building your own apps in minutes. Download it for free.

 Enhanced Hierarchical Data Grid multi-cell selection behavior  

The selection feature enables rich data select capabilities in the Material UI based Hierarchical Grid. Variety of events and single select actions are available thanks to the powerful API and easy to use methods. The Hierarchical Grid now supports three modes for cell selection, and you can easily switch between them by changing cellSelection property. You can disable cell selection, you can select only one cell within the grid or to select multiple cells in the grid, which is provided as default option. But let's dive deeper in each of these options. 

 New public events – cellEditDone & rowEditDone for angular grid cell editing and row editing 

Enhancements in the cell/row editing events execution sequence and cancelation. Cell and row editing now provides a complete and fully functional editing life cycle. It gives you а full control over the data manipulation process by exposing several cancelable and non-cancelable events, annotating every user step. Check the table and play-around with the interactable editing sample for more information.

 Column moving through API 

API method for column moving is another feature requested by our clients in Ignite UI git repository that we have fulfilled. In addition to the drag and drop functionality, the Column Moving feature also provides two API methods to allow moving a column/reordering columns programmatically.  

Angular Components: Calendar, Date Picker, Time Picker, Navigation Drawer and Tabs 

 Calendar Keyboard navigation accessibility 

Improved Angular calendar component with active element keyboard navigation which is in compliance with Fundamental Keyboard Navigation Conventions section of W3C’s WAI-ARIA Authoring Practices 1.1. 

 Week numbers in angular date picker component and angular calendar component

 Week numbers became an important part of the enterprise culture and are good addition to your application . You can now use showWeekNumbers input to show the week numbers for both Angular Calendar and Angular Date Picker components. 

 Add disable animations option for tabs component and navigation drawer component  

We have added new propertiesNavigation Drawer disableAnimation and tabs disableAnimation to disable animation similar to Angular Material tabs. 

 Customize text label of the time picker component 

By placing an igxlabel inside a <label> tag nested in the Angular time picker component, the default label can be changed to a custom one. 

Overlay 

 Move PositionSettings to OverlaySettings 

 Changing the target of the position settings of the overlay could turn to be cumbersome for our clients we have moved the target property to the Overlay Settings. This will now make it easier for the target to be changed without the need to alter/override the position settings every time.  

 Implement factory functions for creating OverlaySettings 

Excel Style Filter

 Excel Style Filter interactions 

 Excel Style Filter interactions have been enhanced in order resemble Excel filter. Now moving from Excel to modern Angular application will be even easier for the users as interactions and key board navigation are the alike desktop ones.   

 Angular Data Grid export indicator 

Sometimes when the grid has a lot of data, exporting that data to Excel or CSV can take some time. That's why we added the Angular data grid exporting indicator at the bottom of the toolbar, which tells whether an exporting is in progress. If the exporting process takes longer than 500ms, the indicator will appear at the bottom of the toolbar and hide once the exporting finishes.  

 Ignite UI Excel Exporter Service  

 Now you can set custom name of the worksheet in exported workbook in the Ignite UI Grid Export to Excel Service.

In summary, the Infragistics Angular team continues to strive to create an effortless experience for developers with our Angular components and controls. To quote the WP Carey School of Business - “The best companies deliver straightforward, reliable experiences that meet real needs. People want to interact with companies where doing business is personalized, easy and hassle-free.” 

Material Icons Extended 

We are happy to present you the Ignite UI Material Icons Extended which is a subset of icons that extends the material icon set by Google. “Icons have always been important in enhancing the user experience, not only for navigating easily through the information in your app or on your web site but also in increasing the readability of the content by summarizing it, making it exciting and drawing the user’s attention to the most important parts of your web projects. “ Read more in “220+ Material Inspired Icons for Great User Experience” on Ignite UI page on Medium.com.

Here it is the complete Ignite UI for Angular Change Log for 10.2.0

  • IgxGridActions
    • Added asMenuItems Input for grid actions - igx-grid-editing-actions, igx-grid-pinning-actions. When set to true will render the related action buttons as separate menu items with button and label.
  • IgxGrid, IgxTreeGrid, IgxHierarchicalGrid
    • Behavioral Change - The Excel Style Filtering has been reworked to provide filtering experience such as in Excel. This includes the following changes:
      • You can close the Excel Style Filtering menu by pressing Ctrl + Shift + L.
      • You can apply the filter by pressing Enter.
      • When searching items in the Excel Style Filtering menu, only the rows that match your search term will be filtered in.
      • By checking the Add current selection to filter option, the new search results will be added to the previously filtered items.
  • IgxInputGroup
    • Breaking Change - Removed fluent, fluent_search, bootstrap, and indigo as possible values for the type input property.
    • Behavioral Change - The styling of the input group is now dictated by the theme being used. The remaining types - line, border, and box will only have effect on the styling when used with the material theme. The search type will affect styling when used with all themes. Changing the theme at runtime will not change the styling of the input group, a page refresh is required.
  • IgxGrid, IgxTreeGrid, IgxHierarchicalGrid
    • Rename outputs onRowEditEnter to rowEditEnter onCellEditEnter to cellEditEnter onCellEdit to cellEdit onRowEdit to rowEdit
    • Breaking Change - The onCellEditCancel event is replaced by the new cellEditExit event that emits every time the editable cell exits edit mode.
    • Breaking Change - The onRowEditCancel event is replaced by the new rowEditExit event that emits every time the editable row exits edit mode.
  • IgxOverlay
    • Breaking Change - target property in PositionSettings has been deprecated. You can set the attaching target for the component to show in OverlaySettings instead.
  • IgxToggleDirective
    • onAppended, onOpened and onClosed events are emitting now arguments of ToggleViewEventArgs type.
    • onOpening and onClosing events are emitting now arguments of ToggleViewCancelableEventArgs type.
  • IgxSelect
    • Added aria-labelledby property for the items list container(marked as role="listbox"). This will ensure the users of assistive technologies will also know what the list items container is used for, upon opening.
  • IgxDatePicker
    • Breaking Change - Deprecated the label property.
    • Added aria-labelledby property for the input field. This will ensure the users of assistive technologies will also know what component is used for, upon input focus.
  • igxNavigationDrawer
    • Added disableAnimation property which enables/disables the animation, when toggling the drawer. Set to false by default.
  • igxTabs
    • Added disableAnimation property which enables/disables the transition animation of the tabs' content. Set to false by default.
  • IgxExpansionPanel
    • IExpansionPanelEventArgs.panel - Deprecated. Usе owner property to get a reference to the panel.
  • IgxCalendarComponent, IgxMonthsViewComponent and IgxYearsViewComponent
    • tabIndex property was removed in order to improve on page navigation and to be compliant with W3 accessability recommendations; Also the date grid in the calendar is now only one tab stop, the same approach is applied and in the IgxMonthsViewComponent and IgxYearsViewComponent;

New Features

  • IgxGrid, IgxTreeGrid, IgxHierarchicalGrid
    • When triggering an export of the grid via the toolbar and the export takes more than 500 milliseconds, the export button becomes disabled and an indeterminate progress bar is shown at the bottom of the toolbar until the export is finished.
    • cellEditExit is a new event that fires when cell exits edit mode
    • rowEditExit is a new event that fires when row exits edit mode
    • Added getRowData(rowSelector) method that returns an object that represents the data that is contained in the specified row component.
    • Added ability to spawn row adding UI through exposed methods. Note that rowEditing should be enabled.
      • beginAddRow method which starts the adding row UI.
      • beginAddChild method which starts the adding child UI.
      this.grid.beginAddRow(rowID);
      • Added an input properties to IgxGridEditingActions component to show/hide add row and add child buttons which trigger the UI based on context expression.
      <igx-tree-grid[rowEditing]="true"><igx-action-strip#actionStrip><igx-grid-editing-actions[addRow]="true" [addChild]="actionStrip.context.level < 3"></igx-grid-editing-actions></igx-action-strip></igx-tree-grid>
    • A new locale and pipeArgs parameters are introduced in the operate method exposed by the IgxNumberSummaryOperand and IgxDateSummaryOperand, which exposes the grid locale. Use the locale parameter to get localized summary data (as per the grid locale. If not passed, locale defaults to 'en-US'). Use the pipeArgs parameter only if you want to customize the format of the date and numeric values that will be returned.
    classMySummaryextendsIgxDateSummaryOperand{operate(columnData: any[],allData=[],fieldName,locale: string,pipeArgs: IColumnPipeArgs): IgxSummaryResult[]{constpipeArgs: IColumnPipeArgs={format: 'longDate',timezone: 'UTC',digitsInfo: '1.1-2'}constresult=super.operate(columnData,allData,fieldName,locale,pipeArgs);returnresult;}}
    • A new pipeArgs input property is exposed by the IgxColumnComponent, which is used to pass arguments to the Angular DatePipe and DecimalPipe, to format the display for date and numeric columns.
  • IGX_INPUT_GROUP_TYPE injection token
    • Allows for setting an input group type on a global level, so all input-group instances, including components using such an instance as a template will have their input group type set to the one specified by the token. It can be overridden on a component level by explicitly setting a type.
  • IgxExcelExporterService
    • Added worksheetName property to the IgxExcelExporterOptions, that allows setting the name of the worksheet.
  • IgxDatePicker
    • The the label property have been deprecated and a custom label can also be set by nesting a inside the tags.
  • IgxTimePicker
    • Added a custom label functionality.
  • IgxCalendar and IgxDatePicker - new showWeekNumbers input, that allows showing of the week number at left side of content area.
  • IgxOverlay
    • The PositionSettings target property has been deprecated and moved to OverlaySettings.
    • An optional Point/HTML Element parameter target has been added to the position() method
    • Added createAbsoluteOverlaySettings and createRelativeOverlaySettings methods which create non-modal OverlaySettings based on predefined PositionSettings. The methods are exposed off the IgxOverlayService.
      • createAbsoluteOverlaySettings creates non-modal OverlaySettings with GlobalPositionStrategy or ContainerPositionStrategy if an outlet is provided. Accepts AbsolutePosition enumeration, which could be Center, Top and Bottom. Default is Center.
      constglobalOverlaySettings=IgxOverlayService.createAbsoluteOverlaySettings(AbsolutePosition.Top);
      • createRelativeOverlaySettings creates OverlaySettings with AutoPositionStrategy, ConnectedPositioningStrategy or ElasticPositionStrategy. Accepts target, strategy and position. The target is the attaching point or element for the component to show. The position strategy is a RelativePositionStrategy enumeration, which defaults to Auto. The position is a RelativePosition enumeration. Possible values are Above, Below, Before, After and Default. The default option is Default, which positions the element below the target, left aligned.
      consttargetElement=this.button.nativeElement;constconnectedOverlaySettings=IgxOverlayService.createRelativeOverlaySettings(targetElement,RelativePositionStrategy.Connected,RelativePosition.Above);
  • IgxToast
    • The component now utilizes the IgxOverlayService to position itself in the DOM.
    • An additional input property outlet has been added to allow users to specify custom Overlay Outlets using the IgxOverlayOutletDirective;
    • The position property now accepts values of type IgxToastPosition that work with strict templates.
  • IgxExpansionPanelHeader
    • onInteraction is now cancelable
    • Added iconRef property. This can be used to get a reference to the displayed expand/collapsed indicator. Returns null if iconPosition is set to NONE.

Looking Down The Road

One milestone is down and we are onto the next one. If you are curious about what is coming next, you can always check our Roadmap board and file. You can get a sneak peek of what is "cooking" in the Ignite UI for Angular Sprints through the GitHub Projects. Now you can follow the progress of your issues and be part of the process as you comment, report or request features on GitHub


Follow us on Medium and stay up-to-date with the latest Angular-related projects that we are working on. Give us a star on GitHub and help us to continue to improve our product by addressing any concerns, questions or feature requests in the issues section.  We will continue to do our best to constantly improve our product experience to meet all your needs and build apps with ease. 

Infragistics WPF Release Notes - November 2020: 19.2, 20.1 Service Release

$
0
0

Release notes reflect the state of resolved bugs and new additions from the previous release. You will find these notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

In order to download release notes, use the following links:

WPF 2019 Volume 2 Service Release (Build 19.2.20192.357)

PDF - Infragistics for WPF 2019 Volume 2
Excel - Infragistics for WPF 2019 Volume 2

WPF 2020 Volume 1 Service Release (Build 20.1.20201.104)

PDF - Infragistics for WPF 2020 Volume 1
Excel - Infragistics for WPF 2020 Volume 1

WPF UI Controls

Infragistics Windows Forms Release Notes - November 2020: 19.2, 20.1 Service Release

$
0
0

Release notes reflect the state of resolved bugs and new additions from the previous release. You will find these notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

In order to download release notes, use the following links:

Windows Forms 2019 Volume 2 Service Release (Build 19.2.20192.381)

PDF - Infragistics for Windows Forms 2019 Volume 2
Excel - Infragistics for Windows Forms 2019 Volume 2

Windows Forms 2020 Volume 1 Service Release (Build 20.1.20201.42)

PDF - Infragistics for Windows Forms 2020 Volume 1
Excel - Infragistics for Windows Forms 2020 Volume 1

Windows Forms UI Controls

4 Benefits of Embedded Analytics

$
0
0
Create a data driven culture by integrating embedded analytics into your applications which helps increase business productivity, competitive advantages and revenue.(read more)

Infragistics ASP.NET Release Notes - November 2020: 19.2, 20.1 Service Release

$
0
0

With every release comes a set of release notes that reflects the state of resolved bugs and new additions from the previous release. You’ll find the notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

Download the Release Notes

ASP.NET 2019 Volume 2

ASP.NET 2020 Volume 1


Ignite UI for jQuery Release Notes - November 2020: 19.2, 20.1 Service Release

$
0
0

With every release comes a set of release notes that reflects the state of resolved bugs and new additions from the previous release. You’ll find the notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

Download the Release Notes

Ignite UI 2019 Volume 2

Ignite UI 2020 Volume 1

Ignite UI for Angular 11.0.0 Release

$
0
0

Just in time for Angular 11, it’s Ignite UI 11.0.0! 

We are all excited about the release of Angular 11 and the new features that it supports. At Infragistics, we strive to provide you with the best possible user experience and keep you up-to-date with the latest versions of frameworks, platforms, and technology. That is why we are excited to share that we have released Ignite UI for Angular 11.0.0 , with full support for Angular 11, so quickly after its release 

It has been less than a month since we releasedIgnite UI for Angular 10.2.0, but our team has been hard at work and once again we have new component features and enhancements ready for you! Angular 11 includes stricter types, router performance improvements and end of the support for some IE versions. So, we have taken advantage of the new performance improvements to ensure the best possible experience for you and your users. 

Now, let’s look at everything that is included in Ignite UI for Angular 11.0.0: 

Angular Grids: Grid, Tree Grid and Hierarchical Grid 

Grid Toolbar refactoring

 The toolbar is great at separating logic/interactions which affects the grid as a whole. Thus, it can be configured to provide default components for controlling, column hiding, column pinning, advanced filtering and exporting data from the grid. The way the toolbar is instantiated in the grid has changed. It is now a separate component projected in the grid tree and it can be templated and styled differently from it. Thus the `showToolbar` property is removed from all grids and all other properties related to the toolbar in the grid are deprecated. It is important to note that the API for the toolbar component was changed during the refactor and many of the old properties are now removed. Unfortunately, having an adequate migration for these changes is complicated to say the least, so any errors with template bindings should be handled at project level. You can find more in our Update Guide topic.

<igx-grid [data]="data" [autoGenerate]="true"><igx-grid-toolbar><igx-grid-toolbar-title>Grid Title</igx-grid-toolbar-title></igx-grid-toolbar></igx-grid>


 New option for Grid Column Pinning and Column Hiding

  Another feature request coming from github, asking for more options in the UX behavior of the column pining and column hiding.

Select all rows in a group

 It is feature requested coming from our customer, logged in our github repository. Now when Row Selection is enabled, a Group By row selector is rendered in the left-most area of the group row. In case the **rowSelection** property is set to single, checkboxes are disabled and only serve as an indication for the group where selection is placed. If the rowSelection property is set to multiple, clicking over the Group By row selector selects all records belonging to this group.

example for angular material data grid with select all rows in a group

 Excel Style Filter templatable icon

 Now the Excel Style Filter is fully customizable as you can also re-template the Excel style filtering icon in the column header using the igxExcelStyleHeaderIcon directive.

<igx-grid ...><ng-template igxExcelStyleHeaderIcon><igx-icon>filter_alt</igx-icon></ng-template></igx-grid>

example for excel style filter in angular data grid with custom icon

Angular Components: Calendar, Badge and Overlay

 Angular Calendar ARIA 

 Angular calendar is now in compliance with WAI-ARIA guidelines for screen readers.

 A small badge option

 Updated animation of auto position strategy of the Overlay

 

Here it is the complete Ignite UI for Angular Change Log for 11.0.0

General

  • IgxGrid, IgxTreeGrid, IgxHierarchicalGrid
    • Added a new directive for re-templating the Excel style filtering header icon - IgxExcelStyleHeaderIconDirective.

    • Breaking Change

      Changed the how the grid toolbar is instantiated in the grids. The toolbar is now templated rather than being activated through a property on the parent grid. The toolbar features are also exposed as templatable components and the old properties are deprecated.

      Refer to the official documentation for more information.

  • FilteringStrategy
    • Breaking Change - filter method exposed by the FilteringStrategy class now requires 3rd advancedExpressionsTree and 4th grid parameters. If not needed, just pass null.

New Features

  • IgxCalendar
    • Is now fully accessible to screen readers.

Improvements

  • IgxOverlay
    • New functionality to automatically determine the correct animation that is needed when showing an overlay content. This is used with Auto Position strategy, where the IgxOverlay content is flipped, depending on the available space.

As we move toward the end of 2020, we are ending on a positive note with lucky number 11! We want to take this opportunity to thank all of you, our customers, and partners, who continue to share your feedback and ideas and help us to make Ignite UI for Angular the best Angular toolkit.  


Follow us on Medium and stay up-to-date with the latest Angular-related projects that we are working on. Give us a star on GitHub and help us to continue to improve our product by addressing any concerns, questions or feature requests in the issues section.  We will continue to do our best to constantly improve our product experience to meet all your needs and build apps with ease.

Accelerating Application Modernization

$
0
0
As the demand for application modernization accelerates, find out why modern UI toolkits can help you migrate from desktop to web faster and deliver a great user experience. (read more)

Ignite UI for Web Components – What’s New in 20.2

$
0
0

Today is the official release of the Infragistics Ignite UI for Web Components 20.2. Let's take a look at the new components and latest features that we have added in this latest release.

Web Components Date Picker

The Web Components Date Picker is our newest input component that allows your end-user to select a date from a calendar that is shown in a dropdown when the editor is clicked. This interactive calendar gives your end-users the ability to navigate the days, months, and years in an intuitive and easy to use component.

blazor date picker

Web Components Grid

The Web Components data grid is by far the most popular component in the entire product. Easy to use, exploding with performance, and packed with features it’s no wonder why the Ignite UI for Web Components data grid is the go-to for all of our Web Components customers.  While the v1 release of the Web Components data grid back in September was amazing, we spent the last three months making it even better by squeaking in just a few more helpful features to end out the year.

Accessibility (ARIA)

With the release of Ignite UI for Web Components 20.2, the Web Components data grid now has the best support for accessibility compared with other the Web Components grids available today.

Users who are visually impaired will typically require the assistance of a screen reader to interpret and interact with grid-based applications. In order to give screen readers the contextual information they require to interpret an interact with the Web Components grid, we have added the appropriate ARIA attributes to all grid DOM elements.

These ARIA attributes will ensure that screen readers can interpret and navigate the columns and rows of the Web Components grid.

Row Editing

In the initial v1 release of the Web Components grid back in September, we shipped with out of the box support for cell editing, and cell batch editing. In todays 20.2 release, we have added row editing. Row editing differs from cell editing in that once you begin to edit a cell, the entire row the cell belongs to is placed into edit mode. You can make changes to other cells in the same row without committing the data, and with the ability to have undo capabilities.  The moment you exit edit mode by hitting enter, or clicking outside the row, the value changes made in all cells in the entire row will be made all at once. Cell values that have not been committed are visually represented by a light gray italic text styling.

blazor grid row editing

Web Components Multi-Column Combo Box

Lastly, we have the new Multi-Column Combo Box.  This component is unique in that it is a combo box that visualizes large amounts of data in a data grid embedded in the dropdown. It supports features such as filtering with auto-suggest, a material-based label, placeholder text, defining columns, controlling column header visibility, sorting, and more. In the initial release of the Infragistics Ignite UI for Web Components product back in September, this was provided as a “Preview” component. There were just a few features and behaviors we wanted to add before calling it done. Now, after a ton of hard of work and testing over the last several months we are confident calling this a solid v1 of the Web Components multi-column combo box.

blazor multi-column combo box

Let’s Wrap this Baby Up!

If you have ideas about new features we should bring to our components, important issues we need to fix, or even brand new components you’d like us to introduce, please let us know by posting them on our Product Ideas website. Follow and engage with us on Twitter via @infragistics. You can also follow and contact me directly on Twitter at @brianlagunasYou can also subscribe to my YouTube channel to be notified of new videos, and follow me on Twitch to watch me stream live.  Also make sure to connect with our various teams via our Community Forums where you can interact with Infragistics engineers and other customers.  

Lastly, when you do build something cool with our controls, please make sure to let us know.

Ignite UI for Blazor – What’s New in 20.2

$
0
0

Just three short months ago, we released the very first version of our Ignite UI for Blazor product into the world. This initial release shipped with 15 brand new controls and over 60 different charts. That’s a huge release for a v1. You can read about all the goodies that shipped in the initial release here:

https://www.infragistics.com/community/blogs/b/infragistics/posts/ignite-ui-for-blazor-the-official-release

Today, I am excited to announce the newest release of Ignite UI for Blazor 20.2. Now I know what you’re thinking, “it’s only been 3 months and you already have another release of your Blazor product?”. Yes… yes we do! Although we only had three short months, I think you will agree that the features and new components we manage to add to the Blazor product is impressive.

Let’s stop the small talk and get into the details of today’s Ignite UI for Blazor 20.2 release.

Blazor Date Picker

The Blazor Date Picker is our newest input component that allows your end-user to select a date from a calendar that is shown in a dropdown when the editor is clicked. This interactive calendar gives your end-users the ability to navigate the days, months, and years in an intuitive and easy to use component.

blazor date picker

Blazor Excel Library

The Blazor Excel Library is a library dedicated to working with Microsoft Excel Spreadsheets. The Blazor Excel Library allows you to work with spreadsheet data using familiar Microsoft Excel spreadsheet objects like Workbooks, Worksheets, Cells, Formulas and many more without taking a dependency on Excel.  That’s right… no Excel dependency!!!

The Blazor Excel Library makes it easy for you read and modify Excel files, export your applications data into Excel spreadsheets, and parse data from Excel into your application. Not only that, but the Blazor Excel Library allows you to generate charts and sparklines based off your application data at runtime.

Blazor Excel Charts

The Blazor Excel Library chart functionality allows you to add chart representations of data trends across regions of cells in a worksheet. For example, if you want to see your Excel data in a region of cells visualized as a column, line, or over 70 other chart types, this feature can help you to achieve that.

blazor excel charts

Blazor Excel Sparklines

The Blazor Excel Library also has support for adding sparklines to an Excel Worksheet. These can be used to show simple visual representations of data trends across a region of cells of data in your worksheet. For example, if you wanted to see your Excel data across a particular cell region visualized as a simple column or line sparkline chart, this feature can help you to achieve that.

The following is a list of the supported predefined sparkline types.

  • Line
  • Column
  • Stacked (Win/Loss)

blazor excel sparklines

Blazor Grid

The Blazor data grid is by far the most popular component in the entire product. Easy to use, exploding with performance, and packed with features it’s no wonder why the Ignite UI for Blazor data grid is the go-to for all of our Blazor customers.  While the v1 release of the Blazor data grid back in September was amazing, we spent the last three months making it even better by squeaking in just a few more helpful features to end out the year.

Accessibility (ARIA)

With the release of Ignite UI for Blazor 20.2, the Blazor data grid now has the best support for accessibility compared with other the Blazor grids available today.

Users who are visually impaired will typically require the assistance of a screen reader to interpret and interact with grid-based applications. In order to give screen readers the contextual information they require to interpret an interact with the Blazor grid, we have added the appropriate ARIA attributes to all grid DOM elements.

These ARIA attributes will ensure that screen readers can interpret and navigate the columns and rows of the Blazor grid.

Row Editing

In the initial v1 release of the Blazor Grid back in September, we shipped with out of the box support for cell editing, and cell batch editing. In todays 20.2 release, we have added row editing. Row editing differs from cell editing in that once you begin to edit a cell, the entire row the cell belongs to is placed into edit mode. You can make changes to other cells in the same row without committing the data, and with the ability to have undo capabilities.  The moment you exit edit mode by hitting enter, or clicking outside the row, the value changes made in all cells in the entire row will be made all at once. Cell values that have not been committed are visually represented by a light gray italic text styling.

blazor grid row editing

Blazor Multi-Column Combo Box

Lastly, we have the new Multi-Column Combo Box.  This component is unique in that it is a combo box that visualizes large amounts of data in a data grid embedded in the dropdown. It supports features such as filtering with auto-suggest, a material-based label, placeholder text, defining columns, controlling column header visibility, sorting, and more. In the initial release of the Infragistics Ignite UI for Blazor product back in September, this was provided as a “Preview” component. There were just a few features and behaviors we wanted to add before calling it done. Now, after a ton of hard of work and testing over the last several months we are confident calling this a solid v1 of the Blazor multi-column combo box.

blazor multi-column combo box

Let’s Wrap this Baby Up!

If you have ideas about new features we should bring to our components, important issues we need to fix, or even brand new components you’d like us to introduce, please let us know by posting them on our Product Ideas website. Follow and engage with us on Twitter via @infragistics. You can also follow and contact me directly on Twitter at @brianlagunasYou can also subscribe to my YouTube channel to be notified of new videos, and follow me on Twitch to watch me stream live.  Also make sure to connect with our various teams via our Community Forums where you can interact with Infragistics engineers and other customers.  

Lastly, when you do build something cool with our controls, please make sure to let us know.

Viewing all 2223 articles
Browse latest View live