@vidispine/vdt-react 22.4.0 → 23.1.0-pre.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +2 -2
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/hooks/useApi.js","../src/hooks/useSearch.js","../src/hooks/useUpdateEffect.js","../src/hooks/useAutocomplete.js","../src/hooks/useSelected.js","../src/hooks/useTab.js","../src/hooks/useInterval.js","../src/hooks/useThumbnailScrub.js","../src/hooks/useJobSearch.js","../src/hooks/useLocalStorage.js","../src/utils.js","../src/hooks/useUploadFiles.js","../src/hooks/useQueryInitialState.js","../src/hooks/useUpdateQueryState.js","../src/hooks/useEntityAccess.js","../src/hooks/useAddMetadataFieldAttributes.js","../src/hooks/useSavedSearch.js","../src/hooks/useSearchItem.js","../src/hooks/useMouseDownPosition.js","../src/hooks/useGetCollection.js","../src/hooks/useGetCollectionItem.js","../src/hooks/useGetEntity.js","../src/hooks/useUser.js","../src/hooks/useSearchUser.js","../src/hooks/useListGroup.js","../src/hooks/useListUser.js","../src/hooks/useSearchGroup.js","../src/hooks/useGroup.js","../src/hooks/useGetItem.js","../src/hooks/useCollectionAutoPlay.js","../src/hooks/useHoverScrub.js","../src/hooks/useDocSearchAutocomplete.js","../src/hooks/useGetFieldMetadataDataset.js","../src/hooks/useGetSavedSearchFolders.js","../src/hooks/useRepresentativeItems.js","../src/hooks/useCsvDownload.js","../src/hooks/useCompoundMetadata.js","../src/hooks/useGetEntityMetadata.js","../src/hooks/useGetFieldGroup.js","../src/wrappers/MetadataType.js","../src/wrappers/SearchCollection.js","../src/wrappers/SearchItem.js","../src/wrappers/SearchItemCollection.js","../src/wrappers/GetItem.js","../src/wrappers/GetCollection.js","../src/wrappers/GetJobs.js","../src/wrappers/ListEntityAccess.js","../src/wrappers/VidispineApi.js","../src/wrappers/Auth.js","../src/wrappers/ErrorBoundary.js","../src/wrappers/GetFieldGroup.js","../src/context/RolesContext.js","../src/wrappers/HasRole.js","../src/wrappers/ComposeProviders.js","../src/wrappers/GetEntityMetadata.js","../src/hoc/withErrorBoundary.js","../src/hoc/compose.js","../src/context/BinContext.js","../src/context/SettingsContext.js","../src/context/AuthContext.js","../src/context/DateTimeInputContext.js","../src/moveEntity.js","../src/DropArea.js"],"sourcesContent":["import { useRef, useReducer, useCallback, useEffect } from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nconst setDefaultState = (\n {\n hasLoaded = false,\n isLoading = true,\n isError = false,\n response = undefined,\n data = undefined,\n } = {},\n responseRef = undefined,\n) => ({\n isLoading,\n hasLoaded,\n isError,\n response,\n data: responseRef && responseRef.current ? responseRef.current : data,\n});\n\nconst apiReducer = (state, action) => {\n switch (action.type) {\n case 'START': {\n return {\n ...state,\n isLoading: true,\n isError: false,\n };\n }\n case 'SUCCESS': {\n const { responseType } = action.response;\n const newState = {\n isLoading: false,\n isError: false,\n hasLoaded: true,\n response: action.response,\n data: action.response.data,\n };\n if (responseType) newState[responseType] = action.response[responseType];\n return newState;\n }\n case 'ERROR': {\n return {\n isLoading: false,\n isError: true,\n hasLoaded: true,\n response: action.response,\n data: action.response.data,\n };\n }\n case 'RESET': {\n return {\n ...action.initialState,\n };\n }\n default: {\n return state;\n }\n }\n};\n\nexport default function useApi(apiHandler, initialState, responseRef) {\n const cancelToken = useRef(() => null);\n const initialDefaultState = setDefaultState(initialState, responseRef);\n const initialStateRef = useRef(initialDefaultState);\n const [state, dispatch] = useReducer(apiReducer, initialDefaultState);\n const request = useCallback(\n (props) => {\n dispatch({ type: 'START' });\n return new Promise((resolve, reject) => {\n apiHandler({\n canceltoken: new api.CancelToken((c) => {\n cancelToken.current = c;\n }),\n ...props,\n })\n .then((response) => {\n resolve(response);\n dispatch({ type: 'SUCCESS', response });\n // eslint-disable-next-line no-param-reassign\n if (responseRef) responseRef.current = response.data;\n })\n .catch((response) => {\n reject(response);\n dispatch({ type: 'ERROR', response });\n });\n });\n },\n [apiHandler, responseRef],\n );\n const reset = useCallback(\n () => dispatch({ type: 'RESET', initialState: initialStateRef.current }),\n [],\n );\n const cancel = useCallback(() => cancelToken.current(), []);\n useEffect(\n () => () => {\n cancel();\n reset();\n },\n [cancel, reset],\n );\n return {\n request,\n reset,\n cancel,\n ...state,\n };\n}\n","import { useReducer, useCallback } from 'react';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_SEARCHTEXT = 'CHANGE_SEARCHTEXT';\nconst CHANGE_SEARCHFIELD = 'CHANGE_SEARCHFIELD';\nconst CHANGE_SEARCHFIELDFACET = 'CHANGE_SEARCHFIELDFACET';\nconst CHANGE_SEARCHFILTER = 'CHANGE_SEARCHFILTER';\nconst CHANGE_SEARCHFILTERFACET = 'CHANGE_SEARCHFILTERFACET';\nconst CHANGE_PARENT_COLLECTION = 'CHANGE_PARENT_COLLECTION';\nconst CHANGE_FACET = 'CHANGE_FACET';\nconst CHANGE_ITEMSEARCHDOCUMENT = 'CHANGE_ITEMSEARCHDOCUMENT';\nconst CHANGE_QUERYPARAMS = 'CHANGE_QUERYPARAMS';\nconst CHANGE_MATRIXPARAMS = 'CHANGE_MATRIXPARAMS';\nconst CHANGE_SUGGESTION = 'CHANGE_SUGGESTION';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_SEARCHTEXT,\n CHANGE_SEARCHFIELD,\n CHANGE_SEARCHFIELDFACET,\n CHANGE_SEARCHFILTER,\n CHANGE_SEARCHFILTERFACET,\n CHANGE_PARENT_COLLECTION,\n CHANGE_FACET,\n CHANGE_ITEMSEARCHDOCUMENT,\n CHANGE_QUERYPARAMS,\n CHANGE_MATRIXPARAMS,\n CHANGE_SUGGESTION,\n};\n\nconst setInitialDefaultState = ({\n queryParams = {},\n matrixParams = {},\n itemSearchDocument = {},\n rowsPerPage = 10,\n page = 0,\n ...state\n} = {}) => ({\n ...state,\n queryParams: {\n content: 'metadata',\n interval: 'generic',\n ...queryParams,\n },\n matrixParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...matrixParams,\n },\n itemSearchDocument: {\n intervals: 'generic',\n filter: [],\n ...itemSearchDocument,\n },\n rowsPerPage,\n page,\n});\n\nconst searchReducer = (state, action) => {\n switch (action.type) {\n case ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT: {\n return {\n ...state,\n page: Number.isInteger(action.page) ? action.page : state.page,\n itemSearchDocument: action.itemSearchDocument,\n matrixParams: {\n ...state.matrixParams,\n first: Number.isInteger(action.page)\n ? action.page * state.rowsPerPage + 1\n : state.matrixParams.first,\n },\n };\n }\n case ACTION_TYPE.CHANGE_QUERYPARAMS: {\n return {\n ...state,\n queryParams: action.queryParams,\n };\n }\n case ACTION_TYPE.CHANGE_MATRIXPARAMS: {\n return {\n ...state,\n matrixParams: action.matrixParams,\n };\n }\n case ACTION_TYPE.CHANGE_PAGE: {\n return {\n ...state,\n page: action.page,\n matrixParams: {\n ...state.matrixParams,\n first: action.page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n return {\n ...state,\n rowsPerPage: action.rowsPerPage,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n number: action.rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SORT: {\n return {\n ...state,\n page: 0,\n searchText: action.value,\n sort: action.value,\n itemSearchDocument: {\n ...state.itemSearchDocument,\n sort: action.field\n ? [\n {\n field: action.field,\n order: action.order || 'descending',\n },\n ]\n : [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHTEXT: {\n return {\n ...state,\n page: 0,\n searchText: action.value,\n itemSearchDocument: action.value\n ? {\n ...state.itemSearchDocument,\n text: [{ value: `${action.value}` }],\n }\n : {\n ...state.itemSearchDocument,\n text: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFIELD: {\n return {\n ...state,\n page: 0,\n field: action.field,\n itemSearchDocument: action.field\n ? {\n ...state.itemSearchDocument,\n field: action.field,\n }\n : {\n ...state.itemSearchDocument,\n field: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFIELDFACET: {\n return {\n ...state,\n page: 0,\n field: action.field,\n facet: action.facet,\n itemSearchDocument: action.field\n ? {\n ...state.itemSearchDocument,\n field: action.field,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n field: [],\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFILTER: {\n return {\n ...state,\n page: 0,\n filter: action.filter,\n itemSearchDocument: action.filter\n ? {\n ...state.itemSearchDocument,\n filter: action.filter,\n }\n : {\n ...state.itemSearchDocument,\n filter: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFILTERFACET: {\n return {\n ...state,\n page: 0,\n filter: action.filter,\n itemSearchDocument: action.filter\n ? {\n ...state.itemSearchDocument,\n filter: action.filter,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n filter: [],\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_FACET: {\n return {\n ...state,\n page: 0,\n facet: action.facet,\n itemSearchDocument: action.facet\n ? {\n ...state.itemSearchDocument,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_PARENT_COLLECTION: {\n return {\n ...state,\n page: 0,\n parentCollection: action.value,\n itemSearchDocument: action.value\n ? {\n ...state.itemSearchDocument,\n operator: {\n field: [\n { name: '__parent_collection', value: [{ value: `${action.value}` }] },\n { name: '__collection', value: [{ value: `${action.value}` }] },\n ],\n operation: 'OR',\n },\n }\n : {\n ...state.itemSearchDocument,\n operator: undefined,\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SUGGESTION: {\n return {\n ...state,\n itemSearchDocument: {\n ...state.itemSearchDocument,\n suggestion: action.suggestion,\n },\n };\n }\n default: {\n return state;\n }\n }\n};\n\nexport default function useSearch(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = useReducer(searchReducer, initialDefaultState);\n\n const onChangeRowsPerPage = ({ target: { value: newRows } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage: newRows,\n });\n\n const onChangePage = ({ page: newPage }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page: newPage,\n });\n\n const onChangeSort = (event, field, order) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field,\n order,\n });\n\n const setSearchText = useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHTEXT,\n value,\n }),\n [],\n );\n\n const setItemSearchDocument = useCallback(\n (itemSearchDocument, page) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT,\n itemSearchDocument,\n page,\n }),\n [],\n );\n\n const setQueryParams = useCallback(\n (queryParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMQUERYPARAMS,\n queryParams,\n }),\n [],\n );\n\n const setMatrixParams = useCallback(\n (matrixParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMMATRIXPARAMS,\n matrixParams,\n }),\n [],\n );\n\n const setSearchField = useCallback(\n (field) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFIELD,\n field,\n }),\n [],\n );\n\n const setSearchFieldFacet = useCallback((field) => {\n const facet = field.map(({ name }) => ({ field: name, count: true }));\n dispatch({ type: ACTION_TYPE.CHANGE_SEARCHFIELDFACET, field, facet });\n }, []);\n\n const setSearchFilter = useCallback(\n (filter) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFILTER,\n filter,\n }),\n [],\n );\n\n const setSearchFilterFacet = useCallback(\n (filter) => {\n const fieldList = filter.reduce((a, { field = [] }) => a.concat(field), []);\n const facet = fieldList.map(({ name }) => ({\n name,\n field: name,\n count: true,\n exclude: [name],\n }));\n dispatch({ type: ACTION_TYPE.CHANGE_SEARCHFILTERFACET, filter, facet });\n },\n [dispatch],\n );\n\n const setFacet = useCallback(\n (facet) => {\n dispatch({ type: ACTION_TYPE.CHANGE_FACET, facet });\n },\n [dispatch],\n );\n\n const setParentCollection = useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PARENT_COLLECTION,\n value,\n }),\n [],\n );\n\n const setSuggestion = useCallback((suggestion) => {\n dispatch({ type: ACTION_TYPE.CHANGE_SUGGESTION, suggestion });\n }, []);\n\n return {\n state,\n onChangeRowsPerPage,\n onChangePage,\n onChangeSort,\n setSearchText,\n setSearchField,\n setSearchFieldFacet,\n setSearchFilter,\n setSearchFilterFacet,\n setFacet,\n setItemSearchDocument,\n setQueryParams,\n setMatrixParams,\n setParentCollection,\n setSuggestion,\n };\n}\n","import { useRef, useEffect } from 'react';\n\nexport default function useUpdateEffect(fn, inputs) {\n const hasMountedRef = useRef(false);\n useEffect(() => {\n if (hasMountedRef.current) {\n fn();\n } else {\n hasMountedRef.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, inputs);\n}\n","import { useState, useCallback } from 'react';\n\nimport { search as SearchApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\nimport useUpdateEffect from './useUpdateEffect';\n\nconst setInitialDefaultState = ({\n field = undefined,\n text = '',\n maximumSuggestions = 10,\n} = {}) => ({\n field,\n text,\n maximumSuggestions,\n});\n\nexport default function useAutocomplete(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [autocompleteDoc, setAutocompleteDoc] = useState(initialDefaultState);\n\n const setAutocompleteField = useCallback((field, text = '') => {\n setAutocompleteDoc((state) => ({ ...state, field, text }));\n }, []);\n\n const setAutocompleteText = useCallback((text) => {\n setAutocompleteDoc((state) => ({ ...state, text }));\n }, []);\n\n const setAutocompleteMaxSuggestions = useCallback((maximumSuggestions) => {\n setAutocompleteDoc((state) => ({ ...state, maximumSuggestions }));\n }, []);\n\n const { request: searchAutoComplete, data: { suggestion: suggestions = [] } = {} } = useApi(\n SearchApi.searchAutoComplete,\n );\n\n useUpdateEffect(() => {\n searchAutoComplete({ autocompleteRequestDocument: autocompleteDoc });\n }, [autocompleteDoc]);\n\n return {\n suggestions,\n setAutocompleteField,\n setAutocompleteText,\n setAutocompleteMaxSuggestions,\n };\n}\n","import { useState } from 'react';\n\nexport default (propKey = 'id', initialState = []) => {\n const [selected, setSelected] = useState(initialState);\n const onSelect = (event, checked, props) => {\n const propValue = props[propKey];\n const currentIndex = selected.findIndex((thisSelected) => thisSelected[propKey] === propValue);\n if (currentIndex === -1 && checked === true) {\n if (checked === true) {\n setSelected([...selected, props]);\n }\n } else if (currentIndex > -1 && checked === false) {\n const newSelected = [...selected];\n newSelected.splice(currentIndex, 1);\n setSelected(newSelected);\n }\n };\n const isSelected = (props) => {\n const propValue = props[propKey];\n const currentIndex = selected.findIndex((thisSelected) => thisSelected[propKey] === propValue);\n return currentIndex > -1;\n };\n const onClear = () => setSelected([]);\n return {\n selected,\n onSelect,\n onClear,\n isSelected,\n };\n};\n","import { useState } from 'react';\n\nexport default (initialTab) => {\n const [activeTab, setActiveTab] = useState(initialTab);\n const changeTab = (_, newValue) => setActiveTab(newValue);\n return { activeTab, changeTab };\n};\n","import { useRef, useEffect } from 'react';\n\nexport default function useInterval(callback, delay) {\n const savedCallback = useRef();\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const tick = () => savedCallback.current();\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }, [delay]);\n}\n","import { useRef, useMemo, useState, useEffect } from 'react';\n\nexport default function useThumbnailScrub(srcList = []) {\n const savedInterval = useRef();\n const initialImgIdx = useMemo(() => Math.floor(srcList.length / 2), [srcList]);\n const [imgIdx, setImgIdx] = useState();\n const imgIdxRef = useRef(imgIdx);\n useEffect(() => () => savedInterval.current && clearInterval(savedInterval.current), []);\n if (srcList.length === 0) return { width: 0 };\n\n imgIdxRef.current = imgIdx;\n const onMouseEnter = () => {\n const delay = 500;\n const tick = () => {\n if (imgIdxRef.current === undefined) {\n setImgIdx(0);\n } else if (imgIdxRef.current === srcList.length - 1) {\n clearInterval(savedInterval.current);\n } else {\n setImgIdx(imgIdxRef.current + 1);\n }\n };\n savedInterval.current = setInterval(tick, delay);\n };\n const onMouseLeave = () => {\n setImgIdx();\n clearInterval(savedInterval.current);\n };\n const imageSrc = srcList[imgIdx === undefined ? initialImgIdx : imgIdx];\n const width = imgIdx === undefined ? 0 : `${Math.floor((imgIdx / (srcList.length - 1)) * 100)}%`;\n return {\n imageSrc,\n onMouseEnter,\n onMouseLeave,\n width,\n };\n}\n","import { useReducer } from 'react';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_TYPE = 'CHANGE_TYPE';\nconst CHANGE_STATE = 'CHANGE_STATE';\nconst CHANGE_PRIORITY = 'CHANGE_PRIORITY';\nconst CHANGE_STARTTIME = 'CHANGE_STARTTIME';\nconst CHANGE_FINISHTIME = 'CHANGE_FINISHTIME';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_TYPE,\n CHANGE_STATE,\n CHANGE_PRIORITY,\n CHANGE_STARTTIME,\n CHANGE_FINISHTIME,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, matrixParams = {} } = {}) => ({\n queryParams,\n matrixParams: {\n first: 1,\n number: 10,\n ...matrixParams,\n },\n rowsPerPage: 10,\n page: 0,\n jobMetadata: [],\n});\n\nconst searchReducer = (state, action) => {\n const { type, ...rest } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page = 0 } = action;\n const { rowsPerPage = 10 } = state;\n return {\n ...state,\n page,\n matrixParams: {\n ...state.matrixParams,\n first: page * rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SORT: {\n const { field, order = 'desc' } = action;\n return {\n ...state,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n sort: `${field} ${order}`,\n },\n };\n }\n case ACTION_TYPE.CHANGE_TYPE:\n case ACTION_TYPE.CHANGE_STATE:\n case ACTION_TYPE.CHANGE_PRIORITY: {\n const { field, value = [] } = rest;\n let matrixParams;\n if (!value) {\n const { [field]: deleteField, ...newMatrixParams } = state.matrixParams;\n matrixParams = { ...newMatrixParams, first: 1 };\n } else {\n matrixParams = {\n ...state.matrixParams,\n first: 1,\n [field]: Array.isArray(value) ? value.join(',') : value,\n };\n }\n return {\n ...state,\n page: 0,\n matrixParams,\n };\n }\n case ACTION_TYPE.CHANGE_STARTTIME:\n case ACTION_TYPE.CHANGE_FINISHTIME: {\n const { field, value = [] } = rest;\n let queryParams;\n if (!value) {\n const { [field]: deleteField, ...newQueryParams } = state.queryParams;\n queryParams = { ...newQueryParams, first: 1 };\n } else {\n queryParams = {\n ...state.queryParams,\n first: 1,\n [field]: value,\n };\n }\n return {\n ...state,\n page: 0,\n queryParams,\n };\n }\n case ACTION_TYPE.CHANGE_JOBMETADATA: {\n const { field, value = [] } = rest;\n let queryParams;\n if (!value.length) {\n const { [field]: deleteField, ...newQueryParams } = state.queryParams;\n queryParams = { ...newQueryParams, first: 1 };\n } else {\n queryParams = {\n ...state.queryParams,\n first: 1,\n [field]: value,\n };\n }\n return {\n ...state,\n page: 0,\n queryParams,\n jobMetadata: value,\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useJobSearch(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = useReducer(searchReducer, initialDefaultState);\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeType = ({ field = [] }) => {\n const [{ name = 'type', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_TYPE,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeState = ({ field = [] }) => {\n const [{ name = 'state', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_STATE,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangePriority = ({ field = [] }) => {\n const [{ name = 'priority', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_PRIORITY,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeStarttime = ({ field = [] }) => {\n const [{ name = 'starttime-from', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_STARTTIME,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeFinishtime = ({ field = [] }) => {\n const [{ name = 'finishtime-from', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_FINISHTIME,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeJobmetadata = (value) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_JOBMETADATA,\n field: 'jobmetadata',\n value,\n });\n };\n return {\n state,\n onChangePage,\n onChangeSort,\n onChangeType,\n onChangeState,\n onChangePriority,\n onChangeStarttime,\n onChangeFinishtime,\n onChangeRowsPerPage,\n onChangeJobmetadata,\n };\n}\n","import { useState, useEffect } from 'react';\n\nconst useLocalStorage = (localStorageKey, defaultValue) => {\n const [value, setValue] = useState(\n JSON.parse(window.localStorage.getItem(localStorageKey) || JSON.stringify(defaultValue)),\n );\n\n useEffect(() => {\n window.localStorage.setItem(localStorageKey, JSON.stringify(value));\n }, [localStorageKey, value]);\n\n const getValue = () => JSON.parse(window.localStorage.getItem(localStorageKey));\n\n return [value, setValue, getValue];\n};\n\nexport default useLocalStorage;\n","import { compressToEncodedURIComponent, decompressFromEncodedURIComponent } from 'lz-string';\n\nexport function uuidv4() {\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n // eslint-disable-next-line\n (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16));\n}\n\nexport function b64EncodeUnicode(str) {\n return compressToEncodedURIComponent(str);\n}\n\nexport function b64DecodeUnicode(str) {\n // fallback for old base64 encoded links\n return str.slice(-1) === '='\n ? decodeURIComponent(\n atob(str)\n .split('')\n .map((c) => `%${`00${c.charCodeAt(0).toString(16)}`.slice(-2)}`)\n .join(''),\n )\n : decompressFromEncodedURIComponent(str);\n}\n","import { useState, useEffect, useCallback } from 'react';\n\nimport {\n vsimport as ImportApi,\n ChunkedUpload,\n collection as CollectionApi,\n} from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nimport { uuidv4 } from '../utils';\n\nconst DEFAULT_AUDIO_SHAPETAGS = ['__mp3_160k'];\nconst DEFAULT_VIDEO_SHAPETAGS = ['__mp4'];\nconst DEFAULT_IMAGE_SHAPETAGS = ['__png'];\nconst AUDIO_MIMETYPE_PREFIX = 'audio';\nconst VIDEO_MIMETYPE_PREFIX = 'video';\nconst IMAGE_MIMETYPE_PREFIX = 'image';\nconst ADDITIONAL_VIDEO_MIMETYPES = ['application/mxf'];\nconst ADDITIONAL_IMAGE_MIMETYPES = [];\nconst ADDITIONAL_AUDIO_MIMETYPES = [];\n\nconst getDefaultShapeTags = (file) => {\n if (!file || !file.type) return [];\n const mimeType = file.type.toLowerCase();\n if (mimeType.startsWith(AUDIO_MIMETYPE_PREFIX) || ADDITIONAL_AUDIO_MIMETYPES.includes(mimeType))\n return DEFAULT_AUDIO_SHAPETAGS;\n if (mimeType.startsWith(VIDEO_MIMETYPE_PREFIX) || ADDITIONAL_VIDEO_MIMETYPES.includes(mimeType))\n return DEFAULT_VIDEO_SHAPETAGS;\n if (mimeType.startsWith(IMAGE_MIMETYPE_PREFIX) || ADDITIONAL_IMAGE_MIMETYPES.includes(mimeType))\n return DEFAULT_IMAGE_SHAPETAGS;\n return [];\n};\n\nconst chunkedUpload = (file, props = {}) =>\n new Promise((resolve, reject) => {\n const uploadInstance = new ChunkedUpload(file, {\n onFail: (error) => reject(error),\n onComplete: (resp) => resolve(resp),\n ...props,\n });\n uploadInstance.upload();\n });\n\nconst onUploadFile = ({\n file,\n collectionId,\n onProgress,\n metadata: propsMetadata = {},\n placeholderParams = {},\n importParams = {},\n chunkedUploadProps = {},\n generateTransferId = uuidv4,\n getShapeTags = getDefaultShapeTags,\n}) =>\n new Promise((resolve, reject) => {\n try {\n let itemId;\n onProgress({});\n const shapeTags = getShapeTags(file);\n const filename = file.name;\n const mimeType = file.type;\n const [mediaType] = mimeType.split('/');\n const metadata = {\n originalFilename: filename,\n mimeType,\n mediaType,\n ...propsMetadata,\n };\n const metadataDocument = createMetadataType(metadata);\n ImportApi.createImportPlaceholder({\n metadataDocument,\n queryParams: {\n container: 1,\n ...placeholderParams,\n },\n })\n .then(({ data: itemDocument }) => {\n itemId = itemDocument.id;\n if (!collectionId) return Promise.resolve();\n const collectionIds = Array.isArray(collectionId) ? collectionId : [collectionId];\n return Promise.all(\n collectionIds.map((id) =>\n CollectionApi.addCollectionEntity({\n collectionId: id,\n entityId: itemId,\n }),\n ),\n );\n })\n .then(() => {\n const transferId = generateTransferId();\n const queryParams = {\n filename,\n transferId,\n tag: shapeTags,\n ...importParams,\n };\n return chunkedUpload(file, {\n api: {\n method: ImportApi.createImportComponentRaw,\n props: {\n itemId,\n component: 'container',\n queryParams,\n },\n },\n onProgress,\n ...chunkedUploadProps,\n });\n })\n .then((response) => {\n resolve({ ...response, itemId, collectionId });\n })\n .catch((error) => reject(error));\n } catch (err) {\n /* eslint-disable-next-line no-console */\n console.error(err);\n reject(err);\n }\n });\n\nfunction useUploadFiles({\n onUploadFile: handleUploadFile = onUploadFile,\n initialMetadata = {},\n ...props\n}) {\n const [files, setFiles] = useState([]);\n useEffect(\n () => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach((file) => URL.revokeObjectURL(file.preview));\n },\n [files],\n );\n const onAddFiles = useCallback(\n (newFiles = []) => {\n const newFilesObj = newFiles.map((file) => ({\n file,\n metadata: { title: file.name, ...initialMetadata },\n }));\n setFiles((currentFiles) => newFilesObj.concat(currentFiles));\n },\n [initialMetadata],\n );\n const onChangeFile = useCallback(\n (idx, changeFile = {}) => {\n setFiles((currentFilesList) => {\n const currentFile = currentFilesList[idx];\n const { metadata: newMetadata, progress: newProgress } = changeFile;\n const { metadata: currentMetadata = {}, progress: currentProgress = {} } = currentFile;\n const newFilesList = [...currentFilesList];\n const newFile = { ...currentFile };\n if (newMetadata) newFile.metadata = { ...currentMetadata, ...newMetadata };\n if (newProgress) newFile.progress = { ...currentProgress, ...newProgress };\n newFilesList[idx] = newFile;\n return newFilesList;\n });\n },\n [setFiles],\n );\n const onChangeProgress = useCallback(\n (idx) =>\n (newProgress = {}) => {\n onChangeFile(idx, { progress: newProgress });\n },\n [onChangeFile],\n );\n const onChangeMetadata = useCallback(\n (idx) =>\n (newMetadata = {}) => {\n onChangeFile(idx, { metadata: newMetadata });\n },\n [onChangeFile],\n );\n const onUpload = useCallback(\n (uploadProps) =>\n files.reduce(\n (previousPromise, thisFile, idx) =>\n previousPromise.then((res) => {\n if (thisFile.progress) {\n return previousPromise;\n }\n return handleUploadFile({\n file: thisFile.file,\n onProgress: onChangeProgress(idx),\n metadata: thisFile.metadata,\n ...uploadProps,\n ...props,\n }).then((currentResult) => [...res, currentResult]);\n }),\n Promise.resolve([]),\n ),\n [files, handleUploadFile, onChangeProgress, props],\n );\n\n const onRemoveFile = useCallback(\n (idx) => () => {\n setFiles([...files].filter((_, i) => i !== idx));\n },\n [setFiles, files],\n );\n\n const onRemoveFiles = useCallback(\n (idxs) => () => {\n setFiles([...files].filter((_, i) => !idxs.includes(i)));\n },\n [setFiles, files],\n );\n\n return {\n onAddFiles,\n onChangeFile,\n onChangeMetadata,\n onUpload,\n onRemoveFile,\n onRemoveFiles,\n files,\n setFiles,\n };\n}\n\nexport default useUploadFiles;\n","import { useRef, useMemo } from 'react';\n\nimport { b64DecodeUnicode } from '../utils';\n\n// react-router-dom <6 use history & >=6 use navigate+location\n// TODO: change to expose \"onNavigate\" and take in \"path\" and \"search\" strings\nexport default function useQueryInitialState({\n history,\n navigate,\n location: propLocation,\n queryName = 'q',\n defaultState = undefined,\n}) {\n const defaultStateRef = useRef(defaultState);\n const queryState = useMemo(() => {\n const { location = propLocation } = history || {};\n const searchParams = new URLSearchParams(location.search);\n const encodedQuery = searchParams.get(queryName);\n if (!encodedQuery) {\n return defaultStateRef.current;\n }\n try {\n const decodedQuery = b64DecodeUnicode(encodedQuery);\n return JSON.parse(decodedQuery);\n } catch (error) {\n if (history) {\n history.replace({ pathName: history.location.pathName, search: '' });\n } else if (navigate) {\n navigate(location.pathName, { replace: true });\n }\n }\n return undefined;\n }, [history, navigate, propLocation, queryName]);\n\n return { queryInitialState: queryState };\n}\n","import { useCallback } from 'react';\n\nimport { b64EncodeUnicode } from '../utils';\n\nimport useUpdateEffect from './useUpdateEffect';\n\n// react-router-dom <6 use history & >=6 use navigate+location\n// TODO: change to expose \"onNavigate\" and take in \"path\" and \"search\" strings\nexport default function useUpdateQueryState({\n history,\n navigate,\n location: propLocation,\n state,\n queryName = 'q',\n}) {\n const onSearchStateChange = useCallback(() => {\n const { location = propLocation } = history || {};\n const encodedQuery = b64EncodeUnicode(JSON.stringify(state));\n if (history) {\n history.replace({\n pathName: location.pathName,\n search: `?${queryName}=${encodedQuery}`,\n });\n } else if (navigate) {\n navigate(`${location.pathName}?${queryName}=${encodedQuery}`, { replace: true });\n }\n }, [history, navigate, propLocation, queryName, state]);\n\n // Don't need to set query on mount\n useUpdateEffect(() => {\n onSearchStateChange(state);\n }, [onSearchStateChange, state]);\n}\n","import { useCallback } from 'react';\n\nimport { access as AccessApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useEntityAccess = ({ entityId, entityType }) => {\n const {\n request: listEntityAccess,\n data: accessControlList = {},\n isLoading,\n } = useApi(AccessApi.listEntityAccess);\n const onList = useCallback(\n (props = {}) =>\n listEntityAccess({\n entityId,\n entityType,\n ...props,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [entityId, entityType],\n );\n const onRemove = useCallback(\n ({ accessId, ...props }) =>\n AccessApi.removeEntityAccess({\n accessId,\n entityId,\n entityType,\n ...props,\n }),\n [entityId, entityType],\n );\n const onAdd = useCallback(\n ({ accessControlDocument, ...props }) =>\n AccessApi.createEntityAccess({\n entityType,\n entityId,\n accessControlDocument,\n ...props,\n }),\n [entityId, entityType],\n );\n return {\n accessControlList,\n isLoading,\n onList,\n onRemove,\n onAdd,\n };\n};\n\nexport default useEntityAccess;\n","import { useState } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { metadatafield as MetadataFieldApi, fieldgroup as FieldGroupApi } from '@vidispine/vdt-api';\n\nconst getValueFromData = ({ data = [] } = {}, key = undefined) => {\n if (!key) return undefined;\n const { value } = data.find((d) => d.key === key) || {};\n return value;\n};\n\nconst defaultGetDataAttributes = (fieldOrGroup, keys) => {\n return Object.assign(\n {},\n ...keys.map((key) => {\n return {\n [key]: getValueFromData(fieldOrGroup, key),\n };\n }),\n );\n};\n\nconst getOptions = ({ values: { field } = {} } = {}) => {\n return field ? field.map((f) => ({ value: f.value, label: f.key || f.value })) : undefined;\n};\n\nconst convertValuesXmlToJson = (xmlString) => {\n const doc = new DOMParser().parseFromString(xmlString, 'application/xml');\n const fields = doc.getElementsByTagName('field');\n if (!fields.length) {\n return undefined;\n }\n const json = { field: [] };\n for (let i = 0; i < fields.length; i += 1) {\n const [keyNode, valueNode] = fields[i].childNodes;\n json.field.push({\n [keyNode.nodeName]: keyNode.firstChild.nodeValue,\n [valueNode.nodeName]: valueNode.firstChild.nodeValue,\n });\n }\n return json;\n};\n\nconst useAddMetadataFieldAttributes = ({\n fields,\n groups,\n getDataAttributes = defaultGetDataAttributes,\n fieldDataToInclude = 'label,displayType,required',\n groupDataToInclude = 'label,order',\n fieldQueryParams = {},\n groupQueryParams = {},\n getAttributes = true,\n}) => {\n const [isLoading, setIsLoading] = useState(false);\n const [fieldsWithAttributes, setFieldsWithAttributes] = useState(fields);\n const [groupsWithAttributes, setGroupsWithAttributes] = useState(groups);\n\n useDeepCompareEffect(() => {\n let didCancel = false;\n if (getAttributes === false)\n return () => {\n didCancel = true;\n };\n const addFieldAttributes = (fieldsArray = [], fieldsAttributes = {}) =>\n fieldsArray.map(({ name, ...overrides }) => {\n const fieldAttributes = fieldsAttributes[name] || {};\n const { label, ...dataAttributes } = getDataAttributes(\n fieldAttributes,\n fieldDataToInclude.split(','),\n );\n return {\n name,\n label: label || name,\n type: fieldAttributes.type,\n constraint: fieldAttributes.constraint,\n options: getOptions(fieldAttributes),\n ...dataAttributes,\n ...overrides,\n };\n });\n\n const addGroupAttributes = (groupsArray = [], groupsAttributes = {}, fieldsAttributes = {}) =>\n groupsArray.map(({ name, field, group, ...overrides }) => {\n const groupAttributes = groupsAttributes[name] || {};\n const childFields = field || (groupAttributes && groupAttributes.field);\n const childGroups = group || (groupAttributes && groupAttributes.group);\n const { label, ...dataAttributes } = getDataAttributes(\n groupAttributes,\n groupDataToInclude.split(','),\n );\n return {\n name,\n label: label || name,\n order: getValueFromData(groupAttributes, 'order'),\n fields: addFieldAttributes(childFields, fieldsAttributes),\n groups: addGroupAttributes(childGroups, groupsAttributes, fieldsAttributes),\n ...dataAttributes,\n ...overrides,\n };\n });\n async function fetchAttributesAsync() {\n setIsLoading(true);\n const fieldsAttributes = {};\n const groupsAttributes = {};\n let fieldPromises = [];\n if (fields) {\n const queryParams = { ...fieldQueryParams, data: fieldDataToInclude };\n fieldPromises = fields.map(async ({ name: fieldName }) => {\n try {\n const { data } = await MetadataFieldApi.getMetadataField({\n fieldName,\n queryParams,\n });\n fieldsAttributes[fieldName] = data;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not retrieve attributes for ${fieldName}`);\n }\n });\n }\n let groupPromises = [];\n if (groups) {\n const groupsToFetch = [...groups];\n const queryParams = { ...groupQueryParams, data: groupDataToInclude };\n groupPromises = groupsToFetch.map(async ({ name: groupName }) => {\n try {\n const { data } = await FieldGroupApi.getFieldGroup({\n groupName,\n queryParams,\n });\n const { field = [], group = [] } = data;\n field.forEach((f) => {\n const dataValues = f.data && f.data.find((e) => e.key === '__values');\n if (dataValues) {\n const jsonValues = convertValuesXmlToJson(dataValues.value);\n fieldsAttributes[f.name] = { ...f, values: jsonValues };\n }\n });\n group.forEach((g) => {\n groupsToFetch.push(g);\n });\n groupsAttributes[groupName] = data;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not retrieve attributes for ${groupName}`);\n }\n });\n }\n await Promise.all([...fieldPromises, ...groupPromises]);\n if (!didCancel) {\n if (Object.values(fieldsAttributes).some((v) => v)) {\n setFieldsWithAttributes(() => addFieldAttributes(fields, fieldsAttributes));\n }\n if (Object.values(groupsAttributes).some((v) => v)) {\n setGroupsWithAttributes(() => {\n const newGroupsWithAttributes = addGroupAttributes(\n groups,\n groupsAttributes,\n fieldsAttributes,\n );\n newGroupsWithAttributes.forEach((group) => {\n const { order } = group;\n if (order) {\n group.fields.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n }\n });\n return newGroupsWithAttributes;\n });\n }\n setIsLoading(false);\n }\n }\n fetchAttributesAsync();\n return () => {\n didCancel = true;\n };\n }, [\n fields,\n groups,\n fieldDataToInclude,\n groupDataToInclude,\n fieldQueryParams,\n groupQueryParams,\n getAttributes,\n ]);\n\n return { fieldsWithAttributes, groupsWithAttributes, isLoading };\n};\n\nexport default useAddMetadataFieldAttributes;\n","import { useCallback } from 'react';\n\nimport {\n library as LibraryApi,\n item as ItemApi,\n collection as CollectionApi,\n} from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nimport useSearch from './useSearch';\n\n// Has to be set so that the library isn't auto-deleted\nconst UPDATE_FREQUENCY = 1000;\n\n// Prevents access controls set on the library (i.e. saved search) from cascading down to items\nconst UPDATE_MODE = 'TRANSIENT';\n\nfunction saveSearch({ metadata, markerField, markerValue, itemSearchDocument }) {\n return ItemApi.searchItem({\n queryParams: {\n result: 'library',\n updateMode: UPDATE_MODE,\n updateFrequency: UPDATE_FREQUENCY,\n },\n itemSearchDocument,\n }).then(({ data: { library } }) =>\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: markerField\n ? createMetadataType({\n [markerField]: markerValue || library,\n ...metadata,\n })\n : metadata,\n content: [\n {\n id: library,\n type: 'library',\n },\n ],\n },\n }),\n );\n}\n\nconst getLibraryFromCollection = ({ collectionId }) =>\n new Promise((resolve, reject) => {\n CollectionApi.getCollection({ collectionId, queryParams: { children: 'library' } }).then(\n ({ data: collectionType }) => {\n const { content = [] } = collectionType;\n const [libraryType] = content;\n if (!libraryType) reject(new Error('No Libraries'));\n resolve(libraryType);\n },\n );\n });\n\nconst deleteSearch = ({ collectionId }) =>\n getLibraryFromCollection({ collectionId }).then(({ id: libraryId }) =>\n Promise.all([\n LibraryApi.removeLibrary({ libraryId }),\n CollectionApi.removeCollection({ collectionId }),\n ]),\n );\n\nfunction getLibrarySettings({ libraryId }) {\n return new Promise((resolve) => {\n LibraryApi.getLibrarySettings({ libraryId }).then(({ data: { query } }) => {\n resolve(query);\n });\n });\n}\n\nconst getSavedSearchSettings = ({ collectionId }) =>\n new Promise((resolve) => {\n getLibraryFromCollection({ collectionId })\n .then(({ id: libraryId }) => getLibrarySettings({ libraryId }))\n .then(resolve);\n });\n\nexport default function useSavedSearch({\n markerField,\n markerValue,\n initialSearchState,\n onSaveSearch = saveSearch,\n onDeleteSearch = deleteSearch,\n onUpdateSearchMetadata = CollectionApi.updateCollectionMetadata,\n onGetSavedSearchSettings = getSavedSearchSettings,\n}) {\n const saveSearchWithMarker = useCallback(\n ({ metadata, itemSearchDocument }) =>\n onSaveSearch({\n metadata,\n markerField,\n markerValue,\n itemSearchDocument,\n }),\n [markerField, markerValue, onSaveSearch],\n );\n\n const mergeMarkerField = (itemSearchDocument = {}) => ({\n ...itemSearchDocument,\n operator: {\n field: [\n {\n name: markerField,\n value: [{ value: markerValue || '*' }],\n },\n ],\n operator: itemSearchDocument.operator ? [itemSearchDocument.operator] : [],\n operation: 'AND',\n },\n });\n\n const searchProps = useSearch({\n ...initialSearchState,\n itemSearchDocument: mergeMarkerField(),\n });\n\n const { setItemSearchDocument, ...props } = searchProps;\n\n return {\n onSaveSearch: saveSearchWithMarker,\n onDeleteSearch,\n onUpdateSearchMetadata,\n onGetSavedSearchSettings,\n searchProps: {\n setItemSearchDocument: (itemSearchDocument) =>\n setItemSearchDocument(mergeMarkerField(itemSearchDocument)),\n ...props,\n },\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useSearchItem({ itemSearchDocument, queryParams, matrixParams }) {\n const { request, data: itemListType = {}, isLoading, isError } = useApi(ItemApi.searchItem);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n return {\n itemListType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import { useState, useEffect } from 'react';\n\nexport const useMouseDownPosition = () => {\n const [position, setPosition] = useState({ x: 0, y: 0 });\n\n useEffect(() => {\n const setFromEvent = (e) => setPosition({ x: e.clientX, y: e.clientY });\n window.addEventListener('mousedown', setFromEvent);\n\n return () => {\n window.removeEventListener('mousedown', setFromEvent);\n };\n }, []);\n\n return position;\n};\n\nexport default useMouseDownPosition;\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetCollection({\n collectionId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const {\n request,\n data: collectionType = {},\n isLoading,\n isError,\n } = useApi(CollectionApi.getCollection);\n const onRefresh = () => request({ collectionId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [collectionId, queryParams]);\n return {\n collectionType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetCollection({\n collectionId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const { request, data: itemListType = {} } = useApi(CollectionApi.getCollectionItem);\n const onRefresh = () => request({ collectionId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [collectionId, queryParams]);\n return {\n itemListType,\n onRefresh,\n };\n}\n","import { useCallback } from 'react';\n\nimport {\n item as ItemApi,\n collection as CollectionApi,\n library as LibraryApi,\n} from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\n/**\n * Get Entity by id and type\n * @param {Object} object - Entity information object\n * @param {string} object.entityId - Entity id\n * @param {string} object.entityType - Entity type, [\"item\", \"collection\", \"library\"]\n * @throws Throws error if unsupported type\n * @returns {Object} Entity retrieved from VS\n */\nconst useGetEntity = ({ entityId, entityType }) => {\n let dataType;\n let entityApi;\n let entityTypeId;\n switch (entityType) {\n case 'collection':\n dataType = 'collectionType';\n entityTypeId = 'collectionId';\n entityApi = CollectionApi.getCollection;\n break;\n case 'library':\n dataType = 'libraryType';\n entityTypeId = 'libraryId';\n entityApi = LibraryApi.getLibrary;\n break;\n case 'item':\n dataType = 'itemType';\n entityTypeId = 'itemId';\n entityApi = ItemApi.getItem;\n break;\n default:\n throw new Error(`unknown entityType`);\n }\n const { request, data, ...apiProps } = useApi(entityApi);\n const onGetEntity = useCallback(\n (props) => request({ [entityTypeId]: entityId, ...props }),\n [entityId, entityTypeId, request],\n );\n return {\n [dataType]: data,\n [entityTypeId]: entityId,\n onGetEntity,\n ...apiProps,\n };\n};\n\nexport default useGetEntity;\n","import { useCallback, useEffect } from 'react';\n\nimport { user as UserApi, group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useUser(initialState) {\n const { data: userType, request } = useApi(UserApi.getUser, { data: initialState });\n const { userName } = userType || {};\n const getUser = useCallback(() => request({ userName }), [request, userName]);\n useEffect(() => {\n if (userName) getUser();\n }, [getUser, userName]);\n\n const updateUser = useCallback(\n ({ userDocument }) =>\n UserApi.updateUser({\n userName,\n userDocument,\n }).then(() => request({ userName: userDocument.userName })),\n [request, userName],\n );\n\n const updateUserGroups = useCallback(\n ({ groups = [] }) =>\n UserApi.updateUserGroup({\n userName,\n groupListDocument: {\n group: groups.map((g) => ({ groupName: g })),\n },\n }).then(getUser),\n [getUser, userName],\n );\n\n const removeUserFromGroup = useCallback(\n (groupName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getUser),\n [getUser, userName],\n );\n\n const changePassword = useCallback(\n (password) =>\n UserApi.updateUser({\n userName,\n userDocument: {\n password,\n },\n queryParams: {\n passwordType: 'raw',\n },\n }),\n [userName],\n );\n const deleteUser = ({ queryParams = {} } = {}) =>\n UserApi.disableUser({ userName, queryParams: { hard: true, ...queryParams } });\n const disableUser = (args) => UserApi.disableUser({ userName, ...args }).then(getUser);\n const enableUser = (args) => UserApi.enableUser({ userName, ...args }).then(getUser);\n\n return {\n userType,\n getUser,\n updateUser,\n updateUserGroups,\n removeUserFromGroup,\n disableUser,\n enableUser,\n deleteUser,\n changePassword,\n };\n}\n","import { useReducer, useEffect } from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_QUERY = 'CHANGE_QUERY';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_QUERY,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, rowsPerPage = 10, page = 0 } = {}) => ({\n queryParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...queryParams,\n },\n rowsPerPage,\n page,\n userSearchDocument: {\n sort: [\n {\n field: 'username',\n order: 'ascending',\n },\n ],\n },\n});\n\nconst searchReducer = (state, action) => {\n const { type } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page } = action;\n\n return {\n ...state,\n page,\n queryParams: {\n ...state.queryParams,\n first: page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n\n case ACTION_TYPE.CHANGE_QUERY: {\n return {\n ...state,\n page: 0,\n userSearchDocument: {\n ...state.userSearchDocument,\n field: [\n {\n name: action.field || 'username',\n value: action.query || '',\n },\n ],\n },\n queryParams: {\n ...state.queryParams,\n first: 1,\n },\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useSearchUser(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = useReducer(searchReducer, initialDefaultState);\n const {\n data: userListDocument,\n request: searchUser,\n hasLoaded,\n isError,\n } = useApi(UserApi.searchUser);\n\n const onSearchUser = () =>\n searchUser({\n userSearchDocument: state.userSearchDocument,\n queryParams: state.queryParams,\n });\n\n useEffect(() => {\n onSearchUser();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.queryParams, state.userSearchDocument]);\n\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeQuery = (field, query) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_QUERY,\n field,\n query,\n });\n };\n return {\n ...state,\n hasLoaded,\n isError,\n userListDocument,\n onSearchUser,\n onChangePage,\n onChangeSort,\n onChangeRowsPerPage,\n onChangeQuery,\n };\n}\n","import { useEffect } from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useListGroup = (args) => {\n const { request, data: groupListType = {}, isLoading } = useApi(GroupApi.listGroup);\n const onRefresh = () => request(args);\n useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [args]);\n return {\n onRefresh,\n groupListType,\n isLoading,\n };\n};\n\nexport default useListGroup;\n","import { useEffect } from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useListUser = (args) => {\n const { request, data: userListType = {}, isLoading } = useApi(UserApi.listUser);\n const onRefresh = () => request(args);\n useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [args]);\n return {\n onRefresh,\n userListType,\n isLoading,\n };\n};\n\nexport default useListUser;\n","import { useReducer, useEffect } from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_QUERY = 'CHANGE_QUERY';\nconst HIDE_ROLES = 'HIDE_ROLES';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_QUERY,\n HIDE_ROLES,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, rowsPerPage = 10, page = 0 } = {}) => ({\n queryParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...queryParams,\n },\n rowsPerPage,\n page,\n groupSearchDocument: {},\n});\n\nconst searchReducer = (state, action) => {\n const { type } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page } = action;\n\n return {\n ...state,\n page,\n queryParams: {\n ...state.queryParams,\n first: page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.HIDE_ROLES: {\n const { hideRoles } = action;\n const role = hideRoles === true ? false : undefined;\n return {\n ...state,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n role,\n },\n };\n }\n\n case ACTION_TYPE.CHANGE_QUERY: {\n return {\n ...state,\n page: 0,\n groupSearchDocument: {\n ...state.groupSearchDocument,\n field: [\n {\n name: action.field || 'groupname',\n value: action.query || '',\n },\n ],\n },\n queryParams: {\n ...state.queryParams,\n first: 1,\n },\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useSearchGroup(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = useReducer(searchReducer, initialDefaultState);\n const {\n data: groupListDocument,\n request: searchGroup,\n hasLoaded,\n isError,\n } = useApi(GroupApi.searchGroup);\n\n const onSearchGroup = () =>\n searchGroup({\n groupSearchDocument: state.groupSearchDocument,\n queryParams: state.queryParams,\n });\n\n useEffect(() => {\n onSearchGroup();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.queryParams, state.groupSearchDocument]);\n\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onHideRoles = ({ hideRoles }) =>\n dispatch({\n type: ACTION_TYPE.HIDE_ROLES,\n hideRoles,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeQuery = (field, query) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_QUERY,\n field,\n query,\n });\n };\n return {\n ...state,\n hasLoaded,\n isError,\n groupListDocument,\n onSearchGroup,\n onChangePage,\n onChangeSort,\n onChangeRowsPerPage,\n onChangeQuery,\n onHideRoles,\n };\n}\n","import { useCallback, useEffect } from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGroup(initialState) {\n const { data: groupType, request } = useApi(GroupApi.getGroup, { data: initialState });\n const { groupName } = groupType || {};\n\n const getGroup = useCallback(() => request({ groupName }), [request, groupName]);\n\n useEffect(() => {\n if (groupName) getGroup();\n }, [getGroup, groupName]);\n\n const updateGroup = useCallback(\n ({ groupDocument }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addChildGroups = useCallback(\n ({ groups }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n childGroupList: {\n group: groups.map((g) => ({ groupName: g })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addParentGroups = useCallback(\n ({ groups }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n parentGroupList: {\n group: groups.map((g) => ({ groupName: g })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addUsersToGroup = useCallback(\n ({ users }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n userList: {\n user: users.map((u) => ({ userName: u })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeUserFromGroup = useCallback(\n (userName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeChildGroup = useCallback(\n (childGroupName) =>\n GroupApi.removeGroupChildren({\n groupName,\n childGroupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeFromParentGroup = useCallback(\n (parentGroupName) =>\n GroupApi.removeGroupChildren({\n groupName: parentGroupName,\n childGroupName: groupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeGroup = useCallback(() => GroupApi.removeGroup({ groupName }), [groupName]);\n\n return {\n groupType,\n getGroup,\n updateGroup,\n removeGroup,\n addChildGroups,\n addParentGroups,\n addUsersToGroup,\n removeUserFromGroup,\n removeChildGroup,\n removeFromParentGroup,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetItem({ itemId, queryParams = {}, refreshOnMount = true }) {\n const { request, data: itemType = {}, isLoading, isError } = useApi(ItemApi.getItem);\n const onRefresh = () => request({ itemId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [itemId, queryParams]);\n return {\n itemType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import { useState, useRef, useCallback } from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nconst useCollectionAutoPlay = ({ collectionId, defaultEnabled = true }) => {\n const [nextPlaying, setNextPlaying] = useState();\n const [isAutoPlayEnabled, setIsAutoPlayEnabled] = useState(defaultEnabled);\n const toggleAutoPlay = (newValue) =>\n setIsAutoPlayEnabled((prevValue) => (newValue !== undefined ? newValue : !prevValue));\n const allItemsRef = useRef();\n const orderItemsRef = useRef();\n const hitsRef = useRef();\n const onNext = useCallback(\n ({ itemId }) => {\n if (isAutoPlayEnabled === false) return;\n const searchDocument = {\n field: [\n {\n name: 'mediaType',\n value: [{ value: 'video' }, { value: 'audio' }],\n },\n ],\n };\n const searchForNext = ({ first, number } = {}) => {\n const { current: allItems } = allItemsRef;\n const { current: orderItems } = orderItemsRef;\n if (!Array.isArray(allItems)) {\n Promise.all([\n CollectionApi.getCollection({\n collectionId,\n queryParams: { children: 'item' },\n }),\n CollectionApi.searchCollectionItem({\n collectionId,\n searchDocument,\n queryParams: { first, number },\n }),\n ]).then(([{ data: collectionType }, { data: itemListType }]) => {\n const { hits, item: itemList = [] } = itemListType;\n allItemsRef.current = itemList.map(({ id }) => id);\n hitsRef.current = hits;\n const { content: contentList } = collectionType;\n orderItemsRef.current = contentList;\n searchForNext({ first: 1, number: 100 });\n });\n return;\n }\n const { current: hits } = hitsRef;\n const currentItemIdx = orderItems.findIndex(({ id: thisId }) => thisId === itemId);\n if (currentItemIdx + 1 === orderItems.length) {\n // last item in the list\n setNextPlaying();\n return;\n }\n if (currentItemIdx === -1 && hits > allItems.length) {\n // request more items to find the currentItem\n CollectionApi.searchCollectionItem({\n collectionId,\n searchDocument,\n queryParams: { first: first + number, number },\n }).then(({ data: itemListType }) => {\n const { item: itemList = [] } = itemListType;\n allItemsRef.current.push(...itemList.map(({ id }) => id));\n searchForNext({ first: first + number, number });\n });\n return;\n }\n const remainingItems = orderItems.slice(currentItemIdx + 1);\n const nextItem = remainingItems.find(({ id: thisId }) => allItems.includes(thisId));\n setNextPlaying(nextItem);\n };\n searchForNext();\n },\n [collectionId, isAutoPlayEnabled],\n );\n return {\n isAutoPlayEnabled,\n toggleAutoPlay,\n setNextPlaying,\n nextPlaying,\n onNext,\n };\n};\n\nexport default useCollectionAutoPlay;\n","import { useState, useRef, useCallback } from 'react';\n\nimport _debounce from 'lodash.debounce';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { formatTimeCodeText, formatTimeCodeSeconds } from '@vidispine/vdt-js';\n\nconst defaultGetThumbnailTimeCodes = (srcList) => {\n const timeCodes = [];\n for (let index = 0; index < srcList.length; index += 1) {\n const uri = srcList[index];\n if (uri && typeof uri === 'string') {\n try {\n const timeCodeFromURI = uri.split('version')[1].split('/')[1].split('?')[0];\n const timecodeText = formatTimeCodeText(timeCodeFromURI);\n timeCodes.push(timecodeText);\n } catch (error) {\n // ignore\n }\n }\n }\n return timeCodes;\n};\n\n/**\n * Display timecode correlating to mouse position when hovering over an element\n * @param {string[]} srcList - List of image/thumbnail urls.\n * @param {number} customOffset=0 - Add custom offset for the mouse position.\n * @param {number} durationSeconds - Total duration in seconds (of clip) that the thumbnails are scrubbed over.\n * @param {function} getThumbnailTimeCodes - Extracts timecodes from VidiCore thumbnail uris. Override for custom thumbnails.\n * @returns {Object}\n */\nexport function useHoverScrub(\n srcList = [],\n customOffset = 0,\n durationSeconds = undefined,\n getThumbnailTimeCodes = defaultGetThumbnailTimeCodes,\n) {\n const [scrubPosition, setScrubPosition] = useState(0);\n const [thumbnailIndex, setThumbnailIndex] = useState(0);\n const [showScrub, setShowScrub] = useState(false);\n const [thumbnailTimeCodeArray, setThumbnailTimeCodeArray] = useState([]);\n const [thumbnailTimeCode, setThumbnailTimeCode] = useState();\n const [thumbnailWidth, setThumbnailWidth] = useState(0);\n\n const debouncedSetNewThumbnail = useRef(\n _debounce((val) => {\n setThumbnailIndex(val);\n }, 10),\n ).current;\n\n const getOffsetLeft = (element) => {\n try {\n return Math.round(element.getBoundingClientRect().left);\n } catch (error) {\n return 0;\n }\n };\n\n const getMouseElementPosition = useCallback(\n (e) => {\n const mouseElementPosition = e.clientX - getOffsetLeft(e.currentTarget) - customOffset;\n const elementWidth = e.currentTarget.offsetWidth;\n if (mouseElementPosition < 0) {\n return 0;\n }\n if (mouseElementPosition > elementWidth) {\n return elementWidth;\n }\n return mouseElementPosition;\n },\n [customOffset],\n );\n\n const indexOfPrecededTimeCode = (num, arr) => {\n let curr = arr[0];\n let diff = Math.abs(num - curr);\n let index = 0;\n for (let val = 0; val < arr.length; val += 1) {\n const newDiff = Math.abs(num - arr[val]);\n const isPositiveDiff = num - arr[val] > 0;\n if (newDiff < diff && isPositiveDiff) {\n diff = newDiff;\n curr = arr[val];\n index = val;\n }\n }\n return index;\n };\n\n const onMouseMove = (e) => {\n if (durationSeconds) {\n const mouseElementPosition = getMouseElementPosition(e);\n setScrubPosition(mouseElementPosition - 1);\n if (thumbnailWidth !== e.currentTarget.offsetWidth) {\n setThumbnailWidth(e.currentTarget.offsetWidth);\n }\n const mouseTimecodePosition =\n mouseElementPosition / (e.currentTarget.offsetWidth / +durationSeconds);\n\n setThumbnailTimeCode(formatTimeCodeSeconds(mouseTimecodePosition));\n\n const newIndex = indexOfPrecededTimeCode(\n mouseTimecodePosition,\n thumbnailTimeCodeArray.map((tc) => tc.toSeconds().toFixed(0)),\n );\n if (newIndex !== thumbnailIndex) {\n debouncedSetNewThumbnail(newIndex);\n }\n }\n };\n\n useDeepCompareEffect(() => {\n const timeCodes = getThumbnailTimeCodes(srcList);\n setThumbnailTimeCodeArray(timeCodes);\n }, [srcList]);\n\n const handleShowScrub = (value) => () => {\n if (durationSeconds > 0) {\n setShowScrub(value);\n }\n };\n\n return {\n thumbnailIndex,\n thumbnailTimeCode,\n thumbnailWidth,\n showScrub,\n scrubPosition,\n handleShowScrub,\n onMouseMove,\n };\n}\n\nexport default useHoverScrub;\n","import { useState, useRef } from 'react';\n\nimport debounce from 'lodash.debounce';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useDocSearchAutocomplete({\n searchDoc,\n queryParams,\n debounceTime,\n suggestionSettings = { maximumSuggestions: 10, accuracy: 1 },\n triggerLength = 1,\n apiCall = ItemApi.searchItem,\n}) {\n const [textValue, setTextValue] = useState('');\n const handleAutocompleteChange = useRef(debounce(setTextValue, debounceTime)).current;\n\n const { data: { autocomplete = [] } = {}, request } = useApi(apiCall);\n const { suggestion = [] } = autocomplete[0] || {};\n\n useDeepCompareEffect(() => {\n if (searchDoc && textValue && textValue.length >= triggerLength) {\n request({\n body: {\n ...searchDoc,\n suggestion: suggestionSettings,\n autocomplete: [\n {\n text: textValue,\n },\n ],\n text: [{ value: textValue }],\n },\n queryParams: { count: false, number: 0, ...queryParams },\n });\n }\n }, [request, textValue, queryParams, triggerLength]);\n\n return {\n suggestion,\n handleAutocompleteChange,\n };\n}\n","import { metadatafield as MetadatafieldApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetFieldMetadataDataset() {\n const {\n request,\n data: { value: constraintValueListType = [] } = {},\n isLoading,\n } = useApi(MetadatafieldApi.getMetadataFieldAllowedValues);\n\n const getMetadataDataset = (datasetField, parentValue, parentField) => {\n const metadataFieldValueConstraintListDocument = {\n constraint: parentValue ? [{ field: parentField, value: parentValue }] : [],\n };\n if (datasetField) {\n request({\n fieldName: datasetField,\n metadataFieldValueConstraintListDocument,\n });\n }\n };\n\n return {\n getMetadataDataset,\n dataset: constraintValueListType,\n isLoading,\n };\n}\n","import { useState, useCallback, useEffect } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi, item as ItemApi } from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\n// Has to be set so that the library isn't auto-deleted\nconst UPDATE_FREQUENCY = 1000;\n\n// Prevents access controls set on the library (i.e. saved search) from cascading down to items\nconst UPDATE_MODE = 'TRANSIENT';\n\nconst getCollectionTitle = (fields) =>\n fields.find((field) => field.name === 'title').value[0].value;\n\nexport default function useGetSavedSearchFolders({\n childFolders = [],\n queryParams = { content: ['metadata'] },\n markerProps = {\n markerValue: 'savedSearch',\n markerField: 'eidr_referentType',\n },\n expand,\n}) {\n const [currentFolders, setCurrentFolders] = useState(childFolders);\n const [subFolders, setSubFolders] = useState([]);\n const [errors, setErrors] = useState();\n\n const getSubFolders = useCallback(() => {\n Promise.all(\n currentFolders.map(async (id) => {\n const {\n data: { content, metadata = {} },\n } = await CollectionApi.getCollection({\n collectionId: id,\n queryParams,\n });\n\n const { field } = metadata.timespan[0];\n if (content && content[0].type === 'library') {\n return {\n id,\n libraryId: content[0].id,\n title: getCollectionTitle(field),\n type: 'query',\n metadata,\n };\n }\n return {\n id,\n title: getCollectionTitle(field),\n subFolders: content && content.map((c) => c.id),\n type: 'folder',\n metadata,\n };\n }),\n )\n .then((newFolders) => {\n setSubFolders((prevState) => [...newFolders, ...prevState]);\n })\n .catch((error) => {\n setErrors(error);\n });\n }, [currentFolders, queryParams]);\n\n const createFolder = (parentId, folderMarkerType, markerValue, title, callback) => {\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n [folderMarkerType]: markerValue,\n title,\n }),\n },\n })\n .then(({ data: { id } }) => {\n if (parentId) {\n return CollectionApi.updateCollection({\n collectionId: parentId,\n collectionDocument: {\n content: [\n {\n id,\n mode: 'add',\n type: 'collection',\n },\n ],\n },\n })\n .then(({ data: { content } }) => {\n if (content) {\n setCurrentFolders(\n content\n .filter((collection) => collection.id === id)\n .map((collection) => collection.id),\n );\n if (callback) callback();\n }\n })\n .catch((error) => {\n setErrors(error);\n });\n }\n return null;\n })\n .catch((error) => {\n setErrors(error);\n });\n };\n\n const saveSearch = (folderId, title, itemSearchDocument, callback) => {\n try {\n ItemApi.searchItem({\n queryParams: {\n result: 'library',\n updateMode: UPDATE_MODE,\n updateFrequency: UPDATE_FREQUENCY,\n },\n itemSearchDocument,\n })\n .then(({ data: { library } }) => {\n return CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n [markerProps.markerField]: markerProps.markerValue,\n title,\n }),\n content: [\n {\n id: library,\n type: 'library',\n },\n ],\n },\n });\n })\n .then(({ data: { id } }) => {\n return CollectionApi.updateCollection({\n collectionId: folderId,\n collectionDocument: {\n content: [\n {\n id,\n mode: 'add',\n type: 'collection',\n },\n ],\n },\n })\n .then(({ data: { content } }) => {\n if (content) {\n setCurrentFolders(\n content\n .filter((collection) => collection.id === id)\n .map((collection) => collection.id),\n );\n if (callback) callback();\n }\n })\n .catch((error) => {\n setErrors(error);\n });\n })\n .catch((error) => {\n setErrors(error);\n });\n } catch (error) {\n setErrors(error);\n }\n };\n\n const deleteFolder = (collectionId) =>\n CollectionApi.removeCollection({ collectionId }).catch((error) => {\n setErrors(error);\n });\n\n const removeItem = (id) => {\n setSubFolders((prevState) => prevState.filter((folder) => folder.id !== id));\n };\n\n useDeepCompareEffect(() => {\n if (currentFolders.length > 0 && expand) {\n getSubFolders();\n }\n }, [currentFolders, expand]);\n\n useEffect(() => {\n if (!expand && typeof expand === 'boolean') {\n setCurrentFolders(() => {\n return subFolders.map((folder) => folder.id);\n });\n setSubFolders([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expand]);\n\n return {\n createFolder,\n saveSearch,\n getSubFolders,\n deleteFolder,\n removeItem,\n subFolders,\n setSubFolders,\n setCurrentFolders,\n errors,\n };\n}\n","import { useState, useEffect } from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\nimport { createMetadataType, parseMetadataType } from '@vidispine/vdt-js';\n\nconst useRepresentativeItems = ({ collectionId, onError }) => {\n const [representativeItems, setRepresentativeItems] = useState([]);\n\n const asyncGetRepresentativeItems = async () => {\n try {\n if (!collectionId) {\n throw Error('Missing collectionId');\n }\n const { data: metadata = {} } = await CollectionApi.getCollectionMetadata({\n collectionId,\n queryParams: {\n content: 'metadata',\n field: 'representativeItems',\n },\n }).catch((error) => {\n if (onError) onError(error);\n });\n const { representativeItems: newRepresentativeItems = [] } = parseMetadataType(metadata, {\n flat: true,\n includeValueAttributes: true,\n });\n setRepresentativeItems(() => newRepresentativeItems);\n } catch (error) {\n if (onError) onError(error);\n }\n };\n\n const onRefresh = asyncGetRepresentativeItems;\n\n const updateAsRepresentativeItem = async (values) => {\n try {\n const metadataDocument = createMetadataType({\n representativeItems: Array.isArray(values) ? values : [values],\n });\n const response = await CollectionApi.updateCollectionMetadata({\n collectionId,\n metadataDocument,\n });\n onRefresh();\n return response;\n } catch (error) {\n if (onError) onError(error);\n return undefined;\n }\n };\n\n const onAdd = (entityId) => updateAsRepresentativeItem({ value: entityId, mode: 'add' });\n\n const onRemove = (entityId) => {\n try {\n // Get all (if it has been added multiple times)\n const entityIdValueUuids = representativeItems\n .filter((i) => i.value === entityId)\n .map((i) => i.uuid);\n if (!entityIdValueUuids.length) return undefined;\n return updateAsRepresentativeItem(\n entityIdValueUuids.map((uuid) => ({ uuid, mode: 'remove' })),\n );\n } catch (error) {\n if (onError) onError(error);\n return undefined;\n }\n };\n\n useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [collectionId]);\n\n return {\n representativeItems,\n onRefresh,\n onAdd,\n onRemove,\n };\n};\n\nexport default useRepresentativeItems;\n","/* eslint-disable no-console */\nimport {\n library as LibraryApi,\n file as FileApi,\n job as JobApi,\n storage as StorageApi,\n} from '@vidispine/vdt-api';\n\nfunction defaultOnGetStorage() {\n const storageData = StorageApi.listStorage().then((response) => {\n const storage = {\n id: response.data.storage[0].id,\n uri: response.data.storage[0].method[0].uri,\n };\n return storage;\n });\n return storageData;\n}\n\nfunction defaultOnCreate(list) {\n return LibraryApi.createLibrary({\n itemListDocument: {\n item: [\n ...list.item.map(({ id }) => ({\n id,\n })),\n ],\n },\n });\n}\n\nfunction defaultOnList(response, storageInfo, queryParams) {\n const { fileName = 'output', outputFormat = 'csv' } = queryParams;\n const { uri } = storageInfo;\n const { data: { uri: [libraryId] = [] } = {} } = response;\n const createNewUri = () => {\n if (uri.includes('s3')) {\n const [uriBeforeRegion, uriAfterRegion] = uri.split('?region');\n return `${uriBeforeRegion}${fileName}.${outputFormat}?region${uriAfterRegion}`;\n }\n return `${uri}${fileName}.${outputFormat}`;\n };\n const newUri = encodeURIComponent(createNewUri());\n return LibraryApi.getLibraryBatch({\n libraryId,\n queryParams: { destinationUri: newUri, ...queryParams },\n });\n}\n\nconst SUCCESSFUL_STATES = ['FINISHED', 'FINISHED_WARNING'];\nconst INACTIVE_STATES = ['FINISHED', 'FINISHED_WARNING', 'FAILED_TOTAL', 'ABORTED'];\n\nfunction defaultOnGetFile(response, storageInfo, params, onError) {\n const { data: { jobId } = {} } = response;\n const { id } = storageInfo;\n const { fileName = 'output', outputFormat = 'csv' } = params;\n const filePath = `${fileName}.${outputFormat}`;\n JobApi.getJob({ jobId }).then(({ data: { status } = {} } = {}) => {\n if (SUCCESSFUL_STATES.includes(status)) {\n try {\n FileApi.listFileStorage({\n storageId: id,\n queryParams: {\n path: filePath,\n methodMetadata: [\n { key: 'format', value: 'SIGNED-AUTO' },\n { key: 'contentDisposition', value: `attachment;+filename=${filePath}` },\n ],\n 'noauth-url': true,\n },\n }).then((r) => window.open(r.data.file[0].uri[0]));\n } catch (error) {\n console.error(`${'Download error:'}\\n${error}`);\n onError({ message: 'Download failed' });\n }\n } else if (!INACTIVE_STATES.includes(status)) {\n setTimeout(() => {\n defaultOnGetFile(response, storageInfo, params);\n }, 1000);\n } else {\n onError({ message: 'Download failed' });\n }\n });\n}\n\n// Note: Not needed as a react-hook since doesn't use react,\n// but this is usually where we put logic functions right now\nconst useCsvDownload = ({\n itemListType,\n queryParams,\n onSuccess,\n onError = ({ message, error }) => console.error(`${message}\\n${error}`),\n onGetFile = defaultOnGetFile,\n onCreateList = defaultOnCreate,\n onList = defaultOnList,\n onGetStorage = defaultOnGetStorage,\n}) => {\n const onDownload = () =>\n onGetStorage().then((storageInfo) =>\n Promise.all([\n onCreateList(itemListType)\n .then((response) => onList(response, storageInfo, queryParams))\n .then(onSuccess())\n .then((response) => onGetFile(response, storageInfo, queryParams, onError)),\n ]),\n );\n return { onDownload };\n};\n\nexport default useCsvDownload;\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi, metadata as MetadataApi } from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nexport default function useCompoundMetadata(\n itemId,\n values,\n groups,\n groupFields,\n setGroupFields,\n onRefresh,\n onSuccess,\n onError,\n) {\n const isFamily = (el) => el.hasMultipleChild;\n const groupFamily = groups.findIndex(isFamily);\n const tableColumns = groups[groupFamily].groups[0].fields.map((group) => group);\n const onChange = (e, row, groupIndex, editIndex) => {\n const { value } = e.target;\n const { name } = e.target;\n const newGroups = groupFields.map((group) => group);\n const newRows = newGroups[groupIndex].group.map((newRow, rowIndex) => {\n if (rowIndex === editIndex) {\n return { ...row, [name]: value };\n }\n return newRow;\n });\n newGroups[groupIndex].group = newRows;\n setGroupFields(newGroups);\n };\n const onSubmit = async (data) => {\n const groupNames = [];\n groups.forEach((group) => {\n const newGroup = {};\n newGroup.parentGroup = group.name;\n newGroup.childGroup = group.groups[0].name;\n groupNames.push(newGroup);\n });\n\n const metadataDocument = createMetadataType({ group: data });\n const { timespan: newTimeSpan } = metadataDocument;\n const { uuid } = values.itemType.metadata.timespan[0].group[0];\n const newGroups = [];\n\n newTimeSpan[0].group.forEach((group, index) => {\n const newGroup = {\n group: [],\n };\n newGroup.name = groupNames[index].parentGroup;\n newGroup.mode = 'add';\n group.group.forEach((subGroup) => {\n const newSubGroup = subGroup;\n newSubGroup.name = groupNames[index].childGroup;\n newSubGroup.mode = 'add';\n newGroup.group.push(newSubGroup);\n });\n newGroups.push(newGroup);\n });\n newTimeSpan[0].group = newGroups;\n\n try {\n await MetadataApi.removeMetadata({ metadataUuid: uuid });\n await ItemApi.updateItemMetadata({\n itemId,\n metadataDocument: { timespan: newTimeSpan },\n });\n await onRefresh();\n\n onSuccess();\n } catch (error) {\n onError(error);\n }\n };\n\n useDeepCompareEffect(() => {\n setGroupFields(values.group);\n }, [values]);\n\n return {\n tableColumns,\n onChange,\n onSubmit,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { metadata as MetadataApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetEntityMetadata({\n entity,\n entityId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const {\n request,\n data: metadataType = {},\n isLoading,\n isError,\n } = useApi(MetadataApi.getEntityMetadata);\n const onRefresh = () => request({ entity, entityId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [entity, entityId, queryParams]);\n return {\n metadataType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { fieldgroup as FieldGroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetFieldGroup({ groupName, queryParams = {}, refreshOnMount = true }) {\n const {\n request,\n data: metadataFieldGroupType = {},\n isLoading,\n isError,\n } = useApi(FieldGroupApi.getFieldGroup);\n const onRefresh = () => request({ groupName, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [groupName, queryParams]);\n return {\n metadataFieldGroupType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import { useMemo, cloneElement, Children } from 'react';\n\nimport { parseMetadataType } from '@vidispine/vdt-js';\n\nexport default function MetadataType({\n itemType,\n collectionType,\n metadataType: propsMetadataType,\n joinValue = ',',\n flat = true,\n groupAsList = true,\n children,\n ...props\n}) {\n let metadataType = propsMetadataType;\n if (itemType || collectionType) {\n const entityType = itemType || collectionType || {};\n metadataType = entityType?.metadata;\n }\n const metadata = useMemo(\n () => parseMetadataType(metadataType, { joinValue, flat, groupAsList }),\n [flat, groupAsList, joinValue, metadataType],\n );\n const cloneProps = {\n ...props,\n ...metadata,\n itemType,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function SearchCollection({\n itemSearchDocument,\n queryParams,\n matrixParams,\n responseRef,\n initialState,\n children,\n}) {\n const {\n request,\n data: collectionListType = {},\n isLoading,\n isError,\n } = useApi(CollectionApi.searchCollection, initialState, responseRef);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n collectionListType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } from 'react';\n\nimport useSearchItem from '../hooks/useSearchItem';\n\nexport default function SearchItem({ itemSearchDocument, queryParams, matrixParams, children }) {\n const { itemListType, onRefresh, isLoading, isError } = useSearchItem({\n itemSearchDocument,\n queryParams,\n matrixParams,\n });\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n itemListType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { search as SearchApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function SearchItemCollection({\n itemSearchDocument,\n queryParams,\n matrixParams,\n children,\n}) {\n const {\n request,\n data: searchResultType = {},\n isLoading,\n isError,\n } = useApi(SearchApi.searchItemCollection);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n searchResultType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } from 'react';\n\nimport useGetItem from '../hooks/useGetItem';\n\nexport default function GetItem({ itemId, queryParams, refreshOnMount, children }) {\n const { itemType, onRefresh, isLoading, isError } = useGetItem({\n itemId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n itemId,\n queryParams,\n itemType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } from 'react';\n\nimport useGetCollection from '../hooks/useGetCollection';\n\nexport default function GetCollectionContent({\n collectionId,\n queryParams,\n refreshOnMount,\n children,\n}) {\n const { collectionType, onRefresh, isLoading, isError } = useGetCollection({\n collectionId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n collectionId,\n queryParams,\n collectionType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { job as JobApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function GetJobs({ matrixParams, queryParams, children }) {\n const { request, data: jobs = {}, isLoading, isError } = useApi(JobApi.listJob);\n const onRefresh = () => request({ matrixParams, queryParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [matrixParams, queryParams]);\n const cloneProps = {\n matrixParams,\n queryParams,\n onRefresh,\n isLoading,\n isError,\n jobs,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { useEffect, cloneElement, Children } from 'react';\n\nimport { access as AccessApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function ListEntityAccess({ entityId, entityType, queryParams, children }) {\n const { request, data: accessControlList = {}, isLoading } = useApi(AccessApi.listEntityAccess);\n const onRefresh = () => request({ entityId, entityType, queryParams });\n useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [entityId, entityType, queryParams]);\n const cloneProps = {\n entityId,\n entityType,\n queryParams,\n accessControlList,\n onRefresh,\n isLoading,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children, Component } from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nexport default class VidispineApi extends Component {\n constructor(props) {\n super(props);\n const { serverUrl, token, username, password, runAs } = props;\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n }\n if (token) {\n api.defaultClient.defaults.headers.Authorization = `token ${token}`;\n } else {\n api.defaultClient.defaults.auth = { username, password };\n }\n if (runAs) {\n api.defaultClient.defaults.headers.RunAs = runAs;\n }\n }\n\n componentDidUpdate(prevProps) {\n const { serverUrl, token, username, password, runAs } = this.props;\n if (prevProps.serverUrl !== serverUrl) {\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n } else {\n delete api.defaultClient.defaults.baseURL;\n }\n }\n if (prevProps.token !== token) {\n if (token) {\n api.defaultClient.defaults.headers.Authorization = `token ${token}`;\n } else {\n delete api.defaultClient.defaults.headers.Authorization;\n }\n }\n if (!token && (prevProps.username !== username || prevProps.password !== password)) {\n api.defaultClient.defaults.auth = { username, password };\n }\n if (prevProps.runAs !== runAs) {\n if (runAs) {\n api.defaultClient.defaults.headers.RunAs = runAs;\n } else {\n delete api.defaultClient.defaults.headers.RunAs;\n }\n }\n }\n\n render() {\n const { children, username, serverUrl } = this.props;\n const cloneProps = { username, serverUrl };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n }\n}\n","import { useCookies } from 'react-cookie';\n\nimport { utils as api, user as UserApi } from '@vidispine/vdt-api';\n\nimport VidispineApi from './VidispineApi';\n\nconst VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';\nconst VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';\nconst VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';\nconst VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';\n\nconst handleOnGetToken = ({ userName, password, serverUrl }) => {\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n }\n const queryParams = { seconds: 2592000, autoRefresh: 'true' };\n const headers = { password, username: userName };\n try {\n UserApi.getToken({ queryParams, headers })\n .then(({ data: token }) => token)\n .catch(({ response = {}, message = 'Unknown error.' }) => {\n let submissionError = message;\n if (response.status === 401) {\n submissionError = 'Incorrect Username/Password';\n }\n throw submissionError;\n });\n } catch (error) {\n const submissionError = 'Incorrect Username/Password';\n throw submissionError;\n }\n};\n\nexport default function Auth({\n LoginComponent,\n LoginProps = {},\n AppComponent,\n AppProps = {},\n onGetToken = handleOnGetToken,\n onSuccess,\n onError,\n cookieOptions = {\n maxAge: 604800,\n path: '/',\n },\n ...props\n}) {\n const [cookies, setCookie, removeCookie] = useCookies([\n VIDISPINE_TOKEN,\n VIDISPINE_USERNAME,\n VIDISPINE_SERVER_URL,\n VIDISPINE_REMEMBER_ME,\n ]);\n const {\n [VIDISPINE_TOKEN]: token,\n [VIDISPINE_USERNAME]: userName,\n [VIDISPINE_SERVER_URL]: serverUrl,\n } = cookies;\n const rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';\n const onLogin = (values) => {\n let submissionError;\n try {\n onGetToken(values)\n .then((newToken) => {\n const {\n userName: newUserName,\n serverUrl: newServerUrl,\n rememberMe: newRememberMe,\n } = values;\n if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);\n if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);\n if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);\n if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);\n if (onSuccess) onSuccess(values);\n })\n .catch((error) => {\n submissionError = error;\n if (onError) return onError(submissionError);\n throw submissionError;\n });\n } catch (error) {\n submissionError = error;\n if (onError) return onError(submissionError);\n }\n return submissionError;\n };\n const onLogout = () => {\n removeCookie(VIDISPINE_TOKEN, cookieOptions);\n if (!rememberMe) {\n removeCookie(VIDISPINE_USERNAME, cookieOptions);\n removeCookie(VIDISPINE_SERVER_URL, cookieOptions);\n removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);\n }\n };\n return token ? (\n <VidispineApi token={token} username={userName} serverUrl={serverUrl}>\n <AppComponent onLogout={onLogout} {...props} {...AppProps} />\n </VidispineApi>\n ) : (\n <LoginComponent\n onLogin={onLogin}\n userName={userName}\n serverUrl={serverUrl}\n rememberMe={rememberMe}\n {...props}\n {...LoginProps}\n />\n );\n}\n","import { Component } from 'react';\n\nfunction ErrorBoundaryComponent({ error, info }) {\n return (\n <div\n style={{\n height: '100%',\n maxHeight: '100vh',\n width: '100%',\n maxWidth: '100vw',\n backgroundColor: 'red',\n color: 'white',\n }}\n >\n {error && <div>{error.toString()}</div>}\n {info && <div>{info.componentStack}</div>}\n </div>\n );\n}\n\nexport default class ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n return { error, hasError: true };\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n const { hasError, info } = this.state;\n const { info: nextInfo } = nextState;\n if (info === nextInfo && hasError === true) return false;\n return true;\n }\n\n componentDidCatch(error, info) {\n const { onError } = this.props;\n if (typeof onError === 'function') {\n try {\n onError(error, info);\n } catch (onErrorError) {\n return;\n }\n }\n this.setState({ info });\n }\n\n render() {\n const { children } = this.props;\n const { hasError, error, info } = this.state;\n if (hasError) {\n return <ErrorBoundaryComponent info={info} error={error} />;\n }\n return children;\n }\n}\n","import { cloneElement, Children } from 'react';\n\nimport useGetFieldGroup from '../hooks/useGetFieldGroup';\n\nexport default function GetFieldGroup({ groupName, queryParams, refreshOnMount, children }) {\n const { metadataFieldGroupType, onRefresh, isLoading, isError } = useGetFieldGroup({\n groupName,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n groupName,\n queryParams,\n metadataFieldGroupType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { createContext, useState, useEffect, useContext } from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\nimport { ROLE_NAMES } from '@vidispine/vdt-js';\n\nconst RolesContext = createContext();\n\nfunction RolesProvider({ intialState = {}, onRefresh, userName: knownUserName, children }) {\n const [groupListType, setGroupListType] = useState(intialState);\n const onGetUserRole = () => {\n if (knownUserName) {\n UserApi.getUserRole({ userName: knownUserName }).then(({ data }) => {\n setGroupListType(data);\n if (onRefresh) onRefresh(data);\n });\n } else {\n let iAm;\n UserApi.whoAmI()\n .then(({ data: userName }) => {\n iAm = userName;\n return UserApi.getUserRole({ userName });\n })\n .then(({ data }) => {\n setGroupListType(data);\n if (onRefresh) onRefresh(data, iAm);\n });\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(onGetUserRole, [knownUserName]);\n return <RolesContext.Provider value={groupListType}>{children}</RolesContext.Provider>;\n}\n\nfunction useRoles() {\n const groupListType = useContext(RolesContext);\n if (groupListType === undefined) {\n throw new Error('useRoles must be used within RolesContext');\n }\n const hasRole = (roleName) => {\n if (roleName === undefined) throw new Error('roleName is undefined');\n const { group: groupList } = groupListType;\n if (!Array.isArray(groupList)) return null;\n const groupNames = groupList.map(({ groupName }) => groupName);\n if (groupNames.includes(ROLE_NAMES.SUPER_ACCESS_USER)) return true;\n if (Array.isArray(roleName)) {\n return roleName.findIndex((thisRole) => groupNames.includes(thisRole)) > -1;\n }\n return groupNames.includes(roleName);\n };\n return { hasRole, groupListType };\n}\n\nexport { RolesProvider, useRoles };\n","import { isValidElement } from 'react';\n\nimport { useRoles } from '../context/RolesContext';\n\nexport default function HasRole({ roleName, allow, deny, loading }) {\n if (roleName === undefined) throw new Error('roleName is undefined');\n const { hasRole } = useRoles();\n const checkedRole = hasRole(roleName);\n if (isValidElement(allow) && checkedRole === true) {\n return allow;\n }\n if (isValidElement(deny) && checkedRole === false) {\n return deny;\n }\n if (isValidElement(loading) && checkedRole === null) {\n return loading;\n }\n return null;\n}\n","export default function ComposeProviders({ providers = [], children, ...props }) {\n return providers.reduceRight((acc, Provider) => {\n if (typeof Provider === 'function') {\n return <Provider {...props}>{acc}</Provider>;\n }\n const { provider: ProviderComponent, ...providerProps } = Provider;\n return (\n <ProviderComponent {...props} {...providerProps}>\n {acc}\n </ProviderComponent>\n );\n }, children);\n}\n","import { cloneElement, Children } from 'react';\n\nimport useGetEntityMetadata from '../hooks/useGetEntityMetadata';\n\nexport default function GetEntityMetadata({\n entity,\n entityId,\n queryParams,\n refreshOnMount,\n children,\n}) {\n const { metadataType, onRefresh, isLoading, isError } = useGetEntityMetadata({\n entity,\n entityId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n entity,\n entityId,\n queryParams,\n metadataType,\n onRefresh,\n isLoading,\n isError,\n };\n if (entity === 'collection') cloneProps.collectionId = entityId;\n else if (entity === 'item') cloneProps.itemId = entityId;\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import ErrorBoundary from '../wrappers/ErrorBoundary';\n\nconst withErrorBoundary =\n (WrappedComponent, errorBoundaryProps = {}) =>\n (props) => {\n return (\n <ErrorBoundary {...errorBoundaryProps}>\n <WrappedComponent {...props} />\n </ErrorBoundary>\n );\n };\n\nexport default withErrorBoundary;\n","export const compose = (...funcs) =>\n funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args)),\n (arg) => arg,\n );\n\nexport default compose;\n","import { createContext, useState, useCallback, useMemo } from 'react';\n\nimport { uuidv4 } from '../utils';\n\nexport const BinContext = createContext();\n\nconst defaultIsUniqueBinItem = (\n bin,\n { entityId, entityType, entityTimespan: { start, end, field: [{ name } = {}] = [] } = {} },\n) => {\n const entityExistsInBin = bin.some(\n (o) => o.entity.id === entityId && o.entityType === entityType,\n );\n let entityTimespanExistsInBin = false;\n if (entityExistsInBin) {\n const binEntitiesWithSameId = bin.filter(\n (o) => o.entity.id === entityId && o.entityType === entityType,\n );\n binEntitiesWithSameId.forEach(\n ({\n entityTimespan: { start: beStart, end: beEnd, field: [{ name: beName } = {}] = [] } = {},\n }) => {\n if (start === beStart && end === beEnd && name === beName) {\n entityTimespanExistsInBin = true;\n }\n },\n );\n }\n return !entityExistsInBin || !entityTimespanExistsInBin;\n};\nexport function BinProvider({\n onChange,\n children,\n initialState = [],\n allowDuplicates: defaultAllowDuplicates = false,\n isUniqueBinItem = defaultIsUniqueBinItem,\n}) {\n const [binState, setBinState] = useState(initialState);\n const [allowDuplicates, setAllowDuplicates] = useState(defaultAllowDuplicates);\n\n const onDelete = useCallback(\n (binIdToDelete) => {\n if (!binIdToDelete || !['string', 'number'].includes(typeof binIdToDelete)) {\n // eslint-disable-next-line no-console\n console.error('BinProvider onDelete called without a binId of the entity to delete');\n return;\n }\n setBinState((state) => {\n const newState = state.filter((o) => o.binId !== binIdToDelete);\n if (onChange) onChange(newState);\n return newState;\n });\n },\n [onChange],\n );\n\n const onEmptyBin = useCallback(() => {\n setBinState([]);\n if (onChange) onChange([]);\n }, [onChange]);\n\n const createBinObject = (binObject) => {\n const [binId] = uuidv4().split('-');\n return { binId, ...binObject };\n };\n\n const handleDrop = useCallback(\n ({ dragInfo = {} } = {}) => {\n const { entityId, entityType, entity } = dragInfo;\n if (!entityId || !entityType || !entity) {\n throw new Error('Dragged element needs to have entityId, entityType and entity props');\n }\n setBinState((state = []) => {\n if (isUniqueBinItem(state, dragInfo) || allowDuplicates) {\n const newState = [...state, createBinObject(dragInfo)];\n if (onChange) onChange(newState);\n return newState;\n }\n return state;\n });\n },\n [allowDuplicates, isUniqueBinItem, onChange],\n );\n\n const handleSort = useCallback(\n ({ dragId, hoverId, originalDragIndex }) => {\n if (dragId === undefined || (hoverId === undefined && originalDragIndex === undefined))\n return;\n setBinState((state) => {\n const newState = [...state];\n const dragIndex = binState.findIndex((o) => o.binId === dragId);\n const hoverIndex = binState.findIndex((o) => o.binId === hoverId);\n const newDragIndex = hoverIndex > -1 ? hoverIndex : originalDragIndex;\n [newState[newDragIndex], newState[dragIndex]] = [\n newState[dragIndex],\n newState[newDragIndex],\n ];\n if (onChange) onChange(newState);\n return newState;\n });\n },\n [binState, onChange],\n );\n\n const contextValue = useMemo(\n () => ({\n setBin: setBinState,\n bin: binState,\n allowDuplicates,\n setAllowDuplicates,\n onDrop: handleDrop,\n onSort: handleSort,\n onFind: () => null,\n onEmptyBin,\n onDelete,\n }),\n [allowDuplicates, binState, handleDrop, handleSort, onDelete, onEmptyBin],\n );\n\n return <BinContext.Provider value={contextValue}>{children}</BinContext.Provider>;\n}\n","import { createContext, useReducer, useRef, useEffect, useContext, useCallback } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport { metadata as MetadataApi } from '@vidispine/vdt-api';\n\nconst SettingsDispatchContext = createContext();\nconst SettingsStateContext = createContext();\n\nconst UPDATE_ALL_SETTINGS = 'UPDATE_ALL_SETTINGS';\nconst UPDATE_SETTING = 'UPDATE_SETTING';\nconst UPDATE_USERNAME = 'UPDATE_USERNAME';\nconst REMOVE_SETTING = 'REMOVE_SETTING';\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case UPDATE_USERNAME: {\n return { ...state, userName: action.userName };\n }\n case UPDATE_ALL_SETTINGS: {\n return { ...state, settings: action.settings };\n }\n case UPDATE_SETTING: {\n const settings = { ...state.settings, ...action.setting };\n return { ...state, settings };\n }\n case REMOVE_SETTING: {\n const settings = { ...state.settings };\n delete settings[action.key];\n return { ...state, settings };\n }\n default:\n return state;\n }\n};\n\nfunction SettingsProvider({\n userName: initialUsername,\n settingsKey,\n children,\n initialSettings,\n onChange,\n getSettingsApi,\n updateSettingsApi,\n}) {\n const [state, dispatch] = useReducer(reducer, {\n settings: initialSettings,\n userName: initialUsername,\n });\n const currentSettingsFromServer = useRef();\n\n useEffect(() => {\n const { userName } = state;\n if (!getSettingsApi || !userName) return;\n getSettingsApi({\n entityType: 'user',\n entityId: userName,\n key: settingsKey,\n })\n .then(({ data: settings }) => {\n dispatch({\n type: UPDATE_ALL_SETTINGS,\n settings,\n userName,\n settingsKey,\n });\n currentSettingsFromServer.current = JSON.stringify(settings);\n })\n .catch((error) => {\n const { response } = error;\n if (response.status !== 404) {\n throw new Error(error);\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.userName]);\n\n useEffect(() => {\n if (onChange) onChange(state.settings);\n const { userName } = state;\n if (!updateSettingsApi || !userName) return;\n const newValue = JSON.stringify(state.settings);\n const currentValue = currentSettingsFromServer.current;\n if (!currentValue || newValue === currentValue) return;\n updateSettingsApi({\n entityType: 'user',\n entityId: userName,\n key: settingsKey,\n value: newValue,\n });\n currentSettingsFromServer.current = newValue;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.settings]);\n\n return (\n <SettingsStateContext.Provider value={state}>\n <SettingsDispatchContext.Provider value={dispatch}>\n {children}\n </SettingsDispatchContext.Provider>\n </SettingsStateContext.Provider>\n );\n}\n\nconst useSettingsState = () => {\n const state = useContext(SettingsStateContext);\n if (!state) throw new Error('useSettingsState must be used within SettingsStateContext');\n return state;\n};\n\nconst useSettingsDispatch = () => {\n const dispatch = useContext(SettingsDispatchContext);\n if (!dispatch) throw new Error('useSettingsDispatch must be used within SettingsDispatchContext');\n return dispatch;\n};\n\nconst useSettingsActions = () => {\n const dispatch = useSettingsDispatch();\n const updateAllSettings = useCallback(\n (settings) => dispatch({ type: UPDATE_ALL_SETTINGS, settings }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateSetting = useCallback(\n (setting) => dispatch({ type: UPDATE_SETTING, setting }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateUsername = useCallback(\n (userName) => dispatch({ type: UPDATE_USERNAME, userName }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const removeSetting = useCallback((key) => dispatch({ type: REMOVE_SETTING, key }), []);\n return {\n updateAllSettings,\n updateSetting,\n updateUsername,\n removeSetting,\n };\n};\n\nconst useSettings = () => {\n const { settings = {} } = useSettingsState();\n const actions = useSettingsActions();\n return {\n ...actions,\n settings,\n };\n};\n\nSettingsProvider.propTypes = {\n userName: PropTypes.string,\n settingsKey: PropTypes.string,\n children: PropTypes.objectOf(PropTypes.any),\n initialSettings: PropTypes.objectOf(PropTypes.any),\n onChange: PropTypes.func,\n getSettingsApi: PropTypes.func,\n updateSettingsApi: PropTypes.func,\n};\n\nSettingsProvider.defaultProps = {\n userName: undefined,\n settingsKey: undefined,\n children: null,\n initialSettings: {},\n onChange: null,\n getSettingsApi: MetadataApi.getSimpleMetadataKey,\n updateSettingsApi: MetadataApi.updateSimpleMetadataKey,\n};\n\nexport { SettingsProvider, useSettingsActions, useSettings };\n","import { createContext, useCallback, useRef, useEffect, useMemo, useContext } from 'react';\n\nimport PropTypes from 'prop-types';\nimport { useCookies } from 'react-cookie';\n\nimport { user as UserApi, noauth as NoAuthApi, utils as api } from '@vidispine/vdt-api';\n\nimport { useApi } from '../hooks';\nimport { VidispineApi } from '../wrappers';\n\nconst VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';\nconst VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';\nconst VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';\nconst VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';\nconst ERROR_CREDENTIALS = 'Incorrect username or password';\nconst ERROR_OFFLINE = 'Offline or CORS not configured';\nconst ERROR_TOKEN_EXPIRED = 'Session expired';\nconst ERROR_SERVER_MISMATCH = 'VIDISPINE_URL mismatch';\n\nconst getErrorMessage = (serverUrl) => {\n try {\n // NoAuthApi.isOnline throws cors error after multiple requests\n return NoAuthApi.getSelfTest({ baseURL: serverUrl })\n .then(() => ERROR_CREDENTIALS)\n .catch(() => ERROR_OFFLINE);\n } catch (_) {\n return Promise.resolve(ERROR_OFFLINE);\n }\n};\n\nconst defaultOnGetToken = ({ maxAge: seconds = 60, userName, password, serverUrl }) => {\n try {\n return UserApi.getToken({\n queryParams: { seconds, autoRefresh: 'true' },\n headers: { password, username: userName },\n baseURL: serverUrl,\n })\n .then(({ data: token }) => {\n return token;\n })\n .catch(() => {\n return getErrorMessage(serverUrl).then((error) => {\n throw Error(error);\n });\n });\n } catch (_) {\n return getErrorMessage(serverUrl).then((error) => {\n throw Error(error);\n });\n }\n};\n\nexport const AuthContext = createContext({\n serverUrl: null,\n token: null,\n userType: null,\n userName: null,\n onLogin: () => null,\n onLogout: () => null,\n});\n\nexport function AuthProvider({\n cookieOptions,\n LoginComponent,\n LoginProps,\n onGetToken,\n onSuccess,\n onError,\n serverUrl: propsServerUrl,\n userName: propsUserName,\n token: propsToken,\n children,\n}) {\n const { data: userType, request: getUser } = useApi(UserApi.getUser);\n\n const [cookies, setCookie, removeCookie] = useCookies([\n VIDISPINE_TOKEN,\n VIDISPINE_USERNAME,\n VIDISPINE_SERVER_URL,\n VIDISPINE_REMEMBER_ME,\n ]);\n const {\n [VIDISPINE_TOKEN]: token = propsToken,\n [VIDISPINE_USERNAME]: userName = propsUserName,\n [VIDISPINE_SERVER_URL]: serverUrl = propsServerUrl,\n } = cookies;\n const rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';\n const { maxAge } = cookieOptions;\n const onLogin = useCallback(\n (values) => {\n let submissionError;\n try {\n return onGetToken({ maxAge, ...values })\n .then((newToken) => {\n const {\n userName: newUserName,\n serverUrl: newServerUrl,\n rememberMe: newRememberMe,\n } = values;\n if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);\n if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);\n if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);\n if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);\n getUser({ userName: newUserName });\n if (onSuccess) onSuccess(values);\n })\n .catch((error) => {\n submissionError = error;\n if (onError) onError(submissionError);\n });\n } catch (error) {\n submissionError = error;\n if (onError) onError(submissionError);\n }\n return submissionError;\n },\n [cookieOptions, maxAge, onError, onGetToken, onSuccess, getUser, setCookie],\n );\n const onLogout = useCallback(() => {\n removeCookie(VIDISPINE_TOKEN, cookieOptions);\n if (!rememberMe) {\n removeCookie(VIDISPINE_USERNAME, cookieOptions);\n removeCookie(VIDISPINE_SERVER_URL, cookieOptions);\n removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);\n }\n }, [cookieOptions, rememberMe, removeCookie]);\n\n const responseInterceptor = useRef();\n useEffect(() => {\n if (token) {\n if (responseInterceptor.current)\n api.defaultClient.interceptors.response.eject(responseInterceptor.current);\n responseInterceptor.current = api.defaultClient.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n onLogout();\n if (onError) onError(Error(ERROR_TOKEN_EXPIRED));\n }\n } else {\n const { config: { baseURL } = {} } = error;\n NoAuthApi.getSelfTest({ baseURL })\n .then(() => {\n onLogout();\n if (onError) onError(Error(ERROR_TOKEN_EXPIRED));\n })\n .catch(() => null); // Will throw if offline or CORS error\n }\n return Promise.reject(error);\n },\n );\n }\n return () => {\n if (responseInterceptor.current)\n api.defaultClient.interceptors.response.eject(responseInterceptor.current);\n };\n }, [onLogout, onError, token]);\n\n useEffect(() => {\n if (token && userName === undefined) {\n UserApi.whoAmI().then(({ data: newUserName }) =>\n setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userName, token]);\n\n useEffect(() => {\n if (token && serverUrl && propsServerUrl && serverUrl !== propsServerUrl) {\n onLogout();\n if (onError) onError(Error(ERROR_SERVER_MISMATCH));\n }\n }, [token, serverUrl, propsServerUrl, onLogout, onError]);\n\n const contextValue = useMemo(\n () => ({\n serverUrl,\n token,\n userType,\n userName,\n onLogin,\n onLogout,\n }),\n [onLogin, onLogout, serverUrl, token, userName, userType],\n );\n\n return token ? (\n <VidispineApi token={token} username={userName} serverUrl={serverUrl}>\n <AuthContext.Provider value={contextValue}>{children}</AuthContext.Provider>\n </VidispineApi>\n ) : (\n <LoginComponent\n onLogin={onLogin}\n userName={userName}\n serverUrl={serverUrl}\n rememberMe={rememberMe}\n {...LoginProps}\n />\n );\n}\n\nAuthProvider.propTypes = {\n cookieOptions: PropTypes.shape({\n maxAge: PropTypes.number,\n path: PropTypes.string,\n }),\n LoginComponent: PropTypes.elementType.isRequired,\n LoginProps: PropTypes.objectOf(PropTypes.any),\n onGetToken: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n serverUrl: PropTypes.string.isRequired,\n userName: PropTypes.string,\n token: PropTypes.string,\n};\n\nAuthProvider.defaultProps = {\n cookieOptions: {\n maxAge: 604800,\n path: '/',\n },\n LoginProps: {},\n onGetToken: defaultOnGetToken,\n children: null,\n onSuccess: null,\n onError: null,\n userName: null,\n token: null,\n};\n\nexport const useAuthContext = () => {\n const context = useContext(AuthContext);\n if (context === undefined) {\n throw new Error('useAuth must be used within an AuthContext');\n }\n\n return context;\n};\n","import React from 'react';\n\nexport const DateTimeInputContext = React.createContext({\n value: undefined,\n setValue: () => null,\n});\n\nexport function DateTimeInputContextProvider({ children, initialState = '' }) {\n const [value, setValue] = React.useState(initialState);\n const contextValue = React.useMemo(\n () => ({\n value,\n setValue,\n }),\n [value],\n );\n return (\n <DateTimeInputContext.Provider value={contextValue}>{children}</DateTimeInputContext.Provider>\n );\n}\n","import { collection as CollectionApi } from '@vidispine/vdt-api';\n\nexport const handleAddEntity = ({ entityId, entityType, collectionId, rootParentId, onError }) => {\n if (collectionId && collectionId !== rootParentId) {\n try {\n return CollectionApi.addCollectionEntity({\n collectionId,\n entityId,\n queryParams: {\n type: entityType.toLowerCase(),\n },\n });\n } catch (error) {\n onError({\n message: `Could not add ${entityId} to collection ${collectionId}`,\n error,\n });\n }\n }\n return undefined;\n};\nexport const handleRemoveEntity = ({\n entityId,\n entityType,\n collectionId,\n rootParentId,\n onError,\n}) => {\n if (collectionId && collectionId !== rootParentId) {\n try {\n return CollectionApi.removeCollectionEntity({\n collectionId,\n entityId,\n queryParams: {\n type: entityType.toLowerCase(),\n },\n });\n } catch (error) {\n onError({\n message: `Could not remove ${entityId} from collection ${collectionId}`,\n error,\n });\n }\n }\n return undefined;\n};\n\nexport const handleMoveEntity = ({\n entityId,\n entityType,\n addToCollectionId,\n removeFromCollectionId,\n rootParentId,\n onAddEntity = handleAddEntity,\n onRemoveEntity = handleRemoveEntity,\n onMoved = () => null,\n onAdded = () => null,\n onRemoved = () => null,\n // eslint-disable-next-line no-console\n onError = ({ message, error }) => console.error(`${message}\\n${error}`),\n}) => {\n if (!addToCollectionId) {\n onError({ message: 'Missing the collection id to add entity to', error: '' });\n return;\n }\n if (!removeFromCollectionId) {\n onError({ message: 'Missing the collection id to remove entity from', error: '' });\n return;\n }\n try {\n const addPromise = onAddEntity({\n entityId,\n entityType,\n rootParentId,\n collectionId: addToCollectionId,\n onError,\n });\n const removePromise = onRemoveEntity({\n entityId,\n entityType,\n rootParentId,\n collectionId: removeFromCollectionId,\n onError,\n });\n const promises = [addPromise, removePromise].filter((e) => e !== undefined);\n Promise.allSettled(promises)\n .then((results) => {\n const failedResults = results.filter((r) => r.status !== 'fulfilled');\n const allSucceeded = failedResults.length === 0;\n const allFailed = failedResults.length === promises.length;\n const oneFailed = failedResults.length === 1;\n if (allSucceeded) {\n onMoved();\n onAdded();\n onRemoved();\n } else if (allFailed) {\n onError({\n message:\n `Could not move ${entityId} from ` +\n `${removeFromCollectionId} to ${addToCollectionId}`,\n error: failedResults.map((fr) => fr.reason).join('\\n'),\n });\n } else if (oneFailed) {\n const failedRequest = failedResults[0].reason.config.method;\n const failedToRemove = failedRequest === 'delete';\n const failedToAdd = failedRequest === 'put';\n onError({\n message: failedToRemove\n ? `Could not remove ${entityId} from collection ${removeFromCollectionId}`\n : `Could not add ${entityId} to collection ${addToCollectionId}`,\n error: failedResults[0].reason,\n });\n let rollbackPromise;\n if (failedToRemove) {\n rollbackPromise = onRemoveEntity({\n entityId,\n entityType,\n collectionId: addToCollectionId,\n onError,\n });\n } else if (failedToAdd) {\n rollbackPromise = onAddEntity({\n entityId,\n entityType,\n collectionId: removeFromCollectionId,\n onError,\n });\n }\n if (rollbackPromise) {\n rollbackPromise\n .then(() => {\n // eslint-disable-next-line no-console\n console.info(\n `Rollbacked moving ${entityId} from ` +\n `${removeFromCollectionId} to ${addToCollectionId}`,\n );\n })\n .catch((error) => {\n onError({ message: 'Could not rollback after moving entity', error });\n });\n }\n }\n })\n .catch((error) => {\n onError({\n message: `Could not add ${entityId} to collection ${addToCollectionId}`,\n error,\n });\n });\n } catch (error) {\n onError({\n message: `Could not move ${entityId} from ${removeFromCollectionId} to collection ${addToCollectionId}`,\n error,\n });\n }\n};\n\nexport default { handleMoveEntity, handleAddEntity, handleRemoveEntity };\n","import { useState } from 'react';\n\nexport default function DropArea({\n children,\n setDrag,\n onDrop: onDropProp,\n onDragEnter: onDragEnterProp,\n onDragOver: onDragOverProp,\n onDragLeave: onDragLeaveProp,\n style,\n}) {\n const [dragCounter, setDragCounter] = useState(0);\n\n const onDrop = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDrag(false);\n if (onDropProp) onDropProp(e);\n };\n\n const onDragEnter = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDragCounter(dragCounter + 1);\n if (dragCounter === 0) setDrag(true);\n if (onDragEnterProp) onDragEnterProp(e);\n };\n\n const onDragOver = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (onDragOverProp) onDragOverProp(e);\n };\n\n const onDragLeave = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDragCounter(dragCounter - 1);\n if (dragCounter === 1) setDrag(false);\n if (onDragLeaveProp) onDragLeaveProp(e);\n };\n\n return (\n <div\n onDragEnter={(e) => onDragEnter(e)}\n onDragOver={(e) => onDragOver(e)}\n onDrop={(e) => onDrop(e)}\n onDragLeave={(e) => onDragLeave(e)}\n style={style}\n >\n {children}\n </div>\n );\n}\n"],"names":["setDefaultState","hasLoaded","isLoading","isError","response","undefined","data","responseRef","current","apiReducer","state","action","type","_objectSpread","responseType","newState","initialState","useApi","apiHandler","cancelToken","useRef","initialDefaultState","initialStateRef","useReducer","_slicedToArray","dispatch","request","useCallback","props","Promise","resolve","reject","canceltoken","api","CancelToken","c","then","reset","cancel","useEffect","CHANGE_PAGE","CHANGE_ROWS","CHANGE_SORT","CHANGE_SEARCHTEXT","CHANGE_SEARCHFIELD","CHANGE_SEARCHFIELDFACET","CHANGE_SEARCHFILTER","CHANGE_SEARCHFILTERFACET","CHANGE_PARENT_COLLECTION","CHANGE_FACET","CHANGE_ITEMSEARCHDOCUMENT","CHANGE_QUERYPARAMS","CHANGE_MATRIXPARAMS","CHANGE_SUGGESTION","ACTION_TYPE","setInitialDefaultState","queryParams","matrixParams","itemSearchDocument","rowsPerPage","page","_objectWithoutProperties","_excluded","content","interval","first","number","intervals","filter","searchReducer","Number","isInteger","searchText","value","sort","field","order","text","facet","parentCollection","operator","name","operation","suggestion","useSearch","onChangeRowsPerPage","newRows","target","onChangePage","newPage","onChangeSort","event","setSearchText","setItemSearchDocument","setQueryParams","CHANGE_ITEMQUERYPARAMS","setMatrixParams","CHANGE_ITEMMATRIXPARAMS","setSearchField","setSearchFieldFacet","map","count","setSearchFilter","setSearchFilterFacet","fieldList","reduce","a","concat","exclude","setFacet","setParentCollection","setSuggestion","useUpdateEffect","fn","inputs","hasMountedRef","maximumSuggestions","useAutocomplete","useState","autocompleteDoc","setAutocompleteDoc","setAutocompleteField","setAutocompleteText","setAutocompleteMaxSuggestions","SearchApi","searchAutoComplete","suggestions","autocompleteRequestDocument","propKey","selected","setSelected","onSelect","checked","propValue","currentIndex","findIndex","thisSelected","newSelected","splice","isSelected","onClear","initialTab","activeTab","setActiveTab","changeTab","_","newValue","useInterval","callback","delay","savedCallback","tick","id","setInterval","clearInterval","useThumbnailScrub","srcList","savedInterval","initialImgIdx","useMemo","Math","floor","length","imgIdx","setImgIdx","imgIdxRef","width","onMouseEnter","onMouseLeave","imageSrc","CHANGE_TYPE","CHANGE_STATE","CHANGE_PRIORITY","CHANGE_STARTTIME","CHANGE_FINISHTIME","jobMetadata","rest","deleteField","newMatrixParams","_defineProperty","Array","isArray","join","newQueryParams","CHANGE_JOBMETADATA","useJobSearch","fieldName","_typeof","onChangeType","onChangeState","onChangePriority","onChangeStarttime","onChangeFinishtime","onChangeJobmetadata","useLocalStorage","localStorageKey","defaultValue","JSON","parse","window","localStorage","getItem","stringify","setValue","setItem","getValue","uuidv4","replace","crypto","getRandomValues","Uint8Array","toString","b64EncodeUnicode","str","compressToEncodedURIComponent","b64DecodeUnicode","slice","decodeURIComponent","atob","split","charCodeAt","decompressFromEncodedURIComponent","DEFAULT_AUDIO_SHAPETAGS","DEFAULT_VIDEO_SHAPETAGS","DEFAULT_IMAGE_SHAPETAGS","AUDIO_MIMETYPE_PREFIX","VIDEO_MIMETYPE_PREFIX","IMAGE_MIMETYPE_PREFIX","ADDITIONAL_VIDEO_MIMETYPES","ADDITIONAL_IMAGE_MIMETYPES","ADDITIONAL_AUDIO_MIMETYPES","getDefaultShapeTags","file","mimeType","toLowerCase","startsWith","includes","chunkedUpload","uploadInstance","ChunkedUpload","onFail","error","onComplete","resp","upload","onUploadFile","collectionId","onProgress","metadata","propsMetadata","placeholderParams","importParams","chunkedUploadProps","generateTransferId","getShapeTags","itemId","shapeTags","filename","mediaType","originalFilename","metadataDocument","createMetadataType","ImportApi","createImportPlaceholder","container","itemDocument","collectionIds","all","CollectionApi","addCollectionEntity","entityId","transferId","tag","method","createImportComponentRaw","component","err","console","useUploadFiles","handleUploadFile","initialMetadata","files","setFiles","forEach","URL","revokeObjectURL","preview","onAddFiles","newFiles","newFilesObj","title","currentFiles","onChangeFile","idx","changeFile","currentFilesList","currentFile","newMetadata","newProgress","progress","currentMetadata","currentProgress","newFilesList","newFile","onChangeProgress","onChangeMetadata","onUpload","uploadProps","previousPromise","thisFile","res","currentResult","onRemoveFile","_toConsumableArray","i","onRemoveFiles","idxs","useQueryInitialState","history","navigate","propLocation","location","queryName","defaultState","defaultStateRef","queryState","searchParams","URLSearchParams","search","encodedQuery","get","decodedQuery","pathName","queryInitialState","useUpdateQueryState","onSearchStateChange","useEntityAccess","entityType","AccessApi","listEntityAccess","accessControlList","onList","onRemove","accessId","removeEntityAccess","onAdd","accessControlDocument","_excluded2","createEntityAccess","getValueFromData","key","find","d","defaultGetDataAttributes","fieldOrGroup","keys","Object","assign","getOptions","values","f","label","convertValuesXmlToJson","xmlString","doc","DOMParser","parseFromString","fields","getElementsByTagName","json","childNodes","keyNode","valueNode","push","nodeName","firstChild","nodeValue","useAddMetadataFieldAttributes","groups","getDataAttributes","fieldDataToInclude","groupDataToInclude","fieldQueryParams","groupQueryParams","getAttributes","setIsLoading","fieldsWithAttributes","setFieldsWithAttributes","groupsWithAttributes","setGroupsWithAttributes","useDeepCompareEffect","didCancel","addFieldAttributes","fieldsArray","fieldsAttributes","overrides","fieldAttributes","dataAttributes","constraint","options","addGroupAttributes","groupsArray","groupsAttributes","group","groupAttributes","childFields","childGroups","fetchAttributesAsync","_asyncToGenerator","_regeneratorRuntime","fieldPromises","MetadataFieldApi","getMetadataField","warn","groupPromises","groupsToFetch","groupName","FieldGroupApi","getFieldGroup","dataValues","e","jsonValues","g","some","v","newGroupsWithAttributes","b","indexOf","UPDATE_FREQUENCY","UPDATE_MODE","saveSearch","markerField","markerValue","ItemApi","searchItem","result","updateMode","updateFrequency","library","createCollection","collectionDocument","getLibraryFromCollection","getCollection","children","collectionType","libraryType","Error","deleteSearch","libraryId","LibraryApi","removeLibrary","removeCollection","getLibrarySettings","query","getSavedSearchSettings","useSavedSearch","initialSearchState","onSaveSearch","onDeleteSearch","onUpdateSearchMetadata","updateCollectionMetadata","onGetSavedSearchSettings","saveSearchWithMarker","mergeMarkerField","searchProps","useSearchItem","itemListType","onRefresh","useMouseDownPosition","x","y","position","setPosition","setFromEvent","clientX","clientY","addEventListener","removeEventListener","useGetCollection","refreshOnMount","getCollectionItem","useGetEntity","dataType","entityApi","entityTypeId","getLibrary","apiProps","onGetEntity","useUser","UserApi","getUser","userType","userName","updateUser","userDocument","updateUserGroups","updateUserGroup","groupListDocument","removeUserFromGroup","GroupApi","removeGroupUser","changePassword","password","passwordType","deleteUser","disableUser","hard","args","enableUser","CHANGE_QUERY","userSearchDocument","useSearchUser","searchUser","userListDocument","onSearchUser","onChangeQuery","useListGroup","listGroup","groupListType","useListUser","listUser","userListType","HIDE_ROLES","groupSearchDocument","hideRoles","role","useSearchGroup","searchGroup","onSearchGroup","onHideRoles","useGroup","getGroup","groupType","updateGroup","groupDocument","addChildGroups","childGroupList","addParentGroups","parentGroupList","addUsersToGroup","users","userList","user","u","removeChildGroup","childGroupName","removeGroupChildren","removeFromParentGroup","parentGroupName","removeGroup","useGetItem","itemType","useCollectionAutoPlay","defaultEnabled","nextPlaying","setNextPlaying","isAutoPlayEnabled","setIsAutoPlayEnabled","toggleAutoPlay","prevValue","allItemsRef","orderItemsRef","hitsRef","onNext","searchDocument","searchForNext","allItems","orderItems","searchCollectionItem","hits","item","itemList","contentList","currentItemIdx","thisId","remainingItems","nextItem","defaultGetThumbnailTimeCodes","timeCodes","index","uri","timeCodeFromURI","timecodeText","formatTimeCodeText","useHoverScrub","customOffset","durationSeconds","getThumbnailTimeCodes","scrubPosition","setScrubPosition","thumbnailIndex","setThumbnailIndex","showScrub","setShowScrub","thumbnailTimeCodeArray","setThumbnailTimeCodeArray","thumbnailTimeCode","setThumbnailTimeCode","thumbnailWidth","setThumbnailWidth","debouncedSetNewThumbnail","_debounce","val","getOffsetLeft","element","round","getBoundingClientRect","left","getMouseElementPosition","mouseElementPosition","currentTarget","elementWidth","offsetWidth","indexOfPrecededTimeCode","num","arr","curr","diff","abs","newDiff","isPositiveDiff","onMouseMove","mouseTimecodePosition","formatTimeCodeSeconds","newIndex","tc","toSeconds","toFixed","handleShowScrub","useDocSearchAutocomplete","searchDoc","debounceTime","suggestionSettings","accuracy","triggerLength","apiCall","textValue","setTextValue","handleAutocompleteChange","debounce","autocomplete","body","useGetFieldMetadataDataset","MetadatafieldApi","getMetadataFieldAllowedValues","constraintValueListType","getMetadataDataset","datasetField","parentValue","parentField","metadataFieldValueConstraintListDocument","dataset","getCollectionTitle","useGetSavedSearchFolders","childFolders","markerProps","expand","currentFolders","setCurrentFolders","subFolders","setSubFolders","errors","setErrors","getSubFolders","timespan","newFolders","prevState","createFolder","parentId","folderMarkerType","updateCollection","mode","collection","folderId","deleteFolder","removeItem","folder","useRepresentativeItems","onError","representativeItems","setRepresentativeItems","asyncGetRepresentativeItems","getCollectionMetadata","parseMetadataType","flat","includeValueAttributes","newRepresentativeItems","updateAsRepresentativeItem","entityIdValueUuids","uuid","defaultOnGetStorage","storageData","StorageApi","listStorage","storage","defaultOnCreate","list","createLibrary","itemListDocument","defaultOnList","storageInfo","fileName","outputFormat","createNewUri","uriBeforeRegion","uriAfterRegion","newUri","encodeURIComponent","getLibraryBatch","destinationUri","SUCCESSFUL_STATES","INACTIVE_STATES","defaultOnGetFile","params","jobId","filePath","JobApi","getJob","status","FileApi","listFileStorage","storageId","path","methodMetadata","r","open","message","setTimeout","useCsvDownload","onSuccess","onGetFile","onCreateList","onGetStorage","onDownload","useCompoundMetadata","groupFields","setGroupFields","isFamily","el","hasMultipleChild","groupFamily","tableColumns","onChange","row","groupIndex","editIndex","newGroups","newRow","rowIndex","onSubmit","groupNames","newGroup","parentGroup","childGroup","newTimeSpan","subGroup","newSubGroup","MetadataApi","removeMetadata","metadataUuid","updateItemMetadata","useGetEntityMetadata","entity","getEntityMetadata","metadataType","useGetFieldGroup","metadataFieldGroupType","MetadataType","propsMetadataType","joinValue","groupAsList","cloneProps","cloneChild","child","cloneElement","Children","SearchCollection","searchCollection","collectionListType","SearchItem","SearchItemCollection","searchItemCollection","searchResultType","GetItem","GetCollectionContent","GetJobs","listJob","jobs","ListEntityAccess","VidispineApi","_inherits","_createSuper","_classCallCheck","serverUrl","token","username","runAs","defaultClient","defaults","baseURL","headers","Authorization","auth","RunAs","_createClass","prevProps","Component","VIDISPINE_TOKEN","VIDISPINE_USERNAME","VIDISPINE_SERVER_URL","VIDISPINE_REMEMBER_ME","handleOnGetToken","seconds","autoRefresh","getToken","submissionError","Auth","LoginComponent","LoginProps","AppComponent","AppProps","onGetToken","cookieOptions","maxAge","useCookies","cookies","setCookie","removeCookie","rememberMe","onLogin","newToken","newUserName","newServerUrl","newRememberMe","onLogout","_jsx","ErrorBoundaryComponent","info","_jsxs","height","maxHeight","maxWidth","backgroundColor","color","componentStack","ErrorBoundary","hasError","nextProps","nextState","nextInfo","onErrorError","setState","GetFieldGroup","RolesContext","createContext","RolesProvider","intialState","knownUserName","setGroupListType","onGetUserRole","getUserRole","iAm","whoAmI","useRoles","useContext","hasRole","roleName","groupList","ROLE_NAMES","SUPER_ACCESS_USER","thisRole","HasRole","allow","deny","loading","checkedRole","isValidElement","ComposeProviders","providers","reduceRight","acc","Provider","ProviderComponent","provider","providerProps","GetEntityMetadata","withErrorBoundary","WrappedComponent","errorBoundaryProps","compose","funcs","arg","BinContext","defaultIsUniqueBinItem","bin","entityTimespan","start","end","entityExistsInBin","o","entityTimespanExistsInBin","binEntitiesWithSameId","beStart","beEnd","beName","BinProvider","allowDuplicates","defaultAllowDuplicates","isUniqueBinItem","binState","setBinState","setAllowDuplicates","onDelete","binIdToDelete","binId","onEmptyBin","createBinObject","binObject","handleDrop","dragInfo","handleSort","dragId","hoverId","originalDragIndex","dragIndex","hoverIndex","newDragIndex","contextValue","setBin","onDrop","onSort","onFind","SettingsDispatchContext","SettingsStateContext","UPDATE_ALL_SETTINGS","UPDATE_SETTING","UPDATE_USERNAME","REMOVE_SETTING","reducer","settings","setting","SettingsProvider","initialUsername","settingsKey","initialSettings","getSettingsApi","updateSettingsApi","currentSettingsFromServer","currentValue","useSettingsState","useSettingsDispatch","useSettingsActions","updateAllSettings","updateSetting","updateUsername","removeSetting","useSettings","actions","propTypes","PropTypes","string","objectOf","any","func","defaultProps","getSimpleMetadataKey","updateSimpleMetadataKey","ERROR_CREDENTIALS","ERROR_OFFLINE","ERROR_TOKEN_EXPIRED","ERROR_SERVER_MISMATCH","getErrorMessage","NoAuthApi","getSelfTest","defaultOnGetToken","AuthContext","AuthProvider","propsServerUrl","propsUserName","propsToken","responseInterceptor","interceptors","eject","use","config","shape","elementType","isRequired","oneOfType","arrayOf","useAuthContext","context","DateTimeInputContext","React","DateTimeInputContextProvider","handleAddEntity","rootParentId","handleRemoveEntity","removeCollectionEntity","handleMoveEntity","addToCollectionId","removeFromCollectionId","onAddEntity","onRemoveEntity","onMoved","onAdded","onRemoved","addPromise","removePromise","promises","allSettled","results","failedResults","allSucceeded","allFailed","oneFailed","fr","reason","failedRequest","failedToRemove","failedToAdd","rollbackPromise","DropArea","setDrag","onDropProp","onDragEnterProp","onDragEnter","onDragOverProp","onDragOver","onDragLeaveProp","onDragLeave","style","dragCounter","setDragCounter","preventDefault","stopPropagation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/hooks/useApi.js","../src/hooks/useSearch.js","../src/hooks/useUpdateEffect.js","../src/hooks/useAutocomplete.js","../src/hooks/useSelected.js","../src/hooks/useTab.js","../src/hooks/useInterval.js","../src/hooks/useThumbnailScrub.js","../src/hooks/useJobSearch.js","../src/hooks/useLocalStorage.js","../src/utils.js","../src/hooks/useUploadFiles.js","../src/hooks/useQueryInitialState.js","../src/hooks/useUpdateQueryState.js","../src/hooks/useEntityAccess.js","../src/hooks/useAddMetadataFieldAttributes.js","../src/hooks/useSavedSearch.js","../src/hooks/useSearchItem.js","../src/hooks/useMouseDownPosition.js","../src/hooks/useGetCollection.js","../src/hooks/useGetCollectionItem.js","../src/hooks/useGetEntity.js","../src/hooks/useUser.js","../src/hooks/useSearchUser.js","../src/hooks/useListGroup.js","../src/hooks/useListUser.js","../src/hooks/useSearchGroup.js","../src/hooks/useGroup.js","../src/hooks/useGetItem.js","../src/hooks/useCollectionAutoPlay.js","../src/hooks/useHoverScrub.js","../src/hooks/useDocSearchAutocomplete.js","../src/hooks/useGetFieldMetadataDataset.js","../src/hooks/useGetSavedSearchFolders.js","../src/hooks/useRepresentativeItems.js","../src/hooks/useCsvDownload.js","../src/hooks/useCompoundMetadata.js","../src/hooks/useGetEntityMetadata.js","../src/hooks/useGetFieldGroup.js","../src/wrappers/MetadataType.js","../src/wrappers/SearchCollection.js","../src/wrappers/SearchItem.js","../src/wrappers/SearchItemCollection.js","../src/wrappers/GetItem.js","../src/wrappers/GetCollection.js","../src/wrappers/GetJobs.js","../src/wrappers/ListEntityAccess.js","../src/wrappers/VidispineApi.js","../src/wrappers/Auth.js","../src/wrappers/ErrorBoundary.js","../src/wrappers/GetFieldGroup.js","../src/context/RolesContext.js","../src/wrappers/HasRole.js","../src/wrappers/ComposeProviders.js","../src/wrappers/GetEntityMetadata.js","../src/hoc/withErrorBoundary.js","../src/hoc/compose.js","../src/context/BinContext.js","../src/context/SettingsContext.js","../src/context/AuthContext.js","../src/context/DateTimeInputContext.js","../src/moveEntity.js","../src/DropArea.js"],"sourcesContent":["import { useRef, useReducer, useCallback, useEffect } from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nconst setDefaultState = (\n {\n hasLoaded = false,\n isLoading = true,\n isError = false,\n response = undefined,\n data = undefined,\n } = {},\n responseRef = undefined,\n) => ({\n isLoading,\n hasLoaded,\n isError,\n response,\n data: responseRef && responseRef.current ? responseRef.current : data,\n});\n\nconst apiReducer = (state, action) => {\n switch (action.type) {\n case 'START': {\n return {\n ...state,\n isLoading: true,\n isError: false,\n };\n }\n case 'SUCCESS': {\n const { responseType } = action.response;\n const newState = {\n isLoading: false,\n isError: false,\n hasLoaded: true,\n response: action.response,\n data: action.response.data,\n };\n if (responseType) newState[responseType] = action.response[responseType];\n return newState;\n }\n case 'ERROR': {\n return {\n isLoading: false,\n isError: true,\n hasLoaded: true,\n response: action.response,\n data: action.response.data,\n };\n }\n case 'RESET': {\n return {\n ...action.initialState,\n };\n }\n default: {\n return state;\n }\n }\n};\n\nexport default function useApi(apiHandler, initialState, responseRef) {\n const cancelToken = useRef(() => null);\n const initialDefaultState = setDefaultState(initialState, responseRef);\n const initialStateRef = useRef(initialDefaultState);\n const [state, dispatch] = useReducer(apiReducer, initialDefaultState);\n const request = useCallback(\n (props) => {\n dispatch({ type: 'START' });\n return new Promise((resolve, reject) => {\n apiHandler({\n canceltoken: new api.CancelToken((c) => {\n cancelToken.current = c;\n }),\n ...props,\n })\n .then((response) => {\n resolve(response);\n dispatch({ type: 'SUCCESS', response });\n // eslint-disable-next-line no-param-reassign\n if (responseRef) responseRef.current = response.data;\n })\n .catch((response) => {\n reject(response);\n dispatch({ type: 'ERROR', response });\n });\n });\n },\n [apiHandler, responseRef],\n );\n const reset = useCallback(\n () => dispatch({ type: 'RESET', initialState: initialStateRef.current }),\n [],\n );\n const cancel = useCallback(() => cancelToken.current(), []);\n useEffect(\n () => () => {\n cancel();\n reset();\n },\n [cancel, reset],\n );\n return {\n request,\n reset,\n cancel,\n ...state,\n };\n}\n","import { useReducer, useCallback } from 'react';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_SEARCHTEXT = 'CHANGE_SEARCHTEXT';\nconst CHANGE_SEARCHFIELD = 'CHANGE_SEARCHFIELD';\nconst CHANGE_SEARCHFIELDFACET = 'CHANGE_SEARCHFIELDFACET';\nconst CHANGE_SEARCHFILTER = 'CHANGE_SEARCHFILTER';\nconst CHANGE_SEARCHFILTERFACET = 'CHANGE_SEARCHFILTERFACET';\nconst CHANGE_PARENT_COLLECTION = 'CHANGE_PARENT_COLLECTION';\nconst CHANGE_FACET = 'CHANGE_FACET';\nconst CHANGE_ITEMSEARCHDOCUMENT = 'CHANGE_ITEMSEARCHDOCUMENT';\nconst CHANGE_QUERYPARAMS = 'CHANGE_QUERYPARAMS';\nconst CHANGE_MATRIXPARAMS = 'CHANGE_MATRIXPARAMS';\nconst CHANGE_SUGGESTION = 'CHANGE_SUGGESTION';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_SEARCHTEXT,\n CHANGE_SEARCHFIELD,\n CHANGE_SEARCHFIELDFACET,\n CHANGE_SEARCHFILTER,\n CHANGE_SEARCHFILTERFACET,\n CHANGE_PARENT_COLLECTION,\n CHANGE_FACET,\n CHANGE_ITEMSEARCHDOCUMENT,\n CHANGE_QUERYPARAMS,\n CHANGE_MATRIXPARAMS,\n CHANGE_SUGGESTION,\n};\n\nconst setInitialDefaultState = ({\n queryParams = {},\n matrixParams = {},\n itemSearchDocument = {},\n rowsPerPage = 10,\n page = 0,\n ...state\n} = {}) => ({\n ...state,\n queryParams: {\n content: 'metadata',\n interval: 'generic',\n ...queryParams,\n },\n matrixParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...matrixParams,\n },\n itemSearchDocument: {\n intervals: 'generic',\n filter: [],\n ...itemSearchDocument,\n },\n rowsPerPage,\n page,\n});\n\nconst searchReducer = (state, action) => {\n switch (action.type) {\n case ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT: {\n return {\n ...state,\n page: Number.isInteger(action.page) ? action.page : state.page,\n itemSearchDocument: action.itemSearchDocument,\n matrixParams: {\n ...state.matrixParams,\n first: Number.isInteger(action.page)\n ? action.page * state.rowsPerPage + 1\n : state.matrixParams.first,\n },\n };\n }\n case ACTION_TYPE.CHANGE_QUERYPARAMS: {\n return {\n ...state,\n queryParams: action.queryParams,\n };\n }\n case ACTION_TYPE.CHANGE_MATRIXPARAMS: {\n return {\n ...state,\n matrixParams: action.matrixParams,\n };\n }\n case ACTION_TYPE.CHANGE_PAGE: {\n return {\n ...state,\n page: action.page,\n matrixParams: {\n ...state.matrixParams,\n first: action.page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n return {\n ...state,\n rowsPerPage: action.rowsPerPage,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n number: action.rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SORT: {\n return {\n ...state,\n page: 0,\n searchText: action.value,\n sort: action.value,\n itemSearchDocument: {\n ...state.itemSearchDocument,\n sort: action.field\n ? [\n {\n field: action.field,\n order: action.order || 'descending',\n },\n ]\n : [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHTEXT: {\n return {\n ...state,\n page: 0,\n searchText: action.value,\n itemSearchDocument: action.value\n ? {\n ...state.itemSearchDocument,\n text: [{ value: `${action.value}` }],\n }\n : {\n ...state.itemSearchDocument,\n text: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFIELD: {\n return {\n ...state,\n page: 0,\n field: action.field,\n itemSearchDocument: action.field\n ? {\n ...state.itemSearchDocument,\n field: action.field,\n }\n : {\n ...state.itemSearchDocument,\n field: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFIELDFACET: {\n return {\n ...state,\n page: 0,\n field: action.field,\n facet: action.facet,\n itemSearchDocument: action.field\n ? {\n ...state.itemSearchDocument,\n field: action.field,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n field: [],\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFILTER: {\n return {\n ...state,\n page: 0,\n filter: action.filter,\n itemSearchDocument: action.filter\n ? {\n ...state.itemSearchDocument,\n filter: action.filter,\n }\n : {\n ...state.itemSearchDocument,\n filter: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFILTERFACET: {\n return {\n ...state,\n page: 0,\n filter: action.filter,\n itemSearchDocument: action.filter\n ? {\n ...state.itemSearchDocument,\n filter: action.filter,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n filter: [],\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_FACET: {\n return {\n ...state,\n page: 0,\n facet: action.facet,\n itemSearchDocument: action.facet\n ? {\n ...state.itemSearchDocument,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_PARENT_COLLECTION: {\n return {\n ...state,\n page: 0,\n parentCollection: action.value,\n itemSearchDocument: action.value\n ? {\n ...state.itemSearchDocument,\n operator: {\n field: [\n { name: '__parent_collection', value: [{ value: `${action.value}` }] },\n { name: '__collection', value: [{ value: `${action.value}` }] },\n ],\n operation: 'OR',\n },\n }\n : {\n ...state.itemSearchDocument,\n operator: undefined,\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SUGGESTION: {\n return {\n ...state,\n itemSearchDocument: {\n ...state.itemSearchDocument,\n suggestion: action.suggestion,\n },\n };\n }\n default: {\n return state;\n }\n }\n};\n\nexport default function useSearch(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = useReducer(searchReducer, initialDefaultState);\n\n const onChangeRowsPerPage = ({ target: { value: newRows } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage: newRows,\n });\n\n const onChangePage = ({ page: newPage }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page: newPage,\n });\n\n const onChangeSort = (event, field, order) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field,\n order,\n });\n\n const setSearchText = useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHTEXT,\n value,\n }),\n [],\n );\n\n const setItemSearchDocument = useCallback(\n (itemSearchDocument, page) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT,\n itemSearchDocument,\n page,\n }),\n [],\n );\n\n const setQueryParams = useCallback(\n (queryParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_QUERYPARAMS,\n queryParams,\n }),\n [],\n );\n\n const setMatrixParams = useCallback(\n (matrixParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_MATRIXPARAMS,\n matrixParams,\n }),\n [],\n );\n\n const setSearchField = useCallback(\n (field) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFIELD,\n field,\n }),\n [],\n );\n\n const setSearchFieldFacet = useCallback((field) => {\n const facet = field.map(({ name }) => ({ field: name, count: true }));\n dispatch({ type: ACTION_TYPE.CHANGE_SEARCHFIELDFACET, field, facet });\n }, []);\n\n const setSearchFilter = useCallback(\n (filter) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFILTER,\n filter,\n }),\n [],\n );\n\n const setSearchFilterFacet = useCallback(\n (filter) => {\n const fieldList = filter.reduce((a, { field = [] }) => a.concat(field), []);\n const facet = fieldList.map(({ name }) => ({\n name,\n field: name,\n count: true,\n exclude: [name],\n }));\n dispatch({ type: ACTION_TYPE.CHANGE_SEARCHFILTERFACET, filter, facet });\n },\n [dispatch],\n );\n\n const setFacet = useCallback(\n (facet) => {\n dispatch({ type: ACTION_TYPE.CHANGE_FACET, facet });\n },\n [dispatch],\n );\n\n const setParentCollection = useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PARENT_COLLECTION,\n value,\n }),\n [],\n );\n\n const setSuggestion = useCallback((suggestion) => {\n dispatch({ type: ACTION_TYPE.CHANGE_SUGGESTION, suggestion });\n }, []);\n\n return {\n state,\n onChangeRowsPerPage,\n onChangePage,\n onChangeSort,\n setSearchText,\n setSearchField,\n setSearchFieldFacet,\n setSearchFilter,\n setSearchFilterFacet,\n setFacet,\n setItemSearchDocument,\n setQueryParams,\n setMatrixParams,\n setParentCollection,\n setSuggestion,\n };\n}\n","import { useRef, useEffect } from 'react';\n\nexport default function useUpdateEffect(fn, inputs) {\n const hasMountedRef = useRef(false);\n useEffect(() => {\n if (hasMountedRef.current) {\n fn();\n } else {\n hasMountedRef.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, inputs);\n}\n","import { useState, useCallback } from 'react';\n\nimport { search as SearchApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\nimport useUpdateEffect from './useUpdateEffect';\n\nconst setInitialDefaultState = ({\n field = undefined,\n text = '',\n maximumSuggestions = 10,\n} = {}) => ({\n field,\n text,\n maximumSuggestions,\n});\n\nexport default function useAutocomplete(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [autocompleteDoc, setAutocompleteDoc] = useState(initialDefaultState);\n\n const setAutocompleteField = useCallback((field, text = '') => {\n setAutocompleteDoc((state) => ({ ...state, field, text }));\n }, []);\n\n const setAutocompleteText = useCallback((text) => {\n setAutocompleteDoc((state) => ({ ...state, text }));\n }, []);\n\n const setAutocompleteMaxSuggestions = useCallback((maximumSuggestions) => {\n setAutocompleteDoc((state) => ({ ...state, maximumSuggestions }));\n }, []);\n\n const { request: searchAutoComplete, data: { suggestion: suggestions = [] } = {} } = useApi(\n SearchApi.searchAutoComplete,\n );\n\n useUpdateEffect(() => {\n searchAutoComplete({ autocompleteRequestDocument: autocompleteDoc });\n }, [autocompleteDoc]);\n\n return {\n suggestions,\n setAutocompleteField,\n setAutocompleteText,\n setAutocompleteMaxSuggestions,\n };\n}\n","import { useState } from 'react';\n\nexport default (propKey = 'id', initialState = []) => {\n const [selected, setSelected] = useState(initialState);\n const onSelect = (event, checked, props) => {\n const propValue = props[propKey];\n const currentIndex = selected.findIndex((thisSelected) => thisSelected[propKey] === propValue);\n if (currentIndex === -1 && checked === true) {\n if (checked === true) {\n setSelected([...selected, props]);\n }\n } else if (currentIndex > -1 && checked === false) {\n const newSelected = [...selected];\n newSelected.splice(currentIndex, 1);\n setSelected(newSelected);\n }\n };\n const isSelected = (props) => {\n const propValue = props[propKey];\n const currentIndex = selected.findIndex((thisSelected) => thisSelected[propKey] === propValue);\n return currentIndex > -1;\n };\n const onClear = () => setSelected([]);\n return {\n selected,\n onSelect,\n onClear,\n isSelected,\n };\n};\n","import { useState } from 'react';\n\nexport default (initialTab) => {\n const [activeTab, setActiveTab] = useState(initialTab);\n const changeTab = (_, newValue) => setActiveTab(newValue);\n return { activeTab, changeTab };\n};\n","import { useRef, useEffect } from 'react';\n\nexport default function useInterval(callback, delay) {\n const savedCallback = useRef();\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const tick = () => savedCallback.current();\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }, [delay]);\n}\n","import { useRef, useMemo, useState, useEffect } from 'react';\n\nexport default function useThumbnailScrub(srcList = []) {\n const savedInterval = useRef();\n const initialImgIdx = useMemo(() => Math.floor(srcList.length / 2), [srcList]);\n const [imgIdx, setImgIdx] = useState();\n const imgIdxRef = useRef(imgIdx);\n useEffect(() => () => savedInterval.current && clearInterval(savedInterval.current), []);\n if (srcList.length === 0) return { width: 0 };\n\n imgIdxRef.current = imgIdx;\n const onMouseEnter = () => {\n const delay = 500;\n const tick = () => {\n if (imgIdxRef.current === undefined) {\n setImgIdx(0);\n } else if (imgIdxRef.current === srcList.length - 1) {\n clearInterval(savedInterval.current);\n } else {\n setImgIdx(imgIdxRef.current + 1);\n }\n };\n savedInterval.current = setInterval(tick, delay);\n };\n const onMouseLeave = () => {\n setImgIdx();\n clearInterval(savedInterval.current);\n };\n const imageSrc = srcList[imgIdx === undefined ? initialImgIdx : imgIdx];\n const width = imgIdx === undefined ? 0 : `${Math.floor((imgIdx / (srcList.length - 1)) * 100)}%`;\n return {\n imageSrc,\n onMouseEnter,\n onMouseLeave,\n width,\n };\n}\n","import { useReducer } from 'react';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_TYPE = 'CHANGE_TYPE';\nconst CHANGE_STATE = 'CHANGE_STATE';\nconst CHANGE_PRIORITY = 'CHANGE_PRIORITY';\nconst CHANGE_STARTTIME = 'CHANGE_STARTTIME';\nconst CHANGE_FINISHTIME = 'CHANGE_FINISHTIME';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_TYPE,\n CHANGE_STATE,\n CHANGE_PRIORITY,\n CHANGE_STARTTIME,\n CHANGE_FINISHTIME,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, matrixParams = {} } = {}) => ({\n queryParams,\n matrixParams: {\n first: 1,\n number: 10,\n ...matrixParams,\n },\n rowsPerPage: 10,\n page: 0,\n jobMetadata: [],\n});\n\nconst searchReducer = (state, action) => {\n const { type, ...rest } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page = 0 } = action;\n const { rowsPerPage = 10 } = state;\n return {\n ...state,\n page,\n matrixParams: {\n ...state.matrixParams,\n first: page * rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SORT: {\n const { field, order = 'desc' } = action;\n return {\n ...state,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n sort: `${field} ${order}`,\n },\n };\n }\n case ACTION_TYPE.CHANGE_TYPE:\n case ACTION_TYPE.CHANGE_STATE:\n case ACTION_TYPE.CHANGE_PRIORITY: {\n const { field, value = [] } = rest;\n let matrixParams;\n if (!value) {\n const { [field]: deleteField, ...newMatrixParams } = state.matrixParams;\n matrixParams = { ...newMatrixParams, first: 1 };\n } else {\n matrixParams = {\n ...state.matrixParams,\n first: 1,\n [field]: Array.isArray(value) ? value.join(',') : value,\n };\n }\n return {\n ...state,\n page: 0,\n matrixParams,\n };\n }\n case ACTION_TYPE.CHANGE_STARTTIME:\n case ACTION_TYPE.CHANGE_FINISHTIME: {\n const { field, value = [] } = rest;\n let queryParams;\n if (!value) {\n const { [field]: deleteField, ...newQueryParams } = state.queryParams;\n queryParams = { ...newQueryParams, first: 1 };\n } else {\n queryParams = {\n ...state.queryParams,\n first: 1,\n [field]: value,\n };\n }\n return {\n ...state,\n page: 0,\n queryParams,\n };\n }\n case ACTION_TYPE.CHANGE_JOBMETADATA: {\n const { field, value = [] } = rest;\n let queryParams;\n if (!value.length) {\n const { [field]: deleteField, ...newQueryParams } = state.queryParams;\n queryParams = { ...newQueryParams, first: 1 };\n } else {\n queryParams = {\n ...state.queryParams,\n first: 1,\n [field]: value,\n };\n }\n return {\n ...state,\n page: 0,\n queryParams,\n jobMetadata: value,\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useJobSearch(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = useReducer(searchReducer, initialDefaultState);\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeType = ({ field = [] }) => {\n const [{ name = 'type', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_TYPE,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeState = ({ field = [] }) => {\n const [{ name = 'state', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_STATE,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangePriority = ({ field = [] }) => {\n const [{ name = 'priority', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_PRIORITY,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeStarttime = ({ field = [] }) => {\n const [{ name = 'starttime-from', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_STARTTIME,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeFinishtime = ({ field = [] }) => {\n const [{ name = 'finishtime-from', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_FINISHTIME,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeJobmetadata = (value) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_JOBMETADATA,\n field: 'jobmetadata',\n value,\n });\n };\n return {\n state,\n onChangePage,\n onChangeSort,\n onChangeType,\n onChangeState,\n onChangePriority,\n onChangeStarttime,\n onChangeFinishtime,\n onChangeRowsPerPage,\n onChangeJobmetadata,\n };\n}\n","import { useState, useEffect } from 'react';\n\nconst useLocalStorage = (localStorageKey, defaultValue) => {\n const [value, setValue] = useState(\n JSON.parse(window.localStorage.getItem(localStorageKey) || JSON.stringify(defaultValue)),\n );\n\n useEffect(() => {\n window.localStorage.setItem(localStorageKey, JSON.stringify(value));\n }, [localStorageKey, value]);\n\n const getValue = () => JSON.parse(window.localStorage.getItem(localStorageKey));\n\n return [value, setValue, getValue];\n};\n\nexport default useLocalStorage;\n","import { compressToEncodedURIComponent, decompressFromEncodedURIComponent } from 'lz-string';\n\nexport function uuidv4() {\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n // eslint-disable-next-line\n (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16));\n}\n\nexport function b64EncodeUnicode(str) {\n return compressToEncodedURIComponent(str);\n}\n\nexport function b64DecodeUnicode(str) {\n // fallback for old base64 encoded links\n return str.slice(-1) === '='\n ? decodeURIComponent(\n atob(str)\n .split('')\n .map((c) => `%${`00${c.charCodeAt(0).toString(16)}`.slice(-2)}`)\n .join(''),\n )\n : decompressFromEncodedURIComponent(str);\n}\n","import { useState, useEffect, useCallback } from 'react';\n\nimport {\n vsimport as ImportApi,\n ChunkedUpload,\n collection as CollectionApi,\n} from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nimport { uuidv4 } from '../utils';\n\nconst DEFAULT_AUDIO_SHAPETAGS = ['__mp3_160k'];\nconst DEFAULT_VIDEO_SHAPETAGS = ['__mp4'];\nconst DEFAULT_IMAGE_SHAPETAGS = ['__png'];\nconst AUDIO_MIMETYPE_PREFIX = 'audio';\nconst VIDEO_MIMETYPE_PREFIX = 'video';\nconst IMAGE_MIMETYPE_PREFIX = 'image';\nconst ADDITIONAL_VIDEO_MIMETYPES = ['application/mxf'];\nconst ADDITIONAL_IMAGE_MIMETYPES = [];\nconst ADDITIONAL_AUDIO_MIMETYPES = [];\n\nconst getDefaultShapeTags = (file) => {\n if (!file || !file.type) return [];\n const mimeType = file.type.toLowerCase();\n if (mimeType.startsWith(AUDIO_MIMETYPE_PREFIX) || ADDITIONAL_AUDIO_MIMETYPES.includes(mimeType))\n return DEFAULT_AUDIO_SHAPETAGS;\n if (mimeType.startsWith(VIDEO_MIMETYPE_PREFIX) || ADDITIONAL_VIDEO_MIMETYPES.includes(mimeType))\n return DEFAULT_VIDEO_SHAPETAGS;\n if (mimeType.startsWith(IMAGE_MIMETYPE_PREFIX) || ADDITIONAL_IMAGE_MIMETYPES.includes(mimeType))\n return DEFAULT_IMAGE_SHAPETAGS;\n return [];\n};\n\nconst chunkedUpload = (file, props = {}) =>\n new Promise((resolve, reject) => {\n const uploadInstance = new ChunkedUpload(file, {\n onFail: (error) => reject(error),\n onComplete: (resp) => resolve(resp),\n ...props,\n });\n uploadInstance.upload();\n });\n\nconst onUploadFile = ({\n file,\n collectionId,\n onProgress,\n metadata: propsMetadata = {},\n placeholderParams = {},\n importParams = {},\n chunkedUploadProps = {},\n generateTransferId = uuidv4,\n getShapeTags = getDefaultShapeTags,\n}) =>\n new Promise((resolve, reject) => {\n try {\n let itemId;\n onProgress({});\n const shapeTags = getShapeTags(file);\n const filename = file.name;\n const mimeType = file.type;\n const [mediaType] = mimeType.split('/');\n const metadata = {\n originalFilename: filename,\n mimeType,\n mediaType,\n ...propsMetadata,\n };\n const metadataDocument = createMetadataType(metadata);\n ImportApi.createImportPlaceholder({\n metadataDocument,\n queryParams: {\n container: 1,\n ...placeholderParams,\n },\n })\n .then(({ data: itemDocument }) => {\n itemId = itemDocument.id;\n if (!collectionId) return Promise.resolve();\n const collectionIds = Array.isArray(collectionId) ? collectionId : [collectionId];\n return Promise.all(\n collectionIds.map((id) =>\n CollectionApi.addCollectionEntity({\n collectionId: id,\n entityId: itemId,\n }),\n ),\n );\n })\n .then(() => {\n const transferId = generateTransferId();\n const queryParams = {\n filename,\n transferId,\n tag: shapeTags,\n ...importParams,\n };\n return chunkedUpload(file, {\n api: {\n method: ImportApi.createImportComponentRaw,\n props: {\n itemId,\n component: 'container',\n queryParams,\n },\n },\n onProgress,\n ...chunkedUploadProps,\n });\n })\n .then((response) => {\n resolve({ ...response, itemId, collectionId });\n })\n .catch((error) => reject(error));\n } catch (err) {\n /* eslint-disable-next-line no-console */\n console.error(err);\n reject(err);\n }\n });\n\nfunction useUploadFiles({\n onUploadFile: handleUploadFile = onUploadFile,\n initialMetadata = {},\n ...props\n}) {\n const [files, setFiles] = useState([]);\n useEffect(\n () => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach((file) => URL.revokeObjectURL(file.preview));\n },\n [files],\n );\n const onAddFiles = useCallback(\n (newFiles = []) => {\n const newFilesObj = newFiles.map((file) => ({\n file,\n metadata: { title: file.name, ...initialMetadata },\n }));\n setFiles((currentFiles) => newFilesObj.concat(currentFiles));\n },\n [initialMetadata],\n );\n const onChangeFile = useCallback(\n (idx, changeFile = {}) => {\n setFiles((currentFilesList) => {\n const currentFile = currentFilesList[idx];\n const { metadata: newMetadata, progress: newProgress } = changeFile;\n const { metadata: currentMetadata = {}, progress: currentProgress = {} } = currentFile;\n const newFilesList = [...currentFilesList];\n const newFile = { ...currentFile };\n if (newMetadata) newFile.metadata = { ...currentMetadata, ...newMetadata };\n if (newProgress) newFile.progress = { ...currentProgress, ...newProgress };\n newFilesList[idx] = newFile;\n return newFilesList;\n });\n },\n [setFiles],\n );\n const onChangeProgress = useCallback(\n (idx) =>\n (newProgress = {}) => {\n onChangeFile(idx, { progress: newProgress });\n },\n [onChangeFile],\n );\n const onChangeMetadata = useCallback(\n (idx) =>\n (newMetadata = {}) => {\n onChangeFile(idx, { metadata: newMetadata });\n },\n [onChangeFile],\n );\n const onUpload = useCallback(\n (uploadProps) =>\n files.reduce(\n (previousPromise, thisFile, idx) =>\n previousPromise.then((res) => {\n if (thisFile.progress) {\n return previousPromise;\n }\n return handleUploadFile({\n file: thisFile.file,\n onProgress: onChangeProgress(idx),\n metadata: thisFile.metadata,\n ...uploadProps,\n ...props,\n }).then((currentResult) => [...res, currentResult]);\n }),\n Promise.resolve([]),\n ),\n [files, handleUploadFile, onChangeProgress, props],\n );\n\n const onRemoveFile = useCallback(\n (idx) => () => {\n setFiles([...files].filter((_, i) => i !== idx));\n },\n [setFiles, files],\n );\n\n const onRemoveFiles = useCallback(\n (idxs) => () => {\n setFiles([...files].filter((_, i) => !idxs.includes(i)));\n },\n [setFiles, files],\n );\n\n return {\n onAddFiles,\n onChangeFile,\n onChangeMetadata,\n onUpload,\n onRemoveFile,\n onRemoveFiles,\n files,\n setFiles,\n };\n}\n\nexport default useUploadFiles;\n","import { useRef, useMemo } from 'react';\n\nimport { b64DecodeUnicode } from '../utils';\n\n// react-router-dom <6 use history & >=6 use navigate+location\n// TODO: change to expose \"onNavigate\" and take in \"path\" and \"search\" strings\nexport default function useQueryInitialState({\n history,\n navigate,\n location: propLocation,\n queryName = 'q',\n defaultState = undefined,\n}) {\n const defaultStateRef = useRef(defaultState);\n const queryState = useMemo(() => {\n const { location = propLocation } = history || {};\n const searchParams = new URLSearchParams(location.search);\n const encodedQuery = searchParams.get(queryName);\n if (!encodedQuery) {\n return defaultStateRef.current;\n }\n try {\n const decodedQuery = b64DecodeUnicode(encodedQuery);\n return JSON.parse(decodedQuery);\n } catch (error) {\n if (history) {\n history.replace({ pathName: history.location.pathName, search: '' });\n } else if (navigate) {\n navigate(location.pathName, { replace: true });\n }\n }\n return undefined;\n }, [history, navigate, propLocation, queryName]);\n\n return { queryInitialState: queryState };\n}\n","import { useCallback } from 'react';\n\nimport { b64EncodeUnicode } from '../utils';\n\nimport useUpdateEffect from './useUpdateEffect';\n\n// react-router-dom <6 use history & >=6 use navigate+location\n// TODO: change to expose \"onNavigate\" and take in \"path\" and \"search\" strings\nexport default function useUpdateQueryState({\n history,\n navigate,\n location: propLocation,\n state,\n queryName = 'q',\n}) {\n const onSearchStateChange = useCallback(() => {\n const { location = propLocation } = history || {};\n const encodedQuery = b64EncodeUnicode(JSON.stringify(state));\n if (history) {\n history.replace({\n pathName: location.pathName,\n search: `?${queryName}=${encodedQuery}`,\n });\n } else if (navigate) {\n navigate(`${location.pathName}?${queryName}=${encodedQuery}`, { replace: true });\n }\n }, [history, navigate, propLocation, queryName, state]);\n\n // Don't need to set query on mount\n useUpdateEffect(() => {\n onSearchStateChange(state);\n }, [onSearchStateChange, state]);\n}\n","import { useCallback } from 'react';\n\nimport { access as AccessApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useEntityAccess = ({ entityId, entityType }) => {\n const {\n request: listEntityAccess,\n data: accessControlList = {},\n isLoading,\n } = useApi(AccessApi.listEntityAccess);\n const onList = useCallback(\n (props = {}) =>\n listEntityAccess({\n entityId,\n entityType,\n ...props,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [entityId, entityType],\n );\n const onRemove = useCallback(\n ({ accessId, ...props }) =>\n AccessApi.removeEntityAccess({\n accessId,\n entityId,\n entityType,\n ...props,\n }),\n [entityId, entityType],\n );\n const onAdd = useCallback(\n ({ accessControlDocument, ...props }) =>\n AccessApi.createEntityAccess({\n entityType,\n entityId,\n accessControlDocument,\n ...props,\n }),\n [entityId, entityType],\n );\n return {\n accessControlList,\n isLoading,\n onList,\n onRemove,\n onAdd,\n };\n};\n\nexport default useEntityAccess;\n","import { useState } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { metadatafield as MetadataFieldApi, fieldgroup as FieldGroupApi } from '@vidispine/vdt-api';\n\nconst getValueFromData = ({ data = [] } = {}, key = undefined) => {\n if (!key) return undefined;\n const { value } = data.find((d) => d.key === key) || {};\n return value;\n};\n\nconst defaultGetDataAttributes = (fieldOrGroup, keys) => {\n return Object.assign(\n {},\n ...keys.map((key) => {\n return {\n [key]: getValueFromData(fieldOrGroup, key),\n };\n }),\n );\n};\n\nconst getOptions = ({ values: { field } = {} } = {}) => {\n return field ? field.map((f) => ({ value: f.value, label: f.key || f.value })) : undefined;\n};\n\nconst convertValuesXmlToJson = (xmlString) => {\n const doc = new DOMParser().parseFromString(xmlString, 'application/xml');\n const fields = doc.getElementsByTagName('field');\n if (!fields.length) {\n return undefined;\n }\n const json = { field: [] };\n for (let i = 0; i < fields.length; i += 1) {\n const [keyNode, valueNode] = fields[i].childNodes;\n json.field.push({\n [keyNode.nodeName]: keyNode.firstChild.nodeValue,\n [valueNode.nodeName]: valueNode.firstChild.nodeValue,\n });\n }\n return json;\n};\n\nconst useAddMetadataFieldAttributes = ({\n fields,\n groups,\n getDataAttributes = defaultGetDataAttributes,\n fieldDataToInclude = 'label,displayType,required',\n groupDataToInclude = 'label,order',\n fieldQueryParams = {},\n groupQueryParams = {},\n getAttributes = true,\n}) => {\n const [isLoading, setIsLoading] = useState(false);\n const [fieldsWithAttributes, setFieldsWithAttributes] = useState(fields);\n const [groupsWithAttributes, setGroupsWithAttributes] = useState(groups);\n\n useDeepCompareEffect(() => {\n let didCancel = false;\n if (getAttributes === false)\n return () => {\n didCancel = true;\n };\n const addFieldAttributes = (fieldsArray = [], fieldsAttributes = {}) =>\n fieldsArray.map(({ name, ...overrides }) => {\n const fieldAttributes = fieldsAttributes[name] || {};\n const { label, ...dataAttributes } = getDataAttributes(\n fieldAttributes,\n fieldDataToInclude.split(','),\n );\n return {\n name,\n label: label || name,\n type: fieldAttributes.type,\n constraint: fieldAttributes.constraint,\n options: getOptions(fieldAttributes),\n ...dataAttributes,\n ...overrides,\n };\n });\n\n const addGroupAttributes = (groupsArray = [], groupsAttributes = {}, fieldsAttributes = {}) =>\n groupsArray.map(({ name, field, group, ...overrides }) => {\n const groupAttributes = groupsAttributes[name] || {};\n const childFields = field || (groupAttributes && groupAttributes.field);\n const childGroups = group || (groupAttributes && groupAttributes.group);\n const { label, ...dataAttributes } = getDataAttributes(\n groupAttributes,\n groupDataToInclude.split(','),\n );\n return {\n name,\n label: label || name,\n order: getValueFromData(groupAttributes, 'order'),\n fields: addFieldAttributes(childFields, fieldsAttributes),\n groups: addGroupAttributes(childGroups, groupsAttributes, fieldsAttributes),\n ...dataAttributes,\n ...overrides,\n };\n });\n async function fetchAttributesAsync() {\n setIsLoading(true);\n const fieldsAttributes = {};\n const groupsAttributes = {};\n let fieldPromises = [];\n if (fields) {\n const queryParams = { ...fieldQueryParams, data: fieldDataToInclude };\n fieldPromises = fields.map(async ({ name: fieldName }) => {\n try {\n const { data } = await MetadataFieldApi.getMetadataField({\n fieldName,\n queryParams,\n });\n fieldsAttributes[fieldName] = data;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not retrieve attributes for ${fieldName}`);\n }\n });\n }\n let groupPromises = [];\n if (groups) {\n const groupsToFetch = [...groups];\n const queryParams = { ...groupQueryParams, data: groupDataToInclude };\n groupPromises = groupsToFetch.map(async ({ name: groupName }) => {\n try {\n const { data } = await FieldGroupApi.getFieldGroup({\n groupName,\n queryParams,\n });\n const { field = [], group = [] } = data;\n field.forEach((f) => {\n const dataValues = f.data && f.data.find((e) => e.key === '__values');\n if (dataValues) {\n const jsonValues = convertValuesXmlToJson(dataValues.value);\n fieldsAttributes[f.name] = { ...f, values: jsonValues };\n }\n });\n group.forEach((g) => {\n groupsToFetch.push(g);\n });\n groupsAttributes[groupName] = data;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not retrieve attributes for ${groupName}`);\n }\n });\n }\n await Promise.all([...fieldPromises, ...groupPromises]);\n if (!didCancel) {\n if (Object.values(fieldsAttributes).some((v) => v)) {\n setFieldsWithAttributes(() => addFieldAttributes(fields, fieldsAttributes));\n }\n if (Object.values(groupsAttributes).some((v) => v)) {\n setGroupsWithAttributes(() => {\n const newGroupsWithAttributes = addGroupAttributes(\n groups,\n groupsAttributes,\n fieldsAttributes,\n );\n newGroupsWithAttributes.forEach((group) => {\n const { order } = group;\n if (order) {\n group.fields.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n }\n });\n return newGroupsWithAttributes;\n });\n }\n setIsLoading(false);\n }\n }\n fetchAttributesAsync();\n return () => {\n didCancel = true;\n };\n }, [\n fields,\n groups,\n fieldDataToInclude,\n groupDataToInclude,\n fieldQueryParams,\n groupQueryParams,\n getAttributes,\n ]);\n\n return { fieldsWithAttributes, groupsWithAttributes, isLoading };\n};\n\nexport default useAddMetadataFieldAttributes;\n","import { useCallback } from 'react';\n\nimport {\n library as LibraryApi,\n item as ItemApi,\n collection as CollectionApi,\n} from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nimport useSearch from './useSearch';\n\n// Has to be set so that the library isn't auto-deleted\nconst UPDATE_FREQUENCY = 1000;\n\n// Prevents access controls set on the library (i.e. saved search) from cascading down to items\nconst UPDATE_MODE = 'TRANSIENT';\n\nfunction saveSearch({ metadata, markerField, markerValue, itemSearchDocument }) {\n return ItemApi.searchItem({\n queryParams: {\n result: 'library',\n updateMode: UPDATE_MODE,\n updateFrequency: UPDATE_FREQUENCY,\n },\n itemSearchDocument,\n }).then(({ data: { library } }) =>\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: markerField\n ? createMetadataType({\n [markerField]: markerValue || library,\n ...metadata,\n })\n : metadata,\n content: [\n {\n id: library,\n type: 'library',\n },\n ],\n },\n }),\n );\n}\n\nconst getLibraryFromCollection = ({ collectionId }) =>\n new Promise((resolve, reject) => {\n CollectionApi.getCollection({ collectionId, queryParams: { children: 'library' } }).then(\n ({ data: collectionType }) => {\n const { content = [] } = collectionType;\n const [libraryType] = content;\n if (!libraryType) reject(new Error('No Libraries'));\n resolve(libraryType);\n },\n );\n });\n\nconst deleteSearch = ({ collectionId }) =>\n getLibraryFromCollection({ collectionId }).then(({ id: libraryId }) =>\n Promise.all([\n LibraryApi.removeLibrary({ libraryId }),\n CollectionApi.removeCollection({ collectionId }),\n ]),\n );\n\nfunction getLibrarySettings({ libraryId }) {\n return new Promise((resolve) => {\n LibraryApi.getLibrarySettings({ libraryId }).then(({ data: { query } }) => {\n resolve(query);\n });\n });\n}\n\nconst getSavedSearchSettings = ({ collectionId }) =>\n new Promise((resolve) => {\n getLibraryFromCollection({ collectionId })\n .then(({ id: libraryId }) => getLibrarySettings({ libraryId }))\n .then(resolve);\n });\n\nexport default function useSavedSearch({\n markerField,\n markerValue,\n initialSearchState,\n onSaveSearch = saveSearch,\n onDeleteSearch = deleteSearch,\n onUpdateSearchMetadata = CollectionApi.updateCollectionMetadata,\n onGetSavedSearchSettings = getSavedSearchSettings,\n}) {\n const saveSearchWithMarker = useCallback(\n ({ metadata, itemSearchDocument }) =>\n onSaveSearch({\n metadata,\n markerField,\n markerValue,\n itemSearchDocument,\n }),\n [markerField, markerValue, onSaveSearch],\n );\n\n const mergeMarkerField = (itemSearchDocument = {}) => ({\n ...itemSearchDocument,\n operator: {\n field: [\n {\n name: markerField,\n value: [{ value: markerValue || '*' }],\n },\n ],\n operator: itemSearchDocument.operator ? [itemSearchDocument.operator] : [],\n operation: 'AND',\n },\n });\n\n const searchProps = useSearch({\n ...initialSearchState,\n itemSearchDocument: mergeMarkerField(),\n });\n\n const { setItemSearchDocument, ...props } = searchProps;\n\n return {\n onSaveSearch: saveSearchWithMarker,\n onDeleteSearch,\n onUpdateSearchMetadata,\n onGetSavedSearchSettings,\n searchProps: {\n setItemSearchDocument: (itemSearchDocument) =>\n setItemSearchDocument(mergeMarkerField(itemSearchDocument)),\n ...props,\n },\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useSearchItem({ itemSearchDocument, queryParams, matrixParams }) {\n const { request, data: itemListType = {}, isLoading, isError } = useApi(ItemApi.searchItem);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n return {\n itemListType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import { useState, useEffect } from 'react';\n\nexport const useMouseDownPosition = () => {\n const [position, setPosition] = useState({ x: 0, y: 0 });\n\n useEffect(() => {\n const setFromEvent = (e) => setPosition({ x: e.clientX, y: e.clientY });\n window.addEventListener('mousedown', setFromEvent);\n\n return () => {\n window.removeEventListener('mousedown', setFromEvent);\n };\n }, []);\n\n return position;\n};\n\nexport default useMouseDownPosition;\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetCollection({\n collectionId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const {\n request,\n data: collectionType = {},\n isLoading,\n isError,\n } = useApi(CollectionApi.getCollection);\n const onRefresh = () => request({ collectionId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [collectionId, queryParams]);\n return {\n collectionType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetCollection({\n collectionId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const { request, data: itemListType = {} } = useApi(CollectionApi.getCollectionItem);\n const onRefresh = () => request({ collectionId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [collectionId, queryParams]);\n return {\n itemListType,\n onRefresh,\n };\n}\n","import { useCallback } from 'react';\n\nimport {\n item as ItemApi,\n collection as CollectionApi,\n library as LibraryApi,\n} from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\n/**\n * Get Entity by id and type\n * @param {Object} object - Entity information object\n * @param {string} object.entityId - Entity id\n * @param {string} object.entityType - Entity type, [\"item\", \"collection\", \"library\"]\n * @throws Throws error if unsupported type\n * @returns {Object} Entity retrieved from VS\n */\nconst useGetEntity = ({ entityId, entityType }) => {\n let dataType;\n let entityApi;\n let entityTypeId;\n switch (entityType) {\n case 'collection':\n dataType = 'collectionType';\n entityTypeId = 'collectionId';\n entityApi = CollectionApi.getCollection;\n break;\n case 'library':\n dataType = 'libraryType';\n entityTypeId = 'libraryId';\n entityApi = LibraryApi.getLibrary;\n break;\n case 'item':\n dataType = 'itemType';\n entityTypeId = 'itemId';\n entityApi = ItemApi.getItem;\n break;\n default:\n throw new Error(`unknown entityType`);\n }\n const { request, data, ...apiProps } = useApi(entityApi);\n const onGetEntity = useCallback(\n (props) => request({ [entityTypeId]: entityId, ...props }),\n [entityId, entityTypeId, request],\n );\n return {\n [dataType]: data,\n [entityTypeId]: entityId,\n onGetEntity,\n ...apiProps,\n };\n};\n\nexport default useGetEntity;\n","import { useCallback, useEffect } from 'react';\n\nimport { user as UserApi, group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useUser(initialState) {\n const { data: userType, request } = useApi(UserApi.getUser, { data: initialState });\n const { userName } = userType || {};\n const getUser = useCallback(() => request({ userName }), [request, userName]);\n useEffect(() => {\n if (userName) getUser();\n }, [getUser, userName]);\n\n const updateUser = useCallback(\n ({ userDocument }) =>\n UserApi.updateUser({\n userName,\n userDocument,\n }).then(() => request({ userName: userDocument.userName })),\n [request, userName],\n );\n\n const updateUserGroups = useCallback(\n ({ groups = [] }) =>\n UserApi.updateUserGroup({\n userName,\n groupListDocument: {\n group: groups.map((g) => ({ groupName: g })),\n },\n }).then(getUser),\n [getUser, userName],\n );\n\n const removeUserFromGroup = useCallback(\n (groupName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getUser),\n [getUser, userName],\n );\n\n const changePassword = useCallback(\n (password) =>\n UserApi.updateUser({\n userName,\n userDocument: {\n password,\n },\n queryParams: {\n passwordType: 'raw',\n },\n }),\n [userName],\n );\n const deleteUser = ({ queryParams = {} } = {}) =>\n UserApi.disableUser({ userName, queryParams: { hard: true, ...queryParams } });\n const disableUser = (args) => UserApi.disableUser({ userName, ...args }).then(getUser);\n const enableUser = (args) => UserApi.enableUser({ userName, ...args }).then(getUser);\n\n return {\n userType,\n getUser,\n updateUser,\n updateUserGroups,\n removeUserFromGroup,\n disableUser,\n enableUser,\n deleteUser,\n changePassword,\n };\n}\n","import { useReducer, useEffect } from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_QUERY = 'CHANGE_QUERY';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_QUERY,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, rowsPerPage = 10, page = 0 } = {}) => ({\n queryParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...queryParams,\n },\n rowsPerPage,\n page,\n userSearchDocument: {\n sort: [\n {\n field: 'username',\n order: 'ascending',\n },\n ],\n },\n});\n\nconst searchReducer = (state, action) => {\n const { type } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page } = action;\n\n return {\n ...state,\n page,\n queryParams: {\n ...state.queryParams,\n first: page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n\n case ACTION_TYPE.CHANGE_QUERY: {\n return {\n ...state,\n page: 0,\n userSearchDocument: {\n ...state.userSearchDocument,\n field: [\n {\n name: action.field || 'username',\n value: action.query || '',\n },\n ],\n },\n queryParams: {\n ...state.queryParams,\n first: 1,\n },\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useSearchUser(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = useReducer(searchReducer, initialDefaultState);\n const {\n data: userListDocument,\n request: searchUser,\n hasLoaded,\n isError,\n } = useApi(UserApi.searchUser);\n\n const onSearchUser = () =>\n searchUser({\n userSearchDocument: state.userSearchDocument,\n queryParams: state.queryParams,\n });\n\n useEffect(() => {\n onSearchUser();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.queryParams, state.userSearchDocument]);\n\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeQuery = (field, query) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_QUERY,\n field,\n query,\n });\n };\n return {\n ...state,\n hasLoaded,\n isError,\n userListDocument,\n onSearchUser,\n onChangePage,\n onChangeSort,\n onChangeRowsPerPage,\n onChangeQuery,\n };\n}\n","import { useEffect } from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useListGroup = (args) => {\n const { request, data: groupListType = {}, isLoading } = useApi(GroupApi.listGroup);\n const onRefresh = () => request(args);\n useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [args]);\n return {\n onRefresh,\n groupListType,\n isLoading,\n };\n};\n\nexport default useListGroup;\n","import { useEffect } from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useListUser = (args) => {\n const { request, data: userListType = {}, isLoading } = useApi(UserApi.listUser);\n const onRefresh = () => request(args);\n useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [args]);\n return {\n onRefresh,\n userListType,\n isLoading,\n };\n};\n\nexport default useListUser;\n","import { useReducer, useEffect } from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_QUERY = 'CHANGE_QUERY';\nconst HIDE_ROLES = 'HIDE_ROLES';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_QUERY,\n HIDE_ROLES,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, rowsPerPage = 10, page = 0 } = {}) => ({\n queryParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...queryParams,\n },\n rowsPerPage,\n page,\n groupSearchDocument: {},\n});\n\nconst searchReducer = (state, action) => {\n const { type } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page } = action;\n\n return {\n ...state,\n page,\n queryParams: {\n ...state.queryParams,\n first: page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.HIDE_ROLES: {\n const { hideRoles } = action;\n const role = hideRoles === true ? false : undefined;\n return {\n ...state,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n role,\n },\n };\n }\n\n case ACTION_TYPE.CHANGE_QUERY: {\n return {\n ...state,\n page: 0,\n groupSearchDocument: {\n ...state.groupSearchDocument,\n field: [\n {\n name: action.field || 'groupname',\n value: action.query || '',\n },\n ],\n },\n queryParams: {\n ...state.queryParams,\n first: 1,\n },\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useSearchGroup(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = useReducer(searchReducer, initialDefaultState);\n const {\n data: groupListDocument,\n request: searchGroup,\n hasLoaded,\n isError,\n } = useApi(GroupApi.searchGroup);\n\n const onSearchGroup = () =>\n searchGroup({\n groupSearchDocument: state.groupSearchDocument,\n queryParams: state.queryParams,\n });\n\n useEffect(() => {\n onSearchGroup();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.queryParams, state.groupSearchDocument]);\n\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onHideRoles = ({ hideRoles }) =>\n dispatch({\n type: ACTION_TYPE.HIDE_ROLES,\n hideRoles,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeQuery = (field, query) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_QUERY,\n field,\n query,\n });\n };\n return {\n ...state,\n hasLoaded,\n isError,\n groupListDocument,\n onSearchGroup,\n onChangePage,\n onChangeSort,\n onChangeRowsPerPage,\n onChangeQuery,\n onHideRoles,\n };\n}\n","import { useCallback, useEffect } from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGroup(initialState) {\n const { data: groupType, request } = useApi(GroupApi.getGroup, { data: initialState });\n const { groupName } = groupType || {};\n\n const getGroup = useCallback(() => request({ groupName }), [request, groupName]);\n\n useEffect(() => {\n if (groupName) getGroup();\n }, [getGroup, groupName]);\n\n const updateGroup = useCallback(\n ({ groupDocument }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addChildGroups = useCallback(\n ({ groups }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n childGroupList: {\n group: groups.map((g) => ({ groupName: g })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addParentGroups = useCallback(\n ({ groups }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n parentGroupList: {\n group: groups.map((g) => ({ groupName: g })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addUsersToGroup = useCallback(\n ({ users }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n userList: {\n user: users.map((u) => ({ userName: u })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeUserFromGroup = useCallback(\n (userName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeChildGroup = useCallback(\n (childGroupName) =>\n GroupApi.removeGroupChildren({\n groupName,\n childGroupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeFromParentGroup = useCallback(\n (parentGroupName) =>\n GroupApi.removeGroupChildren({\n groupName: parentGroupName,\n childGroupName: groupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeGroup = useCallback(() => GroupApi.removeGroup({ groupName }), [groupName]);\n\n return {\n groupType,\n getGroup,\n updateGroup,\n removeGroup,\n addChildGroups,\n addParentGroups,\n addUsersToGroup,\n removeUserFromGroup,\n removeChildGroup,\n removeFromParentGroup,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetItem({ itemId, queryParams = {}, refreshOnMount = true }) {\n const { request, data: itemType = {}, isLoading, isError } = useApi(ItemApi.getItem);\n const onRefresh = () => request({ itemId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [itemId, queryParams]);\n return {\n itemType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import { useState, useRef, useCallback } from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nconst useCollectionAutoPlay = ({ collectionId, defaultEnabled = true }) => {\n const [nextPlaying, setNextPlaying] = useState();\n const [isAutoPlayEnabled, setIsAutoPlayEnabled] = useState(defaultEnabled);\n const toggleAutoPlay = (newValue) =>\n setIsAutoPlayEnabled((prevValue) => (newValue !== undefined ? newValue : !prevValue));\n const allItemsRef = useRef();\n const orderItemsRef = useRef();\n const hitsRef = useRef();\n const onNext = useCallback(\n ({ itemId }) => {\n if (isAutoPlayEnabled === false) return;\n const searchDocument = {\n field: [\n {\n name: 'mediaType',\n value: [{ value: 'video' }, { value: 'audio' }],\n },\n ],\n };\n const searchForNext = ({ first, number } = {}) => {\n const { current: allItems } = allItemsRef;\n const { current: orderItems } = orderItemsRef;\n if (!Array.isArray(allItems)) {\n Promise.all([\n CollectionApi.getCollection({\n collectionId,\n queryParams: { children: 'item' },\n }),\n CollectionApi.searchCollectionItem({\n collectionId,\n searchDocument,\n queryParams: { first, number },\n }),\n ]).then(([{ data: collectionType }, { data: itemListType }]) => {\n const { hits, item: itemList = [] } = itemListType;\n allItemsRef.current = itemList.map(({ id }) => id);\n hitsRef.current = hits;\n const { content: contentList } = collectionType;\n orderItemsRef.current = contentList;\n searchForNext({ first: 1, number: 100 });\n });\n return;\n }\n const { current: hits } = hitsRef;\n const currentItemIdx = orderItems.findIndex(({ id: thisId }) => thisId === itemId);\n if (currentItemIdx + 1 === orderItems.length) {\n // last item in the list\n setNextPlaying();\n return;\n }\n if (currentItemIdx === -1 && hits > allItems.length) {\n // request more items to find the currentItem\n CollectionApi.searchCollectionItem({\n collectionId,\n searchDocument,\n queryParams: { first: first + number, number },\n }).then(({ data: itemListType }) => {\n const { item: itemList = [] } = itemListType;\n allItemsRef.current.push(...itemList.map(({ id }) => id));\n searchForNext({ first: first + number, number });\n });\n return;\n }\n const remainingItems = orderItems.slice(currentItemIdx + 1);\n const nextItem = remainingItems.find(({ id: thisId }) => allItems.includes(thisId));\n setNextPlaying(nextItem);\n };\n searchForNext();\n },\n [collectionId, isAutoPlayEnabled],\n );\n return {\n isAutoPlayEnabled,\n toggleAutoPlay,\n setNextPlaying,\n nextPlaying,\n onNext,\n };\n};\n\nexport default useCollectionAutoPlay;\n","import { useState, useRef, useCallback } from 'react';\n\nimport _debounce from 'lodash.debounce';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { formatTimeCodeText, formatTimeCodeSeconds } from '@vidispine/vdt-js';\n\nconst defaultGetThumbnailTimeCodes = (srcList) => {\n const timeCodes = [];\n for (let index = 0; index < srcList.length; index += 1) {\n const uri = srcList[index];\n if (uri && typeof uri === 'string') {\n try {\n const timeCodeFromURI = uri.split('version')[1].split('/')[1].split('?')[0];\n const timecodeText = formatTimeCodeText(timeCodeFromURI);\n timeCodes.push(timecodeText);\n } catch (error) {\n // ignore\n }\n }\n }\n return timeCodes;\n};\n\n/**\n * Display timecode correlating to mouse position when hovering over an element\n * @param {string[]} srcList - List of image/thumbnail urls.\n * @param {number} customOffset=0 - Add custom offset for the mouse position.\n * @param {number} durationSeconds - Total duration in seconds (of clip) that the thumbnails are scrubbed over.\n * @param {function} getThumbnailTimeCodes - Extracts timecodes from VidiCore thumbnail uris. Override for custom thumbnails.\n * @returns {Object}\n */\nexport function useHoverScrub(\n srcList = [],\n customOffset = 0,\n durationSeconds = undefined,\n getThumbnailTimeCodes = defaultGetThumbnailTimeCodes,\n) {\n const [scrubPosition, setScrubPosition] = useState(0);\n const [thumbnailIndex, setThumbnailIndex] = useState(0);\n const [showScrub, setShowScrub] = useState(false);\n const [thumbnailTimeCodeArray, setThumbnailTimeCodeArray] = useState([]);\n const [thumbnailTimeCode, setThumbnailTimeCode] = useState();\n const [thumbnailWidth, setThumbnailWidth] = useState(0);\n\n const debouncedSetNewThumbnail = useRef(\n _debounce((val) => {\n setThumbnailIndex(val);\n }, 10),\n ).current;\n\n const getOffsetLeft = (element) => {\n try {\n return Math.round(element.getBoundingClientRect().left);\n } catch (error) {\n return 0;\n }\n };\n\n const getMouseElementPosition = useCallback(\n (e) => {\n const mouseElementPosition = e.clientX - getOffsetLeft(e.currentTarget) - customOffset;\n const elementWidth = e.currentTarget.offsetWidth;\n if (mouseElementPosition < 0) {\n return 0;\n }\n if (mouseElementPosition > elementWidth) {\n return elementWidth;\n }\n return mouseElementPosition;\n },\n [customOffset],\n );\n\n const indexOfPrecededTimeCode = (num, arr) => {\n let curr = arr[0];\n let diff = Math.abs(num - curr);\n let index = 0;\n for (let val = 0; val < arr.length; val += 1) {\n const newDiff = Math.abs(num - arr[val]);\n const isPositiveDiff = num - arr[val] > 0;\n if (newDiff < diff && isPositiveDiff) {\n diff = newDiff;\n curr = arr[val];\n index = val;\n }\n }\n return index;\n };\n\n const onMouseMove = (e) => {\n if (durationSeconds) {\n const mouseElementPosition = getMouseElementPosition(e);\n setScrubPosition(mouseElementPosition - 1);\n if (thumbnailWidth !== e.currentTarget.offsetWidth) {\n setThumbnailWidth(e.currentTarget.offsetWidth);\n }\n const mouseTimecodePosition =\n mouseElementPosition / (e.currentTarget.offsetWidth / +durationSeconds);\n\n setThumbnailTimeCode(formatTimeCodeSeconds(mouseTimecodePosition));\n\n const newIndex = indexOfPrecededTimeCode(\n mouseTimecodePosition,\n thumbnailTimeCodeArray.map((tc) => tc.toSeconds().toFixed(0)),\n );\n if (newIndex !== thumbnailIndex) {\n debouncedSetNewThumbnail(newIndex);\n }\n }\n };\n\n useDeepCompareEffect(() => {\n const timeCodes = getThumbnailTimeCodes(srcList);\n setThumbnailTimeCodeArray(timeCodes);\n }, [srcList]);\n\n const handleShowScrub = (value) => () => {\n if (durationSeconds > 0) {\n setShowScrub(value);\n }\n };\n\n return {\n thumbnailIndex,\n thumbnailTimeCode,\n thumbnailWidth,\n showScrub,\n scrubPosition,\n handleShowScrub,\n onMouseMove,\n };\n}\n\nexport default useHoverScrub;\n","import { useState, useRef } from 'react';\n\nimport debounce from 'lodash.debounce';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useDocSearchAutocomplete({\n searchDoc,\n queryParams,\n debounceTime,\n suggestionSettings = { maximumSuggestions: 10, accuracy: 1 },\n triggerLength = 1,\n apiCall = ItemApi.searchItem,\n}) {\n const [textValue, setTextValue] = useState('');\n const handleAutocompleteChange = useRef(debounce(setTextValue, debounceTime)).current;\n\n const { data: { autocomplete = [] } = {}, request } = useApi(apiCall);\n const { suggestion = [] } = autocomplete[0] || {};\n\n useDeepCompareEffect(() => {\n if (searchDoc && textValue && textValue.length >= triggerLength) {\n request({\n body: {\n ...searchDoc,\n suggestion: suggestionSettings,\n autocomplete: [\n {\n text: textValue,\n },\n ],\n text: [{ value: textValue }],\n },\n queryParams: { count: false, number: 0, ...queryParams },\n });\n }\n }, [request, textValue, queryParams, triggerLength]);\n\n return {\n suggestion,\n handleAutocompleteChange,\n };\n}\n","import { metadatafield as MetadatafieldApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetFieldMetadataDataset() {\n const {\n request,\n data: { value: constraintValueListType = [] } = {},\n isLoading,\n } = useApi(MetadatafieldApi.getMetadataFieldAllowedValues);\n\n const getMetadataDataset = (datasetField, parentValue, parentField) => {\n const metadataFieldValueConstraintListDocument = {\n constraint: parentValue ? [{ field: parentField, value: parentValue }] : [],\n };\n if (datasetField) {\n request({\n fieldName: datasetField,\n metadataFieldValueConstraintListDocument,\n });\n }\n };\n\n return {\n getMetadataDataset,\n dataset: constraintValueListType,\n isLoading,\n };\n}\n","import { useState, useCallback, useEffect } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi, item as ItemApi } from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\n// Has to be set so that the library isn't auto-deleted\nconst UPDATE_FREQUENCY = 1000;\n\n// Prevents access controls set on the library (i.e. saved search) from cascading down to items\nconst UPDATE_MODE = 'TRANSIENT';\n\nconst getCollectionTitle = (fields) =>\n fields.find((field) => field.name === 'title').value[0].value;\n\nexport default function useGetSavedSearchFolders({\n childFolders = [],\n queryParams = { content: ['metadata'] },\n markerProps = {\n markerValue: 'savedSearch',\n markerField: 'eidr_referentType',\n },\n expand,\n}) {\n const [currentFolders, setCurrentFolders] = useState(childFolders);\n const [subFolders, setSubFolders] = useState([]);\n const [errors, setErrors] = useState();\n\n const getSubFolders = useCallback(() => {\n Promise.all(\n currentFolders.map(async (id) => {\n const {\n data: { content, metadata = {} },\n } = await CollectionApi.getCollection({\n collectionId: id,\n queryParams,\n });\n\n const { field } = metadata.timespan[0];\n if (content && content[0].type === 'library') {\n return {\n id,\n libraryId: content[0].id,\n title: getCollectionTitle(field),\n type: 'query',\n metadata,\n };\n }\n return {\n id,\n title: getCollectionTitle(field),\n subFolders: content && content.map((c) => c.id),\n type: 'folder',\n metadata,\n };\n }),\n )\n .then((newFolders) => {\n setSubFolders((prevState) => [...newFolders, ...prevState]);\n })\n .catch((error) => {\n setErrors(error);\n });\n }, [currentFolders, queryParams]);\n\n const createFolder = (parentId, folderMarkerType, markerValue, title, callback) => {\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n [folderMarkerType]: markerValue,\n title,\n }),\n },\n })\n .then(({ data: { id } }) => {\n if (parentId) {\n return CollectionApi.updateCollection({\n collectionId: parentId,\n collectionDocument: {\n content: [\n {\n id,\n mode: 'add',\n type: 'collection',\n },\n ],\n },\n })\n .then(({ data: { content } }) => {\n if (content) {\n setCurrentFolders(\n content\n .filter((collection) => collection.id === id)\n .map((collection) => collection.id),\n );\n if (callback) callback();\n }\n })\n .catch((error) => {\n setErrors(error);\n });\n }\n return null;\n })\n .catch((error) => {\n setErrors(error);\n });\n };\n\n const saveSearch = (folderId, title, itemSearchDocument, callback) => {\n try {\n ItemApi.searchItem({\n queryParams: {\n result: 'library',\n updateMode: UPDATE_MODE,\n updateFrequency: UPDATE_FREQUENCY,\n },\n itemSearchDocument,\n })\n .then(({ data: { library } }) => {\n return CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n [markerProps.markerField]: markerProps.markerValue,\n title,\n }),\n content: [\n {\n id: library,\n type: 'library',\n },\n ],\n },\n });\n })\n .then(({ data: { id } }) => {\n return CollectionApi.updateCollection({\n collectionId: folderId,\n collectionDocument: {\n content: [\n {\n id,\n mode: 'add',\n type: 'collection',\n },\n ],\n },\n })\n .then(({ data: { content } }) => {\n if (content) {\n setCurrentFolders(\n content\n .filter((collection) => collection.id === id)\n .map((collection) => collection.id),\n );\n if (callback) callback();\n }\n })\n .catch((error) => {\n setErrors(error);\n });\n })\n .catch((error) => {\n setErrors(error);\n });\n } catch (error) {\n setErrors(error);\n }\n };\n\n const deleteFolder = (collectionId) =>\n CollectionApi.removeCollection({ collectionId }).catch((error) => {\n setErrors(error);\n });\n\n const removeItem = (id) => {\n setSubFolders((prevState) => prevState.filter((folder) => folder.id !== id));\n };\n\n useDeepCompareEffect(() => {\n if (currentFolders.length > 0 && expand) {\n getSubFolders();\n }\n }, [currentFolders, expand]);\n\n useEffect(() => {\n if (!expand && typeof expand === 'boolean') {\n setCurrentFolders(() => {\n return subFolders.map((folder) => folder.id);\n });\n setSubFolders([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expand]);\n\n return {\n createFolder,\n saveSearch,\n getSubFolders,\n deleteFolder,\n removeItem,\n subFolders,\n setSubFolders,\n setCurrentFolders,\n errors,\n };\n}\n","import { useState, useEffect } from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\nimport { createMetadataType, parseMetadataType } from '@vidispine/vdt-js';\n\nconst useRepresentativeItems = ({ collectionId, onError }) => {\n const [representativeItems, setRepresentativeItems] = useState([]);\n\n const asyncGetRepresentativeItems = async () => {\n try {\n if (!collectionId) {\n throw Error('Missing collectionId');\n }\n const { data: metadata = {} } = await CollectionApi.getCollectionMetadata({\n collectionId,\n queryParams: {\n content: 'metadata',\n field: 'representativeItems',\n },\n }).catch((error) => {\n if (onError) onError(error);\n });\n const { representativeItems: newRepresentativeItems = [] } = parseMetadataType(metadata, {\n flat: true,\n includeValueAttributes: true,\n });\n setRepresentativeItems(() => newRepresentativeItems);\n } catch (error) {\n if (onError) onError(error);\n }\n };\n\n const onRefresh = asyncGetRepresentativeItems;\n\n const updateAsRepresentativeItem = async (values) => {\n try {\n const metadataDocument = createMetadataType({\n representativeItems: Array.isArray(values) ? values : [values],\n });\n const response = await CollectionApi.updateCollectionMetadata({\n collectionId,\n metadataDocument,\n });\n onRefresh();\n return response;\n } catch (error) {\n if (onError) onError(error);\n return undefined;\n }\n };\n\n const onAdd = (entityId) => updateAsRepresentativeItem({ value: entityId, mode: 'add' });\n\n const onRemove = (entityId) => {\n try {\n // Get all (if it has been added multiple times)\n const entityIdValueUuids = representativeItems\n .filter((i) => i.value === entityId)\n .map((i) => i.uuid);\n if (!entityIdValueUuids.length) return undefined;\n return updateAsRepresentativeItem(\n entityIdValueUuids.map((uuid) => ({ uuid, mode: 'remove' })),\n );\n } catch (error) {\n if (onError) onError(error);\n return undefined;\n }\n };\n\n useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [collectionId]);\n\n return {\n representativeItems,\n onRefresh,\n onAdd,\n onRemove,\n };\n};\n\nexport default useRepresentativeItems;\n","/* eslint-disable no-console */\nimport {\n library as LibraryApi,\n file as FileApi,\n job as JobApi,\n storage as StorageApi,\n} from '@vidispine/vdt-api';\n\nfunction defaultOnGetStorage() {\n const storageData = StorageApi.listStorage().then((response) => {\n const storage = {\n id: response.data.storage[0].id,\n uri: response.data.storage[0].method[0].uri,\n };\n return storage;\n });\n return storageData;\n}\n\nfunction defaultOnCreate(list) {\n return LibraryApi.createLibrary({\n itemListDocument: {\n item: [\n ...list.item.map(({ id }) => ({\n id,\n })),\n ],\n },\n });\n}\n\nfunction defaultOnList(response, storageInfo, queryParams) {\n const { fileName = 'output', outputFormat = 'csv' } = queryParams;\n const { uri } = storageInfo;\n const { data: { uri: [libraryId] = [] } = {} } = response;\n const createNewUri = () => {\n if (uri.includes('s3')) {\n const [uriBeforeRegion, uriAfterRegion] = uri.split('?region');\n return `${uriBeforeRegion}${fileName}.${outputFormat}?region${uriAfterRegion}`;\n }\n return `${uri}${fileName}.${outputFormat}`;\n };\n const newUri = encodeURIComponent(createNewUri());\n return LibraryApi.getLibraryBatch({\n libraryId,\n queryParams: { destinationUri: newUri, ...queryParams },\n });\n}\n\nconst SUCCESSFUL_STATES = ['FINISHED', 'FINISHED_WARNING'];\nconst INACTIVE_STATES = ['FINISHED', 'FINISHED_WARNING', 'FAILED_TOTAL', 'ABORTED'];\n\nfunction defaultOnGetFile(response, storageInfo, params, onError) {\n const { data: { jobId } = {} } = response;\n const { id } = storageInfo;\n const { fileName = 'output', outputFormat = 'csv' } = params;\n const filePath = `${fileName}.${outputFormat}`;\n JobApi.getJob({ jobId }).then(({ data: { status } = {} } = {}) => {\n if (SUCCESSFUL_STATES.includes(status)) {\n try {\n FileApi.listFileStorage({\n storageId: id,\n queryParams: {\n path: filePath,\n methodMetadata: [\n { key: 'format', value: 'SIGNED-AUTO' },\n { key: 'contentDisposition', value: `attachment;+filename=${filePath}` },\n ],\n 'noauth-url': true,\n },\n }).then((r) => window.open(r.data.file[0].uri[0]));\n } catch (error) {\n console.error(`${'Download error:'}\\n${error}`);\n onError({ message: 'Download failed' });\n }\n } else if (!INACTIVE_STATES.includes(status)) {\n setTimeout(() => {\n defaultOnGetFile(response, storageInfo, params);\n }, 1000);\n } else {\n onError({ message: 'Download failed' });\n }\n });\n}\n\n// Note: Not needed as a react-hook since doesn't use react,\n// but this is usually where we put logic functions right now\nconst useCsvDownload = ({\n itemListType,\n queryParams,\n onSuccess,\n onError = ({ message, error }) => console.error(`${message}\\n${error}`),\n onGetFile = defaultOnGetFile,\n onCreateList = defaultOnCreate,\n onList = defaultOnList,\n onGetStorage = defaultOnGetStorage,\n}) => {\n const onDownload = () =>\n onGetStorage().then((storageInfo) =>\n Promise.all([\n onCreateList(itemListType)\n .then((response) => onList(response, storageInfo, queryParams))\n .then(onSuccess())\n .then((response) => onGetFile(response, storageInfo, queryParams, onError)),\n ]),\n );\n return { onDownload };\n};\n\nexport default useCsvDownload;\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi, metadata as MetadataApi } from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nexport default function useCompoundMetadata(\n itemId,\n values,\n groups,\n groupFields,\n setGroupFields,\n onRefresh,\n onSuccess,\n onError,\n) {\n const isFamily = (el) => el.hasMultipleChild;\n const groupFamily = groups.findIndex(isFamily);\n const tableColumns = groups[groupFamily].groups[0].fields.map((group) => group);\n const onChange = (e, row, groupIndex, editIndex) => {\n const { value } = e.target;\n const { name } = e.target;\n const newGroups = groupFields.map((group) => group);\n const newRows = newGroups[groupIndex].group.map((newRow, rowIndex) => {\n if (rowIndex === editIndex) {\n return { ...row, [name]: value };\n }\n return newRow;\n });\n newGroups[groupIndex].group = newRows;\n setGroupFields(newGroups);\n };\n const onSubmit = async (data) => {\n const groupNames = [];\n groups.forEach((group) => {\n const newGroup = {};\n newGroup.parentGroup = group.name;\n newGroup.childGroup = group.groups[0].name;\n groupNames.push(newGroup);\n });\n\n const metadataDocument = createMetadataType({ group: data });\n const { timespan: newTimeSpan } = metadataDocument;\n const { uuid } = values.itemType.metadata.timespan[0].group[0];\n const newGroups = [];\n\n newTimeSpan[0].group.forEach((group, index) => {\n const newGroup = {\n group: [],\n };\n newGroup.name = groupNames[index].parentGroup;\n newGroup.mode = 'add';\n group.group.forEach((subGroup) => {\n const newSubGroup = subGroup;\n newSubGroup.name = groupNames[index].childGroup;\n newSubGroup.mode = 'add';\n newGroup.group.push(newSubGroup);\n });\n newGroups.push(newGroup);\n });\n newTimeSpan[0].group = newGroups;\n\n try {\n await MetadataApi.removeMetadata({ metadataUuid: uuid });\n await ItemApi.updateItemMetadata({\n itemId,\n metadataDocument: { timespan: newTimeSpan },\n });\n await onRefresh();\n\n onSuccess();\n } catch (error) {\n onError(error);\n }\n };\n\n useDeepCompareEffect(() => {\n setGroupFields(values.group);\n }, [values]);\n\n return {\n tableColumns,\n onChange,\n onSubmit,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { metadata as MetadataApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetEntityMetadata({\n entity,\n entityId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const {\n request,\n data: metadataType = {},\n isLoading,\n isError,\n } = useApi(MetadataApi.getEntityMetadata);\n const onRefresh = () => request({ entity, entityId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [entity, entityId, queryParams]);\n return {\n metadataType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { fieldgroup as FieldGroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetFieldGroup({ groupName, queryParams = {}, refreshOnMount = true }) {\n const {\n request,\n data: metadataFieldGroupType = {},\n isLoading,\n isError,\n } = useApi(FieldGroupApi.getFieldGroup);\n const onRefresh = () => request({ groupName, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [groupName, queryParams]);\n return {\n metadataFieldGroupType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import { useMemo, cloneElement, Children } from 'react';\n\nimport { parseMetadataType } from '@vidispine/vdt-js';\n\nexport default function MetadataType({\n itemType,\n collectionType,\n metadataType: propsMetadataType,\n joinValue = ',',\n flat = true,\n groupAsList = true,\n children,\n ...props\n}) {\n let metadataType = propsMetadataType;\n if (itemType || collectionType) {\n const entityType = itemType || collectionType || {};\n metadataType = entityType?.metadata;\n }\n const metadata = useMemo(\n () => parseMetadataType(metadataType, { joinValue, flat, groupAsList }),\n [flat, groupAsList, joinValue, metadataType],\n );\n const cloneProps = {\n ...props,\n ...metadata,\n itemType,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function SearchCollection({\n itemSearchDocument,\n queryParams,\n matrixParams,\n responseRef,\n initialState,\n children,\n}) {\n const {\n request,\n data: collectionListType = {},\n isLoading,\n isError,\n } = useApi(CollectionApi.searchCollection, initialState, responseRef);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n collectionListType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } from 'react';\n\nimport useSearchItem from '../hooks/useSearchItem';\n\nexport default function SearchItem({ itemSearchDocument, queryParams, matrixParams, children }) {\n const { itemListType, onRefresh, isLoading, isError } = useSearchItem({\n itemSearchDocument,\n queryParams,\n matrixParams,\n });\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n itemListType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { search as SearchApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function SearchItemCollection({\n itemSearchDocument,\n queryParams,\n matrixParams,\n children,\n}) {\n const {\n request,\n data: searchResultType = {},\n isLoading,\n isError,\n } = useApi(SearchApi.searchItemCollection);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n searchResultType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } from 'react';\n\nimport useGetItem from '../hooks/useGetItem';\n\nexport default function GetItem({ itemId, queryParams, refreshOnMount, children }) {\n const { itemType, onRefresh, isLoading, isError } = useGetItem({\n itemId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n itemId,\n queryParams,\n itemType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } from 'react';\n\nimport useGetCollection from '../hooks/useGetCollection';\n\nexport default function GetCollectionContent({\n collectionId,\n queryParams,\n refreshOnMount,\n children,\n}) {\n const { collectionType, onRefresh, isLoading, isError } = useGetCollection({\n collectionId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n collectionId,\n queryParams,\n collectionType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { job as JobApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function GetJobs({ matrixParams, queryParams, children }) {\n const { request, data: jobs = {}, isLoading, isError } = useApi(JobApi.listJob);\n const onRefresh = () => request({ matrixParams, queryParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [matrixParams, queryParams]);\n const cloneProps = {\n matrixParams,\n queryParams,\n onRefresh,\n isLoading,\n isError,\n jobs,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { useEffect, cloneElement, Children } from 'react';\n\nimport { access as AccessApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function ListEntityAccess({ entityId, entityType, queryParams, children }) {\n const { request, data: accessControlList = {}, isLoading } = useApi(AccessApi.listEntityAccess);\n const onRefresh = () => request({ entityId, entityType, queryParams });\n useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [entityId, entityType, queryParams]);\n const cloneProps = {\n entityId,\n entityType,\n queryParams,\n accessControlList,\n onRefresh,\n isLoading,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children, Component } from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nexport default class VidispineApi extends Component {\n constructor(props) {\n super(props);\n const { serverUrl, token, username, password, runAs } = props;\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n }\n if (token) {\n api.defaultClient.defaults.headers.Authorization = `token ${token}`;\n } else {\n api.defaultClient.defaults.auth = { username, password };\n }\n if (runAs) {\n api.defaultClient.defaults.headers.RunAs = runAs;\n }\n }\n\n componentDidUpdate(prevProps) {\n const { serverUrl, token, username, password, runAs } = this.props;\n if (prevProps.serverUrl !== serverUrl) {\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n } else {\n delete api.defaultClient.defaults.baseURL;\n }\n }\n if (prevProps.token !== token) {\n if (token) {\n api.defaultClient.defaults.headers.Authorization = `token ${token}`;\n } else {\n delete api.defaultClient.defaults.headers.Authorization;\n }\n }\n if (!token && (prevProps.username !== username || prevProps.password !== password)) {\n api.defaultClient.defaults.auth = { username, password };\n }\n if (prevProps.runAs !== runAs) {\n if (runAs) {\n api.defaultClient.defaults.headers.RunAs = runAs;\n } else {\n delete api.defaultClient.defaults.headers.RunAs;\n }\n }\n }\n\n render() {\n const { children, username, serverUrl } = this.props;\n const cloneProps = { username, serverUrl };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n }\n}\n","import { useCookies } from 'react-cookie';\n\nimport { utils as api, user as UserApi } from '@vidispine/vdt-api';\n\nimport VidispineApi from './VidispineApi';\n\nconst VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';\nconst VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';\nconst VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';\nconst VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';\n\nconst handleOnGetToken = ({ userName, password, serverUrl }) => {\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n }\n const queryParams = { seconds: 2592000, autoRefresh: 'true' };\n const headers = { password, username: userName };\n try {\n UserApi.getToken({ queryParams, headers })\n .then(({ data: token }) => token)\n .catch(({ response = {}, message = 'Unknown error.' }) => {\n let submissionError = message;\n if (response.status === 401) {\n submissionError = 'Incorrect Username/Password';\n }\n throw submissionError;\n });\n } catch (error) {\n const submissionError = 'Incorrect Username/Password';\n throw submissionError;\n }\n};\n\nexport default function Auth({\n LoginComponent,\n LoginProps = {},\n AppComponent,\n AppProps = {},\n onGetToken = handleOnGetToken,\n onSuccess,\n onError,\n cookieOptions = {\n maxAge: 604800,\n path: '/',\n },\n ...props\n}) {\n const [cookies, setCookie, removeCookie] = useCookies([\n VIDISPINE_TOKEN,\n VIDISPINE_USERNAME,\n VIDISPINE_SERVER_URL,\n VIDISPINE_REMEMBER_ME,\n ]);\n const {\n [VIDISPINE_TOKEN]: token,\n [VIDISPINE_USERNAME]: userName,\n [VIDISPINE_SERVER_URL]: serverUrl,\n } = cookies;\n const rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';\n const onLogin = (values) => {\n let submissionError;\n try {\n onGetToken(values)\n .then((newToken) => {\n const {\n userName: newUserName,\n serverUrl: newServerUrl,\n rememberMe: newRememberMe,\n } = values;\n if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);\n if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);\n if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);\n if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);\n if (onSuccess) onSuccess(values);\n })\n .catch((error) => {\n submissionError = error;\n if (onError) return onError(submissionError);\n throw submissionError;\n });\n } catch (error) {\n submissionError = error;\n if (onError) return onError(submissionError);\n }\n return submissionError;\n };\n const onLogout = () => {\n removeCookie(VIDISPINE_TOKEN, cookieOptions);\n if (!rememberMe) {\n removeCookie(VIDISPINE_USERNAME, cookieOptions);\n removeCookie(VIDISPINE_SERVER_URL, cookieOptions);\n removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);\n }\n };\n return token ? (\n <VidispineApi token={token} username={userName} serverUrl={serverUrl}>\n <AppComponent onLogout={onLogout} {...props} {...AppProps} />\n </VidispineApi>\n ) : (\n <LoginComponent\n onLogin={onLogin}\n userName={userName}\n serverUrl={serverUrl}\n rememberMe={rememberMe}\n {...props}\n {...LoginProps}\n />\n );\n}\n","import { Component } from 'react';\n\nfunction ErrorBoundaryComponent({ error, info }) {\n return (\n <div\n style={{\n height: '100%',\n maxHeight: '100vh',\n width: '100%',\n maxWidth: '100vw',\n backgroundColor: 'red',\n color: 'white',\n }}\n >\n {error && <div>{error.toString()}</div>}\n {info && <div>{info.componentStack}</div>}\n </div>\n );\n}\n\nexport default class ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n return { error, hasError: true };\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n const { hasError, info } = this.state;\n const { info: nextInfo } = nextState;\n if (info === nextInfo && hasError === true) return false;\n return true;\n }\n\n componentDidCatch(error, info) {\n const { onError } = this.props;\n if (typeof onError === 'function') {\n try {\n onError(error, info);\n } catch (onErrorError) {\n return;\n }\n }\n this.setState({ info });\n }\n\n render() {\n const { children } = this.props;\n const { hasError, error, info } = this.state;\n if (hasError) {\n return <ErrorBoundaryComponent info={info} error={error} />;\n }\n return children;\n }\n}\n","import { cloneElement, Children } from 'react';\n\nimport useGetFieldGroup from '../hooks/useGetFieldGroup';\n\nexport default function GetFieldGroup({ groupName, queryParams, refreshOnMount, children }) {\n const { metadataFieldGroupType, onRefresh, isLoading, isError } = useGetFieldGroup({\n groupName,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n groupName,\n queryParams,\n metadataFieldGroupType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { createContext, useState, useEffect, useContext } from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\nimport { ROLE_NAMES } from '@vidispine/vdt-js';\n\nconst RolesContext = createContext();\n\nfunction RolesProvider({ intialState = {}, onRefresh, userName: knownUserName, children }) {\n const [groupListType, setGroupListType] = useState(intialState);\n const onGetUserRole = () => {\n if (knownUserName) {\n UserApi.getUserRole({ userName: knownUserName }).then(({ data }) => {\n setGroupListType(data);\n if (onRefresh) onRefresh(data);\n });\n } else {\n let iAm;\n UserApi.whoAmI()\n .then(({ data: userName }) => {\n iAm = userName;\n return UserApi.getUserRole({ userName });\n })\n .then(({ data }) => {\n setGroupListType(data);\n if (onRefresh) onRefresh(data, iAm);\n });\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(onGetUserRole, [knownUserName]);\n return <RolesContext.Provider value={groupListType}>{children}</RolesContext.Provider>;\n}\n\nfunction useRoles() {\n const groupListType = useContext(RolesContext);\n if (groupListType === undefined) {\n throw new Error('useRoles must be used within RolesContext');\n }\n const hasRole = (roleName) => {\n if (roleName === undefined) throw new Error('roleName is undefined');\n const { group: groupList } = groupListType;\n if (!Array.isArray(groupList)) return null;\n const groupNames = groupList.map(({ groupName }) => groupName);\n if (groupNames.includes(ROLE_NAMES.SUPER_ACCESS_USER)) return true;\n if (Array.isArray(roleName)) {\n return roleName.findIndex((thisRole) => groupNames.includes(thisRole)) > -1;\n }\n return groupNames.includes(roleName);\n };\n return { hasRole, groupListType };\n}\n\nexport { RolesProvider, useRoles };\n","import { isValidElement } from 'react';\n\nimport { useRoles } from '../context/RolesContext';\n\nexport default function HasRole({ roleName, allow, deny, loading }) {\n if (roleName === undefined) throw new Error('roleName is undefined');\n const { hasRole } = useRoles();\n const checkedRole = hasRole(roleName);\n if (isValidElement(allow) && checkedRole === true) {\n return allow;\n }\n if (isValidElement(deny) && checkedRole === false) {\n return deny;\n }\n if (isValidElement(loading) && checkedRole === null) {\n return loading;\n }\n return null;\n}\n","export default function ComposeProviders({ providers = [], children, ...props }) {\n return providers.reduceRight((acc, Provider) => {\n if (typeof Provider === 'function') {\n return <Provider {...props}>{acc}</Provider>;\n }\n const { provider: ProviderComponent, ...providerProps } = Provider;\n return (\n <ProviderComponent {...props} {...providerProps}>\n {acc}\n </ProviderComponent>\n );\n }, children);\n}\n","import { cloneElement, Children } from 'react';\n\nimport useGetEntityMetadata from '../hooks/useGetEntityMetadata';\n\nexport default function GetEntityMetadata({\n entity,\n entityId,\n queryParams,\n refreshOnMount,\n children,\n}) {\n const { metadataType, onRefresh, isLoading, isError } = useGetEntityMetadata({\n entity,\n entityId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n entity,\n entityId,\n queryParams,\n metadataType,\n onRefresh,\n isLoading,\n isError,\n };\n if (entity === 'collection') cloneProps.collectionId = entityId;\n else if (entity === 'item') cloneProps.itemId = entityId;\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import ErrorBoundary from '../wrappers/ErrorBoundary';\n\nconst withErrorBoundary =\n (WrappedComponent, errorBoundaryProps = {}) =>\n (props) => {\n return (\n <ErrorBoundary {...errorBoundaryProps}>\n <WrappedComponent {...props} />\n </ErrorBoundary>\n );\n };\n\nexport default withErrorBoundary;\n","export const compose = (...funcs) =>\n funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args)),\n (arg) => arg,\n );\n\nexport default compose;\n","import { createContext, useState, useCallback, useMemo } from 'react';\n\nimport { uuidv4 } from '../utils';\n\nexport const BinContext = createContext();\n\nconst defaultIsUniqueBinItem = (\n bin,\n { entityId, entityType, entityTimespan: { start, end, field: [{ name } = {}] = [] } = {} },\n) => {\n const entityExistsInBin = bin.some(\n (o) => o.entity.id === entityId && o.entityType === entityType,\n );\n let entityTimespanExistsInBin = false;\n if (entityExistsInBin) {\n const binEntitiesWithSameId = bin.filter(\n (o) => o.entity.id === entityId && o.entityType === entityType,\n );\n binEntitiesWithSameId.forEach(\n ({\n entityTimespan: { start: beStart, end: beEnd, field: [{ name: beName } = {}] = [] } = {},\n }) => {\n if (start === beStart && end === beEnd && name === beName) {\n entityTimespanExistsInBin = true;\n }\n },\n );\n }\n return !entityExistsInBin || !entityTimespanExistsInBin;\n};\nexport function BinProvider({\n onChange,\n children,\n initialState = [],\n allowDuplicates: defaultAllowDuplicates = false,\n isUniqueBinItem = defaultIsUniqueBinItem,\n}) {\n const [binState, setBinState] = useState(initialState);\n const [allowDuplicates, setAllowDuplicates] = useState(defaultAllowDuplicates);\n\n const onDelete = useCallback(\n (binIdToDelete) => {\n if (!binIdToDelete || !['string', 'number'].includes(typeof binIdToDelete)) {\n // eslint-disable-next-line no-console\n console.error('BinProvider onDelete called without a binId of the entity to delete');\n return;\n }\n setBinState((state) => {\n const newState = state.filter((o) => o.binId !== binIdToDelete);\n if (onChange) onChange(newState);\n return newState;\n });\n },\n [onChange],\n );\n\n const onEmptyBin = useCallback(() => {\n setBinState([]);\n if (onChange) onChange([]);\n }, [onChange]);\n\n const createBinObject = (binObject) => {\n const [binId] = uuidv4().split('-');\n return { binId, ...binObject };\n };\n\n const handleDrop = useCallback(\n ({ dragInfo = {} } = {}) => {\n const { entityId, entityType, entity } = dragInfo;\n if (!entityId || !entityType || !entity) {\n throw new Error('Dragged element needs to have entityId, entityType and entity props');\n }\n setBinState((state = []) => {\n if (isUniqueBinItem(state, dragInfo) || allowDuplicates) {\n const newState = [...state, createBinObject(dragInfo)];\n if (onChange) onChange(newState);\n return newState;\n }\n return state;\n });\n },\n [allowDuplicates, isUniqueBinItem, onChange],\n );\n\n const handleSort = useCallback(\n ({ dragId, hoverId, originalDragIndex }) => {\n if (dragId === undefined || (hoverId === undefined && originalDragIndex === undefined))\n return;\n setBinState((state) => {\n const newState = [...state];\n const dragIndex = binState.findIndex((o) => o.binId === dragId);\n const hoverIndex = binState.findIndex((o) => o.binId === hoverId);\n const newDragIndex = hoverIndex > -1 ? hoverIndex : originalDragIndex;\n [newState[newDragIndex], newState[dragIndex]] = [\n newState[dragIndex],\n newState[newDragIndex],\n ];\n if (onChange) onChange(newState);\n return newState;\n });\n },\n [binState, onChange],\n );\n\n const contextValue = useMemo(\n () => ({\n setBin: setBinState,\n bin: binState,\n allowDuplicates,\n setAllowDuplicates,\n onDrop: handleDrop,\n onSort: handleSort,\n onFind: () => null,\n onEmptyBin,\n onDelete,\n }),\n [allowDuplicates, binState, handleDrop, handleSort, onDelete, onEmptyBin],\n );\n\n return <BinContext.Provider value={contextValue}>{children}</BinContext.Provider>;\n}\n","import { createContext, useReducer, useRef, useEffect, useContext, useCallback } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport { metadata as MetadataApi } from '@vidispine/vdt-api';\n\nconst SettingsDispatchContext = createContext();\nconst SettingsStateContext = createContext();\n\nconst UPDATE_ALL_SETTINGS = 'UPDATE_ALL_SETTINGS';\nconst UPDATE_SETTING = 'UPDATE_SETTING';\nconst UPDATE_USERNAME = 'UPDATE_USERNAME';\nconst REMOVE_SETTING = 'REMOVE_SETTING';\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case UPDATE_USERNAME: {\n return { ...state, userName: action.userName };\n }\n case UPDATE_ALL_SETTINGS: {\n return { ...state, settings: action.settings };\n }\n case UPDATE_SETTING: {\n const settings = { ...state.settings, ...action.setting };\n return { ...state, settings };\n }\n case REMOVE_SETTING: {\n const settings = { ...state.settings };\n delete settings[action.key];\n return { ...state, settings };\n }\n default:\n return state;\n }\n};\n\nfunction SettingsProvider({\n userName: initialUsername,\n settingsKey,\n children,\n initialSettings,\n onChange,\n getSettingsApi,\n updateSettingsApi,\n}) {\n const [state, dispatch] = useReducer(reducer, {\n settings: initialSettings,\n userName: initialUsername,\n });\n const currentSettingsFromServer = useRef();\n\n useEffect(() => {\n const { userName } = state;\n if (!getSettingsApi || !userName) return;\n getSettingsApi({\n entityType: 'user',\n entityId: userName,\n key: settingsKey,\n })\n .then(({ data: settings }) => {\n dispatch({\n type: UPDATE_ALL_SETTINGS,\n settings,\n userName,\n settingsKey,\n });\n currentSettingsFromServer.current = JSON.stringify(settings);\n })\n .catch((error) => {\n const { response } = error;\n if (response.status !== 404) {\n throw new Error(error);\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.userName]);\n\n useEffect(() => {\n if (onChange) onChange(state.settings);\n const { userName } = state;\n if (!updateSettingsApi || !userName) return;\n const newValue = JSON.stringify(state.settings);\n const currentValue = currentSettingsFromServer.current;\n if (!currentValue || newValue === currentValue) return;\n updateSettingsApi({\n entityType: 'user',\n entityId: userName,\n key: settingsKey,\n value: newValue,\n });\n currentSettingsFromServer.current = newValue;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.settings]);\n\n return (\n <SettingsStateContext.Provider value={state}>\n <SettingsDispatchContext.Provider value={dispatch}>\n {children}\n </SettingsDispatchContext.Provider>\n </SettingsStateContext.Provider>\n );\n}\n\nconst useSettingsState = () => {\n const state = useContext(SettingsStateContext);\n if (!state) throw new Error('useSettingsState must be used within SettingsStateContext');\n return state;\n};\n\nconst useSettingsDispatch = () => {\n const dispatch = useContext(SettingsDispatchContext);\n if (!dispatch) throw new Error('useSettingsDispatch must be used within SettingsDispatchContext');\n return dispatch;\n};\n\nconst useSettingsActions = () => {\n const dispatch = useSettingsDispatch();\n const updateAllSettings = useCallback(\n (settings) => dispatch({ type: UPDATE_ALL_SETTINGS, settings }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateSetting = useCallback(\n (setting) => dispatch({ type: UPDATE_SETTING, setting }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateUsername = useCallback(\n (userName) => dispatch({ type: UPDATE_USERNAME, userName }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const removeSetting = useCallback((key) => dispatch({ type: REMOVE_SETTING, key }), []);\n return {\n updateAllSettings,\n updateSetting,\n updateUsername,\n removeSetting,\n };\n};\n\nconst useSettings = () => {\n const { settings = {} } = useSettingsState();\n const actions = useSettingsActions();\n return {\n ...actions,\n settings,\n };\n};\n\nSettingsProvider.propTypes = {\n userName: PropTypes.string,\n settingsKey: PropTypes.string,\n children: PropTypes.objectOf(PropTypes.any),\n initialSettings: PropTypes.objectOf(PropTypes.any),\n onChange: PropTypes.func,\n getSettingsApi: PropTypes.func,\n updateSettingsApi: PropTypes.func,\n};\n\nSettingsProvider.defaultProps = {\n userName: undefined,\n settingsKey: undefined,\n children: null,\n initialSettings: {},\n onChange: null,\n getSettingsApi: MetadataApi.getSimpleMetadataKey,\n updateSettingsApi: MetadataApi.updateSimpleMetadataKey,\n};\n\nexport { SettingsProvider, useSettingsActions, useSettings };\n","import { createContext, useCallback, useRef, useEffect, useMemo, useContext } from 'react';\n\nimport PropTypes from 'prop-types';\nimport { useCookies } from 'react-cookie';\n\nimport { user as UserApi, noauth as NoAuthApi, utils as api } from '@vidispine/vdt-api';\n\nimport { useApi } from '../hooks';\nimport { VidispineApi } from '../wrappers';\n\nconst VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';\nconst VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';\nconst VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';\nconst VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';\nconst ERROR_CREDENTIALS = 'Incorrect username or password';\nconst ERROR_OFFLINE = 'Offline or CORS not configured';\nconst ERROR_TOKEN_EXPIRED = 'Session expired';\nconst ERROR_SERVER_MISMATCH = 'VIDISPINE_URL mismatch';\n\nconst getErrorMessage = (serverUrl) => {\n try {\n // NoAuthApi.isOnline throws cors error after multiple requests\n return NoAuthApi.getSelfTest({ baseURL: serverUrl })\n .then(() => ERROR_CREDENTIALS)\n .catch(() => ERROR_OFFLINE);\n } catch (_) {\n return Promise.resolve(ERROR_OFFLINE);\n }\n};\n\nconst defaultOnGetToken = ({ maxAge: seconds = 60, userName, password, serverUrl }) => {\n try {\n return UserApi.getToken({\n queryParams: { seconds, autoRefresh: 'true' },\n headers: { password, username: userName },\n baseURL: serverUrl,\n })\n .then(({ data: token }) => {\n return token;\n })\n .catch(() => {\n return getErrorMessage(serverUrl).then((error) => {\n throw Error(error);\n });\n });\n } catch (_) {\n return getErrorMessage(serverUrl).then((error) => {\n throw Error(error);\n });\n }\n};\n\nexport const AuthContext = createContext({\n serverUrl: null,\n token: null,\n userType: null,\n userName: null,\n onLogin: () => null,\n onLogout: () => null,\n});\n\nexport function AuthProvider({\n cookieOptions,\n LoginComponent,\n LoginProps,\n onGetToken,\n onSuccess,\n onError,\n serverUrl: propsServerUrl,\n userName: propsUserName,\n token: propsToken,\n children,\n}) {\n const { data: userType, request: getUser } = useApi(UserApi.getUser);\n\n const [cookies, setCookie, removeCookie] = useCookies([\n VIDISPINE_TOKEN,\n VIDISPINE_USERNAME,\n VIDISPINE_SERVER_URL,\n VIDISPINE_REMEMBER_ME,\n ]);\n const {\n [VIDISPINE_TOKEN]: token = propsToken,\n [VIDISPINE_USERNAME]: userName = propsUserName,\n [VIDISPINE_SERVER_URL]: serverUrl = propsServerUrl,\n } = cookies;\n const rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';\n const { maxAge } = cookieOptions;\n const onLogin = useCallback(\n (values) => {\n let submissionError;\n try {\n return onGetToken({ maxAge, ...values })\n .then((newToken) => {\n const {\n userName: newUserName,\n serverUrl: newServerUrl,\n rememberMe: newRememberMe,\n } = values;\n if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);\n if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);\n if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);\n if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);\n getUser({ userName: newUserName });\n if (onSuccess) onSuccess(values);\n })\n .catch((error) => {\n submissionError = error;\n if (onError) onError(submissionError);\n });\n } catch (error) {\n submissionError = error;\n if (onError) onError(submissionError);\n }\n return submissionError;\n },\n [cookieOptions, maxAge, onError, onGetToken, onSuccess, getUser, setCookie],\n );\n const onLogout = useCallback(() => {\n removeCookie(VIDISPINE_TOKEN, cookieOptions);\n if (!rememberMe) {\n removeCookie(VIDISPINE_USERNAME, cookieOptions);\n removeCookie(VIDISPINE_SERVER_URL, cookieOptions);\n removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);\n }\n }, [cookieOptions, rememberMe, removeCookie]);\n\n const responseInterceptor = useRef();\n useEffect(() => {\n if (token) {\n if (responseInterceptor.current)\n api.defaultClient.interceptors.response.eject(responseInterceptor.current);\n responseInterceptor.current = api.defaultClient.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n onLogout();\n if (onError) onError(Error(ERROR_TOKEN_EXPIRED));\n }\n } else {\n const { config: { baseURL } = {} } = error;\n NoAuthApi.getSelfTest({ baseURL })\n .then(() => {\n onLogout();\n if (onError) onError(Error(ERROR_TOKEN_EXPIRED));\n })\n .catch(() => null); // Will throw if offline or CORS error\n }\n return Promise.reject(error);\n },\n );\n }\n return () => {\n if (responseInterceptor.current)\n api.defaultClient.interceptors.response.eject(responseInterceptor.current);\n };\n }, [onLogout, onError, token]);\n\n useEffect(() => {\n if (token && userName === undefined) {\n UserApi.whoAmI().then(({ data: newUserName }) =>\n setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userName, token]);\n\n useEffect(() => {\n if (token && serverUrl && propsServerUrl && serverUrl !== propsServerUrl) {\n onLogout();\n if (onError) onError(Error(ERROR_SERVER_MISMATCH));\n }\n }, [token, serverUrl, propsServerUrl, onLogout, onError]);\n\n const contextValue = useMemo(\n () => ({\n serverUrl,\n token,\n userType,\n userName,\n onLogin,\n onLogout,\n }),\n [onLogin, onLogout, serverUrl, token, userName, userType],\n );\n\n return token ? (\n <VidispineApi token={token} username={userName} serverUrl={serverUrl}>\n <AuthContext.Provider value={contextValue}>{children}</AuthContext.Provider>\n </VidispineApi>\n ) : (\n <LoginComponent\n onLogin={onLogin}\n userName={userName}\n serverUrl={serverUrl}\n rememberMe={rememberMe}\n {...LoginProps}\n />\n );\n}\n\nAuthProvider.propTypes = {\n cookieOptions: PropTypes.shape({\n maxAge: PropTypes.number,\n path: PropTypes.string,\n }),\n LoginComponent: PropTypes.elementType.isRequired,\n LoginProps: PropTypes.objectOf(PropTypes.any),\n onGetToken: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n serverUrl: PropTypes.string.isRequired,\n userName: PropTypes.string,\n token: PropTypes.string,\n};\n\nAuthProvider.defaultProps = {\n cookieOptions: {\n maxAge: 604800,\n path: '/',\n },\n LoginProps: {},\n onGetToken: defaultOnGetToken,\n children: null,\n onSuccess: null,\n onError: null,\n userName: null,\n token: null,\n};\n\nexport const useAuthContext = () => {\n const context = useContext(AuthContext);\n if (context === undefined) {\n throw new Error('useAuth must be used within an AuthContext');\n }\n\n return context;\n};\n","import React from 'react';\n\nexport const DateTimeInputContext = React.createContext({\n value: undefined,\n setValue: () => null,\n});\n\nexport function DateTimeInputContextProvider({ children, initialState = '' }) {\n const [value, setValue] = React.useState(initialState);\n const contextValue = React.useMemo(\n () => ({\n value,\n setValue,\n }),\n [value],\n );\n return (\n <DateTimeInputContext.Provider value={contextValue}>{children}</DateTimeInputContext.Provider>\n );\n}\n","import { collection as CollectionApi } from '@vidispine/vdt-api';\n\nexport const handleAddEntity = ({ entityId, entityType, collectionId, rootParentId, onError }) => {\n if (collectionId && collectionId !== rootParentId) {\n try {\n return CollectionApi.addCollectionEntity({\n collectionId,\n entityId,\n queryParams: {\n type: entityType.toLowerCase(),\n },\n });\n } catch (error) {\n onError({\n message: `Could not add ${entityId} to collection ${collectionId}`,\n error,\n });\n }\n }\n return undefined;\n};\nexport const handleRemoveEntity = ({\n entityId,\n entityType,\n collectionId,\n rootParentId,\n onError,\n}) => {\n if (collectionId && collectionId !== rootParentId) {\n try {\n return CollectionApi.removeCollectionEntity({\n collectionId,\n entityId,\n queryParams: {\n type: entityType.toLowerCase(),\n },\n });\n } catch (error) {\n onError({\n message: `Could not remove ${entityId} from collection ${collectionId}`,\n error,\n });\n }\n }\n return undefined;\n};\n\nexport const handleMoveEntity = ({\n entityId,\n entityType,\n addToCollectionId,\n removeFromCollectionId,\n rootParentId,\n onAddEntity = handleAddEntity,\n onRemoveEntity = handleRemoveEntity,\n onMoved = () => null,\n onAdded = () => null,\n onRemoved = () => null,\n // eslint-disable-next-line no-console\n onError = ({ message, error }) => console.error(`${message}\\n${error}`),\n}) => {\n if (!addToCollectionId) {\n onError({ message: 'Missing the collection id to add entity to', error: '' });\n return;\n }\n if (!removeFromCollectionId) {\n onError({ message: 'Missing the collection id to remove entity from', error: '' });\n return;\n }\n try {\n const addPromise = onAddEntity({\n entityId,\n entityType,\n rootParentId,\n collectionId: addToCollectionId,\n onError,\n });\n const removePromise = onRemoveEntity({\n entityId,\n entityType,\n rootParentId,\n collectionId: removeFromCollectionId,\n onError,\n });\n const promises = [addPromise, removePromise].filter((e) => e !== undefined);\n Promise.allSettled(promises)\n .then((results) => {\n const failedResults = results.filter((r) => r.status !== 'fulfilled');\n const allSucceeded = failedResults.length === 0;\n const allFailed = failedResults.length === promises.length;\n const oneFailed = failedResults.length === 1;\n if (allSucceeded) {\n onMoved();\n onAdded();\n onRemoved();\n } else if (allFailed) {\n onError({\n message:\n `Could not move ${entityId} from ` +\n `${removeFromCollectionId} to ${addToCollectionId}`,\n error: failedResults.map((fr) => fr.reason).join('\\n'),\n });\n } else if (oneFailed) {\n const failedRequest = failedResults[0].reason.config.method;\n const failedToRemove = failedRequest === 'delete';\n const failedToAdd = failedRequest === 'put';\n onError({\n message: failedToRemove\n ? `Could not remove ${entityId} from collection ${removeFromCollectionId}`\n : `Could not add ${entityId} to collection ${addToCollectionId}`,\n error: failedResults[0].reason,\n });\n let rollbackPromise;\n if (failedToRemove) {\n rollbackPromise = onRemoveEntity({\n entityId,\n entityType,\n collectionId: addToCollectionId,\n onError,\n });\n } else if (failedToAdd) {\n rollbackPromise = onAddEntity({\n entityId,\n entityType,\n collectionId: removeFromCollectionId,\n onError,\n });\n }\n if (rollbackPromise) {\n rollbackPromise\n .then(() => {\n // eslint-disable-next-line no-console\n console.info(\n `Rollbacked moving ${entityId} from ` +\n `${removeFromCollectionId} to ${addToCollectionId}`,\n );\n })\n .catch((error) => {\n onError({ message: 'Could not rollback after moving entity', error });\n });\n }\n }\n })\n .catch((error) => {\n onError({\n message: `Could not add ${entityId} to collection ${addToCollectionId}`,\n error,\n });\n });\n } catch (error) {\n onError({\n message: `Could not move ${entityId} from ${removeFromCollectionId} to collection ${addToCollectionId}`,\n error,\n });\n }\n};\n\nexport default { handleMoveEntity, handleAddEntity, handleRemoveEntity };\n","import { useState } from 'react';\n\nexport default function DropArea({\n children,\n setDrag,\n onDrop: onDropProp,\n onDragEnter: onDragEnterProp,\n onDragOver: onDragOverProp,\n onDragLeave: onDragLeaveProp,\n style,\n}) {\n const [dragCounter, setDragCounter] = useState(0);\n\n const onDrop = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDrag(false);\n if (onDropProp) onDropProp(e);\n };\n\n const onDragEnter = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDragCounter(dragCounter + 1);\n if (dragCounter === 0) setDrag(true);\n if (onDragEnterProp) onDragEnterProp(e);\n };\n\n const onDragOver = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (onDragOverProp) onDragOverProp(e);\n };\n\n const onDragLeave = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDragCounter(dragCounter - 1);\n if (dragCounter === 1) setDrag(false);\n if (onDragLeaveProp) onDragLeaveProp(e);\n };\n\n return (\n <div\n onDragEnter={(e) => onDragEnter(e)}\n onDragOver={(e) => onDragOver(e)}\n onDrop={(e) => onDrop(e)}\n onDragLeave={(e) => onDragLeave(e)}\n style={style}\n >\n {children}\n </div>\n );\n}\n"],"names":["setDefaultState","hasLoaded","isLoading","isError","response","undefined","data","responseRef","current","apiReducer","state","action","type","_objectSpread","responseType","newState","initialState","useApi","apiHandler","cancelToken","useRef","initialDefaultState","initialStateRef","useReducer","_slicedToArray","dispatch","request","useCallback","props","Promise","resolve","reject","canceltoken","api","CancelToken","c","then","reset","cancel","useEffect","CHANGE_PAGE","CHANGE_ROWS","CHANGE_SORT","CHANGE_SEARCHTEXT","CHANGE_SEARCHFIELD","CHANGE_SEARCHFIELDFACET","CHANGE_SEARCHFILTER","CHANGE_SEARCHFILTERFACET","CHANGE_PARENT_COLLECTION","CHANGE_FACET","CHANGE_ITEMSEARCHDOCUMENT","CHANGE_QUERYPARAMS","CHANGE_MATRIXPARAMS","CHANGE_SUGGESTION","ACTION_TYPE","setInitialDefaultState","queryParams","matrixParams","itemSearchDocument","rowsPerPage","page","_objectWithoutProperties","_excluded","content","interval","first","number","intervals","filter","searchReducer","Number","isInteger","searchText","value","sort","field","order","text","facet","parentCollection","operator","name","operation","suggestion","useSearch","onChangeRowsPerPage","newRows","target","onChangePage","newPage","onChangeSort","event","setSearchText","setItemSearchDocument","setQueryParams","setMatrixParams","setSearchField","setSearchFieldFacet","map","count","setSearchFilter","setSearchFilterFacet","fieldList","reduce","a","concat","exclude","setFacet","setParentCollection","setSuggestion","useUpdateEffect","fn","inputs","hasMountedRef","maximumSuggestions","useAutocomplete","useState","autocompleteDoc","setAutocompleteDoc","setAutocompleteField","setAutocompleteText","setAutocompleteMaxSuggestions","SearchApi","searchAutoComplete","suggestions","autocompleteRequestDocument","propKey","selected","setSelected","onSelect","checked","propValue","currentIndex","findIndex","thisSelected","newSelected","splice","isSelected","onClear","initialTab","activeTab","setActiveTab","changeTab","_","newValue","useInterval","callback","delay","savedCallback","tick","id","setInterval","clearInterval","useThumbnailScrub","srcList","savedInterval","initialImgIdx","useMemo","Math","floor","length","imgIdx","setImgIdx","imgIdxRef","width","onMouseEnter","onMouseLeave","imageSrc","CHANGE_TYPE","CHANGE_STATE","CHANGE_PRIORITY","CHANGE_STARTTIME","CHANGE_FINISHTIME","jobMetadata","rest","deleteField","newMatrixParams","_defineProperty","Array","isArray","join","newQueryParams","CHANGE_JOBMETADATA","useJobSearch","fieldName","_typeof","onChangeType","onChangeState","onChangePriority","onChangeStarttime","onChangeFinishtime","onChangeJobmetadata","useLocalStorage","localStorageKey","defaultValue","JSON","parse","window","localStorage","getItem","stringify","setValue","setItem","getValue","uuidv4","replace","crypto","getRandomValues","Uint8Array","toString","b64EncodeUnicode","str","compressToEncodedURIComponent","b64DecodeUnicode","slice","decodeURIComponent","atob","split","charCodeAt","decompressFromEncodedURIComponent","DEFAULT_AUDIO_SHAPETAGS","DEFAULT_VIDEO_SHAPETAGS","DEFAULT_IMAGE_SHAPETAGS","AUDIO_MIMETYPE_PREFIX","VIDEO_MIMETYPE_PREFIX","IMAGE_MIMETYPE_PREFIX","ADDITIONAL_VIDEO_MIMETYPES","ADDITIONAL_IMAGE_MIMETYPES","ADDITIONAL_AUDIO_MIMETYPES","getDefaultShapeTags","file","mimeType","toLowerCase","startsWith","includes","chunkedUpload","uploadInstance","ChunkedUpload","onFail","error","onComplete","resp","upload","onUploadFile","collectionId","onProgress","metadata","propsMetadata","placeholderParams","importParams","chunkedUploadProps","generateTransferId","getShapeTags","itemId","shapeTags","filename","mediaType","originalFilename","metadataDocument","createMetadataType","ImportApi","createImportPlaceholder","container","itemDocument","collectionIds","all","CollectionApi","addCollectionEntity","entityId","transferId","tag","method","createImportComponentRaw","component","err","console","useUploadFiles","handleUploadFile","initialMetadata","files","setFiles","forEach","URL","revokeObjectURL","preview","onAddFiles","newFiles","newFilesObj","title","currentFiles","onChangeFile","idx","changeFile","currentFilesList","currentFile","newMetadata","newProgress","progress","currentMetadata","currentProgress","newFilesList","newFile","onChangeProgress","onChangeMetadata","onUpload","uploadProps","previousPromise","thisFile","res","currentResult","onRemoveFile","_toConsumableArray","i","onRemoveFiles","idxs","useQueryInitialState","history","navigate","propLocation","location","queryName","defaultState","defaultStateRef","queryState","searchParams","URLSearchParams","search","encodedQuery","get","decodedQuery","pathName","queryInitialState","useUpdateQueryState","onSearchStateChange","useEntityAccess","entityType","AccessApi","listEntityAccess","accessControlList","onList","onRemove","accessId","removeEntityAccess","onAdd","accessControlDocument","_excluded2","createEntityAccess","getValueFromData","key","find","d","defaultGetDataAttributes","fieldOrGroup","keys","Object","assign","getOptions","values","f","label","convertValuesXmlToJson","xmlString","doc","DOMParser","parseFromString","fields","getElementsByTagName","json","childNodes","keyNode","valueNode","push","nodeName","firstChild","nodeValue","useAddMetadataFieldAttributes","groups","getDataAttributes","fieldDataToInclude","groupDataToInclude","fieldQueryParams","groupQueryParams","getAttributes","setIsLoading","fieldsWithAttributes","setFieldsWithAttributes","groupsWithAttributes","setGroupsWithAttributes","useDeepCompareEffect","didCancel","addFieldAttributes","fieldsArray","fieldsAttributes","overrides","fieldAttributes","dataAttributes","constraint","options","addGroupAttributes","groupsArray","groupsAttributes","group","groupAttributes","childFields","childGroups","fetchAttributesAsync","_asyncToGenerator","_regeneratorRuntime","fieldPromises","MetadataFieldApi","getMetadataField","warn","groupPromises","groupsToFetch","groupName","FieldGroupApi","getFieldGroup","dataValues","e","jsonValues","g","some","v","newGroupsWithAttributes","b","indexOf","UPDATE_FREQUENCY","UPDATE_MODE","saveSearch","markerField","markerValue","ItemApi","searchItem","result","updateMode","updateFrequency","library","createCollection","collectionDocument","getLibraryFromCollection","getCollection","children","collectionType","libraryType","Error","deleteSearch","libraryId","LibraryApi","removeLibrary","removeCollection","getLibrarySettings","query","getSavedSearchSettings","useSavedSearch","initialSearchState","onSaveSearch","onDeleteSearch","onUpdateSearchMetadata","updateCollectionMetadata","onGetSavedSearchSettings","saveSearchWithMarker","mergeMarkerField","searchProps","useSearchItem","itemListType","onRefresh","useMouseDownPosition","x","y","position","setPosition","setFromEvent","clientX","clientY","addEventListener","removeEventListener","useGetCollection","refreshOnMount","getCollectionItem","useGetEntity","dataType","entityApi","entityTypeId","getLibrary","apiProps","onGetEntity","useUser","UserApi","getUser","userType","userName","updateUser","userDocument","updateUserGroups","updateUserGroup","groupListDocument","removeUserFromGroup","GroupApi","removeGroupUser","changePassword","password","passwordType","deleteUser","disableUser","hard","args","enableUser","CHANGE_QUERY","userSearchDocument","useSearchUser","searchUser","userListDocument","onSearchUser","onChangeQuery","useListGroup","listGroup","groupListType","useListUser","listUser","userListType","HIDE_ROLES","groupSearchDocument","hideRoles","role","useSearchGroup","searchGroup","onSearchGroup","onHideRoles","useGroup","getGroup","groupType","updateGroup","groupDocument","addChildGroups","childGroupList","addParentGroups","parentGroupList","addUsersToGroup","users","userList","user","u","removeChildGroup","childGroupName","removeGroupChildren","removeFromParentGroup","parentGroupName","removeGroup","useGetItem","itemType","useCollectionAutoPlay","defaultEnabled","nextPlaying","setNextPlaying","isAutoPlayEnabled","setIsAutoPlayEnabled","toggleAutoPlay","prevValue","allItemsRef","orderItemsRef","hitsRef","onNext","searchDocument","searchForNext","allItems","orderItems","searchCollectionItem","hits","item","itemList","contentList","currentItemIdx","thisId","remainingItems","nextItem","defaultGetThumbnailTimeCodes","timeCodes","index","uri","timeCodeFromURI","timecodeText","formatTimeCodeText","useHoverScrub","customOffset","durationSeconds","getThumbnailTimeCodes","scrubPosition","setScrubPosition","thumbnailIndex","setThumbnailIndex","showScrub","setShowScrub","thumbnailTimeCodeArray","setThumbnailTimeCodeArray","thumbnailTimeCode","setThumbnailTimeCode","thumbnailWidth","setThumbnailWidth","debouncedSetNewThumbnail","_debounce","val","getOffsetLeft","element","round","getBoundingClientRect","left","getMouseElementPosition","mouseElementPosition","currentTarget","elementWidth","offsetWidth","indexOfPrecededTimeCode","num","arr","curr","diff","abs","newDiff","isPositiveDiff","onMouseMove","mouseTimecodePosition","formatTimeCodeSeconds","newIndex","tc","toSeconds","toFixed","handleShowScrub","useDocSearchAutocomplete","searchDoc","debounceTime","suggestionSettings","accuracy","triggerLength","apiCall","textValue","setTextValue","handleAutocompleteChange","debounce","autocomplete","body","useGetFieldMetadataDataset","MetadatafieldApi","getMetadataFieldAllowedValues","constraintValueListType","getMetadataDataset","datasetField","parentValue","parentField","metadataFieldValueConstraintListDocument","dataset","getCollectionTitle","useGetSavedSearchFolders","childFolders","markerProps","expand","currentFolders","setCurrentFolders","subFolders","setSubFolders","errors","setErrors","getSubFolders","timespan","newFolders","prevState","createFolder","parentId","folderMarkerType","updateCollection","mode","collection","folderId","deleteFolder","removeItem","folder","useRepresentativeItems","onError","representativeItems","setRepresentativeItems","asyncGetRepresentativeItems","getCollectionMetadata","parseMetadataType","flat","includeValueAttributes","newRepresentativeItems","updateAsRepresentativeItem","entityIdValueUuids","uuid","defaultOnGetStorage","storageData","StorageApi","listStorage","storage","defaultOnCreate","list","createLibrary","itemListDocument","defaultOnList","storageInfo","fileName","outputFormat","createNewUri","uriBeforeRegion","uriAfterRegion","newUri","encodeURIComponent","getLibraryBatch","destinationUri","SUCCESSFUL_STATES","INACTIVE_STATES","defaultOnGetFile","params","jobId","filePath","JobApi","getJob","status","FileApi","listFileStorage","storageId","path","methodMetadata","r","open","message","setTimeout","useCsvDownload","onSuccess","onGetFile","onCreateList","onGetStorage","onDownload","useCompoundMetadata","groupFields","setGroupFields","isFamily","el","hasMultipleChild","groupFamily","tableColumns","onChange","row","groupIndex","editIndex","newGroups","newRow","rowIndex","onSubmit","groupNames","newGroup","parentGroup","childGroup","newTimeSpan","subGroup","newSubGroup","MetadataApi","removeMetadata","metadataUuid","updateItemMetadata","useGetEntityMetadata","entity","getEntityMetadata","metadataType","useGetFieldGroup","metadataFieldGroupType","MetadataType","propsMetadataType","joinValue","groupAsList","cloneProps","cloneChild","child","cloneElement","Children","SearchCollection","searchCollection","collectionListType","SearchItem","SearchItemCollection","searchItemCollection","searchResultType","GetItem","GetCollectionContent","GetJobs","listJob","jobs","ListEntityAccess","VidispineApi","_inherits","_createSuper","_classCallCheck","serverUrl","token","username","runAs","defaultClient","defaults","baseURL","headers","Authorization","auth","RunAs","_createClass","prevProps","Component","VIDISPINE_TOKEN","VIDISPINE_USERNAME","VIDISPINE_SERVER_URL","VIDISPINE_REMEMBER_ME","handleOnGetToken","seconds","autoRefresh","getToken","submissionError","Auth","LoginComponent","LoginProps","AppComponent","AppProps","onGetToken","cookieOptions","maxAge","useCookies","cookies","setCookie","removeCookie","rememberMe","onLogin","newToken","newUserName","newServerUrl","newRememberMe","onLogout","_jsx","ErrorBoundaryComponent","info","_jsxs","height","maxHeight","maxWidth","backgroundColor","color","componentStack","ErrorBoundary","hasError","nextProps","nextState","nextInfo","onErrorError","setState","GetFieldGroup","RolesContext","createContext","RolesProvider","intialState","knownUserName","setGroupListType","onGetUserRole","getUserRole","iAm","whoAmI","useRoles","useContext","hasRole","roleName","groupList","ROLE_NAMES","SUPER_ACCESS_USER","thisRole","HasRole","allow","deny","loading","checkedRole","isValidElement","ComposeProviders","providers","reduceRight","acc","Provider","ProviderComponent","provider","providerProps","GetEntityMetadata","withErrorBoundary","WrappedComponent","errorBoundaryProps","compose","funcs","arg","BinContext","defaultIsUniqueBinItem","bin","entityTimespan","start","end","entityExistsInBin","o","entityTimespanExistsInBin","binEntitiesWithSameId","beStart","beEnd","beName","BinProvider","allowDuplicates","defaultAllowDuplicates","isUniqueBinItem","binState","setBinState","setAllowDuplicates","onDelete","binIdToDelete","binId","onEmptyBin","createBinObject","binObject","handleDrop","dragInfo","handleSort","dragId","hoverId","originalDragIndex","dragIndex","hoverIndex","newDragIndex","contextValue","setBin","onDrop","onSort","onFind","SettingsDispatchContext","SettingsStateContext","UPDATE_ALL_SETTINGS","UPDATE_SETTING","UPDATE_USERNAME","REMOVE_SETTING","reducer","settings","setting","SettingsProvider","initialUsername","settingsKey","initialSettings","getSettingsApi","updateSettingsApi","currentSettingsFromServer","currentValue","useSettingsState","useSettingsDispatch","useSettingsActions","updateAllSettings","updateSetting","updateUsername","removeSetting","useSettings","actions","propTypes","PropTypes","string","objectOf","any","func","defaultProps","getSimpleMetadataKey","updateSimpleMetadataKey","ERROR_CREDENTIALS","ERROR_OFFLINE","ERROR_TOKEN_EXPIRED","ERROR_SERVER_MISMATCH","getErrorMessage","NoAuthApi","getSelfTest","defaultOnGetToken","AuthContext","AuthProvider","propsServerUrl","propsUserName","propsToken","responseInterceptor","interceptors","eject","use","config","shape","elementType","isRequired","oneOfType","arrayOf","useAuthContext","context","DateTimeInputContext","React","DateTimeInputContextProvider","handleAddEntity","rootParentId","handleRemoveEntity","removeCollectionEntity","handleMoveEntity","addToCollectionId","removeFromCollectionId","onAddEntity","onRemoveEntity","onMoved","onAdded","onRemoved","addPromise","removePromise","promises","allSettled","results","failedResults","allSucceeded","allFailed","oneFailed","fr","reason","failedRequest","failedToRemove","failedToAdd","rollbackPromise","DropArea","setDrag","onDropProp","onDragEnterProp","onDragEnter","onDragOverProp","onDragOver","onDragLeaveProp","onDragLeave","style","dragCounter","setDragCounter","preventDefault","stopPropagation"],"mappings":"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"}
|