\n \n
\n Actions\n
\n \n {{ action.label }}\n \n \n\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CycleActions.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CycleActions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CycleActions.vue?vue&type=template&id=ea59dd22\"\nimport script from \"./CycleActions.vue?vue&type=script&lang=js\"\nexport * from \"./CycleActions.vue?vue&type=script&lang=js\"\nimport style0 from \"./CycleActions.vue?vue&type=style&index=0&id=ea59dd22&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from 'axios'\n\nimport { SystemError } from '@core-ui/utils/errors'\n\n\nconst VERBS = Object.freeze({\n GET: 'get',\n PATCH: 'patch',\n POST: 'post',\n DELETE: 'delete'\n})\n\nconst instance = axios.create({\n baseURL: '/',\n withCredentials: false,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n }\n})\n\nfunction loadData (requestMethod, endpoint, payload, mock) {\n const requestConfig = {\n method: requestMethod,\n url: endpoint\n }\n if (payload) requestConfig.data = payload\n\n return instance\n .request(requestConfig)\n .then(response => {\n if (!response.data) throw new Error()\n // if data is empty\n if (Object.keys(response.data).length === 0 && response.data.constructor === Object) throw new Error()\n return Promise.resolve(response.data)\n })\n .catch(() => {\n if (mock) {\n // console.warn(`Unable to get data from ${endpoint}. Using mock data instead.`)\n // this lazy loader generates a promise\n // return import(`@/data/${mock}.json`/* webpackMode: \"lazy\", webpackChunkName: \"[request]\" */).then((data) => {\n // return data.default\n // })\n }\n })\n}\n\n\nexport function loadApplications (endpoint = 'Queue/1/Applications/filter?offset=0&count=25', payload) {\n return loadData('post', endpoint, payload, 'queue-data')\n}\n\nexport function loadAvailableFields () {\n const endpoint = 'Queue/1/Applications/filter/availableFields'\n return loadData('get', endpoint, undefined, 'available-fields-data')\n}\n\nexport function loadAvailableOptions (payload) {\n const endpoint = 'Queue/1/Applications/filter/availableOptions'\n return loadData('post', endpoint, payload, 'available-fields-data')\n}\n\nexport function loadFilterPresets () {\n const endpoint = 'FilterPreset/A/?scope=queueDetail.ua-toolbar'\n return loadData('get', endpoint, undefined, 'filter-preset-data')\n}\n\nexport function deleteFilter (payload) {\n const endpoint = 'FilterPreset/A/' + payload.id\n return loadData('delete', endpoint, payload)\n}\n\nexport function saveFilter (payload) {\n if (payload.id) {\n // if the filter has an id, we need to update the existing filter (PUT request)\n const endpoint = 'FilterPreset/A/' + payload.id\n return loadData('put', endpoint, payload)\n } else {\n const endpoint = 'FilterPreset/A/'\n return loadData('post', endpoint, payload)\n }\n}\n\nexport function loadBulkUserActions (override = 'queueDetail.ua-bulk-toolbar') {\n const endpoint = `Useraction/1/UserActions?filter=${override}`\n return loadData('get', endpoint, undefined, 'user-action-data')\n}\n\nexport function loadUserActions (override = 'queueDetail.ua-toolbar') {\n const endpoint = `Useraction/1/UserActions?filter=${override}`\n return loadData('get', endpoint, undefined, 'user-action-data')\n}\n\nexport function applyBulkAction (workflowId, appIds) {\n const endpoint = `Useraction/1/${workflowId}/Start?appIds=${appIds.join(',')}`\n return loadData(VERBS.GET, endpoint)\n}\n\n\nexport function triggerRule (ruleId, ruleParams = {}) {\n const endpoint = `/Queue/1/PageEvent/${ruleId}`\n return instance\n .post(endpoint, ruleParams)\n .then(response => {\n if (!response || !response.data) throw new Error('Invalid server response!', response)\n // rule response in the right format, check for error flag\n if (response.data.enum == null) {\n throw new SystemError({\n logs: {\n exception: response.data.logOutput.exception\n }\n })\n }\n if (response.data.enum.error) {\n throw new SystemError(response.data.enum.error)\n } else {\n return response.data.enum\n }\n })\n .catch((error) => {\n console.warn(`Unable to trigger rule at ${endpoint}.`)\n return Promise.reject(error, endpoint)\n })\n}\n\nexport function enableDeadlineDefinition (deadlineDefinitionId, successCallback, failureCallback) {\n return instance\n .patch(`/deadline/api/v1/enable/${deadlineDefinitionId}`)\n .then(response => {\n successCallback(response.data)\n return Promise.resolve(response.data)\n })\n .catch(error => {\n failureCallback(error.response.data._message)\n })\n}\n\nexport function disableDeadlineDefinition (deadlineDefinitionId, successCallback, failureCallback) {\n return instance\n .patch(`/deadline/api/v1/disable/${deadlineDefinitionId}`)\n .then(response => {\n successCallback(response.data)\n return Promise.resolve(response.data)\n })\n .catch(error => {\n failureCallback(error.response.data._message)\n })\n}\n\nexport function deleteDeadlineDefinition (deadlineDefinitionId, successCallback, failureCallback) {\n return instance\n .patch(`/deadline/api/v1/delete/${deadlineDefinitionId}`)\n .then(response => {\n successCallback(response.data)\n return Promise.resolve(response.data)\n })\n .catch(error => {\n failureCallback(error.response.data._message)\n })\n}\n\nexport function getCycleInformation () {\n const endpoint = '/cluster-cycle/api/v1/cycles'\n return loadData('get', endpoint)\n}\n","\nimport { enhanceColumnDefs } from '@gu-datagrid/utils/datagrid/format'\n\n// Get pageVars from window object.\nconst { pageVars } = window // Defined in queue.vm using `#set($pageVars...`\nconst { configIcApplications, enumerationTypes } = pageVars\nconst { columnDefs } = configIcApplications\n\ntry {\n enhanceColumnDefs(columnDefs, enumerationTypes)\n} catch (err) {\n console.error(err)\n}\n\nconst gridOptions = {\n defaultColDef: {\n menuTabs: ['filterMenuTab', 'generalMenuTab', 'columnsMenuTab'], // Changing the default order so that the column's filter menu appears by default. https://www.ag-grid.com/vue-grid/column-menu/#showing-the-column-menu\n resizable: true,\n sortable: true, // enable sorting on all columns by default https://www.ag-grid.com/javascript-grid-sorting/\n filter: true // set filtering on for all columns https://www.ag-grid.com/javascript-grid-filtering/#configuring-filters-on-columns\n },\n columnDefs,\n serverSideStoreType: 'partial',\n rowModelType: 'serverSide',\n // debug: true, // https://www.ag-grid.com/javascript-grid-server-side-model-configuration/\n allowDragFromColumnsToolPanel: true,\n pagination: true, // https://www.ag-grid.com/javascript-grid-pagination/\n paginationAutoPageSize: true, // https://www.ag-grid.com/documentation/vue/row-pagination/#example-auto-page-size\n\n // added for screen-reader accessibility support (allows for the number of columns in a row to be anounced)\n suppressColumnVirtualisation: true,\n\n /*\n // set to 'multiple' to support multi checkbox selection in the grid\n rowSelection: 'multiple',\n\n // overlay shown in grid when no rows are returned\n // overlayNoRowsTemplate: '