@vidispine/vdt-react 22.4.0-pre.9 → 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 +789 -1352
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +959 -1519
- package/dist/index.js.map +1 -1
- package/package.json +13 -13
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.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/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 { 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","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","_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","newMatrixParams","Array","isArray","join","newQueryParams","CHANGE_JOBMETADATA","useJobSearch","fieldName","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","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","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","serverUrl","token","username","runAs","defaultClient","defaults","baseURL","headers","Authorization","auth","RunAs","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","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.es.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","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","_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","Array","isArray","join","newQueryParams","CHANGE_JOBMETADATA","useJobSearch","fieldName","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","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","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","_createSuper","serverUrl","token","username","runAs","defaultClient","defaults","baseURL","headers","Authorization","auth","RunAs","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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"}
|