{"version":3,"sources":["QueryUpload.ts"],"names":[],"mappings":"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","file":"../QueryTs.Upload.js","sourcesContent":["/// \n\nclass QueryUpload\n extends QueryElement {\n\n private _event: QueryEventAsync;\n public get dropEvent() { return this._event.expose() }\n\n constructor(element: HTMLElement, input: IQueryElement) {\n super(element);\n\n this._event = new QueryEventAsync();\n\n // Events for drop zone\n [\"drag\", \"dragstart\", \"dragend\", \"dragover\", \"dragenter\", \"dragleave\", \"drop\"]\n .forEach(a => this.on(a, (e) => {\n e.preventDefault();\n e.stopPropagation(); \n }));\n\n this.on(\"drop\", async (e: DragEvent) => {\n let dataTransfer = e.dataTransfer;\n \n if (dataTransfer !== null) {\n for (let file of dataTransfer.files) {\n this._event.trigger(new QueryUploadFileUpload(file));\n }\n\n // And do a cleanup\n dataTransfer.clearData();\n }\n });\n\n // Events for upload button\n this.on(\"click\", () => input.trigger(\"click\", true));\n\n input.on(\"change\", (e: Event) => {\n let files = (e.srcElement).files;\n if(files === null)\n return;\n for(let file of files) {\n this._event.trigger(new QueryUploadFileUpload(file));\n }\n\n input.setVal(\"\");\n })\n }\n}\ninterface IQueryUploadFile {\n name: string;\n size: number;\n type: string;\n}\ninterface IQueryUploadFileModel {\n id: any;\n preview?: string;\n}\nclass QueryUploadFile {\n protected _file: IQueryUploadFile;\n protected _model?: IQueryUploadFileModel;\n\n constructor(file: IQueryUploadFile, model?: IQueryUploadFileModel) {\n this._file = file;\n this._model = model;\n }\n\n public get name() { return this._file.name; }\n public get size() { return this._file.size; }\n public get type() { return this._file.type; }\n public get model() { return this._model; }\n}\nclass QueryUploadFileUpload\n extends QueryUploadFile {\n\n protected _file: File;\n\n constructor(file: File) {\n super(file);\n\n this._file = file;\n }\n\n async upload(extraData?: any) {\n let data = new FormData();\n data.append('File', this._file);\n\n for (let x in extraData) {\n data.append(x, extraData[x]);\n }\n\n let request = await new QueryRequest(\"/Api/FileUpload\", {\n contentType: 'file',\n data: data\n }).request();\n\n this._model = await request.json();\n\n return this._model;\n }\n}"],"sourceRoot":"../../src/ts/QueryTs.Upload/"}