Hello,
when using igGrid in a Windows Store App, the Move Columns Dialog ("Feature Chooser > Move To > Move Columns") crashes with an exception because of a violation adding dynamic content. The other dialog windows work.
Best regards,
Joern
Hello Joern,
Thank you for your patience!
Currently there is no WinJS support, in other words there wont be any service releases that will contain any fix regarding this issue. According our developers there is some jQuery problem with the jQuery append method. This is a possible workaround for this issue (see the link below):
http://stackoverflow.com/questions/13139418/jquery-append-type-input-and-windows-store-app-html-css-js
Wrap the part that is throwing the exception with MSApp.execUnsafeLocalFunction.
If there is something else that I could help you with, contact me.
I do not understand... Surface device support is advertised by Infragistics.
Here is the text from the Infragistics store:
"Create modern, responsive desktop browser-based apps & mobile apps With MVC or HTML 5, CSS3 and JavaScript to deliver line ot business Solutions that look, teel and behave just like device-native apps, without learning multiple languages or trameworks From the iPad to Phone, Android, Windows Phone and the Surface tablet, Ignite Ul bridges the path to multi-device development. And the apps you build can be published to the App stores."
As you can see, the Surface is mentioned along with iPad, etc. and it does say that the apps can be published to the App stores.
The only reason I bought Ignite UI and not another framework was the Surface (WinJS / WinRT) support. If you look into the source code of the igGrid you will see that WinJS support is implemented. There is special WinJS code and calls to MSApp.execUnsafeLocalFunction. Why is it there?
I do not understand why you write that WinJS is not supported when it is advertised and it is (partially?) implemented?
Your workaround is not usable because that would mean that I have to patch all of the Ignite UI source code.
Hi, Joern.
I will explain the problem, because it seems I mislead my colleague when I helped him to answer your case.
I just need one clarification from you, thanks in advance. The description you are talking about is for our Ignite UI product, which is different from the Windows UI one. I guess you are using the controls from the Windows UI packet, rather directly the scripts from Ignite UI. Is this right?
We will not have support for our Windows UI (WinJS) product for this release, which means that we already have some WinJS implementation, but will not release new one with next 14.1 iteration of our product. This doesn't mean that we are not going to fix bugs, like the one you've pointed. You will be notified when the problem, that my colleague has created, is fixed.
In Windows UI product for HTML, we are using the Ignite UI controls, and we're creating some wrappers around the already existing controls, in order to clear such WinJS specific exceptions. In addition to that, we needed to add some more logic in the IGnite UI controls (not their WinJS wrappers), to clear some other issues, like the "MSApp.execUnsafeLocalFunction". That's why you are seeing the call "MSApp.execUnsafeLocalFunction" inside the IGnite UI controls. And it's not partially implemented, just in some of the places the wrapping of such code is missed. Our idea with the previous post was to give you the workaround, while the bug is fixed and solution arrives to you. The fix is to wrap the method, that is throwing exception, inside the "MSApp.execUnsafeLocalFunction" and to do this directly inside the Infragistics source code - you don't need to wrap all the Ignite UI source code. I guess this is what we are also going to do, but of course if this is not possible for you, we will provide you later with the fix.
The description about IgniteUI here in the Store, says "Create modern... browser-based apps... that look, feel and behave just like device-native apps, without learning multiple languages or frameworks...". This means that IGnite UI controls can be used in pages and they will run on any device's browser, including browser on Surface device. On other hand IGnite UI control can be used inside frameworks, similar to PhoneGap, which will later translate the code to any device-native app, including also applications from the Windows store. It's not recommended to use directly Ignite UI controls (without the WinJS wrappers) inside native Windows store application. If you want to create multi-platform solution, maybe it should be just a page, or application written in frameworks like PhoneGap. This is if we want to use IGnite UI controls inside WinJS app, without the Windows UI packet. The other options, of course, is to use Windows UI controls to create native Windows app.
I hope my answer will help you to resolve your case and I we will wait for your feedback. We will also write you when we have update for the bug. Thanks for the patience!
Nikolay Alipiev
I'm just checking, if you had the time to read my answer. Don't hesitate to ask, if you have some more questions.
Hello Nikolay,
regarding your question: No, I am not using the Windows UI controls. I am implementing a cross platform solution. Therefore, I am using Ignite UI.
I have no interest in using Windows UI controls, because that would mean implementing the views with data binding and view models again. And because Kockout works perfectly well with WinJS there is no need to do so.
I only do some special CSS styling for the different platforms.
I use PhoneGap for iPhone, iPad, Android and Windows Phone 8. And I use WinJS for Windows 8 Store Apps.
Basically, WinJS is PhoneGap for Windows 8. There is a PhoneGap for Windows 8 but it only implements the hardware API of PhoneGap / Cordova. It should be used within a WinJS App.
Of course, as you know, WinJS has a couple of security restrictions which means not every PhoneGap HTML5 app runs in WinJS without a couple of modifications.
When I bought Ignite UI, I read on the Infragistics site: "From the iPad to Phone, Android, Windows Phone and the Surface tablet, Ignite Ul bridges the path to multi-device development. And the apps you build can be published to the App stores."
Since the App store for the Surface is the Windows App Store, I assumed that I can use Ignite UI for the Windows App Store which means WinJS development. To make sure I developed a prototype with igGrid and it worked well. I also looked into the source of Ignite UI and saw a couple of WinJS checks and calls.
Now, after my purchase of Ignite UI and goind further with development, I ran into this bug.
You wrote: "If you want to create multi-platform solution, maybe it should be just a page, or application written in frameworks like PhoneGap. This is if we want to use IGnite UI controls inside WinJS app, without the Windows UI packet. The other options, of course, is to use Windows UI controls to create native Windows app."
This is exactly what I want to do.
But doing this, I run into the bug of this forum thread.
Since you wrote "This is if we want to use IGnite UI controls inside WinJS app, without the Windows UI packet.", I can assume that I can use IgniteUI within WinJS and it should work, correct?
Thank you for the detailed answer. Here are the both options:
1. IGnite UI packet
- Ignite UI controls will not work, when they are used directly in the native WinJS application. It is supposed that some of the controls may work but this is not true for the whole packet - maybe the IGnite UI controls that are part of the Windows UI packet will work.
- "If you want to use IGnite UI controls inside WinJS app, without the Windows UI packet... you should use PhoneGap" - this what I wanted to say, sorry for the grammar error in the sentence. It's recommended for your case to use PhoneGap for Windows 8 and together with the jQuery, version 2 and above, all the controls should work. I think this is the idea of the description in our site. If it's not very clear, we will need to restructure it and explain it better.
- If you think this important for you (the usage of IGnite UI controls directly in a WinJS app), you can propose it as a product idea on this page. Something like "Using Ignite UI controls in a native WinJS app".
2. Windows UI packet
- It's made to be used in the native WinJS app.
- Not all the controls from IGnite UI controls are there, but if some of the WinJS controls throws exceptions this is a bug for sure.
- In your case you need to create WinJS app with Windows UI controls, from scratch, which is not proper.
- Will not get any update - new controls, for the new 14.1 release.
As I see it, maybe the best solution for your case, is to try to run everything with PhoneGap. Meanwhile you can propose as an idea in our site - WinJS support for IgniteUI controls, which is something different from the Windows UI product and we don't have for the moment.
I will wait for your feedback.
Thanks,
Nikolay
you wrote ""If you want to use IGnite UI controls inside WinJS app, without the Windows UI packet... you should use PhoneGap" - this what I wanted to say, sorry for the grammar error in the sentence. It's recommended for your case to use PhoneGap for Windows 8 and together with the jQuery, version 2 and above, all the controls should work."
Ok, that's what I did:
- I downloaded the demo from:
http://ko.infragistics.com/community/blogs/mihail_mateev/archive/2013/01/07/using-phonegap-in-windows-8-store-applications.aspx
(Like you, this blog post says that I can use Ignite UI in a Windows 8 Store App with PhoneGap.)
Since the author says that I can use Ignite UI but he does not do so in his demo, I added jQuery 2.0.3, jQuery UI and Ignite UI to the demo app. I also added the code from two Ignite UI demos: The Feature Chooser demo and a Column Bar Diagram demo.
Unfortunately, it does not work:
1. The Feature Chooser Icon is missing from the Header.
2. If you click on the Header, the Feature Chooser is displayed (the graphics are messed up, but let's ignore this for a moment) - Go to the Move Columns Dialog - and it crashes as described in this forum topic.
3. Click on "Show chart" and it crashes again with a "Cannot add dynamic content message..."
Maybe I did something wrong. I am attaching my sample. Can you look into it... fix it... let me know...
Thanks!
The problem with the exception inside the grid is fixed. Now you can download the latest service release from here, and apply the fix. If you still have problems in other parts of our code, please write us and we will try to resolve them.
Thank you very much for the patience and for using our product.
We were not able to fully resolve this issue for this Service Release and it is planned for the next one. The escalation status is also changed for the next release. Thanks again for the patience.
when will this be fixed?
You released Version 14.1 but the development issue is still "In progress" and almost two month old.
In general, Infragistics controls are supposed to work, when used with Cordova. When issue like this appears, we are fixing not only that problem, but problems with similar manner and we are doing them for all the controls. We can keep you updated, about the general progress, using that thread, but if you feel more comfortable we can create different case. In both cases, we are taking in account not only that specific issue.
the development issue 162878 is connected with the "Move columns dialog crashing" support case.
It does not say anything about the data chart crashing as well - which I showed in my last sample.
Can you add another support case and / or development issue regarding this and the problem with Windows Store Apps + Cordova not working in general?