Skip to content

Commit 9cd3ffc

Browse files
remove usage of jquery
2 parents 2b9b442 + 254d332 commit 9cd3ffc

File tree

33 files changed

+176
-133
lines changed

33 files changed

+176
-133
lines changed

Dockerfile

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
FROM danlynn/ember-cli:3.3.0 as builder
1+
FROM node:10.15-alpine as builder
22
LABEL maintainer="Niranjan Rajendran <[email protected]>"
33

44
WORKDIR /app
5-
ADD package.json yarn.lock ./
5+
6+
RUN apk add git python-dev make g++
7+
8+
COPY package.json yarn.lock ./
9+
610
RUN yarn install
711

8-
ADD . .
9-
RUN touch .env && ember build -prod
12+
COPY . .
13+
RUN touch .env && JOBS=1 npx ember build -prod
1014

1115
##
1216
##

app/components/events/event-import-section.js

Lines changed: 1 addition & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import $ from 'jquery';
21
import Component from '@ember/component';
32
import FormMixin from 'open-event-frontend/mixins/form';
4-
import ENV from 'open-event-frontend/config/environment';
53

64
export 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
}

app/components/ui-table-server.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,14 +189,14 @@ export default ModelsTable.extend({
189189
},
190190

191191
gotoFirst() {
192-
if (!get(this, 'gotoForwardEnabled')) {
192+
if (!get(this, 'gotoBackwardEnabled')) {
193193
return;
194194
}
195195
set(this, 'currentPageNumber', 1);
196196
},
197197

198198
gotoLast() {
199-
if (!get(this, 'gotoBackwardEnabled')) {
199+
if (!get(this, 'gotoForwardEnabled')) {
200200
return;
201201
}
202202
let pagesCount = get(this, 'pagesCount');

app/controllers/events/import.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import Controller from '@ember/controller';
2+
import { run } from '@ember/runloop';
3+
import ENV from 'open-event-frontend/config/environment';
4+
5+
export default Controller.extend({
6+
importStatus : 'Importing',
7+
importError : 'Import Error',
8+
btnImportEvent : false,
9+
file : false,
10+
fileName : '',
11+
importTask(taskUrl) {
12+
let _this = this;
13+
run.later(() => {
14+
this.get('loader')
15+
.load(taskUrl)
16+
.then(data => {
17+
if (data.state !== 'SUCCESS') {
18+
this.set('importStatus', `Status: ${ data.state}`);
19+
_this.importTask(taskUrl);
20+
} else {
21+
this.set('importStatus', `Status: ${ data.state}`);
22+
document.location = `/events/${ data.result.id}`;
23+
}
24+
})
25+
.catch(e => {
26+
this.set('');
27+
this.set('importError', e.message);
28+
this.set('btnImportEvent', false);
29+
this.set('file', false);
30+
});
31+
}, 3000);
32+
},
33+
actions: {
34+
uploadFile(files) {
35+
let _this = this;
36+
let [file] = files;
37+
var data = new FormData();
38+
var endpoint = 'import/json';
39+
var ext = file.name.split('.');
40+
ext = ext[ext.length - 1].toLowerCase();
41+
if (ext === 'xml') {
42+
endpoint = 'import/pentabarf';
43+
} else if (ext === 'ical') {
44+
endpoint = 'import/ical';
45+
}
46+
data.append('file', file);
47+
48+
this.set('importStatus', 'Uploading file.. Please don\'t close this window');
49+
this.set('importError', '');
50+
this.set('btnImportEvent', true);
51+
this.set('file', true);
52+
53+
this.get('loader').post(
54+
`${`${ENV.APP.apiHost}/${ENV.APP.apiNamespace}/events/`}${endpoint}`,
55+
data,
56+
{ isExternal: true, isFile: true }
57+
).then(data => {
58+
_this.importTask(`tasks/${data.task_url.split('/')[3]}`);
59+
}).catch(e => {
60+
this.set('');
61+
this.set('importError', e.message);
62+
});
63+
}
64+
}
65+
});

app/controllers/events/view/sessions/edit.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export default Controller.extend({
44
actions: {
55
save() {
66
this.set('isLoading', true);
7-
this.get('model').save()
7+
this.get('model.session').save()
88
.then(() => {
99
this.get('notify').success(this.get('l10n').t('Session details have been saved'));
1010
this.transitionToRoute('events.view.sessions');
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { helper } from '@ember/component/helper';
2+
3+
export function customRelatedField(params/* , hash*/) {
4+
5+
let record = params[0].get(params[1]);
6+
return record.get(params[2]);
7+
8+
}
9+
10+
export default helper(customRelatedField);

app/routes/events/view/sessions/edit.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,23 @@ import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-rout
33

44
export default Route.extend(AuthenticatedRouteMixin, {
55
titleToken(model) {
6-
var session_title = model.get('title');
7-
return this.get('l10n').t(session_title.concat('-Edit'));
6+
var sessionTitle = model.session.title;
7+
return this.get('l10n').t(sessionTitle.concat('-Edit'));
88
},
9-
model(params) {
10-
return this.store.findRecord('session', params.session_id, {
11-
include: 'session-type,speakers,track'
12-
});
9+
async model(params) {
10+
const eventDetails = this.modelFor('events.view');
11+
return {
12+
event : eventDetails,
13+
form : await eventDetails.query('customForms', {
14+
'page[size]' : 50,
15+
sort : 'id'
16+
}),
17+
session: await this.get('store').findRecord('session', params.session_id, {
18+
include: 'track,session-type'
19+
}),
20+
tracks : await eventDetails.query('tracks', {}),
21+
sessionTypes : await eventDetails.query('sessionTypes', {})
22+
23+
};
1324
}
1425
});

app/routes/explore.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,21 @@ export default Route.extend({
128128
}
129129
]
130130
});
131+
} else {
132+
filterOptions.push({
133+
or: [
134+
{
135+
name : 'starts-at',
136+
op : 'ge',
137+
val : new Date()
138+
},
139+
{
140+
name : 'ends-at',
141+
op : 'ge',
142+
val : new Date()
143+
}
144+
]
145+
});
131146
}
132147

133148
return this.store.query('event', {

app/routes/my-tickets/list.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ export default Route.extend({
88
return this.get('l10n').t('Upcoming');
99
case 'past':
1010
return this.get('l10n').t('Past');
11-
case 'saved':
12-
return this.get('l10n').t('Saved');
1311
}
1412
},
1513
model(params) {

app/templates/components/event-card.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
{{#unless device.isMobile}}
44
<div class="ui card three wide computer six wide tablet column">
55
<a class="image" href="{{href-to 'public' event.identifier}}">
6-
{{widgets/safe-image src=(if event.originalImageUrl event.originalImageUrl event.originalImageUrl)}}
6+
{{widgets/safe-image src=(if event.thumbnailImageUrl event.thumbnailImageUrl event.originalImageUrl)}}
77
</a>
88
</div>
99
{{/unless}}
1010
{{/if}}
1111
<div class="ui card {{unless isWide 'event fluid' 'thirteen wide computer ten wide tablet sixteen wide mobile column'}}">
1212
{{#unless isWide}}
1313
<a class="image" href="{{href-to 'public' event.identifier}}">
14-
{{widgets/safe-image src=(if event.originalImageUrl event.originalImageUrl event.originalImageUrl)}}
14+
{{widgets/safe-image src=(if event.thumbnailImageUrl event.thumbnailImageUrl event.originalImageUrl)}}
1515
</a>
1616
{{/unless}}
1717
<a class="main content" href="{{href-to 'public' event.identifier}}">

0 commit comments

Comments
 (0)