All Answers

0 votes

Hi Frank

Fixed with V 2.1.12

Thanks

Ewan

0 votes

See attached sample.

  • Luca answered Dec 10, 2019 - 1:15 am
  • last active Dec 10, 2019 - 1:17 am
0 votes

Thanks Ewan,

also for providing more information by mail.

We could reproduce and are working on a fix.
I´ll keep you updated.

Best regards
Frank

0 votes

Hi Huynh,

a simple merge of 2 pdf memory streams is not possible.
There is a lot of alternate solutions available.

Find one here for example:

https://stackoverflow.com/questions/32204310/how-to-merge-two-memory-streams-containing-pdf-files-data-into-one

Best regards
Frank

0 votes

Hi,

wisej.web and wisej.core have been consolidated into wisej.framework
when we moved from Wisej 1.x to Wisej 2.x

For more information see here:

https://wisej.com/docs/2.0/html/UpgradeFromWisej1.htm

Best regards
Frank

0 votes

Hello Frank,

thank you very much for your answer.

I forgot to mention that we tried the approach you mentioned, but were looking for an alternative way for the following reasons

  • The URL “https://example.com/special” looks more natural for the enduser compared to “https://example.com/special”
  • Changing the hash value does not fire a new request

As far as i am aware, we would need to handle the HashChanged Event to register a user changing the hash value to change the displayed page accordingly.

Are there any other ways to accomplish our goal, or is using the Hashvalue the only option?

0 votes

Hi Florian,

thanks for your interest in Wisej.

Did you take a look at our DeepLinking example at GitHub:

https://github.com/iceteagroup/wisej-examples/tree/2.0/DeepLinking

It shows the concept of having different URL entry points and
I hope that gives you a direction for your migration.

Please let us know if you encounter any further questions.

Best regards
Frank

1 vote
In reply to: Use different fonts

Hi Ulisses,

There are a few ways to add a new font.

You can add it directly to the theme code under the “font” section, something like this:

"font":
{
    "size": 18,
    "family": ["dancing", "courier new"],
    "bold": false,
    "italic": false,
    "sources": [
    {
        "family": "Dancing",
        "source": [
          "http://fonts.gstatic.com/s/dancingscript/v7/DK0eTGXiZjN6yA8zAEyM2WrfpCc_r9-5ZnZPBmoO4Sk.eot",
          "http://fonts.gstatic.com/s/dancingscript/v7/DK0eTGXiZjN6yA8zAEyM2Ud0sm1ffa_JvZxsF_BEwQk.woff2"
        ]
    }]
}

Alternatively,

You can add the fonts through the ThemeBuilder in Wisej.  I’ve attached some screenshots showing the process.

Please also check out the Wisej documentation on ThemeFonts for more details: https://wisej.com/docs/2.0/html/ThemeFonts.htm

 

Let me know if you have any other questions!

Best,

Levie

  • Levie (ITG) answered Dec 5, 2019 - 11:08 pm
  • last active Dec 5, 2019 - 11:13 pm
0 votes

Hi

 

Its just a simple page with a grid, Im using vstudio 2015, with Wisej with runtime version v4.0.30319.

 

 

 

 

0 votes

Hi,

can´t reproduce this issue.
Can you please tell me your Visual Studio and Wisej version and describe the steps
to run into that problem ?
Or can you send me the sources ? If you don´t want to post here, you can send it to frankATiceteagroup.com

Best regards
Frank

0 votes
In reply to: Tablet Profile problem

Look at the user agent returned by the device using Application.UserAgent. Looks like some Huawie devices return a user agent without “Mobile” in it: See https://github.com/faisalman/ua-parser-js/issues/351

See if there is “MediaPad” or “HUAWEI”. You can add multiple options to the “userAgent” regex:

“userAgent”: “(Mobile|MediaPad|HUAWEI)”

 

  • Luca answered Dec 5, 2019 - 5:40 pm
0 votes
In reply to: Tablet Profile problem

Use this ClientProfiles.json put in your project and set “Copy to Output Directory” to “Copy always”. It must be in /bin.

{
 "profiles": [
 {
   "name": "Phone",
   "userAgent": "mobile"
 }
 ]
}

 

  • Luca answered Dec 5, 2019 - 12:01 am
  • last active Dec 5, 2019 - 12:04 am
0 votes

Hi Luca,

I think there is a little bug

if I have the smarthone (Samsung Note 9) potrait,

