@fleetbase/fleetops-engine
Version:
Fleet & Transport Management Extension for Fleetbase
66 lines (55 loc) • 2.1 kB
JavaScript
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import { debug } from '@ember/debug';
import { task } from 'ember-concurrency';
export default class OrderFormComponent extends Component {
store;
orderConfigActions;
customFieldsRegistry;
mapManager;
currentUser;
customFields;
constructor() {
super(...arguments);
this.orderConfigActions.loadAll.perform();
}
selectFacilitator(model) {
this.args.resource.set('facilitator', model);
this.args.resource.set('driver', null);
}
*selectOrderConfig(orderConfig) {
if (!orderConfig) return;
this.args.resource.setProperties({
order_config_uuid: orderConfig.id,
order_config: orderConfig,
type: orderConfig.key,
});
this.args.resource.payload.set('type', orderConfig.key);
this.customFields = yield this.customFieldsRegistry.loadSubjectCustomFields.perform(orderConfig);
}
*selectDriver(driver) {
this.args.resource.set('driver_assigned', driver);
try {
const vehicle = yield driver.vehicle;
if (vehicle) {
this.args.resource.set('vehicle_assigned', vehicle);
}
} catch (err) {
debug('Unable to load and set driver vehicle: ' + err.message);
}
this.mapManager.focusResource(driver, 18);
// if (this.args.resource.is_route_optimized) {
// this.optimizeRoute.perform();
// }
}
toggleAdhoc(toggled) {
this.args.resource.adhoc = toggled;
this.args.resource.adhoc_distance = this.currentUser.getCompanyOption('fleetops.adhoc_distance', 5000);
}
toggleProofOfDelivery(toggled) {
this.args.resource.pod_required = toggled;
this.args.resource.pod_method = toggled ? 'scan' : null;
}
}