38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*/
|
|
|
|
/**
|
|
* @module TransformListItem
|
|
* TransformListItem components are used for the list items for the Transform Secret Engines for all but Transformations.
|
|
* This component automatically handles read-only list items if capabilities are not granted or the item is internal only.
|
|
*
|
|
* @example
|
|
* ```js
|
|
* <TransformListItem @item={item} @itemPath="role/my-item" @itemType="role" />
|
|
* ```
|
|
* @param {object} item - item refers to the model item used on the list item partial
|
|
* @param {string} itemPath - usually the id of the item, but can be prefixed with the model type (see transform/role)
|
|
* @param {string} [itemType] - itemType is used to calculate whether an item is readable or
|
|
*/
|
|
|
|
import { computed } from '@ember/object';
|
|
import Component from '@ember/component';
|
|
|
|
export default Component.extend({
|
|
item: null,
|
|
itemPath: '',
|
|
itemType: '',
|
|
|
|
isBuiltin: computed('item', 'itemType', function () {
|
|
const item = this.item;
|
|
if (this.itemType === 'alphabet' || this.itemType === 'template') {
|
|
return item.get('id').startsWith('builtin/');
|
|
}
|
|
return false;
|
|
}),
|
|
|
|
backendType: 'transform',
|
|
});
|