UNPKG

@fleetbase/fleetops-engine

Version:

Fleet & Transport Management Extension for Fleetbase

83 lines (77 loc) 3.56 kB
import ResourceActionService from '@fleetbase/ember-core/services/resource-action'; export default class MaintenanceActionsService extends ResourceActionService { get defaultCurrency() { return this.currentUser?.company?.currency || this.currentUser.currency || 'USD'; } constructor() { super(...arguments); this.initialize('maintenance', { defaultAttributes: { currency: this.defaultCurrency, }, }); } transition = { view: (maintenance) => this.transitionTo('maintenance.maintenances.index.details', maintenance), edit: (maintenance) => this.transitionTo('maintenance.maintenances.index.edit', maintenance), create: () => this.transitionTo('maintenance.maintenances.index.new'), }; panel = { create: (attributes = {}) => { const maintenance = this.createNewInstance(attributes); return this.resourceContextPanel.open({ content: 'maintenance/form', title: this.intl.t('common.create-a-new-resource', { resource: this.intl.t('resource.maintenance')?.toLowerCase() }), useDefaultSaveTask: true, saveOptions: { callback: this.refresh }, maintenance, }); }, edit: (maintenance) => { return this.resourceContextPanel.open({ content: 'maintenance/form', title: this.intl.t('common.edit-resource-name', { resourceName: maintenance.summary }), useDefaultSaveTask: true, maintenance, }); }, view: (maintenance) => { return this.resourceContextPanel.open({ maintenance, tabs: [{ label: this.intl.t('common.overview'), component: 'maintenance/details' }], }); }, }; modal = { create: (attributes = {}, options = {}, saveOptions = {}) => { const maintenance = this.createNewInstance(attributes); return this.modalsManager.show('modals/resource', { resource: maintenance, title: this.intl.t('common.create-a-new-resource', { resource: this.intl.t('resource.maintenance')?.toLowerCase() }), acceptButtonText: this.intl.t('common.create-resource', { resource: this.intl.t('resource.maintenance') }), component: 'maintenance/form', confirm: (modal) => this.modalTask.perform(modal, 'saveTask', maintenance, { refresh: true, ...saveOptions }), ...options, }); }, edit: (maintenance, options = {}, saveOptions = {}) => { return this.modalsManager.show('modals/resource', { resource: maintenance, title: this.intl.t('common.edit-resource-name', { resourceName: maintenance.summary }), acceptButtonText: this.intl.t('common.save-changes'), saveButtonIcon: 'save', component: 'maintenance/form', confirm: (modal) => this.modalTask.perform(modal, 'saveTask', maintenance, { refresh: true, ...saveOptions }), ...options, }); }, view: (maintenance, options = {}) => { return this.modalsManager.show('modals/resource', { resource: maintenance, title: maintenance.summary, component: 'maintenance/details', ...options, }); }, }; }