1- import $ from 'jquery' ;
21import Component from '@ember/component' ;
32import FormMixin from 'open-event-frontend/mixins/form' ;
4- import ENV from 'open-event-frontend/config/environment' ;
53
64export default Component . extend ( FormMixin , {
75 classNames : [ 'ui' , 'stackable' , 'centered' , 'grid' ] ,
@@ -28,62 +26,11 @@ export default Component.extend(FormMixin, {
2826 }
2927 } ;
3028 } ,
31- importTask ( url ) {
32- let _this = this ;
33- this . get ( 'loader' )
34- . load ( url )
35- . then ( data => {
36- if ( data . state !== 'SUCCESS' ) {
37- $ ( '#import_status' ) . html ( `<b>Status:</b> ${ data . state } ` ) ;
38- setTimeout ( function ( ) {
39- _this . importTask ( url ) ;
40- } , 3000 ) ;
41- } else {
42- $ ( '#import_status' ) . html ( `<b>Status:</b> ${ data . state } ` ) ;
43- document . location = `/events/${ data . result . id } ` ;
44- }
45- } )
46- . catch ( e => {
47- $ ( '#import_status' ) . text ( '' ) ;
48- $ ( '#btnImportEvent' ) . prop ( 'disabled' , false ) ;
49- $ ( '#import_file' ) . prop ( 'disabled' , false ) ;
50- $ ( '#import_error' ) . text ( e . message ) ;
51- } ) ;
52- } ,
5329 actions : {
5430 submit ( ) {
5531 let _this = this ;
5632 this . onValid ( ( ) => {
57- var data = new FormData ( ) ;
58- var endpoint = 'import/json' ;
59- $ . each ( $ ( '#file' ) [ 0 ] . files , function ( i , file ) {
60- var ext = file . name . split ( '.' ) ;
61- ext = ext [ ext . length - 1 ] . toLowerCase ( ) ;
62- if ( ext === 'xml' ) {
63- endpoint = 'import/pentabarf' ;
64- } else if ( ext === 'ical' ) {
65- endpoint = 'import/ical' ;
66- }
67- data . append ( 'file' , file ) ;
68-
69- $ ( '#import_status' ) . text ( 'Uploading file.. Please don\'t close this window' ) ;
70- $ ( '#import_error' ) . text ( '' ) ;
71- $ ( '#btnImportEvent' ) . prop ( 'disabled' , true ) ;
72- $ ( '#file' ) . prop ( 'disabled' , true ) ;
73-
74- _this . get ( 'loader' ) . post (
75- `${ `${ ENV . APP . apiHost } /${ ENV . APP . apiNamespace } /events/` } ${ endpoint } ` ,
76- data ,
77- { isExternal : true , isFile : true }
78- ) . then ( data => {
79- setTimeout ( function ( ) {
80- _this . importTask ( `tasks/${ data . task_url . split ( '/' ) [ 3 ] } ` ) ;
81- } , 1000 ) ;
82- } ) . catch ( e => {
83- $ ( '#import_status' ) . text ( '' ) ;
84- $ ( '#import_error' ) . text ( e ) ;
85- } ) ;
86- } ) ;
33+ _this . sendAction ( 'uploadFile' , event . target . getElementsByTagName ( 'input' ) [ 0 ] . files ) ;
8734 } ) ;
8835 }
8936 }
0 commit comments