There is no way. Their widgets require a full page and css reload afaik.
Requests to heathcheck.wx start only after the server is disconnected.
The reason why your azure instance crashes or disconnects is most likely not cause by Wisej. I have several azure instances running without any issue and without any cookie.
None of the cookies you see are added by Wisej since wisej doesn’t use cookies. And healthcheck.wx is an empty response that is used only to inform the client that the connection is back.
The ARR cookies you see are added by IIS ARR balancer. The other cookies seem to be added bu azure on every single request of any kind while also blocking the request.
Levie (ITG)
Thank you
Object-fit properties on Wisej.Web.Ext.Camera
Correct image size after adding and testing
I was able to display at the ratio of.
width: 0 not “0”
all the sizes in the theme are numbers. I don’t know where the error happens in the layout engines, it seems that NaN places the MessageBox here: {left: 585, top: -29025025010014556, width: 750, height: 58050050020030080}
Actually it’s a theme mixin problem. And it’s not obvious to me why this happens. You can find the mixin file attached. As it is now, the messagebox does not show up. If you remove the appearances:button:states:default:styles node the messagebox shows up. Now, why the appearance of button makes the messagebox vanish … it beats me!
Best,
Alex
Actually I cannot attach, it says that theme extension is not allowed… tried to rename it to zip, also not allowed.. unless you are doing something else. JPGs are allowed.
So, I’m appendin it below. A.
{
“name”: “Material-3.mixin”,
“fonts”: {
“default”: {
“size”: 18,
“family”: [ “roboto”, “verdana”, “arial” ]
},
“defaultBold”: {
“size”: 18,
“family”: [ “roboto”, “verdana”, “arial” ],
“bold”: true
}
},
“colors”: {
“aa-innerPanelTitle”: “#687D76”,
“aa-outerPage”: “#E3E7EA”,
“aa-outerMenuBack”: “#00A1B1”,
“aa-outerMenuBackHighlight”: “#00C1D1”,
“aa-patientMenuBack”: “#FFFFFF”,
“aa-patientMenuText”: “#687D76”,
“aa-patientMenuTextHighlight”: “#00A1B1”,
“aa-innerPanelBack”: “#F6F7F9”,
“focusFrame”: “aa-outerMenuBack”,
“buttonFace”: “aa-outerMenuBack”
},
“appearances”: {
“button”: {
“inherit”: “button”,
“states”: {
“default”: {
“properties”: {
“textColor”: “aa-patientMenuBack”,
“font”: “defaultBold”
}, // include the styles to make the messagebox vanish, remove them to make it work !
“styles”: {
“backgroundColor”: “aa-outerMenuBack”,
“shadowColor”: “transparent”,
“width”: “0”
}
}
}
}
}
}
Anything you put in Default.html will show immediately. This is an example of the many splash screens we have implemented.
http://demo.wisej.com/syncfusion
The code is the test app here:
https://github.com/iceteagroup/Wisej-Ext-Syncfusion
Thank you.
This one worked fine:
var value = await this.dxGrid1.Instance.cellValueAsync(rowIndex, colIndex);
This one throws the exception “Unknown function: widget.cellValue”:
var value = await this.dxDataGrid1.CallAsync(“widget.cellValue”, lnRow, lnCol);
My mistake:
Getting a value back from the browser
If the remote js method you are calling returns a value and you want that value, you will receive it in an asynchronous callback because, being a remote call from the server to the browser (would be the same if it was from the browser to the server) it can only be asynchronous. Wisej supports it in both ways: callback or async/await.
this.dxGrid1.Call("widget.cellValue", (value)=>{ ...here I have value... }, rowIndex, colIndex);
// or
var value = await this.dxGrid1.CallAsync("widget.cellValue", rowIndex, colIndex);
// Using the dynamic bridge (Instance) only support await/async:
var value = await this.dxGrid1.Instance.cellValueAsync(rowIndex, colIndex);
Attaching to a dynamic event
Cannot use the method directly since it’s a dynamic object, do this:
this.dxDataGrid1.Instance.cellClick += new WidgetEventHandler(dxDataGrid1_WidgetEvent);
Thanks again! All very valuable information.
There is probably something I am still missing from my side:
This is working fine:
dxDataGrid1.Instance.cellValue(lnRow, “Job”, 234);
This is returning null:
var value = dxDataGrid1.Instance.cellValue(lnRow, “Job”);
Hi Takao,
I will log an enhancement to add different scaling factors for the camera video based on the object-fit style attribute.
I assume you want a behavior like “Fill” that will let the video completely fill the container.
If this isn’t what you want or you have any questions, please let me know!
Best regards,
Levie
Forgot, you can also attach to the cellClick event like this:
dxDataGrid1.Instance.cellClick += this.dxDataGrid1_cellClick;
private void dxDataGrid1_cellClick(object sender, WidgetEventArgs e) {
}
Basically the “Instance” member of the widget is a special dynamic JavaScript bridge to/from the browser. Any method you call on it will be called on the widget, any event you attach to it will handle the same event from the widget. There is no check at coding time (as in JavaScript) if anything exists since it’s all dynamic.
Yes, but you don’t need to call Eval with cellValue. The problem before was that you were using getCellElement() on the server which cannot return a DOM object to the server since it’s a browser object that cannot be serialized.
In the last sample you quoted you can do this:
dataGrid1.Instance.cellValue(lnRow, “Job”, “234”);
To read the value:
AlertBox.Show(dataGrid1.Instance.cellValue(lnRow, “Job”));
The method cellValue in the DX grid works for both setting and reading: https://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDataGrid/Methods/#cellValuerowIndex_dataField_value
Hi Luca.
Thank you for the explanation. I was able to set some of the widget properties values as a test.
private void dxDataGrid1_WidgetEvent(object sender, WidgetEventArgs e)
{
if (e.Type == "cellClick" && e.Data != null)
{
int lnCol = e.Data.columnIndex;
int lnRow = e.Data.rowIndex;
dxDataGrid1.Eval("this.widget.cellValue(" + lnRow.ToString() + ", \"Job\", " + "\"234\")");
}
}
Now, is there a way to GET the Cell value, for example, from the server side?
Cheers.
Ivan
You cannot return an HTMLElement to the server. It’s a browser object.
You can run javascript like this dxGrid1.Eval(“this.widget.getCellElement(…).style.border=’1px solid red'”);
Also, on the server side the dynamic property is “Instance”. We used “Widget” in the 2.1 version.
IntelliSense cannot show any JavaScript method, you have to use the vendor’s API reference.
The issue is the popups, being popups, handle pointer down events above all other elements (in the capture phase of the browser) to automatically close when the user clicks outside of the popup. When you click on the column menu (another popup) the pointer lands outside of the original popup and it closes before the pointerup event, hence the click is not fired.
Remember that all the popups, layers, windows (active/inactive), modal, drag & drop, resize, moving, etc. don’t exist in the browser. It’s all a bunch of <div> and it gets quite complicated to build a control system as complete as Wisej has. Having said that… 🙂
Add this to your UserComboBox and it will not auto hide anymore when clicking on the menu.
InitScript = “this.getPopup().setAutoHide(false)”;
A full implementation of the PrintPreviewDialog and PrintPreviewControl is here:
https://github.com/iceteagroup/wisej-extensions/tree/2.2/Wisej.Web.Ext.PrintPreview
Supports both PDF and WMF modes.
Luca,
Tell me if I’m getting too annoying ! 🙂
Is there a reason the column visibility does not work for the DataGridView in the DropDown?
A
Hi Levie.
That was fast! All working properly now.
Thank you so much.
Cheers.
Ivan
Hi Ivan,
Thanks for reporting the issue! You’re right and it looks like the entire library was affected by it. I fixed the bug and committed it to the GitHub repository. Please give it a try and let me know if you still have issues.
Best regards,
Levie
