We would like to be able to use the Upload Control with Typescript. But we have a requirement to not do an automatic upload, but to wait until associated form elements are completed.
Our scenario is someone fills out a form, associates the attachments using the control, then the user clicks 'Submit'. This submits the form first. Upon success, it gets the Id for the form record and then assigns that value to the File(s). Then it automatically calls the uploadFiles.
However, we cannot determine how in TypeScript to call the uploadFiles method. Do you have an example we can look at?
Two questions.
1. How to reload/refresh the kendo-grid after update?
2. How to maintain the state (filter/page number, etc...) after the reload/refresh?



Hi all!
I found a bug in a splitter component - you can open a plunker https://plnkr.co/edit/XJRTfXEIswV3fbwURc5X?p=preview and repeat next steps:
1. Change a position of a second splitter.
2. Then change a position of a first splitter – the bug is here – you can see that the second splitter is moved too.
How can I fix this behavior?
Best regards,
Sergey
Hi
I'm have implemented scheduler in my application and I was able to fill the scheduler with data.
The way I'm filling data is calling the API on load with one parameter as today's date and another as 10 days from today and i'm able to get it but the issue is when I change the date range.On calling the API again the I'm getting the response but scheduler is not getting filled for those dates, the current format is
$scope.schedulerOption={ dataSource: { data:myService.getData(), schema: { model: { id: "taskId", fields: { taskId: { from: "TaskID", type: "number" }, title: { from: "Title", defaultValue: "No title"}, start: { type: "date", from: "Start" }, end: { type: "date", from: "End" }, description: { from: "Description" }, RoomID:{ from: "RoomID" }, isAllDay: { type: "boolean", from: "IsAllDay" } } } } }}I did try read(),data() and fetch() the give errors while running.

Being a newbie to Angular 4 and typescript, I am not sure how to receive a memory stream sent back by the API controller and popup a file dialog to save it on the client.
This is what I currently have:
1) in my API controller, I am sending back an HttpResponseMessage such as:
public HttpResponseMessage Post(ReportsManagementUI workobj)
{
var zipfilename = workobj.CreateZipReport(session, sessionuser);
using (MemoryStream ms = new MemoryStream())
{
using (FileStream file = new FileStream(zipfilename, FileMode.Open, FileAccess.Read))
{
byte[] bytes = new byte[file.Length];
file.Read(bytes, 0, (int)file.Length);
ms.Write(bytes, 0, (int)file.Length);
HttpResponseMessage httpResponseMessage = new HttpResponseMessage();
httpResponseMessage.Content = new ByteArrayContent(bytes.ToArray());
httpResponseMessage.Content.Headers.Add("x-filename", zipfilename);
httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
httpResponseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
httpResponseMessage.Content.Headers.ContentDisposition.FileName = zipfilename;
httpResponseMessage.StatusCode = HttpStatusCode.OK;
return httpResponseMessage;
}
}
}
2) in my provider.ts, I have a function createReportsManagement which posts to the API controller code above:
public createReportsManagement(updatetype: string, reportsManagementObj: any) {
reportsManagementObj.actiontype = updatetype;
var headers = new Headers();
headers.append('Content-Type', 'application/json');
var objectToSend = JSON.stringify(reportsManagementObj);
let apiURL = this.framework_virtual_path + "api/ReportsManagement";
return this.http_request.post(apiURL, objectToSend, { headers: headers })
.map(response => response.text())
.catch(this.handleError);
}
3) On my html page, I have a component which calls the provider to create the report zip file.
This is where I am trying to use the KendoUI file-saver method saveAs() to popup the File Save dialog:
import { saveAs, encodeBase64 } from '@progress/kendo-file-saver';
...
private btnExcelClick() {
this.reportsLoading = true;
var responseType = 'arraybuffer';
this.myProvider.createReportsManagement("createReport", this.reportsMgmtObj)
.subscribe(
(response: any) => {
//question !!! is "data:text/plain" OK for zip file content?
const dataURI = "data:text/plain;base64," + encodeBase64(response);
saveAs(dataURI, "test.zip");
//this test code works and downloads the file test.txt
//const dataURI = "data:text/plain;base64," + encodeBase64("HELLO TEST");
//saveAs(dataURI, "test.txt");
} );
}
Thanks for any pointer!
Hi,
I'm using Kendo-UI with Angular 5 and I can't figure how to implement two things :
1. How to force focus on a Kendo-UI input element (dropDownList, TextBox, ...) which is in a kendo-window component ? I see no documentation about this. I've read that I may have to wait for the window component to trigger the activate method but such method doesn't exist in the angular version.
2. In the grid component, how can I activate the navigation with the arrow key ? More precisely, in single selection mode, I would like the selected row to change when I press the arrow key down or up. Is this possible ? Is this possible even if I use pagination with [data] being an observable of GridDataResult ?
Thank you in advance for your help.