Files
nomad/ui/app/models/action-instance.js
Phil Renaud fb14c2b556 [ui] Actions service and flyout (#19084)
* Initial pass at a global actions instance queue

* Action card with a bunch of functionality that needs to be pared back a bit

* Happy little actions button

* runAction performs updated to use actions service

* Stop All and Clear Finished buttons

* Keyboard service now passes element, so we can pseudo-click the actions dropdown

* resizable sidebar code blocks

* Contextual actions within task and job levels

* runAction greatly consolidated

* Pluralize action text

* Peer grouping of flyout action intances

* ShortIDs instead of full alloc IDs

* Testfixes that previously depended on notifications

* Stop and stop all for peered action instances

* Job name in action instance card linkable

* Componentized actions global button

* scss consolidation

* Clear and Stop buttons become mutually exclusive in an action card

* Clean up action card title styles a bit

* todo-bashing

* stopAll and stopPeers separated and fixed up

* Socket handling functions moved to the Actions service

* Error handling on socket message

* Smarter import

* Documentation note: need alloc-exec and alloc-raw-exec for raw_exec jobs

* Tests for flyout and dropdown actions

* Docs link when in empty flyout/queue state and percy snapshot test for it
2023-11-26 23:46:44 -05:00

46 lines
779 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
// @ts-check
import Model from '@ember-data/model';
import { attr, belongsTo } from '@ember-data/model';
export default class ActionInstanceModel extends Model {
@belongsTo('action') action;
/**
* @type {'starting'|'running'|'complete'|'error'}
*/
@attr('string') state;
@attr('string', {
defaultValue() {
return '';
},
})
messages;
@attr('date') createdAt;
@attr('date') completedAt;
@attr('string') allocID;
@attr('string') error;
get allocShortID() {
return this.allocID?.substring(0, 8);
}
/**
* Used to group action instances "run on all allocs"
*/
@attr('string') peerID;
/**
* @type {WebSocket}
*/
@attr() socket;
}