@ducna01120/fleetops-engine
Version:
Fleet & Transport Management Extension for Fleetbase
103 lines (90 loc) • 2.65 kB
JavaScript
import BaseController from '@ducna01120/fleetops-engine/controllers/base-controller';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
export default class ManagementFuelReportsIndexNewController extends BaseController {
/**
* Inject the `store` service
*
* @memberof ManagementFuelReportsIndexNewController
*/
store;
/**
* Inject the `currentUser` service
*
* @memberof ManagementFuelReportsIndexNewController
*/
currentUser;
/**
* Inject the `intl` service
*
* @memberof intl
*/
intl;
/**
* Inject the `hostRouter` service
*
* @memberof ManagementFuelReportsIndexNewController
*/
hostRouter;
/**
* Inject the `hostRouter` service
*
* @memberof ManagementFuelReportsIndexNewController
*/
modalsManager;
/**
* The overlay component context.
*
* @memberof ManagementFuelReportsIndexNewController
*/
overlay;
/**
* The fuel report being created.
*
* @var {FuelReportModel}
*/
fuelReport = this.store.createRecord('fuelReport', { reporter: this.currentUser.user });
/**
* Set the overlay component context object.
*
* @param {OverlayContext} overlay
* @memberof ManagementFuelReportsIndexNewController
*/
setOverlayContext(overlay) {
this.overlay = overlay;
}
/**
* When exiting the overlay.
*
* @return {Transition}
* @memberof ManagementFuelReportsIndexNewController
*/
transitionBack() {
return this.hostRouter.transitionTo('console.fleet-ops.management.fuel-reports.index');
}
/**
* Trigger a route refresh and focus the new fuel report created.
*
* @param {FuelReportModel} fuelReport
* @return {Promise}
* @memberof ManagementFuelReportsIndexNewController
*/
onAfterSave(fuelReport) {
if (this.overlay) {
this.overlay.close();
}
this.hostRouter.refresh();
return this.hostRouter.transitionTo('console.fleet-ops.management.fuel-reports.index.details', fuelReport.public_id).then(() => {
this.resetForm();
});
}
/**
* Resets the form with a new fuel report record
*
* @memberof ManagementFuelReportsIndexNewController
*/
resetForm() {
this.fuelReport = this.store.createRecord('fuelReport', { reporter: this.currentUser.user });
}
}