All Answers

0 votes

Thank you. It’s caused by the new PropertyGrid.BrowsableAttributes property (it was missing and now it’s implemented). It lets you define an array of attributes to be used to filter the properties.

The workaround is to read it once to let Wisej create the default value which is Browsable(true).

Dim b = Me.PropertyGrid1.BrowsableAttributes
Me.PropertyGrid1.SelectedObject = _testClass

 

  • Luca answered Oct 12, 2017 - 2:39 pm
0 votes

That’s it. Thanks a lot !

  • Tobias answered Oct 12, 2017 - 1:30 pm
0 votes

The CountUp extension is at /extensions. It includes all the options available to the widget.

  • Luca answered Oct 11, 2017 - 2:59 pm
0 votes

Thank you. It was fixed in the .34 dev build as WJ-8500.

  • Luca answered Oct 11, 2017 - 2:57 pm
  • last active Oct 11, 2017 - 2:57 pm
0 votes
In reply to: Last update

Good catch, it’s in the dev build 1.4.34. Thank you. It’s WJ-8503 and WJ-8502 will be in the next dev build.

  • Luca answered Oct 11, 2017 - 2:56 pm
0 votes

Add Global.asax it will work as in ASP.NET apps. However, Application_BeginRequest will be called only for HTTP requests.

In alternative to Application_Start you may also use the static constructor of Program.cs or the startup class you used in Default.json.

  • Luca answered Oct 11, 2017 - 2:11 pm
1 vote

The small spinner that shows when a request is taking a bit longer is in the themes. You can find in the .theme files (https://wisej.com/themes/) It’s called “ajax-loader”. If you open the ThemeBuilder app you can click on Images and then click the “export icons to a folder” button to get all the images exported to individual files.

  • Luca answered Oct 10, 2017 - 5:00 pm
0 votes

Thank you very much for figuring this out. This helps us a lot.

Extracting the default.json is not possible because we don’t allow the Windows service to write to its directory. With a little reflection magic we are able to fill the configuration cache.

Our idea for the Configuration would be some kind of factory like the VWG “IFormFactory” but for configurations. Maybe define the type in appSettings. (not a usecase for us at the moment but I have some ideas about that)

Thank you for helping us with this.

1 vote

The problem was not the recycling. It was that ILMerge removes the assembly attributes when merging so it removed the WisejResources from Wisej.Web.dll. The [attribute:WisejResources] that you added to ServiceWebServerWiseJDemo.UI.AssemblyInfo.cs didn’t have the exclusions, which causes Wisej to merge qx.js and qx.min.js and others all into wisej.js.

Basically the loader.js was loaded 3 times causing the browser to keep loading.

I changed the attribute to [assembly: WisejResources(ExcludeList: “qx.js, qx.min.js. Wisej-Loader.js”)] and it works.

I also added some code to extract Default.js at startup. You only need 1 file now, the json is extracted at startup. At the moment there is no way to change that – you’d have to use some convoluted reflection code. I can see if we can add a public constructor taking a json string.

 

 

  • Luca answered Oct 9, 2017 - 8:21 pm
  • last active Oct 9, 2017 - 8:21 pm
1 vote

Here is the updated sample.

  • Luca answered Oct 9, 2017 - 7:03 pm
1 vote

See attached sample.

You cannot use an arbitrary URL path, it must be the path where the default document is located otherwise the server has no way of knowing the /app/foo/ means /app/default.html. Wisej is Single Page Application (SPA) system.

You can deep link using either URL arguments or URL hash. The only advantage of using the hash is that it doesn’t trigger a reload in the browser. Browsers always reload the page when the url changes, it doesn’t matter that only an argument has changed. When changing the hash there is no reload. Wisej works in both cases.

When handling hash changes you can handle only the Application.HashChanged event.

When handling URL arguments you have to handle Application.ApplicationStart and Application.ApplicationRefresh. The first is fired when a new user loads the URL. The second is fired when an existing user reloads the page (or changes an argument in the URL – which is the same thing for the browsers).

HTH

 

  • Luca answered Oct 9, 2017 - 6:59 pm
0 votes

IE supports addEventListener. I’m not sure what you are referring to. Please provide more information.

  • Luca answered Oct 9, 2017 - 6:12 pm
0 votes
In reply to: Reportviewer

Yes, we can actually use any reporting system, including ReportViewer, Stimulsoft, List & Labels, ActiveReports, etc. Either as ASPNET controls or JavaScript controls.

See also:

https://wisej.com/support/question/aspnetcontrol

https://wisej.com/support/question/stuck-wrapping-an-asp-net-control-stimulsoft-reports-designer

Please note that the same may not run using our test ReportingServices  test server because it’s not always running, it’s a development server. You have to change it to login to your server. You can also personalize the wrapper to match your application’s requirements.

 

 

  • Luca answered Oct 9, 2017 - 6:01 pm
0 votes

I can’t reproduce. There was an issue with IE in emulation mode 10 but it was fixed in 1.3.85. It was:

WJ-8370: IE10 (or IE10 emulation) may load qx.js twice caused pointerdown events to be fired twice.

  • Luca answered Oct 9, 2017 - 5:37 pm
0 votes

You can do that like in two ways:

  1. Use userPopup1.ShowPopup(this.label1); The default alignment is BottomLeft. It will automatically align the popup below the opener aligned to the left and it will keep the aligment. It will also automatically adjust the position to ensure that the popup is visible in case the opener (label1) position would cause the popup to be partially outside of the browser. Just like the combobox drop down. To move the popup up in order to conver the opener you can use the Offset property of the popup: this.userPopup1.Offset = new Padding(0, -this.label1.Height, 0,0); to offset the top the height of the opener.
  2. Use userPopup1.ShowPopup(this.label1.Parent.PointToScreen(this.label1.Location); In this case the position is programmatic since there is no opener specified and you can position the popup anywhere.

The PointToScreen() method translates the client point to a screen point and if you use label1.PointToScreen(100,100) it translates the 100,100 location “inside” label1 to the corresponding screen location. This is a common error when translating client to screen and back.

You could also use this.label1.PointToScreen(Point.Empty), which is the same as this.label1.Parent.PointToScreen(this.label1.Location).

HTH

 

 

  • Luca answered Oct 9, 2017 - 5:25 pm
0 votes

Any progress on this feature? What makes you thinking that the AppDomain is recycling? Because static variables seems to stay alive.

0 votes

Yes!  That fixed it.  Woohoo!

Thanks!

  • David answered Oct 6, 2017 - 6:16 pm
0 votes

Hi Luca,
can you please provide the timer based sample (for environments which do not allow websockets) to me ?

  • Tobias answered Oct 6, 2017 - 10:45 am
0 votes

It works with :

var calendar1 = widget(jQuery(“div[name=’fullCalendar1′]”)[0]);

var locale = calendar1.calendar.option(“locale”);

Thanks!

  • Edmon answered Oct 6, 2017 - 10:10 am
  • last active Oct 6, 2017 - 10:30 am
0 votes

Thank you Luca. That works like a charm.  I appreciate the assistance.

Matthew

Showing 8301 - 8320 of 11k results