@fleetbase/fleetops-engine
Version:
Fleet & Transport Management Extension for Fleetbase
48 lines (41 loc) • 1.54 kB
JavaScript
import Controller from '@ember/controller';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import { task } from 'ember-concurrency';
export default class ManagementVendorsIndexNewController extends Controller {
vendorActions;
hostRouter;
intl;
notifications;
events;
overlay;
vendor = this.vendorActions.createNewInstance();
integratedVendor;
*save(vendor) {
vendor = this.integratedVendor ? this.integratedVendor : vendor;
try {
yield vendor.save();
this.events.trackResourceCreated(vendor);
this.overlay?.close();
yield this.hostRouter.refresh();
yield this.hostRouter.transitionTo('console.fleet-ops.management.vendors.index.details', vendor);
this.notifications.success(
this.intl.t('common.resource-created-success-name', {
resource: this.intl.t('resource.vendor'),
resourceName: vendor.name,
})
);
this.resetForm();
} catch (err) {
this.notifications.serverError(err);
}
}
resetForm() {
this.vendor = this.vendorActions.createNewInstance();
this.integratedVendor = null;
}
setIntegration(integratedVendor) {
this.integratedVendor = integratedVendor;
}
}