@fleetbase/fleetops-engine
Version:
Fleet & Transport Management Extension for Fleetbase
58 lines (52 loc) • 1.73 kB
JavaScript
import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import { task } from 'ember-concurrency';
export default class ContactFormComponent extends Component {
contactActions;
fetch;
notifications;
currentUser;
selectPlace(place) {
if (!place) return;
this.args.resource.setProperties({
place,
place_uuid: place.id,
});
}
removePlace() {
this.args.resource.setProperties({
place: null,
place_uuid: null,
});
}
editPlace() {
if (this.args.resource.has_place) {
this.contactActions.editPlace(this.args.resource);
} else {
this.contactActions.createPlace(this.args.resource);
}
}
*handlePhotoUpload(file) {
try {
yield this.fetch.uploadFile.perform(
file,
{
path: `uploads/${this.currentUser.companyId}/contacts/${this.args.resource.id}`,
subject_uuid: this.args.resource.id,
subject_type: 'fleet-ops:contact',
type: 'contact_photo',
},
(uploadedFile) => {
this.args.resource.setProperties({
photo_uuid: uploadedFile.id,
photo_url: uploadedFile.url,
photo: uploadedFile,
});
}
);
} catch (err) {
this.notifications.error('Unable to upload photo: ' + err.message);
}
}
}