UNPKG

@fleetbase/fleetops-engine

Version:

Fleet & Transport Management Extension for Fleetbase

88 lines (82 loc) 3.58 kB
import ResourceActionService from '@fleetbase/ember-core/services/resource-action'; export default class TelematicActionsService extends ResourceActionService { constructor() { super(...arguments); this.initialize('telematic'); } transition = { view: (telematic) => this.transitionTo('connectivity.telematics.details', telematic), edit: (telematic) => this.transitionTo('connectivity.telematics.edit', telematic), create: (provider) => { if (provider) { return this.transitionTo('connectivity.telematics.new', { queryParams: { setupProvider: provider } }); } return this.transitionTo('connectivity.telematics.new'); }, }; panel = { create: (attributes = {}) => { const telematic = this.createNewInstance(attributes); return this.resourceContextPanel.open({ content: 'telematic/form', title: this.intl.t('common.create-a-new-resource', { resource: this.intl.t('resource.telematic')?.toLowerCase() }), useDefaultSaveTask: true, saveOptions: { callback: this.refresh, }, telematic, }); }, edit: (telematic) => { return this.resourceContextPanel.open({ content: 'telematic/form', title: this.intl.t('common.edit-resource-name', { resourceName: telematic.name }), useDefaultSaveTask: true, telematic, }); }, view: (telematic) => { return this.resourceContextPanel.open({ telematic, tabs: [ { label: this.intl.t('common.overview'), component: 'telematic/details', }, ], }); }, }; modal = { create: (attributes = {}, options = {}, saveOptions = {}) => { const telematic = this.createNewInstance(attributes); return this.modalsManager.show('modals/resource', { resource: telematic, title: this.intl.t('common.create-a-new-resource', { resource: this.intl.t('resource.telematic')?.toLowerCase() }), acceptButtonText: this.intl.t('common.create-resource', { resource: this.intl.t('resource.telematic') }), component: 'telematic/form', confirm: (modal) => this.modalTask.perform(modal, 'saveTask', telematic, { refresh: true, ...saveOptions }), ...options, }); }, edit: (telematic, options = {}, saveOptions = {}) => { return this.modalsManager.show('modals/resource', { resource: telematic, title: this.intl.t('common.edit-resource-name', { resourceName: telematic.name }), acceptButtonText: this.intl.t('common.save-changes'), saveButtonIcon: 'save', component: 'telematic/form', confirm: (modal) => this.modalTask.perform(modal, 'saveTask', telematic, { refresh: true, ...saveOptions }), ...options, }); }, view: (telematic, options = {}) => { return this.modalsManager.show('modals/resource', { resource: telematic, title: telematic.name, component: 'telematic/details', ...options, }); }, }; }