1) I open the page, then e.CurrentProfile.MaxWidth is right

2) I rotate to landscape and the e.CurrentProfile.MaxWidth return 0

3) if I refresh the page return the right width

 

this problem in the pc browser do not happen, only on Firefox android browser (I have not test IPhone)

Android Chrome do no have this problem

0 votes

Hi Huynh,

do you intend to display the texts that come along with the Bing wallpaper images ?

Best regards
Frank

0 votes

Thank you Frank!

it was my mistake! I had the widget inside a user control 🙂

all ok

1 vote

Hi Stanislaw,

this is certainly possible with Wisej.

For the authentication you can check Application.Session and navigate to a login window if needed.

For the URL handling you might want to take a look at our DeepLinking example on GitHub:

https://github.com/iceteagroup/wisej-examples/tree/2.0/DeepLinking

Please let us know if you have any further questions.

Best regards
Frank

0 votes

Hi Cristian,

you use Call or Eval, see here:

https://wisej.com/docs/2.0/html/JavaScript.htm

Best regards
Frank

0 votes

Hi Andrew,

One issue is related to the framework, not exactly a bug, but it can be improved on our side.  This is what’s happening.

Your code uses a static data source, a true static shared among all sessions. When you change a field in the data source it fires a number of events that allow the data-bound controls to update their content, in this case the data grid. However, being static, the event is originated by the the thread that modified the property. When the handler is called out-of -bound (from a different thread) it doesn’t have the context (session) so the changes to the grid are not sent to the browser. You need another round of changes to update the client.

One way to solved it is to attach to the BindingComplete event and make the grid reload it’s content (dataGrid.BeingUpdate(); dataGrid.EndUpdate()). But this will cause all the cells to be reloads also when you change only one. Our data grid has a special optimization that allows it to update a single cell value (up to a threshold after which it refreshes).

A better way is to create a new BindingSource like this:

 

public class MyBindingSource : BindingSource
{
   IWisejComponent context;

  public MyBindingSource(object dataSource) : base(dataSource, null) { }

  protected override void OnListChanged(ListChangedEventArgs e) {
    if (this.context == null)
      this.context = Application.Current;

    Application.RunInContext(this.context, () => { base.OnListChanged(e); });
  }
}

This will save the current context when created, like this:

   dataGridView1.DataSource = new MyBindingSource(_listForDGV);
   dataGridView1.DataBindingComplete += DataGridView1_DataBindingComplete;

Now each grid has it’s own BindingSource with the correct context but it still uses the same shared data source.

Then in DataGridView1_DataBindingComplete you can do simply this:

private void DataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
  Application.Update(this);
}

Basically now all the grids will get the updates automatically in the correct context since they share the same data source through a BindingSource that fires the OnListChanged event in context also when being generated from another request’s thread (which can be a different session).

This will be improved internally in all data bound controls in Wisej allow using static data sources more easily.

HTH

 

 

  • Luca answered Dec 3, 2019 - 12:01 am
0 votes

The CurrentProfile object refers to the current profile that matched the device out of the ClientProfiles.json – it’s to the description of the device. To read the properties of the device use Application.Browser.

If the matched profile doesn’t specify the landscape property it’s left undefined (null, it’s a int?). When set to true (or false) it adds a matching condition to the profile meaning that that the height > width or viceversa, otherwise it’s ignored.

Client profiles are matched from to bottom and the first that matches is used (it’s not a best match selection). You can define a custom set of rules, add a new ClientProfiles.json to your app (Add -> New Items -> templates) to override the built-in one:

 

{
 "profiles": [
 {
 "name": "Phone",
 "maxWidth": 450
 },
 {
 "name": "Phone (Landscape)",
 "landscape": true,
 "maxWidth": 600
 },
 {
 "name": "Tablet",
 "maxWidth": 800
 },
 {
 "name": "Tablet (Landscape)",
 "landscape": true,
 "maxWidth": 1024
 }
 ]
}

HTH

  • Luca answered Dec 2, 2019 - 6:22 pm
0 votes

Hi,

are you 100% sure that this is caused merely by going from 2.1.5 to 2.1.9 ?
Can you please check if anything else changed in your environment / settings ?

You can find a few pointers to check here:

https://wisej.com/support/question/httpcontext-current-session-is-null

Thanks in advance.

Best regards
Frank

Showing 5341 - 5360 of 11k results