diff --git a/_history b/_history new file mode 100644 index 00000000000..c6ad2f08f9f --- /dev/null +++ b/_history @@ -0,0 +1,6 @@ +simulate_queue_worker +simulate_queue_worker +simulate_queue_worker +simulate_queue_worker +simulate_queue_worker +exit diff --git a/app/javascript/components/automate-entry-points/checkbox.js b/app/javascript/components/automate-entry-points/checkbox.js new file mode 100644 index 00000000000..399c9294c85 --- /dev/null +++ b/app/javascript/components/automate-entry-points/checkbox.js @@ -0,0 +1,31 @@ +import React, { useState } from 'react'; +import PropTypes from 'prop-types'; + +const Checkbox = ({ defaultState = false, onChange, children }) => { + const [on, setOn] = useState(defaultState); + const handleChange = (e) => { + setOn(e.target.checked); + onChange && onChange(e.target.checked); + }; + return ( +
+ +
+ ); +}; + +Checkbox.propTypes = { + defaultState: PropTypes.bool, + onChange: PropTypes.func.isRequired, + children: PropTypes.arrayOf(PropTypes.any), +}; + +Checkbox.defaultProps = { + defaultState: false, + children: [], +}; + +export default Checkbox; diff --git a/app/javascript/components/automate-entry-points/index-working.jsx b/app/javascript/components/automate-entry-points/index-working.jsx new file mode 100644 index 00000000000..cfa4d136518 --- /dev/null +++ b/app/javascript/components/automate-entry-points/index-working.jsx @@ -0,0 +1,482 @@ +// import React, { useState, useEffect } from 'react'; +// import PropTypes from 'prop-types'; +// import { Loading, Modal, ModalBody } from 'carbon-components-react'; +// import MiqDataTable from '../miq-data-table'; +// import { http } from '../../http_api'; + +// const AutomateEntryPoints = ({ +// field, selected, type, setShowModal, setSelectedValue, +// }) => { +// const [data, setData] = useState({ +// isLoading: true, list: {}, selectedItemId: selected, +// }); + +// const workflowTypes = { +// provision: __('Provision'), +// reconfigure: __('Reconfigure'), +// retire: __('Retirement'), +// }; + +// useEffect(() => { +// API.get('/api/automate') +// .then((_data) => { +// console.log(data); +// setData({ +// ...data, +// isLoading: false, +// }); +// }); +// }, []); + +// /** Function to handle a row's click event. */ +// const onSelect = (selectedItemId) => { +// setData({ +// ...data, +// selectedItemId: (data.selectedItemId === selectedItemId) ? undefined : selectedItemId, +// }); +// const params = `cfp-${encodeURIComponent(selectedItemId)}&tree=automate_catalog_tree&field=${field}`; +// window.miqJqueryRequest(`/catalog/ae_tree_select/?id=${params}&typ=${type}`); +// }; +// if (data.isLoading) { +// return (); +// } +// /** Function to handle the modal box close button click event. */ +// const onCloseModal = () => { +// if (setShowModal) { +// setShowModal(false); +// } else { +// document.getElementById(`${type}-workflows`).innerHTML = ''; +// http.post('/catalog/ae_tree_select_toggle?button=cancel', {}, { headers: {}, skipJsonParsing: true }); +// } +// }; +// /** Function to handle the modal box apply button click event. */ +// const onApply = () => { +// const seletedItem = data.list.rows.find((item) => item.id === data.selectedItemId); +// const name = seletedItem.name.text; +// if (seletedItem) { +// if (setShowModal && setSelectedValue) { +// setShowModal(false); +// setSelectedValue(seletedItem); +// } else { +// const nameField = document.getElementById(field); +// const selectedField = document.getElementById(`${type}_configuration_script_id`); + +// if (nameField && selectedField) { +// nameField.value = name; +// selectedField.value = data.selectedItemId; +// http.post('/catalog/ae_tree_select_toggle?button=submit&automation_type=workflow', {}, { headers: {}, skipJsonParsing: true }) +// .then((_data) => { +// document.getElementById(`${type}-workflows`).innerHTML = ''; +// }); +// } +// } +// } +// }; +// return ( +// +// +// onSelect(selectedRow.id)} +// showPagination={false} +// truncateText={false} +// mode="automated-workflow-entry-points" +// gridChecks={[data.selectedItemId]} +// size="md" +// /> +// +// +// ); +// }; +// AutomateEntryPoints.propTypes = { +// field: PropTypes.string.isRequired, +// type: PropTypes.string.isRequired, +// selected: PropTypes.string, +// setShowModal: PropTypes.func, +// setSelectedValue: PropTypes.func, +// }; + +// AutomateEntryPoints.defaultProps = { +// selected: '', +// setShowModal: undefined, +// setSelectedValue: undefined, +// }; + +// export default AutomateEntryPoints; + +import React, { useEffect, useState } from 'react'; +import { FolderOpen16, Folder16, Document16 } from '@carbon/icons-react'; +import TreeView, { flattenTree } from 'react-accessible-treeview'; +import './styles.css'; + +const DirectoryTreeView = () => { +// const [treeData, setTreeData] = useState([{ +// id: 'root', +// name: '', +// children: [ +// { +// id: 'src_folder', +// name: 'src', +// }, +// ], +// }, +// ]); + + // const folder = { + // id: 'root', + // name: '', + // children: [ + // { + // id: 'src_folder', + // name: 'src', + // children: [ + // { + // id: 'index.js_file', + // name: 'index.js', + // metadata: { a: '1', b: '2', c: 'test' }, + // }, + // { + // id: 'styles.css_file', + // name: 'styles.css', + // metadata: { a: '1', b: '2', c: 'test' }, + // }], + // }, + // { + // id: 'node_modules_folder', + // name: 'node_modules', + // children: [ + // { + // id: 'react-accessible-treeview-folder', + // name: 'react-accessible-treeview', + // children: [{ + // id: 'index.js_file2', + // name: 'index.js', + // }], + // }, + // { + // id: 'react_folder', + // name: 'react', + // children: [{ + // id: 'index.js_file3', + // name: 'index.js', + // }], + // }, + // ], + // }, + // { + // id: '.npmignore_file', + // name: '.npmignore', + // }, + // { + // id: 'package.json_file', + // name: 'package.json', + // }, + // { + // id: 'webpack.config.js_file', + // name: 'webpack.config.js', + // }, + // ], + // }; + + const root = { + id: 'root', + name: '', + children: [ + // { + // id: 'datastore_folder', + // name: __('Datastore'), + // children: [{}], + // }, + ], + }; + + const [rawTreeData, setRawTreeData] = useState(root); + const [treeData, setTreeData] = useState(flattenTree(root)); + const [expandedIds, setExpandedIds] = useState([]); + const [treeIds, setTreeIds] = useState(['datastore_folder']); + const [key, setKey] = useState('initial'); + + useEffect(() => { + const newChildren = []; + API.get('/api/automate_domains?expand=resources').then((apiData) => { + console.log(apiData); + apiData.resources.forEach((domain) => { + newChildren.push({ + id: domain.id, + name: domain.name, + children: [{ + id: `${domain.id}_child_placeholder`, + name: 'Loading', + children: [], + parent: `${domain.id}`, + metadata: {}, + }], + parent: 'datastore_folder', + metadata: {}, + }); + }); + return newChildren; + }).then((newChildren) => { + const tempIdsArray = treeIds; + newChildren.forEach((node) => { + if (!treeIds.includes(node.id)) { + tempIdsArray.push(node.id); + } + }); + const tempData = root; + tempData.children = [{ + id: 'datastore_folder', + name: __('Datastore'), + }]; + tempData.children[0].children = newChildren; + setTreeIds(tempIdsArray); + setTreeData(flattenTree(tempData)); + }); + }, []); + + useEffect(() => { + console.log(rawTreeData); + setTreeData(flattenTree(rawTreeData)); + }, [rawTreeData]); + + useEffect(() => { + console.log(treeData); + if (treeData.length > 3) { + setExpandedIds(['datastore_folder']); + // setKey(treeData.length + 1); + } + }, [treeData]); + + const FolderIcon = ({ isOpen }) => + (isOpen ? ( + + ) : ( + + )); + + const FileIcon = ({ filename }) => { + if (filename) { + const extension = filename.slice(filename.lastIndexOf('.') + 1); + switch (extension) { + case 'js': + return ; + case 'css': + return ; + case 'json': + return ; + case 'npmignore': + return ; + default: + return ; + } + } else { + return ; + } + }; + + const onSelect = (value) => { + if (value && value.isSelected === true) { + console.log(value); + } + }; + + const onExpand = (value) => { + const tempData = treeData; + console.log(value.element); + // if (value && value.element && value.element.id !== 'datastore_folder') { + // API.get(`/api/automate/${value.element.name}?depth=-1`).then((newNodes) => { + // console.log(newNodes); + // const newChildren = []; + // newNodes.resources.forEach((newNode) => { + // if (value.element.id !== newNode.id) { + // newChildren. + // } + // }); + // }); + // } + + // if (value.element.metadata && value.element.metadata.fqname) { + // console.log(value); + // console.log('STOP'); + // } + if (value && value.element && value.element.id !== 'datastore_folder') { + miqSparkleOn(); + let path = value.element.name; + if (value.element.metadata && value.element.metadata.fqname) { + path = value.element.metadata.fqname; + } + API.get(`/api/automate/${path}?depth=1`).then((newNodes) => { + const newChildren = []; + newNodes.resources.forEach((newNode) => { + if (value.element.id !== newNode.id) { + if (newNode.klass !== 'MiqAeClass') { + newChildren.push({ + id: newNode.id, + name: newNode.name, + children: [`${newNode.id}_child_placeholder`], + parent: value.element.id, + metadata: { fqname: newNode.fqname }, + }); + newChildren.push({ + id: `${newNode.id}_child_placeholder`, + name: 'Loading', + children: [], + parent: newNode.id, + metadata: {}, + }); + } else { + newChildren.push({ + id: newNode.id, + name: newNode.name, + children: [], + parent: value.element.id, + metadata: { fqname: newNode.fqname }, + }); + } + } + }); + return newChildren; + }).then((newChildrenArray) => { + const tempIdsArray = treeIds; + newChildrenArray.forEach((node) => { + if (!treeIds.includes(node.id)) { + tempIdsArray.push(node.id); + tempData.forEach((parentNode) => { + if (parentNode.id === node.parent) { + setExpandedIds([...expandedIds, value.element.id]); + const childrenNodesToKeep = []; + parentNode.children.forEach((child) => { + if (typeof child === 'string') { + childrenNodesToKeep.push(child); + } + }); + parentNode.children = childrenNodesToKeep; + if (parentNode.children.length >= 1) { + parentNode.children.forEach((child) => { + if (child.includes('_placeholder')) { + parentNode.children.shift(); + } + }); + } + if (!parentNode.children.includes(node.id)) { + parentNode.children = parentNode.children.concat(node.id); + } + if (node.id.includes('_placeholder')) { + // console.log(node); + // console.log(parentNode); + // console.log(value); + } + } + }); + tempData.push(node); + setTreeIds(tempIdsArray); + setTreeData(tempData); + setKey(tempData.length); + } + }); + }).then(() => { + miqSparkleOff(); + }); + } + + // if (value && value.element && value.element.id === 'datastore_folder') { + // const ids = value.element.id.split('_'); + // if (ids.includes('folder')) { + // tempData.forEach((item) => { + // if (item.id === value.element.id) { + // console.log(item.name); + // API.get('/api/automate_domains?expand=resources').then((apiData) => { + // console.log(apiData); + // apiData.resources.forEach((domain) => { + // newChildren.push({ + // id: domain.id, + // name: domain.name, + // children: [], + // parent: item.id, + // metadata: {}, + // }); + // }); + // return newChildren; + // }).then((newChildrenArray) => { + // const newTreeData = treeData; + // const tempIdsArray = treeIds; + // newChildrenArray.forEach((node) => { + // if (!treeIds.includes(node.id)) { + // newTreeData.push(node); + // tempIdsArray.push(node.id); + // newTreeData[1].children.push(node.id); + // } + // }); + // setTreeIds(tempIdsArray); + // setTreeData(newTreeData); + // // if (treeData.includes(newChildrenArray[0]) === false) { + // // // newTreeData[1].children = ['index.js_file', 'styles.css_file', '1177']; + // // if (treeData.length === 12) { + // // setTreeData(newTreeData); + // // // Send all relevant data including new children and the clicked item to a new useffect using a new state variable + // // // From this new use effect we can set the treedata, expandedids and the key state variables + // // } + // // } + // }); + // } + // }); + // } + // } + }; + + return ( +
+
+ {treeData.length > 1 + ? ( + { + getNodeProps(); + return ( +
+ {isBranch ? ( + + ) : ( + + )} + + {element.name} +
+ ); + }} + /> + ) : null} +
+
+ ); +}; + +DirectoryTreeView.propTypes = { +}; + +DirectoryTreeView.defaultProps = { +}; + +export default DirectoryTreeView; diff --git a/app/javascript/components/automate-entry-points/index.jsx b/app/javascript/components/automate-entry-points/index.jsx new file mode 100644 index 00000000000..3b31212d879 --- /dev/null +++ b/app/javascript/components/automate-entry-points/index.jsx @@ -0,0 +1,290 @@ +import React, { useEffect, useState } from 'react'; +import { + Checkbox, Loading, Modal, ModalBody, +} from 'carbon-components-react'; +import PropTypes from 'prop-types'; +import { + Document16, + Folder16, + FolderOpen16, +} from '@carbon/icons-react'; +import TreeView from 'react-accessible-treeview'; +import './styles.css'; + +const initialData = [ + { + name: 'Datastore', + id: 'datastore_folder', + children: [], + parent: null, + }, +]; + +const AutomateEntryPoints = ({ + selected, selectedValue, showModal, includeDomainPrefix, setSelectedValue, setShowModal, setIncludeDomainPrefix, +}) => { + const [data, setData] = useState(initialData); + const [isLoading, setIsLoading] = useState(true); + const [nodesAlreadyLoaded, setNodesAlreadyLoaded] = useState([]); + const [disableSubmit, setDisableSubmit] = useState(true); + const [selectedNode, setSelectedNode] = useState(); + + const updateTreeData = (list, id, children) => { + const data = list.map((node) => { + if (node.id === id) { + node.children = children.map((el) => el.id); + } + return node; + }); + return data.concat(children); + }; + + useEffect(() => { + if (selectedValue.element) { + data.forEach((node) => { + if (node.id === selectedValue.element.id) { + // console.log(document.getElementById(node.id)); + document.getElementById(node.id).classList.add('currently-selected'); + document.getElementById(node.id).style.backgroundColor = 'rgba(0, 0, 0, 0.2)'; + } + }); + } + }, [selectedValue]); + + useEffect(() => { + miqSparkleOn(); + const newChildren = []; + API.get('/api/automate_domains?expand=resources').then((apiData) => { + console.log(apiData); + apiData.resources.forEach((domain) => { + newChildren.push({ + id: domain.id, + name: domain.name, + children: [], + parent: 'datastore_folder', + metadata: { parent: domain.name }, + isBranch: true, + }); + }); + return newChildren; + }).then((newChildren) => new Promise((resolve) => { + setTimeout(() => { + setData((value) => updateTreeData(value, 'datastore_folder', newChildren)); + resolve(); + }, 1000); + })).then(() => { + setIsLoading(false); + miqSparkleOff(); + }); + }, []); + + const onLoadData = ({ element }) => { + let path = element.name; + if (element.metadata && element.metadata.fqname) { + path = element.metadata.fqname; + } + API.get(`/api/automate/${path}?depth=1`).then((newNodes) => { + const newChildren = []; + newNodes.resources.forEach((newNode) => { + if (element.id !== newNode.id) { + if (newNode.klass !== 'MiqAeClass') { + newChildren.push({ + id: newNode.id, + name: newNode.name, + children: [], + isBranch: true, + parent: element.id, + metadata: { domain_fqname: newNode.domain_fqname, fqname: newNode.fqname }, + }); + } else { + newChildren.push({ + id: newNode.id, + name: newNode.name, + children: [], + parent: element.id, + metadata: { domain_fqname: newNode.domain_fqname, fqname: newNode.fqname }, + }); + } + } + }); + return new Promise((resolve) => { + if (element.children.length > 0) { + resolve(); + return; + } + setTimeout(() => { + setData((value) => + updateTreeData(value, element.id, newChildren)); + resolve(); + }, 1000); + }); + }); + }; + + const wrappedOnLoadData = async({ element }) => { + const nodeHasNoChildData = element.children.length === 0; + const nodeHasAlreadyBeenLoaded = nodesAlreadyLoaded.find( + (e) => e.id === element.id + ); + + await onLoadData({ element }); + + if (nodeHasNoChildData && !nodeHasAlreadyBeenLoaded) { + setNodesAlreadyLoaded([...nodesAlreadyLoaded, element]); + + setTimeout(() => { + }, 1000); + } + }; + wrappedOnLoadData.propTypes = { + element: PropTypes.objectOf({ children: PropTypes.array, id: PropTypes.number }).isRequired, + }; + wrappedOnLoadData.defaultProps = { + }; + + const onSelect = (value) => { + console.log(value.element); + if (value.isBranch === false && value.isSelected) { + data.forEach((node) => { + if (selectedNode && (node.id === selectedNode.element.id)) { + console.log(selectedNode); + document.getElementById(node.id).style.backgroundColor = 'transparent'; + // #b8b8b8 + // document.getElementById(node.id).classList.remove('prevSelected'); + // document.getElementById(node.id).parentNode.className = 'tree-leaf-list-item'; + // document.getElementById(node.id).className = 'tree-node'; + // document.getElementById(node.id).setAttribute('aria-selected', 'false'); + } + }); + document.getElementById(value.element.id).style.backgroundColor = 'rgba(0, 0, 0, 0.2)'; + setSelectedNode(value); + setDisableSubmit(false); + } + }; + + const onExpand = ((value) => { + // console.log('test'); + // console.log(value); + // console.log(selectedNode); + if (value.isExpanded && selectedNode && document.getElementById(selectedNode.element.id)) { + document.getElementById(selectedNode.element.id).style.backgroundColor = 'rgba(0, 0, 0, 0.2)'; + } + }); + + const FolderIcon = ({ isOpen }) => + (isOpen ? ( + + ) : ( + + )); + + FolderIcon.propTypes = { + isOpen: PropTypes.bool, + }; + FolderIcon.defaultProps = { + isOpen: false, + }; + + const FileIcon = () => ; + + return !isLoading && ( + { + setSelectedValue(selectedNode); + setShowModal(false); + }} + onRequestClose={() => { + setShowModal(false); + }} + onSecondarySubmit={() => { + setShowModal(false); + }} + primaryButtonDisabled={disableSubmit} + > + +
+
+ onSelect(value)} + onLoadData={wrappedOnLoadData} + onExpand={(value) => onExpand(value)} + togglableSelect + nodeRenderer={({ + element, + isBranch, + isExpanded, + getNodeProps, + level, + }) => { + const branchNode = (isExpanded, element) => (isExpanded && element.children.length === 0 ? ( +
+ +
+ ) : ( + null + )); + return ( +
+ {isBranch && branchNode(isExpanded, element)} + {isBranch ? ( +
+ +
+ ) : ( +
+ +
+ )} + {element.name} +
+ ); + }} + /> +
+ {setIncludeDomainPrefix + ? ( +
+ setIncludeDomainPrefix(checked)} + /> +
+ ) : null} +
+
+
+ ); +}; + +AutomateEntryPoints.propTypes = { + field: PropTypes.string.isRequired, + type: PropTypes.string.isRequired, + selected: PropTypes.string, + selectedValue: PropTypes.objectOf(PropTypes.any), + showModal: PropTypes.bool, + includeDomainPrefix: PropTypes.bool, + setSelectedValue: PropTypes.func.isRequired, + setShowModal: PropTypes.func.isRequired, + setIncludeDomainPrefix: PropTypes.func, +}; + +AutomateEntryPoints.defaultProps = { + selected: '', + selectedValue: {}, + showModal: false, + includeDomainPrefix: false, + setIncludeDomainPrefix: undefined, +}; + +export default AutomateEntryPoints; diff --git a/app/javascript/components/automate-entry-points/styles.css b/app/javascript/components/automate-entry-points/styles.css new file mode 100644 index 00000000000..a5ffa52c4ef --- /dev/null +++ b/app/javascript/components/automate-entry-points/styles.css @@ -0,0 +1,122 @@ +/* .directory { + background: #242322; + font-family: monospace; + font-size: 16px; + color: white; + user-select: none; + padding: 20px; + border-radius: 0.4em; +} + +.directory .tree, +.directory .tree-node, +.directory .tree-node-group { + list-style: none; + margin: 0; + padding: 0; +} + +.directory .tree-branch-wrapper, +.directory .tree-node__leaf { + outline: none; + outline: none; +} + +.directory .tree-node { + cursor: pointer; +} + +.directory .tree-node:hover { + background: rgba(255, 255, 255, 0.1); +} + +.directory .tree .tree-node--focused { + background: rgba(255, 255, 255, 0.2); +} + +.directory .tree .tree-node--selected { + background: rgba(48, 107, 176); +} + +.directory .tree-node__branch { + display: block; +} + +.directory .icon { + vertical-align: middle; + padding-right: 5px; +} */ + +.iconDiv { + display: inline-flex; + margin-top: 5px; + margin-right: 5px; +} + +.loadingDiv { + display: inline-flex; + margin-right: 1rem; +} + +.automate_entry_points { + font-size: 16px; + user-select: none; + min-height: 320px; + padding: 20px; + box-sizing: content-box; +} + +.automate_entry_points .tree, +.automate_entry_points .tree-node, +.automate_entry_points .tree-node-group { + list-style: none; + margin: 0; + padding: 0; +} + +.automate_entry_points .tree-branch-wrapper, +.automate_entry_points .tree-node__leaf { + outline: none; +} + +.automate_entry_points .tree-node { + cursor: pointer; +} + +.automate_entry_points .tree-node .name:hover { + background: rgba(0, 0, 0, 0.1); + background-color: transparent; +} + +.automate_entry_points .tree-node--focused .name { + background: rgba(0, 0, 0, 0.2); + background-color: transparent; +} + +.automate_entry_points .tree-node { + display: inline-block; +} + +.automate_entry_points .checkbox-icon { + margin: 0 5px; + vertical-align: middle; +} + +.automate_entry_points button { + border: none; + background: transparent; + cursor: pointer; +} + +.automate_entry_points .arrow { + margin-left: 5px; + vertical-align: middle; +} + +.automate_entry_points .arrow--open { + transform: rotate(270deg); +} + +.checkboxDiv { + float: right; +} \ No newline at end of file diff --git a/app/javascript/components/embedded-automate-entry-point/index.jsx b/app/javascript/components/embedded-automate-entry-point/index.jsx new file mode 100644 index 00000000000..2ad58c67b60 --- /dev/null +++ b/app/javascript/components/embedded-automate-entry-point/index.jsx @@ -0,0 +1,102 @@ +import React, { useState, useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { Button, TextInput } from 'carbon-components-react'; +import { Close16, TreeViewAlt16 } from '@carbon/icons-react'; +import { useFieldApi } from '@@ddf'; +import AutomateEntryPoints from '../automate-entry-points'; + +const EmbeddedAutomateEntryPoint = (props) => { + const { + label, id, field, selected, type, + } = props; + const { input } = useFieldApi(props); + // const { meta } = useFieldApi(props); + // const initialValue = meta.initial; + + const [showModal, setShowModal] = useState(false); + const [selectedValue, setSelectedValue] = useState(); + const [textValue, setTextValue] = useState(''); + const [includeDomainPrefix, setIncludeDomainPrefix] = useState(false); + + useEffect(() => { + if (selected) { + setTextValue(selected); + setSelectedValue(selected); + } + }, []); + + useEffect(() => { + if (selectedValue && selectedValue.element && selectedValue.element.name && selectedValue.element.metadata) { + if (includeDomainPrefix) { + setTextValue(selectedValue.element.metadata.fqname); + } else { + setTextValue(selectedValue.element.metadata.domain_fqname); + } + } else if (!selected) { + setTextValue(''); + } + }, [selectedValue, includeDomainPrefix]); + + useEffect(() => { + if (selectedValue && selectedValue.name && selectedValue.name.text) { + selectedValue.name.text = textValue; + } + input.onChange(selectedValue); + }, [textValue]); + + return ( +
+ +
+
+ setTextValue(value.target.value)} value={textValue} /> +
+
+
+
+
+
+
+
+
+ ); +}; + +EmbeddedAutomateEntryPoint.propTypes = { + id: PropTypes.string.isRequired, + label: PropTypes.string.isRequired, + field: PropTypes.string.isRequired, + selected: PropTypes.string, + type: PropTypes.string.isRequired, +}; + +EmbeddedAutomateEntryPoint.defaultProps = { + selected: '', +}; + +export default EmbeddedAutomateEntryPoint; diff --git a/app/javascript/components/embedded-workflow-entry-point/index.jsx b/app/javascript/components/embedded-workflow-entry-point/index.jsx new file mode 100644 index 00000000000..db3d08a4f04 --- /dev/null +++ b/app/javascript/components/embedded-workflow-entry-point/index.jsx @@ -0,0 +1,85 @@ +import React, { useState, useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { Button, TextInput } from 'carbon-components-react'; +import { Close16, TreeViewAlt16 } from '@carbon/icons-react'; +import { useFieldApi } from '@@ddf'; +import WorkflowEntryPoints from '../workflows/workflow-entry-points'; + +const EmbeddedWorkflowEntryPoint = (props) => { + const { + label, id, field, selected, type, + } = props; + const { input } = useFieldApi(props); + + const [showModal, setShowModal] = useState(false); + const [selectedValue, setSelectedValue] = useState({}); + const [textValue, setTextValue] = useState(''); + + useEffect(() => { + if (selectedValue && selectedValue.name && selectedValue.name.text) { + setTextValue(selectedValue.name.text); + } else { + setTextValue(''); + } + }, [selectedValue]); + + useEffect(() => { + if (selectedValue && selectedValue.name && selectedValue.name.text) { + selectedValue.name.text = textValue; + } + input.onChange(selectedValue); + }, [textValue]); + + return ( +
+ {showModal ? ( + + ) : undefined} +
+
+ setTextValue(value.target.value)} value={textValue} /> +
+
+
+
+
+
+
+
+
+ ); +}; + +EmbeddedWorkflowEntryPoint.propTypes = { + id: PropTypes.string.isRequired, + label: PropTypes.string.isRequired, + field: PropTypes.string.isRequired, + selected: PropTypes.string, + type: PropTypes.string.isRequired, +}; + +EmbeddedWorkflowEntryPoint.defaultProps = { + selected: '', +}; + +export default EmbeddedWorkflowEntryPoint; diff --git a/app/javascript/components/terraform-template-catalog-form/terraform-template-catalog-form.schema.js b/app/javascript/components/terraform-template-catalog-form/terraform-template-catalog-form.schema.js index d3d20a2c8ed..ba8453b871d 100644 --- a/app/javascript/components/terraform-template-catalog-form/terraform-template-catalog-form.schema.js +++ b/app/javascript/components/terraform-template-catalog-form/terraform-template-catalog-form.schema.js @@ -30,6 +30,130 @@ const basicInformationTabSchema = (availableCatalogs, tenantTree, roleAllows, zo id: 'description', label: __('Description'), }, + { + component: componentTypes.SELECT, + id: 'provisioning_entry_point_type', + name: 'provisioning_entry_point_type', + label: __('Provisioning Entry Point'), + initialValue: 'embedded_automate', + options: [{ value: 'embedded_automate', label: __('Embedded Automate') }, { value: 'embedded_workflow', label: __('Embedded Workflow') }], + }, + // { + // component: componentTypes.TEXT_FIELD, + // id: 'provisioning_entry_point_automate', + // name: 'provisioning_entry_point_automate', + // label: __('Provisioning Entry Point'), + // initialValue: '/Service/Generic/StateMachines/GenericLifecycle/provision', + // condition: { + // when: 'provisioning_entry_point_type', + // is: 'embedded_automate', + // }, + // }, + { + component: 'embedded-automate-entry-point', + id: 'provisioning_entry_point_automate', + name: 'provisioning_entry_point_automate', + label: 'Provisioning Entry Point', + field: 'fqname', + selected: '', + type: 'provision', + condition: { + when: 'provisioning_entry_point_type', + is: 'embedded_automate', + }, + }, + { + component: 'embedded-workflow-entry-point', + id: 'provisioning_entry_point_workflow', + name: 'provisioning_entry_point_workflow', + label: 'Provisioning Entry Point', + field: 'fqname', + selected: '', + type: 'provision', + condition: { + when: 'provisioning_entry_point_type', + is: 'embedded_workflow', + }, + }, + { + component: componentTypes.SELECT, + id: 'reconfigure_entry_point_type', + name: 'reconfigure_entry_point_type', + label: __('Reconfigure Entry Point'), + initialValue: 'embedded_automate', + options: [{ value: 'embedded_automate', label: __('Embedded Automate') }, { value: 'embedded_workflow', label: __('Embedded Workflow') }], + }, + { + component: 'embedded-automate-entry-point', + id: 'reconfigure_entry_point_automate', + name: 'recounfigure_entry_point_automate', + label: 'Reconfigure Entry Point', + field: 'fqname', + selected: '', + type: 'provision', + condition: { + when: 'reconfigure_entry_point_type', + is: 'embedded_automate', + }, + }, + { + component: 'embedded-workflow-entry-point', + id: 'reconfigure_entry_point_workflow', + name: 'reconfigure_entry_point_workflow', + label: 'Reconfigure Entry Point', + field: 'fqname', + selected: '', + type: 'provision', + condition: { + when: 'reconfigure_entry_point_type', + is: 'embedded_workflow', + }, + }, + { + component: componentTypes.SELECT, + id: 'retirement_entry_point_type', + name: 'retirement_entry_point_type', + label: __('Retirement Entry Point'), + initialValue: 'embedded_automate', + options: [{ value: 'embedded_automate', label: __('Embedded Automate') }, { value: 'embedded_workflow', label: __('Embedded Workflow') }], + }, + { + component: componentTypes.TEXT_FIELD, + id: 'retirement_entry_point_automate', + name: 'retirement_entry_point_automate', + label: __('Retirement Entry Point'), + initialValue: '/Service/Generic/StateMachines/GenericLifecycle/Retire_Basic_Resource', + condition: { + when: 'retirement_entry_point_type', + is: 'embedded_automate', + }, + }, + { + component: 'embedded-automate-entry-point', + id: 'reconfigure_entry_point_automate', + name: 'recounfigure_entry_point_automate', + label: 'Reconfigure Entry Point', + field: 'fqname', + selected: '', + type: 'provision', + condition: { + when: 'reconfigure_entry_point_type', + is: 'embedded_automate', + }, + }, + { + component: 'embedded-workflow-entry-point', + id: 'reconfigure_entry_point_workflow', + name: 'reconfigure_entry_point_workflow', + label: 'Reconfigure Entry Point', + field: 'fqname', + selected: '', + type: 'provision', + condition: { + when: 'reconfigure_entry_point_type', + is: 'embedded_workflow', + }, + }, { component: componentTypes.CHECKBOX, name: 'display', diff --git a/app/javascript/components/visual-settings-form/index.jsx b/app/javascript/components/visual-settings-form/index.jsx index 39e40c069f8..9a2be5ca7c0 100644 --- a/app/javascript/components/visual-settings-form/index.jsx +++ b/app/javascript/components/visual-settings-form/index.jsx @@ -41,12 +41,14 @@ const VisualSettingsForm = ({ recordId }) => { ); } return ( - +
+ +
); }; diff --git a/app/javascript/components/visual-settings-form/visual-settings-form.schema.js b/app/javascript/components/visual-settings-form/visual-settings-form.schema.js index 26c7c881422..58f54ca0369 100644 --- a/app/javascript/components/visual-settings-form/visual-settings-form.schema.js +++ b/app/javascript/components/visual-settings-form/visual-settings-form.schema.js @@ -7,6 +7,15 @@ const createSchema = (timezoneOptions) => ({ name: 'general-subform', title: __('General'), fields: [ + { + component: 'embedded-automate-entry-point', + id: 'provisioning_entry_point_automate', + name: 'provisioning_entry_point_automate', + label: 'Provisioning Entry Point', + field: 'fqname', + selected: '', + type: 'provision', + }, { component: componentTypes.SELECT, name: 'view.compare', diff --git a/app/javascript/components/workflows/workflow-entry-points.jsx b/app/javascript/components/workflows/workflow-entry-points.jsx index df75c9c6eb7..2012f59874f 100644 --- a/app/javascript/components/workflows/workflow-entry-points.jsx +++ b/app/javascript/components/workflows/workflow-entry-points.jsx @@ -5,7 +5,9 @@ import MiqDataTable from '../miq-data-table'; import { workflowsEntryPoints } from './helper'; import { http } from '../../http_api'; -const WorkflowEntryPoints = ({ field, selected, type }) => { +const WorkflowEntryPoints = ({ + field, selected, type, setShowModal, setSelectedValue, +}) => { const [data, setData] = useState({ isLoading: true, list: {}, selectedItemId: selected, }); @@ -44,24 +46,33 @@ const WorkflowEntryPoints = ({ field, selected, type }) => { } /** Function to handle the modal box close button click event. */ const onCloseModal = () => { - document.getElementById(`${type}-workflows`).innerHTML = ''; - http.post('/catalog/ae_tree_select_toggle?button=cancel', {}, { headers: {}, skipJsonParsing: true }); + if (setShowModal) { + setShowModal(false); + } else { + document.getElementById(`${type}-workflows`).innerHTML = ''; + http.post('/catalog/ae_tree_select_toggle?button=cancel', {}, { headers: {}, skipJsonParsing: true }); + } }; /** Function to handle the modal box apply button click event. */ const onApply = () => { const seletedItem = data.list.rows.find((item) => item.id === data.selectedItemId); const name = seletedItem.name.text; if (seletedItem) { - const nameField = document.getElementById(field); - const selectedField = document.getElementById(`${type}_configuration_script_id`); + if (setShowModal && setSelectedValue) { + setShowModal(false); + setSelectedValue(seletedItem); + } else { + const nameField = document.getElementById(field); + const selectedField = document.getElementById(`${type}_configuration_script_id`); - if (nameField && selectedField) { - nameField.value = name; - selectedField.value = data.selectedItemId; - http.post('/catalog/ae_tree_select_toggle?button=submit&automation_type=workflow', {}, { headers: {}, skipJsonParsing: true }) - .then((_data) => { - document.getElementById(`${type}-workflows`).innerHTML = ''; - }); + if (nameField && selectedField) { + nameField.value = name; + selectedField.value = data.selectedItemId; + http.post('/catalog/ae_tree_select_toggle?button=submit&automation_type=workflow', {}, { headers: {}, skipJsonParsing: true }) + .then((_data) => { + document.getElementById(`${type}-workflows`).innerHTML = ''; + }); + } } } }; @@ -88,17 +99,21 @@ const WorkflowEntryPoints = ({ field, selected, type }) => { /> - ); }; + WorkflowEntryPoints.propTypes = { field: PropTypes.string.isRequired, type: PropTypes.string.isRequired, selected: PropTypes.string, + setShowModal: PropTypes.func, + setSelectedValue: PropTypes.func, }; WorkflowEntryPoints.defaultProps = { selected: '', + setShowModal: undefined, + setSelectedValue: undefined, }; export default WorkflowEntryPoints; diff --git a/app/javascript/forms/mappers/componentMapper.jsx b/app/javascript/forms/mappers/componentMapper.jsx index 6a0be897059..70cce28946c 100644 --- a/app/javascript/forms/mappers/componentMapper.jsx +++ b/app/javascript/forms/mappers/componentMapper.jsx @@ -11,10 +11,14 @@ import MultiSelectWithSelectAll from '../../components/multiselect-with-selectal import FontIconPicker from '../../components/fonticon-picker'; import FontIconPickerDdf from '../../components/fonticon-picker/font-icon-picker-ddf'; import KeyValueListComponent from '../../components/key-value-list'; +import EmbeddedAutomateEntryPoint from '../../components/embedded-automate-entry-point'; +import EmbeddedWorkflowEntryPoint from '../../components/embedded-workflow-entry-point'; const mapper = { ...componentMapper, 'code-editor': CodeEditor, + 'embedded-automate-entry-point': EmbeddedAutomateEntryPoint, + 'embedded-workflow-entry-point': EmbeddedWorkflowEntryPoint, 'edit-password-field': EditPasswordField, 'file-upload': FileUploadComponent, 'key-value-list': KeyValueListComponent, diff --git a/app/javascript/spec/action-form/__snapshots__/action-form.spec.js.snap b/app/javascript/spec/action-form/__snapshots__/action-form.spec.js.snap index f91a4efe875..9d123c24579 100644 --- a/app/javascript/spec/action-form/__snapshots__/action-form.spec.js.snap +++ b/app/javascript/spec/action-form/__snapshots__/action-form.spec.js.snap @@ -820,6 +820,8 @@ exports[`Action Form Component should render adding a new action 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1532,6 +1534,8 @@ exports[`Action Form Component should render adding a new action 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/add-remove-security-groups-form/__snapshots__/add-remove-security-groups-form.spec.js.snap b/app/javascript/spec/add-remove-security-groups-form/__snapshots__/add-remove-security-groups-form.spec.js.snap index ee49645286b..72d8afdddbf 100644 --- a/app/javascript/spec/add-remove-security-groups-form/__snapshots__/add-remove-security-groups-form.spec.js.snap +++ b/app/javascript/spec/add-remove-security-groups-form/__snapshots__/add-remove-security-groups-form.spec.js.snap @@ -134,6 +134,8 @@ exports[`Add/remove security groups form component should remove security group "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -198,6 +200,8 @@ exports[`Add/remove security groups form component should remove security group "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/ansible-credentials-form/__snapshots__/ansible-credentials-form.spec.js.snap b/app/javascript/spec/ansible-credentials-form/__snapshots__/ansible-credentials-form.spec.js.snap index a6cca7aacd8..bf8f651ffc5 100644 --- a/app/javascript/spec/ansible-credentials-form/__snapshots__/ansible-credentials-form.spec.js.snap +++ b/app/javascript/spec/ansible-credentials-form/__snapshots__/ansible-credentials-form.spec.js.snap @@ -94,6 +94,8 @@ exports[`Ansible Credential Form Component should render adding a new credential "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -188,6 +190,8 @@ exports[`Ansible Credential Form Component should render adding a new credential "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1579,6 +1583,8 @@ exports[`Ansible Credential Form Component should render editing a credential 1` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1680,6 +1686,8 @@ exports[`Ansible Credential Form Component should render editing a credential 1` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/ansible-edit-catalog-form/__snapshots__/ansible-edit-catalog-form.spec.js.snap b/app/javascript/spec/ansible-edit-catalog-form/__snapshots__/ansible-edit-catalog-form.spec.js.snap index f4b3fd2abcd..5eab1366a50 100644 --- a/app/javascript/spec/ansible-edit-catalog-form/__snapshots__/ansible-edit-catalog-form.spec.js.snap +++ b/app/javascript/spec/ansible-edit-catalog-form/__snapshots__/ansible-edit-catalog-form.spec.js.snap @@ -1326,6 +1326,8 @@ exports[`Ansible playbook edit catalog Form Component should not render some fie "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -3536,6 +3538,8 @@ exports[`Ansible playbook edit catalog Form Component should not render some fie "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5753,6 +5757,8 @@ exports[`Ansible playbook edit catalog Form Component should not render some fie "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -59578,6 +59584,8 @@ exports[`Ansible playbook edit catalog Form Component should render correct form "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -61797,6 +61805,8 @@ exports[`Ansible playbook edit catalog Form Component should render correct form "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -64023,6 +64033,8 @@ exports[`Ansible playbook edit catalog Form Component should render correct form "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -120773,6 +120785,8 @@ exports[`Ansible playbook edit catalog Form Component should render retirement p "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -122983,6 +122997,8 @@ exports[`Ansible playbook edit catalog Form Component should render retirement p "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -125200,6 +125216,8 @@ exports[`Ansible playbook edit catalog Form Component should render retirement p "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/c-and-u-collections-form/__snapshots__/c-and-u-collections-form.spec.js.snap b/app/javascript/spec/c-and-u-collections-form/__snapshots__/c-and-u-collections-form.spec.js.snap index a3309c1043a..bd5a0a74490 100644 --- a/app/javascript/spec/c-and-u-collections-form/__snapshots__/c-and-u-collections-form.spec.js.snap +++ b/app/javascript/spec/c-and-u-collections-form/__snapshots__/c-and-u-collections-form.spec.js.snap @@ -100,6 +100,8 @@ exports[`DiagnosticsCURepairForm Component Should add a record from DiagnosticsC "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -210,6 +212,8 @@ exports[`DiagnosticsCURepairForm Component Should add a record from DiagnosticsC "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/cloud-database-form/__snapshots__/cloud-database-form.spec.js.snap b/app/javascript/spec/cloud-database-form/__snapshots__/cloud-database-form.spec.js.snap index c8901d37111..565a9d709b6 100644 --- a/app/javascript/spec/cloud-database-form/__snapshots__/cloud-database-form.spec.js.snap +++ b/app/javascript/spec/cloud-database-form/__snapshots__/cloud-database-form.spec.js.snap @@ -132,6 +132,8 @@ exports[`Cloud Database form component should render "Edit" form 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -215,6 +217,8 @@ exports[`Cloud Database form component should render "Edit" form 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/cloud-object-store-container-form/__snapshots__/cloud-object-store-container-form.spec.js.snap b/app/javascript/spec/cloud-object-store-container-form/__snapshots__/cloud-object-store-container-form.spec.js.snap index 20f77546828..cda9a34a03e 100644 --- a/app/javascript/spec/cloud-object-store-container-form/__snapshots__/cloud-object-store-container-form.spec.js.snap +++ b/app/javascript/spec/cloud-object-store-container-form/__snapshots__/cloud-object-store-container-form.spec.js.snap @@ -64,6 +64,8 @@ exports[`Cloud Object Store Container form component should add Amazon cloud obj "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -129,6 +131,8 @@ exports[`Cloud Object Store Container form component should add Amazon cloud obj "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -982,6 +986,8 @@ exports[`Cloud Object Store Container form component should add Openstack cloud "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1047,6 +1053,8 @@ exports[`Cloud Object Store Container form component should add Openstack cloud "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1876,6 +1884,8 @@ exports[`Cloud Object Store Container form component should render add cloud obj "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1941,6 +1951,8 @@ exports[`Cloud Object Store Container form component should render add cloud obj "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/cloud-volume-actions-form/__snapshots__/cloud-volume-actions-form.spec.js.snap b/app/javascript/spec/cloud-volume-actions-form/__snapshots__/cloud-volume-actions-form.spec.js.snap index 756eb97e237..aaa7be01fdd 100644 --- a/app/javascript/spec/cloud-volume-actions-form/__snapshots__/cloud-volume-actions-form.spec.js.snap +++ b/app/javascript/spec/cloud-volume-actions-form/__snapshots__/cloud-volume-actions-form.spec.js.snap @@ -96,6 +96,8 @@ exports[`Cloud Volume Backup Create form component should render the cloud volum "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -189,6 +191,8 @@ exports[`Cloud Volume Backup Create form component should render the cloud volum "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1636,6 +1640,8 @@ exports[`Cloud Volume Backup Create form component when adding a new backup of c "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1729,6 +1735,8 @@ exports[`Cloud Volume Backup Create form component when adding a new backup of c "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -3156,6 +3164,8 @@ exports[`Cloud Volume Restore from backup form component should render the cloud "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -3229,6 +3239,8 @@ exports[`Cloud Volume Restore from backup form component should render the cloud "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4249,6 +4261,8 @@ exports[`Cloud Volume Restore from backup form component when restoring cloud vo "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4322,6 +4336,8 @@ exports[`Cloud Volume Restore from backup form component when restoring cloud vo "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5334,6 +5350,8 @@ exports[`Cloud Volume Snapshot Create form component should render the cloud vol "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5399,6 +5417,8 @@ exports[`Cloud Volume Snapshot Create form component should render the cloud vol "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -6185,6 +6205,8 @@ exports[`Cloud Volume Snapshot Create form component when adding a new snapshot "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -6250,6 +6272,8 @@ exports[`Cloud Volume Snapshot Create form component when adding a new snapshot "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/cloud-volume-form/__snapshots__/attach-detach-cloud-volume-form.spec.js.snap b/app/javascript/spec/cloud-volume-form/__snapshots__/attach-detach-cloud-volume-form.spec.js.snap index 760a94acb2d..bc59b82ebdd 100644 --- a/app/javascript/spec/cloud-volume-form/__snapshots__/attach-detach-cloud-volume-form.spec.js.snap +++ b/app/javascript/spec/cloud-volume-form/__snapshots__/attach-detach-cloud-volume-form.spec.js.snap @@ -127,6 +127,8 @@ exports[`Attach / Detach form component should render Attach Cloud Volume to the "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -221,6 +223,8 @@ exports[`Attach / Detach form component should render Attach Cloud Volume to the "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1390,6 +1394,8 @@ exports[`Attach / Detach form component should render Attach Selected Cloud Volu "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1484,6 +1490,8 @@ exports[`Attach / Detach form component should render Attach Selected Cloud Volu "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -2640,6 +2648,8 @@ exports[`Attach / Detach form component should render Detach Cloud Volume from t "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -2721,6 +2731,8 @@ exports[`Attach / Detach form component should render Detach Cloud Volume from t "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -3683,6 +3695,8 @@ exports[`Attach / Detach form component should render Detach Selected Cloud Volu "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -3764,6 +3778,8 @@ exports[`Attach / Detach form component should render Detach Selected Cloud Volu "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4741,6 +4757,8 @@ exports[`Attach / Detach form component should submit Attach API call 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4835,6 +4853,8 @@ exports[`Attach / Detach form component should submit Attach API call 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5991,6 +6011,8 @@ exports[`Attach / Detach form component should submit Detach API call 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -6072,6 +6094,8 @@ exports[`Attach / Detach form component should submit Detach API call 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/data-store-fore/__snapshots__/datastore-form.spec.js.snap b/app/javascript/spec/data-store-fore/__snapshots__/datastore-form.spec.js.snap index 91ab3ae201f..caeb23bc7c3 100644 --- a/app/javascript/spec/data-store-fore/__snapshots__/datastore-form.spec.js.snap +++ b/app/javascript/spec/data-store-fore/__snapshots__/datastore-form.spec.js.snap @@ -169,6 +169,8 @@ exports[`Datastore form component Datastore domain form component should render "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -266,6 +268,8 @@ exports[`Datastore form component Datastore domain form component should render "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1757,6 +1761,8 @@ exports[`Datastore form component Datastore namespace form component should rend "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1857,6 +1863,8 @@ exports[`Datastore form component Datastore namespace form component should rend "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/diagnostics-collect-log-form/__snapshots__/diagnostics-collect-log-form.spec.js.snap b/app/javascript/spec/diagnostics-collect-log-form/__snapshots__/diagnostics-collect-log-form.spec.js.snap index 9c653c790d4..9d8a90c83e7 100644 --- a/app/javascript/spec/diagnostics-collect-log-form/__snapshots__/diagnostics-collect-log-form.spec.js.snap +++ b/app/javascript/spec/diagnostics-collect-log-form/__snapshots__/diagnostics-collect-log-form.spec.js.snap @@ -107,6 +107,8 @@ exports[`Diagnostics Collect Log form component should render edit DiagnosticsCo "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -200,6 +202,8 @@ exports[`Diagnostics Collect Log form component should render edit DiagnosticsCo "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1652,6 +1656,8 @@ exports[`Diagnostics Collect Log form component should render edit DiagnosticsCo "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1745,6 +1751,8 @@ exports[`Diagnostics Collect Log form component should render edit DiagnosticsCo "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -3202,6 +3210,8 @@ exports[`Diagnostics Collect Log form component should render new DiagnosticsCol "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -3300,6 +3310,8 @@ exports[`Diagnostics Collect Log form component should render new DiagnosticsCol "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/embedded-terraform-credentials-form/__snapshots__/embedded-terraform-credentials-form.spec.js.snap b/app/javascript/spec/embedded-terraform-credentials-form/__snapshots__/embedded-terraform-credentials-form.spec.js.snap index 253ade47751..cde9915dbab 100644 --- a/app/javascript/spec/embedded-terraform-credentials-form/__snapshots__/embedded-terraform-credentials-form.spec.js.snap +++ b/app/javascript/spec/embedded-terraform-credentials-form/__snapshots__/embedded-terraform-credentials-form.spec.js.snap @@ -95,6 +95,8 @@ exports[`Embedded Terraform Credential Form Component should render adding a new "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -190,6 +192,8 @@ exports[`Embedded Terraform Credential Form Component should render adding a new "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1602,6 +1606,8 @@ exports[`Embedded Terraform Credential Form Component should render editing a cr "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1704,6 +1710,8 @@ exports[`Embedded Terraform Credential Form Component should render editing a cr "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/evacuate-form/__snapshots__/evacuate-form.spec.js.snap b/app/javascript/spec/evacuate-form/__snapshots__/evacuate-form.spec.js.snap index 26f9dd79bcf..8fd83cfdd8f 100644 --- a/app/javascript/spec/evacuate-form/__snapshots__/evacuate-form.spec.js.snap +++ b/app/javascript/spec/evacuate-form/__snapshots__/evacuate-form.spec.js.snap @@ -121,6 +121,8 @@ exports[`evacuate form component should render evacuate form when hosts empty 1` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -233,6 +235,8 @@ exports[`evacuate form component should render evacuate form when hosts empty 1` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -2054,6 +2058,8 @@ exports[`evacuate form component should render evacuate form with host options 1 "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -2187,6 +2193,8 @@ exports[`evacuate form component should render evacuate form with host options 1 "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4367,6 +4375,8 @@ exports[`evacuate form component should render evacuate form with multiple insta "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4479,6 +4489,8 @@ exports[`evacuate form component should render evacuate form with multiple insta "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/generic-objects-form/__snapshots__/generic-objects-form.spec.js.snap b/app/javascript/spec/generic-objects-form/__snapshots__/generic-objects-form.spec.js.snap index 8e93b5bf7e7..3bfdf125352 100644 --- a/app/javascript/spec/generic-objects-form/__snapshots__/generic-objects-form.spec.js.snap +++ b/app/javascript/spec/generic-objects-form/__snapshots__/generic-objects-form.spec.js.snap @@ -33,6 +33,8 @@ exports[`Generic Object Form Component should render adding a new generic object "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-edit": [Function], "file-upload": [Function], @@ -292,6 +294,8 @@ exports[`Generic Object Form Component should render adding a new generic object "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-edit": [Function], "file-upload": [Function], @@ -554,6 +558,8 @@ exports[`Generic Object Form Component should render adding a new generic object "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-edit": [Function], "file-upload": [Function], @@ -4633,6 +4639,8 @@ exports[`Generic Object Form Component should render editing a generic object wi "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-edit": [Function], "file-upload": [Function], @@ -4950,6 +4958,8 @@ exports[`Generic Object Form Component should render editing a generic object wi "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-edit": [Function], "file-upload": [Function], @@ -5270,6 +5280,8 @@ exports[`Generic Object Form Component should render editing a generic object wi "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-edit": [Function], "file-upload": [Function], @@ -12257,6 +12269,8 @@ exports[`Generic Object Form Component should render editing a generic object wi "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-edit": [Function], "file-upload": [Function], @@ -12571,6 +12585,8 @@ exports[`Generic Object Form Component should render editing a generic object wi "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-edit": [Function], "file-upload": [Function], @@ -12888,6 +12904,8 @@ exports[`Generic Object Form Component should render editing a generic object wi "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-edit": [Function], "file-upload": [Function], diff --git a/app/javascript/spec/host-aggregate-form/__snapshots__/host-aggregate-form.spec.js.snap b/app/javascript/spec/host-aggregate-form/__snapshots__/host-aggregate-form.spec.js.snap index 15cc65bd286..abe7e1d952e 100644 --- a/app/javascript/spec/host-aggregate-form/__snapshots__/host-aggregate-form.spec.js.snap +++ b/app/javascript/spec/host-aggregate-form/__snapshots__/host-aggregate-form.spec.js.snap @@ -90,6 +90,8 @@ exports[`Host aggregate form component should render add host form variant (remv "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -149,6 +151,8 @@ exports[`Host aggregate form component should render add host form variant (remv "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/host-edit-form/__snapshots__/host-edit-form.spec.js.snap b/app/javascript/spec/host-edit-form/__snapshots__/host-edit-form.spec.js.snap index c274d051484..9e7faa30795 100644 --- a/app/javascript/spec/host-edit-form/__snapshots__/host-edit-form.spec.js.snap +++ b/app/javascript/spec/host-edit-form/__snapshots__/host-edit-form.spec.js.snap @@ -34,6 +34,8 @@ exports[`Show Edit Host Form Component should render form for *one* host 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -255,6 +257,8 @@ exports[`Show Edit Host Form Component should render form for *one* host 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -483,6 +487,8 @@ exports[`Show Edit Host Form Component should render form for *one* host 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5522,6 +5528,8 @@ exports[`Show Edit Host Form Component should render form for multiple hosts 1`] "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5582,6 +5590,8 @@ exports[`Show Edit Host Form Component should render form for multiple hosts 1`] "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5649,6 +5659,8 @@ exports[`Show Edit Host Form Component should render form for multiple hosts 1`] "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/host-initiator-group-form/__snapshots__/host-initiator-group.spec.js.snap b/app/javascript/spec/host-initiator-group-form/__snapshots__/host-initiator-group.spec.js.snap index f7528d0d7a0..165568fa6d0 100644 --- a/app/javascript/spec/host-initiator-group-form/__snapshots__/host-initiator-group.spec.js.snap +++ b/app/javascript/spec/host-initiator-group-form/__snapshots__/host-initiator-group.spec.js.snap @@ -103,6 +103,8 @@ exports[`Host Initiator Group Form Loads data and renders 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -205,6 +207,8 @@ exports[`Host Initiator Group Form Loads data and renders 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/live-migrate-form/__snapshots__/live-migrate-form.spec.js.snap b/app/javascript/spec/live-migrate-form/__snapshots__/live-migrate-form.spec.js.snap index 3320e272d44..424de5b17c7 100644 --- a/app/javascript/spec/live-migrate-form/__snapshots__/live-migrate-form.spec.js.snap +++ b/app/javascript/spec/live-migrate-form/__snapshots__/live-migrate-form.spec.js.snap @@ -113,6 +113,8 @@ exports[`Live Migrate form component should render live migrate form when hosts "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -223,6 +225,8 @@ exports[`Live Migrate form component should render live migrate form when hosts "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1990,6 +1994,8 @@ exports[`Live Migrate form component should render live migrate form with host o "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -2121,6 +2127,8 @@ exports[`Live Migrate form component should render live migrate form with host o "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4247,6 +4255,8 @@ exports[`Live Migrate form component should render live migrate form with multip "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4357,6 +4367,8 @@ exports[`Live Migrate form component should render live migrate form with multip "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/physical-storage-form/__snapshots__/physical-storage-form.spec.js.snap b/app/javascript/spec/physical-storage-form/__snapshots__/physical-storage-form.spec.js.snap index 8b88311f2f4..183b6212b45 100644 --- a/app/javascript/spec/physical-storage-form/__snapshots__/physical-storage-form.spec.js.snap +++ b/app/javascript/spec/physical-storage-form/__snapshots__/physical-storage-form.spec.js.snap @@ -24,6 +24,8 @@ exports[`Physical storage form component should render adding form variant 1`] = "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -298,6 +300,8 @@ exports[`Physical storage form component should render editing form variant 1`] "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -547,6 +551,8 @@ exports[`Physical storage form component should render editing form variant 1`] "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -799,6 +805,8 @@ exports[`Physical storage form component should render editing form variant 1`] "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/provision-entry-point/__snapshots__/provision-entry-point.spec.js.snap b/app/javascript/spec/provision-entry-point/__snapshots__/provision-entry-point.spec.js.snap new file mode 100644 index 00000000000..fe4c6667961 --- /dev/null +++ b/app/javascript/spec/provision-entry-point/__snapshots__/provision-entry-point.spec.js.snap @@ -0,0 +1,55 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CodeEditor component should render correctly 1`] = ` +
+
+
+ +
+
+
+
+
+
+
+
+
+`; diff --git a/app/javascript/spec/provision-entry-point/provision-entry-point.spec.js b/app/javascript/spec/provision-entry-point/provision-entry-point.spec.js new file mode 100644 index 00000000000..5387a302138 --- /dev/null +++ b/app/javascript/spec/provision-entry-point/provision-entry-point.spec.js @@ -0,0 +1,28 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import { shallowToJson } from 'enzyme-to-json'; + +import EmbeddedWorkflowEntryPoint from '../../components/embedded-workflow-entry-point'; + +jest.mock('@@ddf', () => ({ + useFieldApi: (props) => ({ meta: {}, input: {}, ...props }), +})); + +describe('CodeEditor component', () => { + let initialProps; + beforeEach(() => { + initialProps = { + id: 'provisioning_entry_point_workflow', + name: 'provisioning_entry_point_workflow', + label: 'Provisioning Entry Point', + field: 'fqname', + selected: '', + type: 'provision', + }; + }); + + it('should render correctly', () => { + const wrapper = shallow(); + expect(shallowToJson(wrapper)).toMatchSnapshot(); + }); +}); diff --git a/app/javascript/spec/pxe-customization-template-form/__snapshots__/pxe-customization-template-form.spec.js.snap b/app/javascript/spec/pxe-customization-template-form/__snapshots__/pxe-customization-template-form.spec.js.snap index 61f87418796..791bd8563af 100644 --- a/app/javascript/spec/pxe-customization-template-form/__snapshots__/pxe-customization-template-form.spec.js.snap +++ b/app/javascript/spec/pxe-customization-template-form/__snapshots__/pxe-customization-template-form.spec.js.snap @@ -133,6 +133,8 @@ exports[`Pxe Customization Template Form Component should render adding a new px "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -260,6 +262,8 @@ exports[`Pxe Customization Template Form Component should render adding a new px "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -2761,6 +2765,8 @@ exports[`Pxe Customization Template Form Component should render copying a pxe c "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -2897,6 +2903,8 @@ exports[`Pxe Customization Template Form Component should render copying a pxe c "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5425,6 +5433,8 @@ exports[`Pxe Customization Template Form Component should render editing a pxe c "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5561,6 +5571,8 @@ exports[`Pxe Customization Template Form Component should render editing a pxe c "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/pxe-image-type-form/__snapshots__/pxe-image-type-form.spec.js.snap b/app/javascript/spec/pxe-image-type-form/__snapshots__/pxe-image-type-form.spec.js.snap index 2b788fa6335..9157994f317 100644 --- a/app/javascript/spec/pxe-image-type-form/__snapshots__/pxe-image-type-form.spec.js.snap +++ b/app/javascript/spec/pxe-image-type-form/__snapshots__/pxe-image-type-form.spec.js.snap @@ -88,6 +88,8 @@ exports[`Pxe Image Type Form Component should render adding a new pxe image type "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -176,6 +178,8 @@ exports[`Pxe Image Type Form Component should render adding a new pxe image type "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1588,6 +1592,8 @@ exports[`Pxe Image Type Form Component should render editing a pxe image type 1` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1682,6 +1688,8 @@ exports[`Pxe Image Type Form Component should render editing a pxe image type 1` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/pxe-iso-datastore-form/__snapshots__/pxe-iso-datastore-form.spec.js.snap b/app/javascript/spec/pxe-iso-datastore-form/__snapshots__/pxe-iso-datastore-form.spec.js.snap index 14332a0bdb0..885c991ac0a 100644 --- a/app/javascript/spec/pxe-iso-datastore-form/__snapshots__/pxe-iso-datastore-form.spec.js.snap +++ b/app/javascript/spec/pxe-iso-datastore-form/__snapshots__/pxe-iso-datastore-form.spec.js.snap @@ -93,6 +93,8 @@ exports[`Pxe Iso Datastore Form Component should render adding a new iso datasto "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -174,6 +176,8 @@ exports[`Pxe Iso Datastore Form Component should render adding a new iso datasto "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/pxe-iso-image-form/__snapshots__/pxe-iso-image-form.spec.js.snap b/app/javascript/spec/pxe-iso-image-form/__snapshots__/pxe-iso-image-form.spec.js.snap index 5c8c95da7bd..1de51401fe7 100644 --- a/app/javascript/spec/pxe-iso-image-form/__snapshots__/pxe-iso-image-form.spec.js.snap +++ b/app/javascript/spec/pxe-iso-image-form/__snapshots__/pxe-iso-image-form.spec.js.snap @@ -74,6 +74,8 @@ exports[`Pxe Edit Iso Image Form Component should render editing a iso image 1`] "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -146,6 +148,8 @@ exports[`Pxe Edit Iso Image Form Component should render editing a iso image 1`] "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/reconfigure-vm-form/__snapshots__/reconfigure-vm-form.spec.js.snap b/app/javascript/spec/reconfigure-vm-form/__snapshots__/reconfigure-vm-form.spec.js.snap index 42f3f037da8..fb6094539ac 100644 --- a/app/javascript/spec/reconfigure-vm-form/__snapshots__/reconfigure-vm-form.spec.js.snap +++ b/app/javascript/spec/reconfigure-vm-form/__snapshots__/reconfigure-vm-form.spec.js.snap @@ -96,6 +96,8 @@ exports[`Reconfigure VM form component should render form with only fields it ha "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -403,6 +405,8 @@ exports[`Reconfigure VM form component should render form with only fields it ha "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -715,6 +719,8 @@ exports[`Reconfigure VM form component should render form with only fields it ha "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4583,6 +4589,8 @@ exports[`Reconfigure VM form component should render reconfigure form and click "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -4994,6 +5002,8 @@ exports[`Reconfigure VM form component should render reconfigure form and click "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -5410,6 +5420,8 @@ exports[`Reconfigure VM form component should render reconfigure form and click "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -15932,6 +15944,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show c "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -16045,6 +16059,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show c "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -16163,6 +16179,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show c "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -17404,6 +17422,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show d "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -17622,6 +17642,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show d "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -17845,6 +17867,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show d "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -21202,6 +21226,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show d "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -21420,6 +21446,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show d "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -21643,6 +21671,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show d "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -24979,6 +25009,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show h "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -25203,6 +25235,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show h "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -25432,6 +25466,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show h "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -30033,6 +30069,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show n "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -30176,6 +30214,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show n "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -30324,6 +30364,8 @@ exports[`Reconfigure VM form component should render reconfigure form and show n "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -32139,6 +32181,8 @@ exports[`Reconfigure VM form component should render reconfigure form with datat "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -32551,6 +32595,8 @@ exports[`Reconfigure VM form component should render reconfigure form with datat "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -32968,6 +33014,8 @@ exports[`Reconfigure VM form component should render reconfigure form with datat "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -43663,6 +43711,8 @@ exports[`Reconfigure VM form component should render reconfigure form without da "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -43887,6 +43937,8 @@ exports[`Reconfigure VM form component should render reconfigure form without da "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -44116,6 +44168,8 @@ exports[`Reconfigure VM form component should render reconfigure form without da "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -48717,6 +48771,8 @@ exports[`Reconfigure VM form component should render reconfigure sub form and cl "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -49127,6 +49183,8 @@ exports[`Reconfigure VM form component should render reconfigure sub form and cl "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -49542,6 +49600,8 @@ exports[`Reconfigure VM form component should render reconfigure sub form and cl "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/schedule-form/__snapshots__/schedule-form.spec.js.snap b/app/javascript/spec/schedule-form/__snapshots__/schedule-form.spec.js.snap index d742c4ecbad..4b0ba541a76 100644 --- a/app/javascript/spec/schedule-form/__snapshots__/schedule-form.spec.js.snap +++ b/app/javascript/spec/schedule-form/__snapshots__/schedule-form.spec.js.snap @@ -725,6 +725,8 @@ exports[`Schedule form component should render edit form when filter_type is not "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1366,6 +1368,8 @@ exports[`Schedule form component should render edit form when filter_type is not "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -15540,6 +15544,8 @@ exports[`Schedule form component should render edit form when filter_type is nul "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -16323,6 +16329,8 @@ exports[`Schedule form component should render edit form when filter_type is nul "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -33730,6 +33738,8 @@ exports[`Schedule form component should render schedule add form 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -34294,6 +34304,8 @@ exports[`Schedule form component should render schedule add form 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/service-request-default-form/__snapshots__/service-request-default-form.spec.js.snap b/app/javascript/spec/service-request-default-form/__snapshots__/service-request-default-form.spec.js.snap index ea262c3510e..9974503a718 100644 --- a/app/javascript/spec/service-request-default-form/__snapshots__/service-request-default-form.spec.js.snap +++ b/app/javascript/spec/service-request-default-form/__snapshots__/service-request-default-form.spec.js.snap @@ -324,6 +324,8 @@ exports[`Show Service Request Page should render 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -526,6 +528,8 @@ exports[`Show Service Request Page should render 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/settings-category-form/__snapshots__/settings-category-form.spec.js.snap b/app/javascript/spec/settings-category-form/__snapshots__/settings-category-form.spec.js.snap index e7b8de26a77..911a57d8572 100644 --- a/app/javascript/spec/settings-category-form/__snapshots__/settings-category-form.spec.js.snap +++ b/app/javascript/spec/settings-category-form/__snapshots__/settings-category-form.spec.js.snap @@ -135,6 +135,8 @@ exports[`SettingsCategoryForm Component should render a new SettingsCategoryForm "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -268,6 +270,8 @@ exports[`SettingsCategoryForm Component should render a new SettingsCategoryForm "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/settings-time-profile-form/__snapshots__/settings-time-profile-form.spec.js.snap b/app/javascript/spec/settings-time-profile-form/__snapshots__/settings-time-profile-form.spec.js.snap index 555519805b7..f55f28a80b2 100644 --- a/app/javascript/spec/settings-time-profile-form/__snapshots__/settings-time-profile-form.spec.js.snap +++ b/app/javascript/spec/settings-time-profile-form/__snapshots__/settings-time-profile-form.spec.js.snap @@ -495,6 +495,8 @@ exports[`VM common form component should render adding form variant add new time "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -994,6 +996,8 @@ exports[`VM common form component should render adding form variant add new time "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/vm-floating-ips-form/__snapshots__/vm-floating-ips-form.spec.js.snap b/app/javascript/spec/vm-floating-ips-form/__snapshots__/vm-floating-ips-form.spec.js.snap index 5d4979b5c8a..e0249f182c7 100644 --- a/app/javascript/spec/vm-floating-ips-form/__snapshots__/vm-floating-ips-form.spec.js.snap +++ b/app/javascript/spec/vm-floating-ips-form/__snapshots__/vm-floating-ips-form.spec.js.snap @@ -57,6 +57,8 @@ exports[`Associate / Disassociate form component should render associate form va "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -121,6 +123,8 @@ exports[`Associate / Disassociate form component should render associate form va "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1085,6 +1089,8 @@ exports[`Associate / Disassociate form component should render disassociate form "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1149,6 +1155,8 @@ exports[`Associate / Disassociate form component should render disassociate form "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -2140,6 +2148,8 @@ exports[`Associate / Disassociate form component should submit Associate API cal "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -2204,6 +2214,8 @@ exports[`Associate / Disassociate form component should submit Associate API cal "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -3048,6 +3060,8 @@ exports[`Associate / Disassociate form component should submit Disassociate API "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -3112,6 +3126,8 @@ exports[`Associate / Disassociate form component should submit Disassociate API "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/vm-resize-form/__snapshots__/vm-resize-form.spec.js.snap b/app/javascript/spec/vm-resize-form/__snapshots__/vm-resize-form.spec.js.snap index d3490c3f82e..15a030ad2b2 100644 --- a/app/javascript/spec/vm-resize-form/__snapshots__/vm-resize-form.spec.js.snap +++ b/app/javascript/spec/vm-resize-form/__snapshots__/vm-resize-form.spec.js.snap @@ -67,6 +67,8 @@ exports[`vm resize form component should render a resize form 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -132,6 +134,8 @@ exports[`vm resize form component should render a resize form 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/workflow-credential-mapping-form/__snapshots__/workflow-credential-mapping-form.spec.js.snap b/app/javascript/spec/workflow-credential-mapping-form/__snapshots__/workflow-credential-mapping-form.spec.js.snap index 592bd392d38..46dbe52751e 100644 --- a/app/javascript/spec/workflow-credential-mapping-form/__snapshots__/workflow-credential-mapping-form.spec.js.snap +++ b/app/javascript/spec/workflow-credential-mapping-form/__snapshots__/workflow-credential-mapping-form.spec.js.snap @@ -60,6 +60,8 @@ exports[`Workflow Credential Form Component should render mapping credentials to "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -247,6 +249,8 @@ exports[`Workflow Credential Form Component should render mapping credentials to "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -437,6 +441,8 @@ exports[`Workflow Credential Form Component should render mapping credentials to "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/workflow-credentials-form/__snapshots__/workflow-credentials-form.spec.js.snap b/app/javascript/spec/workflow-credentials-form/__snapshots__/workflow-credentials-form.spec.js.snap index 1137c8f3822..3c8754b5f07 100644 --- a/app/javascript/spec/workflow-credentials-form/__snapshots__/workflow-credentials-form.spec.js.snap +++ b/app/javascript/spec/workflow-credentials-form/__snapshots__/workflow-credentials-form.spec.js.snap @@ -95,6 +95,8 @@ exports[`Workflow Credential Form Component should render adding a new credentia "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -190,6 +192,8 @@ exports[`Workflow Credential Form Component should render adding a new credentia "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1602,6 +1606,8 @@ exports[`Workflow Credential Form Component should render editing a credential 1 "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -1704,6 +1710,8 @@ exports[`Workflow Credential Form Component should render editing a credential 1 "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/javascript/spec/zone-form/__snapshots__/zone-form.spec.js.snap b/app/javascript/spec/zone-form/__snapshots__/zone-form.spec.js.snap index a5986bcde2b..7f7416f31a0 100644 --- a/app/javascript/spec/zone-form/__snapshots__/zone-form.spec.js.snap +++ b/app/javascript/spec/zone-form/__snapshots__/zone-form.spec.js.snap @@ -309,6 +309,8 @@ exports[`zone Form Component should render editing a zone form 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], @@ -480,6 +482,8 @@ exports[`zone Form Component should render editing a zone form 1`] = ` "date-picker": [Function], "dual-list-select": [Function], "edit-password-field": [Function], + "embedded-automate-entry-point": [Function], + "embedded-workflow-entry-point": [Function], "field-array": [Function], "file-upload": [Function], "font-icon-picker": [Function], diff --git a/app/stylesheet/workflows.scss b/app/stylesheet/workflows.scss index 8d709ee1667..5d16efc11c5 100644 --- a/app/stylesheet/workflows.scss +++ b/app/stylesheet/workflows.scss @@ -32,3 +32,21 @@ } } +.entry-point-wrapper { + display: inline-flex; + width: 100%; + + .entry-point-text-input { + width: 80%; + margin-right: 20px; + } + + .entry-point-buttons { + display: inline-flex; + margin-top: 20px; + + .entry-point-open { + margin-right: 10px; + } + } +} diff --git a/package.json b/package.json index 68f10411efa..9a7cf9a5cb5 100644 --- a/package.json +++ b/package.json @@ -87,6 +87,7 @@ "prop-types": "^15.6.0", "proxy-polyfill": "^0.1.7", "react": "~16.13.1", + "react-accessible-treeview": "^2.10.0", "react-bootstrap": "~0.33.0", "react-codemirror2": "^8.0.0", "react-dom": "~16.13.1", diff --git a/yarn.lock b/yarn.lock index 424b729a0a8..0ff8024d261 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11739,6 +11739,7 @@ __metadata: prop-types: "npm:^15.6.0" proxy-polyfill: "npm:^0.1.7" react: "npm:~16.13.1" + react-accessible-treeview: "npm:^2.10.0" react-bootstrap: "npm:~0.33.0" react-codemirror2: "npm:^8.0.0" react-dom: "npm:~16.13.1" @@ -14519,6 +14520,18 @@ __metadata: languageName: node linkType: hard +"react-accessible-treeview@npm:^2.10.0": + version: 2.10.0 + resolution: "react-accessible-treeview@npm:2.10.0" + peerDependencies: + classnames: ^2.2.6 + prop-types: ^15.7.2 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 10/2bdd0a1b04534e386a9cfb1392a6c6d5ae75a13c84829d573a2b7e7188a4f7a2d2a51a80f089122d80d35f32b5d6ddbf1896fefe35f0b0974a29f58f541796f9 + languageName: node + linkType: hard + "react-bootstrap@npm:~0.33.0": version: 0.33.1 resolution: "react-bootstrap@npm:0.33.1"