@guillotinaweb/react-gmi 0.25.0 → 0.25.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"react-gmi.umd.js","sources":["../src/guillo-gmi/contexts/index.js","../src/guillo-gmi/locales/generic_messages.js","../src/guillo-gmi/lib/helpers.js","../src/guillo-gmi/components/input/button.js","../src/guillo-gmi/components/modal.js","../src/guillo-gmi/hooks/useSetState.js","../src/guillo-gmi/hooks/useCrudContext.js","../src/guillo-gmi/actions/add_item.js","../src/guillo-gmi/hooks/useConfig.js","../src/guillo-gmi/actions/remove_items.js","../src/guillo-gmi/components/input/checkbox.js","../src/guillo-gmi/components/error_zone.js","../src/guillo-gmi/hooks/useInput.js","../src/guillo-gmi/lib/validators.js","../src/guillo-gmi/components/input/input.js","../src/guillo-gmi/components/ui/icon.js","../src/guillo-gmi/components/input/email.js","../src/guillo-gmi/components/input/form.js","../src/guillo-gmi/components/input/password.js","../src/guillo-gmi/components/input/form_builder.js","../src/guillo-gmi/lib/utils.js","../src/guillo-gmi/components/input/select.js","../src/guillo-gmi/hooks/useLocation.js","../src/guillo-gmi/components/Link.js","../src/guillo-gmi/components/TdLink.js","../src/guillo-gmi/components/ui/loading.js","../src/guillo-gmi/components/ui/tag.js","../src/guillo-gmi/components/ui/delete.js","../src/guillo-gmi/components/ui/table.js","../src/guillo-gmi/components/ui/notification.js","../src/guillo-gmi/lib/rest.js","../src/guillo-gmi/lib/search.js","../src/guillo-gmi/lib/client.js","../src/guillo-gmi/components/input/upload.js","../src/guillo-gmi/components/input/textarea.js","../src/guillo-gmi/hooks/useClickAway.js","../src/guillo-gmi/components/input/search_input.js","../src/guillo-gmi/components/input/input_list.js","../src/guillo-gmi/components/input/dropdown.js","../src/guillo-gmi/components/fields/editableField.js","../src/guillo-gmi/components/fields/downloadField.js","../src/guillo-gmi/hooks/useVocabulary.js","../src/guillo-gmi/components/fields/renderField.js","../src/guillo-gmi/components/input/select_vocabulary.js","../src/guillo-gmi/components/input/search_input_list.js","../src/guillo-gmi/components/fields/editComponent.js","../src/guillo-gmi/components/behaviors/iattachment.js","../src/guillo-gmi/components/behaviors/imultiattachment.js","../src/guillo-gmi/components/behaviors/iimageattachment.js","../src/guillo-gmi/components/behaviors/imultiimageattachment.js","../src/guillo-gmi/components/behaviors/imultiimageorderedattachment.js","../src/guillo-gmi/models/sharing.js","../src/guillo-gmi/models/index.js","../src/guillo-gmi/components/behaviors/iworkflow.js","../src/guillo-gmi/components/panel/actions.js","../src/guillo-gmi/hooks/useMountedState.js","../src/guillo-gmi/hooks/useAsyncFn.js","../src/guillo-gmi/hooks/useAsync.js","../src/guillo-gmi/components/panel/addons.js","../src/guillo-gmi/components/panel/behaviors.js","../src/guillo-gmi/components/selected_items_actions.js","../src/guillo-gmi/components/pagination.js","../src/guillo-gmi/components/item.js","../src/guillo-gmi/components/search_labels.js","../src/guillo-gmi/components/search_options_labels.js","../src/guillo-gmi/components/search_vocabulary_labels.js","../src/guillo-gmi/components/panel/items.js","../src/guillo-gmi/components/behavior_view.js","../src/guillo-gmi/components/properties_view.js","../src/guillo-gmi/components/panel/properties.js","../src/guillo-gmi/components/panel/permissions_prinperm.js","../src/guillo-gmi/components/panel/permissions_prinrole.js","../src/guillo-gmi/components/panel/permissions_roleperm.js","../src/guillo-gmi/components/panel/permissions.js","../src/guillo-gmi/components/widgets/tags.js","../src/guillo-gmi/components/context_toolbar.js","../src/guillo-gmi/components/flash.js","../src/guillo-gmi/components/tabs.js","../src/guillo-gmi/views/folder.js","../src/guillo-gmi/views/item.js","../src/guillo-gmi/views/application.js","../src/guillo-gmi/views/base.js","../src/guillo-gmi/views/container.js","../src/guillo-gmi/forms/users.js","../src/guillo-gmi/hooks/useRemoteField.js","../src/guillo-gmi/views/users.js","../src/guillo-gmi/actions/copy_items.js","../src/guillo-gmi/actions/copy_item.js","../src/guillo-gmi/actions/move_items.js","../src/guillo-gmi/actions/move_item.js","../src/guillo-gmi/actions/remove_item.js","../src/guillo-gmi/actions/change_pass.js","../src/guillo-gmi/forms/base.js","../src/guillo-gmi/components/behaviors/idublincore.js","../src/guillo-gmi/views/groups.js","../src/guillo-gmi/components/error_boundary.js","../src/guillo-gmi/components/notallowed.js","../src/guillo-gmi/components/notfound.js","../src/guillo-gmi/components/path.js","../src/guillo-gmi/hooks/useRegistry.js","../src/guillo-gmi/reducers/guillotina.js","../src/guillo-gmi/components/guillotina.js","../src/guillo-gmi/components/layout.js","../src/guillo-gmi/components/login.js","../src/guillo-gmi/forms/required_fields.js","../src/guillo-gmi/lib/auth.js"],"sourcesContent":["import React from 'react'\nimport { createContext } from 'react'\n\nexport const AuthContext = createContext({})\n\nexport const ClientContext = createContext({})\n\nexport const TraversalContext = createContext({})\n\nclass Traversal {\n constructor({ flash, ...props }) {\n Object.assign(this, props)\n if (typeof flash === 'function') this.flash = flash\n }\n\n refresh({ transparent = false } = {}) {\n this.dispatch({ type: 'REFRESH', payload: { transparent } })\n }\n\n get path() {\n return this.state.path\n }\n\n get pathPrefix() {\n return this.state.path.slice(1)\n }\n\n get context() {\n return this.state.context\n }\n\n get containerPath() {\n return this.client.getContainerFromPath(this.path)\n }\n\n apply(data) {\n // apply a optimistic update to context\n this.dispatch({ type: 'APPLY', payload: data })\n }\n\n flash(message, type) {\n this.dispatch({ type: 'SET_FLASH', payload: { flash: { message, type } } })\n window.scrollTo({ top: 0, left: 0, behavior: 'smooth' })\n }\n\n clearFlash() {\n this.dispatch({ type: 'CLEAR_FLASH' })\n }\n\n doAction(action, params) {\n this.dispatch({ type: 'SET_ACTION', payload: { action, params } })\n }\n\n cancelAction() {\n this.dispatch({ type: 'CLEAR_ACTION' })\n }\n\n hasPerm(permission) {\n return this.state.permissions[permission] === true\n }\n\n filterTabs(tabs, tabsPermissions) {\n const result = {}\n Object.keys(tabs).forEach((item) => {\n const perm = tabsPermissions[item]\n if (perm && this.hasPerm(perm)) {\n result[item] = tabs[item]\n } else if (!perm) {\n result[item] = tabs[item]\n }\n })\n return result\n }\n}\n\nexport function TraversalProvider({ children, ...props }) {\n return (\n <TraversalContext.Provider value={new Traversal(props)}>\n {children}\n </TraversalContext.Provider>\n )\n}\n\nexport function useTraversal() {\n return React.useContext(TraversalContext)\n}\n\nexport function ClientProvider({ children, client }) {\n return (\n <ClientContext.Provider value={client}>{children}</ClientContext.Provider>\n )\n}\n\nexport function useGuillotinaClient() {\n return React.useContext(ClientContext)\n}\n","import { defineMessages } from 'react-intl'\n\nexport const genericMessages = defineMessages({\n loading: {\n id: 'loading',\n defaultMessage: 'Loading',\n },\n remove: {\n id: 'remove',\n defaultMessage: 'Remove',\n },\n install: {\n id: 'install',\n defaultMessage: 'Install',\n },\n delete: {\n id: 'delete',\n defaultMessage: 'Delete',\n },\n move_to: {\n id: 'move_to',\n defaultMessage: 'Move to...',\n },\n copy_to: {\n id: 'copy_to',\n defaultMessage: 'Copy to...',\n },\n behaviors: {\n id: 'behaviors',\n defaultMessage: 'Behaviors',\n },\n static: {\n id: 'static',\n defaultMessage: 'Static',\n },\n disable: {\n id: 'disable',\n defaultMessage: 'Disable',\n },\n enable: {\n id: 'enable',\n defaultMessage: 'Enable',\n },\n enabled: {\n id: 'enabled',\n defaultMessage: 'Enabled',\n },\n available: {\n id: 'available',\n defaultMessage: 'Available',\n },\n invalid_form_data: {\n id: 'invalid_form_data',\n defaultMessage: 'Invalid form data',\n },\n invalid_form: {\n id: 'invalid_form',\n defaultMessage: 'Invalid form',\n },\n select_principal: {\n id: 'select_principal',\n defaultMessage: 'Select a Principal',\n },\n select_role: {\n id: 'select_role',\n defaultMessage: 'Select a Role',\n },\n select_permissions: {\n id: 'select_permissions',\n defaultMessage: 'Select permissions',\n },\n operation: {\n id: 'operation',\n defaultMessage: 'Operation',\n },\n save: {\n id: 'save',\n defaultMessage: 'Save',\n },\n choose: {\n id: 'choose',\n defaultMessage: 'Choose...',\n },\n property: {\n id: 'property',\n defaultMessage: 'Property',\n },\n value: {\n id: 'value',\n defaultMessage: 'Value',\n },\n create: {\n id: 'create',\n defaultMessage: 'Create',\n },\n upload: {\n id: 'upload',\n defaultMessage: 'Upload',\n },\n image: {\n id: 'image',\n defaultMessage: 'Image',\n },\n error_provide_key_name: {\n id: 'error_provide_key_name',\n defaultMessage: 'Provide a key name',\n },\n mandatory_field: {\n id: 'mandatory_field',\n defaultMessage: '{field} is mandatory!',\n },\n error_in_field: {\n id: 'error_in_field',\n defaultMessage: 'Error in field {field}!',\n },\n field_updated: {\n id: 'field_updated',\n defaultMessage: 'Field {field}, updated!',\n },\n field_deleted: {\n id: 'field_deleted',\n defaultMessage: 'Field {field}, deleted!',\n },\n can_not_delete_field: {\n id: 'can_not_delete_field',\n defaultMessage: 'You can not delete {field}!',\n },\n cancel: {\n id: 'cancel',\n defaultMessage: 'Cancel',\n },\n open: {\n id: 'open',\n defaultMessage: 'Open',\n },\n download: {\n id: 'download',\n defaultMessage: 'Download',\n },\n search: {\n id: 'search',\n defaultMessage: 'Search',\n },\n no_results: {\n id: 'no_results',\n defaultMessage: 'No results',\n },\n load_more: {\n id: 'load_more',\n defaultMessage: 'Load more',\n },\n add_type: {\n id: 'add_type',\n defaultMessage: 'Add {type}',\n },\n confirm: {\n id: 'confirm',\n defaultMessage: 'Confirm',\n },\n field_is_required: {\n id: 'field_is_required',\n defaultMessage: 'This field is required',\n },\n title: {\n id: 'title',\n defaultMessage: 'Title',\n },\n add: {\n id: 'add',\n defaultMessage: 'Add',\n },\n not_implemented: {\n id: 'not_implemented',\n defaultMessage: 'Not implemented',\n },\n failed_to_update: {\n id: 'failed_to_update',\n defaultMessage: 'Failed to update: {error}',\n },\n add_user: {\n id: 'add_user',\n defaultMessage: 'Add a User',\n },\n role: {\n id: 'role',\n defaultMessage: 'Role',\n },\n setting: {\n id: 'setting',\n defaultMessage: 'Setting',\n },\n permission: {\n id: 'permission',\n defaultMessage: 'Permission',\n },\n})\n\nexport const genericFileMessages = defineMessages({\n error_file_key_name: {\n id: 'error_file_key_name',\n defaultMessage: 'Provide a file and a key name',\n },\n error_upload_file: {\n id: 'error_upload_file',\n defaultMessage: 'Failed to upload file',\n },\n error_upload_file_size: {\n id: 'error_upload_file_size',\n defaultMessage: 'Failed to upload file {size}',\n },\n image_uploaded: {\n id: 'image_uploaded',\n defaultMessage: 'Image uploaded!',\n },\n file_uploaded: {\n id: 'file_uploaded',\n defaultMessage: 'File uploaded!',\n },\n failed_delete_file: {\n id: 'failed_delete_file',\n defaultMessage: 'Failed to delete file',\n },\n image_deleted: {\n id: 'image_deleted',\n defaultMessage: 'Image deleted!',\n },\n confirm_message_delete_file: {\n id: 'confirm_message_delete_file',\n defaultMessage: 'Are you sure to remove: {fileKeyToDelete}?',\n },\n confirm_message_delete_image: {\n id: 'confirm_message_delete_image',\n defaultMessage: 'Are you sure to remove the image?',\n },\n no_images_uploaded: {\n id: 'no_images_uploaded',\n defaultMessage: 'No images uploaded',\n },\n no_files_uploaded: {\n id: 'no_files_uploaded',\n defaultMessage: 'No files uploaded',\n },\n upload_an_image: {\n id: 'upload_an_image',\n defaultMessage: 'Upload an image',\n },\n upload_a_file: {\n id: 'upload_a_file',\n defaultMessage: 'Upload a file',\n },\n})\n","import { genericMessages } from '../locales/generic_messages'\n\nexport const classnames = (classNames) => {\n return classNames.filter(Boolean).join(' ').trim()\n}\n\nexport const noop = () => {}\n\nlet current = 0\n\nexport const generateUID = (prefix) => `${prefix || 'id'}-${current++}`\n\nexport const toQueryString = (params) => {\n return Object.keys(params)\n .map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key])\n })\n .join('&')\n}\n\nexport function base64ToArrayBuffer(base64) {\n const binaryString = window.atob(base64)\n const binaryLen = binaryString.length\n const bytes = new Uint8Array(binaryLen)\n for (var i = 0; i < binaryLen; i++) {\n var ascii = binaryString.charCodeAt(i)\n bytes[i] = ascii\n }\n return bytes\n}\n\nexport function stringToSlug(str) {\n str = str.replace(/^\\s+|\\s+$/g, '') // trim\n str = str.toLowerCase()\n\n // remove accents, swap ñ for n, etc\n var from = 'àáäâèéëêìíïîòóöôùúüûñç·/_,:;'\n var to = 'aaaaeeeeiiiioooouuuunc------'\n for (var i = 0, l = from.length; i < l; i++) {\n str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i))\n }\n\n str = str\n .replace(/[^a-z0-9 -]/g, '') // remove invalid chars\n .replace(/\\s+/g, '-') // collapse whitespace and replace by -\n .replace(/-+/g, '-') // collapse dashes\n\n return str\n}\n\nexport function sleep(ms) {\n return new Promise((resolve) => {\n setTimeout(function () {\n resolve()\n }, ms)\n })\n}\n\nexport const getActionsObject = (intl, multiple = false) => ({\n DELETE: {\n text: intl.formatMessage(genericMessages.delete),\n perms: ['guillotina.DeleteContent'],\n action: multiple ? 'removeItems' : 'removeItem',\n },\n MOVE: {\n text: intl.formatMessage(genericMessages.move_to),\n perms: ['guillotina.MoveContent'],\n action: multiple ? 'moveItems' : 'moveItem',\n },\n COPY: {\n text: intl.formatMessage(genericMessages.copy_to),\n perms: ['guillotina.DuplicateContent'],\n action: multiple ? 'copyItems' : 'copyItem',\n },\n})\n","import React from 'react'\nimport { classnames } from '../../lib/helpers'\n\nconst noop = () => {}\n\nexport const Button = ({\n children,\n className = 'is-primary',\n onClick,\n type = 'submit',\n loading = false,\n disabled = false,\n dataTest,\n ...rest\n}) => {\n let css = [].concat('button', ...className.split(' '))\n if (loading) css = css.concat('is-loading')\n if (disabled) onClick = noop\n\n return (\n <p className=\"control\">\n <button\n type={type}\n className={classnames(css)}\n onClick={onClick}\n disabled={disabled}\n {...rest}\n data-test={dataTest}\n >\n {children}\n </button>\n </p>\n )\n}\n","import React from 'react'\nimport usePortal from 'react-useportal'\nimport { Button } from './input/button'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function Modal(props) {\n const { isActive, setActive, children } = props\n const { Portal } = usePortal()\n\n const css = 'modal ' + (isActive ? 'is-active ' : '') + props.className\n return (\n <Portal>\n <div className={css}>\n <div className=\"modal-background\" onClick={() => setActive(false)} />\n <div className=\"modal-content\">\n <div className=\"box\">{children}</div>\n </div>\n <button\n className=\"modal-close is-large\"\n aria-label=\"close\"\n onClick={() => setActive(false)}\n />\n </div>\n </Portal>\n )\n}\n\nexport function Confirm({ message, onCancel, onConfirm, loading }) {\n const intl = useIntl()\n const setActive = () => onCancel()\n return (\n <Modal isActive setActive={setActive} className=\"confirm\">\n <React.Fragment>\n <h1 className=\"title is-size-5\">{message || 'Are you Sure?'}</h1>\n <div className=\"level\" style={{ marginTop: 50 }}>\n <div className=\"level-left\"></div>\n <div className=\"level-right\">\n <button\n className=\"button is-danger\"\n onClick={() => onCancel()}\n data-test=\"btnCancelModalTest\"\n >\n {intl.formatMessage(genericMessages.cancel)}\n </button>\n &nbsp;&nbsp;\n <Button\n loading={loading}\n className=\"is-success\"\n onClick={() => onConfirm()}\n dataTest=\"btnConfirmModalTest\"\n >\n {intl.formatMessage(genericMessages.confirm)}\n </Button>\n </div>\n </div>\n </React.Fragment>\n </Modal>\n )\n}\n\n// @todo Improve it... Replacing the inputText to a tree\nexport function PathTree({\n title,\n defaultPath,\n children,\n onConfirm,\n onCancel,\n}) {\n const intl = useIntl()\n return (\n <Modal isActive setActive={onCancel}>\n <h1>{title}</h1>\n <form\n onSubmit={(e) => {\n e.preventDefault()\n onConfirm(e.target[0].value, e.target)\n }}\n >\n <small style={{ display: 'block', marginTop: 20 }}>\n {`Example: /folder (without /db/container on front)`}\n </small>\n <input\n className=\"input mb-3\"\n defaultValue={defaultPath}\n type=\"text\"\n data-test=\"inputPathTreeTest\"\n />\n {children}\n <div className=\"level-right mt-3\">\n <button\n type=\"button\"\n className=\"button is-danger\"\n onClick={onCancel}\n data-test=\"btnCancelModalTest\"\n >\n {intl.formatMessage(genericMessages.cancel)}\n </button>\n &nbsp;&nbsp;\n <button\n type=\"submit\"\n className=\"button is-success\"\n data-test=\"btnConfirmModalTest\"\n >\n {intl.formatMessage(genericMessages.confirm)}\n </button>\n </div>\n </form>\n </Modal>\n )\n}\n","import { useCallback, useState } from 'react'\n\nexport default function useSetState(initialState) {\n const [state, set] = useState(initialState)\n const setState = useCallback(\n (patch) => {\n set((prevState) =>\n Object.assign(\n {},\n prevState,\n patch instanceof Function ? patch(prevState) : patch\n )\n )\n },\n [set]\n )\n\n return [state, setState]\n}\n","import { useTraversal } from '../contexts'\nimport useSetState from './useSetState'\n\nconst initial = {\n loading: undefined,\n isError: false,\n errorMessage: undefined,\n result: undefined,\n response: undefined,\n}\n\nconst getErrorMessage = (dataError, defaultValue) => {\n if (dataError && dataError.details) {\n return dataError.details\n } else if (dataError && dataError.reason) {\n return dataError.reason\n }\n return defaultValue\n}\n\nconst processResponse = async (res, ready_body = true) => {\n if (res.status < 400)\n return {\n isError: false,\n loading: false,\n result: ready_body ? await res.json() : res.status,\n response: res,\n }\n else\n return {\n isError: true,\n loading: false,\n errorMessage: getErrorMessage(await res.json(), res.status),\n response: res,\n }\n}\n\nconst patch = (setState, Ctx) => async (data, endpoint, body = false) => {\n setState({ loading: true })\n let newState = {}\n try {\n const path = endpoint ? `${Ctx.path}${endpoint}` : Ctx.path\n const res = await Ctx.client.patch(path, data)\n newState = await processResponse(res, body)\n } catch (e) {\n console.error('Error', e)\n newState = { isError: true, errorMessage: 'unhandled exception' }\n }\n setState(newState)\n return newState\n}\n\nconst del = (setState, Ctx) => async (data, endpoint, body = false) => {\n setState({ loading: true })\n let newState = {}\n try {\n const path = endpoint ? `${Ctx.path}${endpoint}` : Ctx.path\n const res = await Ctx.client.delete(path, data)\n newState = await processResponse(res, body)\n } catch (e) {\n console.error('Error', e)\n newState = { isError: true, errorMessage: 'unhandled exception' }\n }\n setState(newState)\n return newState\n}\n\nconst post = (setState, Ctx) => async (data, endpoint, body = true) => {\n setState({ loading: true })\n let newState = {}\n try {\n const path = endpoint ? `${Ctx.path}${endpoint}` : Ctx.path\n const res = await Ctx.client.post(path, data)\n newState = await processResponse(res, body)\n } catch (e) {\n console.error('Error', e)\n newState = { isError: true, errorMessage: 'unhandled exception' }\n }\n setState(newState)\n return newState\n}\n\nconst get = (setState, Ctx) => async (endpoint) => {\n setState({ loading: true })\n const path = endpoint ? `${Ctx.path}${endpoint}` : Ctx.path\n const req = await Ctx.client.get(path)\n const data = await req.json()\n setState({ loading: false, result: data, response: req })\n return data\n}\n\nexport function useCrudContext() {\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initial)\n\n return {\n ...state,\n Ctx,\n patch: patch(setState, Ctx),\n del: del(setState, Ctx),\n post: post(setState, Ctx),\n get: get(setState, Ctx),\n }\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { Modal } from '../components/modal'\nimport { useCrudContext } from '../hooks/useCrudContext'\n\nexport function AddItem(props) {\n const Ctx = useTraversal()\n const { post, loading } = useCrudContext()\n const { type } = props\n const { getForm } = Ctx.registry\n\n const Form = getForm(type)\n\n const setActive = () => {\n Ctx.cancelAction()\n }\n\n async function doSubmit(data) {\n const form = Object.assign(\n {},\n { '@type': type },\n data.formData ? data.formData : data\n )\n\n const { isError, errorMessage } = await post(form)\n if (!isError) {\n Ctx.flash('Content created!', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n\n Ctx.cancelAction()\n Ctx.refresh()\n }\n\n return (\n <Modal isActive={true} setActive={setActive}>\n <Form\n loading={loading}\n onSubmit={doSubmit}\n onError={(err) => console.log(err)}\n actionName={'Add ' + type}\n title={'Add ' + type}\n type={type}\n dataTest={`formAdd${type}Test`}\n />\n </Modal>\n )\n}\n","import React from 'react'\n\nexport const Permissions = [\n 'guillotina.AddContent',\n 'guillotina.ModifyContent',\n 'guillotina.ViewContent',\n 'guillotina.DeleteContent',\n 'guillotina.AccessContent',\n 'guillotina.SeePermissions',\n 'guillotina.ChangePermissions',\n 'guillotina.MoveContent',\n 'guillotina.DuplicateContent',\n 'guillotina.ReadConfiguration',\n 'guillotina.RegisterConfigurations',\n 'guillotina.WriteConfiguration',\n 'guillotina.ManageAddons',\n 'guillotina.swagger.View',\n]\n\nexport const Config = {\n DisabledTypes: ['UserManager', 'GroupManager'],\n PageSize: 10,\n DelayActions: 200,\n Permissions: Permissions,\n SearchEngine: 'PostreSQL', // Elasticsearch\n fieldHaveDeleteButton: (schema) => {\n return (\n schema?.widget === 'file' ||\n schema?.widget === 'select' ||\n schema?.type === 'array'\n )\n },\n}\n\nlet calculated = Object.assign({}, Config)\n\nconst addConfig = (additional, original) => {\n const rest = Object.assign({}, original)\n Object.keys(additional).forEach((item) => {\n if (typeof Config[item] === 'object' && Array.isArray(Config[item])) {\n rest[item] = [].concat(Config[item], additional[item])\n } else if (typeof Config[item] === 'object') {\n rest[item] = Object.assign({}, Config[item], additional[item])\n } else {\n rest[item] = additional[item]\n }\n })\n return rest\n}\n\nexport function useConfig(cfg) {\n const ref = React.useRef()\n if (cfg && !ref.current) {\n console.log('cfg', cfg)\n calculated = addConfig(cfg, calculated)\n ref.current = calculated\n }\n\n // if (cfg && !ref.current) {\n // ref.current = addConfig(cfg, ref.current);\n // calculated = ref.current\n // console.log(\"Current config\", cfg)\n // }\n return calculated\n}\n","import React from 'react'\nimport { Confirm } from '../components/modal'\nimport { useTraversal } from '../contexts'\nimport { sleep } from '../lib/helpers'\nimport { useConfig } from '../hooks/useConfig'\n\nexport function RemoveItems(props) {\n const Ctx = useTraversal()\n const cfg = useConfig()\n const [loading, setLoading] = React.useState(false)\n const { items = [] } = props\n const last = items[items.length - 1]['@name']\n const itemsNames = items\n .map((item) => item['@name'])\n .join(', ')\n .replace(`, ${last}`, ` and ${last}`)\n\n async function removeItems() {\n let errors = []\n setLoading(true)\n\n const actions = items.map(async (item) => {\n const res = await Ctx.client.delete(`${Ctx.path}${item['@name']}`)\n if (!res.ok) {\n const err = await res.json()\n errors.push(err)\n }\n })\n // this sleep is here, to let elasticsearch, wait for\n // index our operations... (will work 99% of use cases)\n actions.push(sleep(cfg.DelayActions))\n\n await Promise.all(actions)\n\n if (errors.length === 0) {\n Ctx.flash(`Items removed!`, 'success')\n Ctx.refresh()\n } else {\n const errorstr = errors.map((err) => JSON.stringify(err)).join('\\n')\n Ctx.flash(`Something went wrong!! ${errorstr}`, 'danger')\n }\n setLoading(false)\n Ctx.cancelAction()\n }\n\n return (\n <Confirm\n loading={loading}\n onCancel={() => Ctx.cancelAction()}\n onConfirm={removeItems}\n message={`Are you sure to remove: ${itemsNames}?`}\n />\n )\n}\n","import React, { useEffect, useRef } from 'react'\nimport { classnames } from '../../lib/helpers'\n\nexport const Checkbox = ({\n id,\n className,\n classNameInput,\n loading,\n disabled,\n indeterminate = false,\n value = false,\n color,\n backgroundColor,\n borderColor,\n children,\n placeholder,\n onChange,\n dataTest,\n ...rest\n}) => {\n const inputRef = useRef(null)\n const [state, setState] = React.useState(value)\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate\n }\n }, [indeterminate])\n\n const updateState = (ev) => {\n setState(ev.target.checked)\n onChange(ev.target.checked)\n }\n\n return (\n <div className=\"field\">\n <label htmlFor={id} className={classnames(['checkbox', className])}>\n <input\n ref={inputRef}\n disabled={disabled || loading}\n id={id}\n type=\"checkbox\"\n className={classnames(['checkbox', classNameInput])}\n checked={state}\n onChange={updateState}\n data-test={dataTest}\n {...rest}\n />\n {children || placeholder}\n </label>\n </div>\n )\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { classnames } from '../lib/helpers'\n\nconst ErrorZone = ({ children, id, className }) => {\n return (\n <p className={classnames(['help is-danger', className])} id={id}>\n {children}\n </p>\n )\n}\n\nErrorZone.propTypes = {\n children: PropTypes.node,\n id: PropTypes.string,\n className: PropTypes.string,\n}\n\nexport default ErrorZone\n","import React from 'react'\n\nconst applyValidators = (value, validators) => {\n let validation = Array.isArray(validators) ? validators : [validators]\n let result = true\n validation.forEach((func) => {\n if (func(value) === false) {\n result = false\n }\n })\n return result\n}\n\nconst useInput = (onChange, value, validator) => {\n let [state, setState] = React.useState({ hasError: false, value: value })\n\n const onUpdate = (ev) => {\n const value = ev && ev.target ? ev.target.value : ev ? ev : ''\n setState({ value, hasError: false })\n if (onChange) onChange(value)\n }\n\n const onBlur = () => {\n const hasError = applyValidators(state.value, validator) === false\n if (hasError) setState({ value: state.value, hasError })\n }\n\n const onFocus = () => {\n if (state.hasError) {\n setState({ value: state.value, hasError: false })\n }\n }\n\n React.useEffect(() => {\n setState({ value, hasError: false })\n }, [value])\n\n return {\n onChange: onUpdate,\n onFocus,\n onBlur,\n state,\n }\n}\n\nexport default useInput\n","// From github.com/protonmail/proton-shared\n\n/* eslint-disable no-useless-escape */\nexport const REGEX_EMAIL = /(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/i\nexport const REGEX_URL = /((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[\\-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9\\.\\-]+|(?:www\\.|[\\-;:&=\\+\\$,\\w]+@)[A-Za-z0-9\\.\\-]+)((?:\\/[\\+~%\\/\\.\\w\\-_]*)?\\??(?:[\\-\\+=&;%@\\.\\w_]*)#?(?:[\\.\\!\\/\\\\\\w]*))?)/\nexport const REGEX_HEX_COLOR = /^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\\b$/i\nexport const REGEX_NUMBER = /^\\d+$/\n\nexport const isEmpty = (value = '') => !value.length\nexport const maxLength = (value = '', limit = 0) => value.length <= limit\nexport const minLength = (value = '', limit = 0) => value.length >= limit\nexport const isEmail = (value = '') => REGEX_EMAIL.test(value)\nexport const isURL = (value = '') => REGEX_URL.test(value)\nexport const isHexColor = (value = '') => REGEX_HEX_COLOR.test(value)\nexport const isNumber = (value = '') => REGEX_NUMBER.test(value)\nexport const notEmpty = (value) => !!value.length\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { classnames, generateUID } from '../../lib/helpers'\nimport ErrorZone from '../error_zone'\nimport useInput from '../../hooks/useInput'\nimport { notEmpty } from '../../lib/validators'\nimport { useEffect } from 'react'\n\nconst noop = () => true\n\n/** @type any */\nexport const Input = React.forwardRef(\n (\n {\n icon,\n iconPosition = 'has-icons-right',\n error,\n errorZoneClassName,\n autoComplete = 'off',\n className = '',\n widget = 'input',\n type = 'text',\n onPressEnter,\n isSubmitted,\n loading = false,\n required = false,\n id,\n placeholder,\n value,\n autofocus = false,\n onChange,\n validator = noop,\n errorMessage,\n dataTest = 'testInput',\n ...rest\n },\n ref\n ) => {\n if (required) {\n validator = Array.isArray(validator)\n ? validator.push(notEmpty)\n : [validator, notEmpty]\n }\n\n const { state, ...handlers } = useInput(onChange, value ?? '', validator)\n const [uid] = useState(generateUID('input'))\n const [mounted, setMounted] = useState(false)\n // eslint-disable-next-line\n ref = ref || React.useRef()\n\n useEffect(() => {\n setMounted(true)\n }, [])\n\n useEffect(() => {\n if (autofocus && !error) {\n ref.current.focus()\n }\n }, [mounted, autofocus, ref, error])\n\n const theError = state.hasError ? errorMessage || 'invalid field' : ''\n const statusClasses = state.hasError ? 'is-danger' : ''\n\n const cssControl = () => (icon ? ['control', iconPosition] : ['control'])\n\n return (\n <div className=\"field\">\n {id && placeholder ? (\n <label className=\"label\" htmlFor={id}>\n {placeholder}\n </label>\n ) : null}\n <div className={classnames(cssControl())}>\n <input\n className={classnames([widget, className, statusClasses])}\n aria-invalid={theError}\n aria-describedby={uid}\n id={id}\n ref={ref}\n type={type}\n value={state.value}\n placeholder={placeholder}\n autoComplete={autoComplete}\n disabled={loading || rest.disabled}\n required={required}\n data-test={dataTest}\n {...handlers}\n {...rest}\n />\n {icon && icon}\n </div>\n <ErrorZone className={errorZoneClassName} id={uid}>\n {state.hasError ? theError : ''}\n </ErrorZone>\n </div>\n )\n }\n)\n\nInput.propTypes = {\n icon: PropTypes.node,\n iconPosition: PropTypes.arrayOf(\n PropTypes.oneOf(['has-icons-left', 'has-icons-right', ''])\n ),\n error: PropTypes.string,\n errorZoneClassName: PropTypes.string,\n autoComplete: PropTypes.string,\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n loading: PropTypes.bool,\n isSubmitted: PropTypes.bool,\n id: PropTypes.string,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onPressEnter: PropTypes.func,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n required: PropTypes.bool,\n type: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n}\n","import React from 'react'\nimport { classnames } from '../../lib/helpers'\n\nexport const Icon = ({ icon, className, align }) => {\n const addClass = className ? className.split(' ') : [className]\n\n align = align || 'is-right'\n\n return (\n <span className={classnames(['icon', align, ...addClass])}>\n <i className={icon}></i>\n </span>\n )\n}\n","import React from 'react'\nimport { Input } from './input'\nimport { isEmail } from '../../lib/validators'\nimport { Icon } from '../ui/icon'\nimport { useIntl } from 'react-intl'\n\nexport const EmailInput = ({ value = '', dataTest, ...rest }) => {\n const intl = useIntl()\n return (\n <Input\n type=\"email\"\n validator={isEmail}\n errorMessage={intl.formatMessage({\n id: 'invalid_email',\n defaultMessage: 'Invalid email',\n })}\n value={value}\n data-test={dataTest}\n icon={<Icon icon=\"fas fa-envelope\" />}\n {...rest}\n />\n )\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { noop } from '../../lib/helpers'\nimport { classnames } from '../../lib/helpers'\n\nexport const Form = ({\n children,\n className = '',\n onSubmit = noop,\n onReset = noop,\n autoComplete = 'off',\n title,\n error,\n dataTest,\n ...rest\n}) => {\n const handleSubmit = (event) => {\n event.preventDefault()\n onSubmit(event)\n }\n return (\n <div data-test={dataTest}>\n {title && (\n <div className=\"level\">\n <h1 className=\"title is-size-4\">{title}</h1>\n </div>\n )}\n {error && <div className=\"notification is-danger\">{error}</div>}\n <form\n onSubmit={handleSubmit}\n onReset={onReset}\n autoComplete={autoComplete}\n className={classnames(['form', className])}\n {...rest}\n >\n {children}\n </form>\n </div>\n )\n}\n\nForm.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n onSubmit: PropTypes.func,\n onReset: PropTypes.func,\n autoComplete: PropTypes.string,\n}\n","import React from 'react'\nimport { Input } from './input'\n\nexport const PasswordInput = ({ value = '', ...rest }) => {\n return <Input value={value} type=\"password\" {...rest} />\n}\n","import React from 'react'\nimport { Form } from './form'\nimport { Input } from './input'\nimport { EmailInput } from './email'\nimport { PasswordInput } from './password'\nimport { Button } from './button'\nimport { Checkbox } from './checkbox'\nimport { generateUID } from '../../lib/helpers'\n\nconst formComponents = {\n string: Input,\n password: PasswordInput,\n boolean: Checkbox,\n email: EmailInput,\n}\n\nexport function FormBuilder({\n schema,\n formData,\n title,\n onSubmit,\n actionName,\n children,\n exclude = [],\n remotes = [],\n submitButton = true,\n ...rest\n}) {\n const ref = React.useRef()\n const { properties, required } = schema\n const values = Object.assign({}, formData || {})\n\n // build initial state\n let initialState = {}\n const fields = Object.keys(properties).filter((x) => !exclude.includes(x))\n\n fields.forEach((element) => {\n initialState[element] = values[element] || undefined\n })\n\n // Register remotes\n if (!ref.current) {\n ref.current = {}\n Object.keys(remotes).forEach((item) => (ref.current[item] = remotes[item]))\n } else {\n // apply remote changes\n Object.keys(remotes).forEach((key) => {\n if (JSON.stringify(ref.current[key]) !== JSON.stringify(remotes[key])) {\n ref.current[key] = remotes[key]\n }\n })\n }\n\n ref.current = ref.current || {}\n const onUpdate = (field) => (ev) => {\n ref.current[field] = ev.target ? ev.target.value : ev.value || ev\n }\n\n const GetTag = ({ field }) => {\n const Tag =\n formComponents[properties[field].widget || properties[field].type]\n\n const props = {\n label: properties[field].title,\n value: initialState[field],\n onChange: onUpdate(field),\n placeholder: properties[field].title || '',\n id: generateUID(),\n dataTest: `${field}TestInput`,\n }\n\n if (required.includes(field)) {\n props.required = true\n props.placeholder += ' *'\n }\n Tag.displayName = `${field}Field`\n return <Tag {...props} />\n }\n\n const children_ = React.Children.map(children, (child) =>\n React.cloneElement(child, { onChange: onUpdate })\n )\n\n const changes = () => {\n onSubmit(ref.current, values)\n }\n\n return (\n <Form onSubmit={changes} {...rest}>\n {fields.map((field) => (\n <GetTag field={field} key={field} />\n ))}\n {children_}\n {submitButton && <Button>{actionName}</Button>}\n </Form>\n )\n}\n","import { stringToSlug } from './helpers'\n\nexport const formatDate = (str) => {\n const d = new Date(str)\n const minutes = d.getMinutes() < 10 ? `0${d.getMinutes()}` : d.getMinutes()\n return `${d.getDate()}/${\n d.getMonth() + 1\n }/${d.getFullYear()} ${d.getHours()}:${minutes}`\n}\n\nexport const get = (obj, path, defValue) => {\n // If path is not defined or it has false value\n if (!path) return undefined\n // Check if path is string or array. Regex : ensure that we do not have '.' and brackets.\n // Regex explained: https://regexr.com/58j0k\n const pathArray = Array.isArray(path) ? path : path.match(/([^[.\\]])+/g)\n // Find value if exist return otherwise return undefined value;\n return (\n pathArray.reduce((prevObj, key) => prevObj && prevObj[key], obj) || defValue\n )\n}\n\nexport function getNewId(id = '') {\n const suffix = '-copy-'\n const rgx = new RegExp(`($|${suffix}\\\\d*)`)\n\n return stringToSlug(id).replace(rgx, (r) => {\n const num = parseInt(r.replace(suffix, '') || '0')\n return `${suffix}${num + 1}`\n })\n}\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport ErrorZone from '../error_zone'\nimport { classnames, generateUID } from '../../lib/helpers'\nimport { get } from '../../lib/utils'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n// @ TODO implement hasErrors\n\n/** @type any */\nexport const Select = React.forwardRef(\n (\n {\n options,\n error,\n errorZoneClassName,\n size = 1,\n placeholder,\n id,\n className = '',\n classWrap = '',\n multiple = false,\n loading = false,\n isSubmitted,\n onChange,\n appendDefault = false,\n style = {},\n dataTest,\n value,\n ...rest\n },\n ref\n ) => {\n const intl = useIntl()\n const [uid] = useState(generateUID('select'))\n\n const onUpdate = (ev) => {\n if (multiple) {\n let selectValue = []\n for (let i = 0; i < ev.target.selectedOptions.length; i++) {\n selectValue = selectValue.concat([ev.target.selectedOptions[i].value])\n }\n onChange(selectValue)\n } else {\n const selectValue = get(ev, 'target.value', undefined)\n onChange(selectValue)\n }\n }\n\n if (appendDefault) {\n options = [\n { text: intl.formatMessage(genericMessages.choose), value: '' },\n ].concat(options)\n }\n const statusClasses = error ? 'is-danger' : ''\n\n const cssWrap = [\n 'select',\n statusClasses,\n multiple ? 'is-multiple' : '',\n classWrap,\n ]\n\n return (\n <div className=\"field\">\n {id && placeholder ? (\n <label className=\"label\" htmlFor={id}>\n {placeholder}\n </label>\n ) : null}\n <div className={classnames(cssWrap)}>\n <select\n className={classnames(['', className])}\n size={multiple ? 5 : size}\n multiple={multiple}\n disabled={loading || rest.disabled}\n onChange={onUpdate}\n ref={ref}\n style={style}\n data-test={dataTest}\n value={value}\n {...rest}\n >\n {options.map(({ text, ...rest }, index) => (\n <option key={index.toString()} {...rest}>\n {text}\n </option>\n ))}\n </select>\n </div>\n {error && (\n <ErrorZone className={errorZoneClassName} id={uid}>\n {error ? error : ''}\n </ErrorZone>\n )}\n </div>\n )\n }\n)\n\nSelect.propTypes = {\n error: PropTypes.string,\n disabled: PropTypes.bool,\n loading: PropTypes.bool,\n isSubmitted: PropTypes.bool,\n size: PropTypes.number,\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.object),\n multiple: PropTypes.bool,\n className: PropTypes.string,\n}\n","import { useEffect, useRef, useState, useCallback } from 'react'\n\n// Mostly inspired from\n// https://github.com/molefrog/wouter\n\nconst setURLParams = (p) =>\n window.history['pushState'](\n 0,\n 0,\n (window.history.pathname || '') + '?' + p.toString().replace(/%2F/g, '/')\n )\n\nconst clean = (to) => {\n const current = new URLSearchParams()\n Object.keys(to).forEach((_key) => current.set(_key, to[_key]))\n setURLParams(current)\n}\n\nexport const useLocation = () => {\n const [path, update] = useState(currentSearchParams())\n const prevPath = useRef(path)\n\n useEffect(() => {\n patchHistoryEvents()\n\n // this function checks if the location has been changed since the\n // last render and updates the state only when needed.\n // unfortunately, we can't rely on `path` value here, since it can be stale,\n // that's why we store the last pathname in a ref.\n const checkForUpdates = () => {\n const pathname = currentSearchParams()\n prevPath.current !== pathname && update((prevPath.current = pathname))\n }\n\n const events = ['popstate', 'pushState', 'replaceState']\n events.map((e) => window.addEventListener(e, checkForUpdates))\n\n // it's possible that an update has occurred between render and the effect handler,\n // so we run additional check on mount to catch these updates. Based on:\n // https://gist.github.com/bvaughn/e25397f70e8c65b0ae0d7c90b731b189\n checkForUpdates()\n\n return () =>\n events.map((e) => window.removeEventListener(e, checkForUpdates))\n }, [])\n\n // the 2nd argument of the `useLocation` return value is a function\n // that allows to perform a navigation.\n //\n // the function reference should stay the same between re-renders, so that\n // it can be passed down as an element prop without any performance concerns.\n const navigate = useCallback(\n (to, replace) => {\n if (replace) {\n clean(to)\n return\n }\n let current = new URLSearchParams(path.toString())\n Object.keys(to).forEach((_key) => current.set(_key, to[_key]))\n setURLParams(current)\n },\n [path]\n )\n\n const remove = useCallback(\n (param) => {\n let current = new URLSearchParams(path.toString())\n current.delete(param)\n setURLParams(current)\n },\n [path]\n )\n\n return [path, navigate, remove]\n}\n\n// While History API does have `popstate` event, the only\n// proper way to listen to changes via `push/replaceState`\n// is to monkey-patch these methods.\n//\n// See https://stackoverflow.com/a/4585031\n\nlet patched = 0\n\nconst patchHistoryEvents = () => {\n if (patched) return\n ;['pushState', 'replaceState'].map((type) => {\n const original = window.history[type]\n\n window.history[type] = function () {\n const result = original.apply(this, arguments)\n const event = new Event(type)\n event.arguments = arguments\n\n dispatchEvent(event)\n return result\n }\n })\n\n return (patched = 1)\n}\n\nconst currentSearchParams = (path = window.location.search) =>\n new URLSearchParams(path)\n","import React from 'react'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function Link({ aRef, model, children, ...props }) {\n const [path, navigate] = useLocation()\n const aStyle = { textDecoration: 'none', color: 'currentColor' }\n\n function onClick(e) {\n e.stopPropagation()\n if (actAsLink(e)) return\n e.preventDefault()\n navigate({ path: model.path }, true)\n if (props.onClick) props.onClick(e)\n }\n\n return (\n <a\n {...props}\n ref={aRef}\n href={`?${path}${model.id}/`}\n style={aStyle}\n onClick={onClick}\n >\n {children}\n </a>\n )\n}\n\nfunction actAsLink(e) {\n return e.ctrlKey || e.metaKey || e.altKey || e.shiftKey || e.button !== 0\n}\n","import React, { useRef } from 'react'\nimport { Link } from './Link'\n\nexport function TdLink({ model, children, ...props }) {\n const link = useRef()\n\n function onClick() {\n link.current.click()\n }\n\n return (\n <td {...props} onClick={onClick}>\n <Link model={model} aRef={link}>\n {children}\n </Link>\n </td>\n )\n}\n","import React from 'react'\n\nexport const Loading = ({ ...rest }) => (\n <div className=\"progress-line\" {...rest}></div>\n)\n","import React from 'react'\nimport { classnames } from '../../lib/helpers'\n\nexport const Tag = ({\n name,\n id,\n onRemove,\n size = 'is-medium',\n color = 'is-warning',\n}) => (\n <span className={classnames(['tag', color, size])} data-test={`tag-${id}`}>\n {name}\n {onRemove !== undefined && (\n <button className=\"delete is-small\" onClick={() => onRemove()}></button>\n )}\n </span>\n)\n","import React from 'react'\n\nexport function Delete({ onClick, className, children }) {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n className={`delete ${className}`}\n data-test=\"btnDeleteTest\"\n >\n {children}\n </button>\n )\n}\n","import React from 'react'\nimport { classnames } from '../../lib/helpers'\n\nexport function Table({ headers, children, className }) {\n className = className\n ? className.split(' ')\n : ' is-full is-fullwidth is-narrow'.split(' ')\n return (\n <table className={classnames(['table', ...className])}>\n <thead>\n <tr>\n {headers &&\n headers.map((item, idx) => <th key={item + idx}>{item}</th>)}\n </tr>\n </thead>\n <tbody>{children}</tbody>\n </table>\n )\n}\n","import React from 'react'\n\nexport function Notification({ isColor = '', children }) {\n return (\n <div className={'notification is-' + isColor} data-test=\"notificationTest\">\n {children}\n </div>\n )\n}\n","export class RestClient {\n constructor(url, container, auth) {\n this.auth = auth\n this.url = url\n this.container = container\n }\n\n async request(path, data, headers) {\n if (path.indexOf(this.url) !== -1) {\n path = path.replace(this.url, '')\n }\n\n if (this.container !== '/' && path.indexOf(this.container) === -1) {\n path = `${this.container}${path}`\n }\n\n if (!path.startsWith('/')) {\n path = `/${path}`\n }\n data = data || {}\n data.headers = headers || this.getHeaders()\n return await fetch(`${this.url}${path}`, data)\n }\n\n getHeaders() {\n const authToken = this.auth.getToken()\n if (!authToken) return {}\n return {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: 'Bearer ' + authToken,\n }\n }\n\n async post(path, data) {\n return await this.request(path, {\n method: 'post',\n body: JSON.stringify(data),\n })\n }\n\n async get(path, fetchData) {\n return await this.request(path, fetchData)\n }\n\n async put(path, data) {\n return await this.request(path, {\n method: 'put',\n body: JSON.stringify(data),\n })\n }\n\n async patch(path, data) {\n return await this.request(path, {\n method: 'PATCH',\n body: JSON.stringify(data),\n })\n }\n\n async upload(path, data) {\n const headers = this.getHeaders()\n delete headers['Content-Type']\n headers['Content-Type'] = data['content-type']\n headers['X-UPLOAD-FILENAME'] = data.filename\n headers['Content-Encoding'] = 'base64'\n return await this.request(\n path,\n {\n method: 'PATCH',\n body: data.data,\n },\n headers\n )\n }\n\n async delete(path, data = undefined) {\n return await this.request(path, {\n method: 'delete',\n body: JSON.stringify(data),\n })\n }\n}\n","const SEP = '='\nconst DEFAULT_FIELD = 'title__in'\nconst CLEANER = '||'\n\nexport function parser(qs, defaultField = DEFAULT_FIELD) {\n if (qs.includes(SEP) && Array.isArray(defaultField)) {\n throw new Error('This option is not supported')\n }\n\n if (Array.isArray(defaultField)) {\n const orParser = []\n defaultField.forEach((field) => {\n const parsed = parser(qs, field)\n orParser.push(buildQs(parsed))\n })\n const result = [['__or', orParser.join('&')]]\n return result\n }\n let lastKey = undefined\n qs.trim()\n\n if (qs.includes('\"')) {\n qs = qs.replace(/\"(\\w+) (\\w+)\"/, `$1${CLEANER}$2`)\n }\n\n qs = qs.split(' ')\n return qs.map((part) => {\n if (part.includes(CLEANER)) {\n part = part.replace('||', ' ')\n }\n if (!part.includes(SEP)) {\n return !lastKey ? [defaultField, part] : [lastKey, part]\n }\n const [key, val] = part.split(SEP)\n lastKey = key\n return [key, val]\n })\n}\n\nexport function buildQs(parsedQuery) {\n return parsedQuery\n .map(\n ([key, val]) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`\n )\n .join('&')\n}\n","import React from 'react'\nimport { TdLink } from '../components/TdLink'\nimport { Icon } from '../components/ui'\nimport { toQueryString } from './helpers'\nimport { RestClient } from './rest'\nimport { parser } from './search'\nimport { useLocation } from '../hooks/useLocation'\n\nlet cacheTypes = {}\nlet cacheSchemas = {}\n\nexport class GuillotinaClient {\n constructor(rest, pathContainsContainer) {\n this.rest = rest\n this.pathContainsContainer = pathContainsContainer\n }\n\n getContainerFromPath = (path) => {\n if (this.pathContainsContainer) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n let parts = path.split('/')\n return `${parts[0]}/${parts[1]}/`\n }\n return ''\n }\n\n clearContainerFromPath = (path) => {\n if (this.pathContainsContainer) {\n return `/${this.cleanPath(path)}`\n }\n return path\n }\n\n async getContext(path) {\n switch (path) {\n case '/':\n return await this.rest.get('')\n default:\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.get(path)\n }\n }\n\n async get(path, fetchData) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n return await this.rest.get(path, fetchData)\n }\n\n getQueryParamsPostresql({ start = 0, pageSize = 10, withDepth = true }) {\n let result = []\n\n result = [\n ...parser(start.toString(), 'b_start'),\n ...parser(pageSize.toString(), 'b_size'),\n ]\n if (withDepth) {\n result = [...result, ...(parser('1', 'depth') ?? [])]\n }\n return result\n }\n\n getQueryParamsElasticsearch({\n start = 0,\n pageSize = 10,\n path,\n withDepth = true,\n }) {\n let result = []\n let containerPath = this.getContainerFromPath(path)\n\n if (containerPath.startsWith('/')) {\n containerPath = containerPath.slice(1)\n }\n let objectPath = path.replace(containerPath, '')\n if (objectPath.endsWith('/')) {\n objectPath = objectPath.slice(0, -1)\n }\n\n result = [\n ...parser(start.toString(), '_from'),\n ...parser(pageSize.toString(), 'size'),\n ...parser('*', '_metadata=*'),\n ]\n\n if (withDepth) {\n result = [...result, ...(parser('1', 'depth') ?? [])]\n }\n if (objectPath !== '') {\n result = [...result, ...parser(objectPath, 'path__wildcard')]\n }\n return result\n }\n\n getItemsColumn() {\n const smallcss = { width: 25 }\n const mediumcss = { width: 120 }\n\n return [\n {\n label: '',\n isSortable: false,\n child: (m) => <td style={smallcss}>{<Icon icon={m.icon} />}</td>,\n },\n {\n label: 'type',\n key: 'type_name',\n isSortable: false,\n child: (m) => (\n <TdLink style={smallcss} model={m}>\n <span className=\"tag\">{m.type}</span>\n </TdLink>\n ),\n },\n {\n label: 'id/name',\n key: 'title',\n isSortable: true,\n child: (m, navigate, search) => (\n <TdLink model={m}>\n {m.name}\n {search && (\n <React.Fragment>\n <br />\n <span className=\"is-size-7 tag is-light\">{m.path}</span>\n </React.Fragment>\n )}\n </TdLink>\n ),\n },\n {\n label: 'created',\n key: 'creation_date',\n isSortable: true,\n child: (m) => {\n return (\n <td style={mediumcss} className=\"is-size-7 is-vcentered\">\n {m.created}\n </td>\n )\n },\n },\n {\n label: 'modified',\n key: 'modification_date',\n isSortable: true,\n child: (m) => (\n <td style={mediumcss} className=\"is-size-7 is-vcentered\">\n {m.updated}\n </td>\n ),\n },\n ]\n }\n\n // BBB API changes. Compat G5 and G6\n applyCompat(data) {\n data.member = data.items\n data.items_count = data.items_total\n return data\n }\n\n async search(\n path,\n params,\n container = false,\n prepare = true,\n fetchData = {}\n ) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n\n if (container) {\n path = this.getContainerFromPath(path)\n }\n\n let query = prepare ? toQueryString(params) : params\n const url = `${path}@search?${query}`\n let res = await this.rest.get(url, fetchData)\n let data = await res.json()\n return this.applyCompat(data)\n }\n\n async canido(path, permissions) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n if (Array.isArray(permissions)) {\n permissions.join(',')\n }\n const url = `${path}@canido?permissions=${permissions}`\n return await this.rest.get(url)\n }\n\n async createObject(path, data) {\n return await this.rest.post(path, data)\n }\n\n cleanPath(path) {\n let url = path.split('/').slice(3)\n return `${url.join('/')}`\n }\n\n async delete(path, data) {\n return await this.rest.delete(path, data)\n }\n\n async create(path, data) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.post(path, data)\n }\n\n async post(path, data) {\n return await this.create(path, data)\n }\n\n async patch(path, data) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.patch(path, data)\n }\n\n async upload(path, file) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.upload(path, file)\n }\n\n async download(path) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.get(path)\n }\n\n async getTypeSchema(path, name) {\n if (!cacheSchemas[name]) {\n let url = this.getContainerFromPath(path)\n // todo: handle db case (only addable containers)\n const res = await this.rest.get(`${url}@types/${name}`)\n cacheSchemas[name] = await res.json()\n }\n return cacheSchemas[name]\n }\n\n async getAddons(path) {\n return await this.rest.get(`${path}@addons`)\n }\n\n async installAddon(path, key) {\n return await this.rest.post(`${path}@addons`, { id: key })\n }\n\n async removeAddon(path, key) {\n return await this.rest.delete(`${path}@addons`, { id: key })\n }\n\n async getGroups(path) {\n const endpoint = `${this.getContainerFromPath(path)}@groups`\n return await this.rest.get(endpoint)\n }\n\n async getUsers(path) {\n const endpoint = `${this.getContainerFromPath(path)}@users`\n return await this.rest.get(endpoint)\n }\n\n async getPrincipals(path) {\n const groups = this.getGroups(path)\n const users = this.getUsers(path)\n const [gr, usr] = await Promise.all([groups, users])\n\n return {\n groups: gr.ok ? await gr.json() : [],\n users: usr.ok ? await usr.json() : [],\n }\n }\n\n async getRoles(path) {\n const endpoint = `${this.getContainerFromPath(path)}@available-roles`\n return await this.rest.get(endpoint)\n }\n\n async getAllPermissions(path) {\n // paths used to query the API always has to start without a \"/\"\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n const req = await this.rest.get(path + '@all_permissions')\n const resp = await req.json()\n const permissions = Array.from(new Set(extractPermissions(resp)))\n return permissions\n }\n\n async getTypes(path) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n if (!cacheTypes[path]) {\n const types = await this.rest.get(path + '@addable-types')\n if (types.status === 401 || types.status === 404) {\n cacheTypes[path] = []\n } else {\n const res = await types.json()\n cacheTypes[path] = res\n }\n }\n return cacheTypes[path]\n }\n}\n\nexport function getClient(url, container, auth) {\n return new GuillotinaClient(\n new RestClient(url, container, auth),\n container === '/'\n )\n}\n\nexport const lightFileReader = async (file) => {\n return new Promise((resolve) => {\n const reader = new FileReader()\n reader.readAsArrayBuffer(file)\n reader.onloadend = (e) => {\n const fileData = e.target.result\n resolve({\n filename: file.name.normalize('NFD').replace(/[\\u0300-\\u036f]/g, ''),\n data: fileData,\n 'content-type': file.type,\n })\n }\n })\n}\n\nconst extractPermissions = (data) => {\n let result = []\n if (typeof data !== 'object') {\n } else if (!Array.isArray(data) && data.permission) {\n result = result.concat([data.permission])\n } else if (!Array.isArray(data)) {\n Object.keys(data).map(\n (key) => (result = result.concat(extractPermissions(data[key])))\n )\n } else if (Array.isArray(data)) {\n data.map((item) => (result = result.concat(extractPermissions(item))))\n }\n return result\n}\n","import React from 'react'\nimport { lightFileReader } from '../../lib/client'\nimport { useIntl } from 'react-intl'\n\nexport function FileUpload({ label, onChange, ...props }) {\n const intl = useIntl()\n const changed = async (event) => {\n const file = await lightFileReader(event.target.files[0])\n onChange(file)\n }\n\n return (\n <div className=\"file\">\n <label className=\"file-label\">\n <input\n className=\"file-input\"\n {...props}\n type=\"file\"\n name=\"file\"\n onChange={changed}\n />\n <span className=\"file-cta\">\n <span className=\"file-icon\">\n <i className=\"fas fa-upload\"></i>\n </span>\n <span className=\"file-label\">\n {label ||\n intl.formatMessage({\n id: 'choose_file',\n defaultMessage: 'Choose a file',\n })}\n </span>\n </span>\n </label>\n </div>\n )\n}\n","import React, { useState } from 'react'\nimport ErrorZone from '../error_zone'\nimport { classnames, generateUID } from '../../lib/helpers'\n\nexport const Textarea = React.forwardRef(\n (\n {\n value = '',\n classWrap = '',\n rows = 5,\n className = '',\n onChange,\n dataTest,\n error,\n errorZoneClassName,\n placeholder,\n id,\n ...rest\n },\n ref\n ) => {\n const [uid] = useState(generateUID('select'))\n\n const onUpdate = (ev) => {\n if (onChange) {\n onChange(ev.target.value)\n }\n }\n const statusClasses = error ? 'is-danger' : ''\n\n return (\n <div className=\"field\">\n {id && placeholder ? (\n <label className=\"label\" htmlFor={id}>\n {placeholder}\n </label>\n ) : null}\n <div className={classWrap}>\n <textarea\n className={classnames(['textarea', className, statusClasses])}\n rows={rows}\n onChange={onUpdate}\n value={value}\n data-test={dataTest}\n {...rest}\n ref={ref}\n />\n </div>\n <ErrorZone className={errorZoneClassName} id={uid}>\n {error ? error : ''}\n </ErrorZone>\n </div>\n )\n }\n)\n","import { useEffect, useRef } from 'react'\n\nconst defaultEvents = ['mousedown', 'touchstart']\nconst on = (obj, ...args) => obj.addEventListener(...args)\nconst off = (obj, ...args) => obj.removeEventListener(...args)\n\nexport default function useClickAway(ref, onClickAway, events = defaultEvents) {\n const savedCallback = useRef(onClickAway)\n\n useEffect(() => {\n savedCallback.current = onClickAway\n }, [onClickAway])\n\n useEffect(() => {\n const handler = (event) => {\n const { current: el } = ref\n el && !el.contains(event.target) && savedCallback.current(event)\n }\n\n for (const eventName of events) {\n on(document, eventName, handler)\n }\n\n return () => {\n for (const eventName of events) {\n off(document, eventName, handler)\n }\n }\n }, [events, ref])\n}\n","import React, { useState, useEffect, useCallback } from 'react'\n\nimport PropTypes from 'prop-types'\nimport { buildQs } from '../../lib/search'\nimport { parser } from '../../lib/search'\nimport useSetState from '../../hooks/useSetState'\nimport ErrorZone from '../error_zone'\nimport { Loading } from '../ui'\nimport { generateUID } from '../../lib/helpers'\nimport { useConfig } from '../../hooks/useConfig'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\nimport useClickAway from '../../hooks/useClickAway'\nimport { get } from '../../lib/utils'\nfunction debounce(func, wait) {\n let timeout\n return function () {\n const context = this\n const args = arguments\n const later = function () {\n timeout = null\n func.apply(context, args)\n }\n clearTimeout(timeout)\n timeout = setTimeout(later, wait)\n }\n}\n\nconst initialState = {\n page: 0,\n items: undefined,\n loading: false,\n items_total: 0,\n}\n\nexport const SearchInput = ({\n onChange,\n error,\n errorZoneClassName,\n traversal = null,\n path = null,\n qs = [],\n queryCondition = 'id__in',\n value,\n btnClass = '',\n dataTestWrapper = 'wrapperSearchInputTest',\n dataTestSearchInput = 'searchInputTest',\n dataTestItem = 'searchInputItemTest',\n renderTextItemOption = null,\n typeNameQuery = null,\n labelProperty = 'id',\n}) => {\n const intl = useIntl()\n const [options, setOptions] = useSetState(initialState)\n const [isOpen, setIsOpen] = React.useState(false)\n const [searchTerm, setSearchTerm] = React.useState('')\n const inputRef = React.useRef(null)\n const wrapperRef = React.useRef(null)\n const { PageSize, SearchEngine } = useConfig()\n const [valueLabel, setValueLabel] = useState(undefined)\n const [isLoadingData, setIsLoadingData] = useState(false)\n const [uid] = useState(generateUID('search_input'))\n\n useClickAway(wrapperRef, () => {\n setIsOpen(false)\n })\n\n const getHeight = () => {\n if (wrapperRef && wrapperRef.current) {\n return {\n maxHeight: `${\n window.innerHeight -\n wrapperRef.current.getBoundingClientRect().top -\n 100\n }px`,\n }\n }\n return { maxHeight: 'auto' }\n }\n\n const delayedQuery = useCallback(\n debounce((value) => handleSearch(0, false, value), 500),\n []\n )\n\n const inicializeLabels = async () => {\n if (labelProperty !== 'id' && value) {\n setIsLoadingData(true)\n let searchTermQs = []\n const searchTermParsed = [`id`, value]\n const { get: getSearch } = traversal.registry\n const fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine)\n const qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: 0,\n pageSize: PageSize,\n withDepth: false,\n })\n let typeNameParsed = []\n if (typeNameQuery) {\n typeNameParsed = parser(`type_name__in=${typeNameQuery}`)\n }\n if (\n qs.length > 0 ||\n searchTermParsed.length > 0 ||\n qsParsed.length > 0 ||\n typeNameParsed.length > 0\n ) {\n searchTermQs = buildQs([\n ...qs,\n searchTermParsed,\n ...qsParsed,\n ...typeNameParsed,\n ])\n }\n const data = await traversal.client.search(\n path ? path : traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false\n )\n const newValuesLabel = data.items.reduce((result, item) => {\n result[item.id] = get(item, labelProperty, item.id)\n return result\n }, {})\n setValueLabel(newValuesLabel)\n setIsLoadingData(false)\n }\n }\n\n const handleSearch = async (page = 0, concat = false, value = '') => {\n setOptions({ loading: true })\n let searchTermQs = []\n let searchTermParsed = []\n if (value !== '') {\n searchTermParsed = parser(`${queryCondition}=${value}`)\n }\n const { get } = traversal.registry\n const fnName = get('searchEngineQueryParamsFunction', SearchEngine)\n let qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: page * PageSize,\n pageSize: PageSize,\n withDepth: false,\n })\n let sortParsed = parser(`_sort_des=title`)\n let typeNameParsed = []\n if (typeNameQuery) {\n typeNameParsed = parser(`type_name__in=${typeNameQuery}`)\n }\n\n if (\n qs.length > 0 ||\n searchTermParsed.length > 0 ||\n qsParsed.length > 0 ||\n typeNameParsed.length > 0\n ) {\n searchTermQs = buildQs([\n ...qs,\n ...searchTermParsed,\n ...qsParsed,\n ...typeNameParsed,\n ...sortParsed,\n ])\n }\n\n const data = await traversal.client.search(\n path ? path : traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false\n )\n const newItems =\n options.items && concat ? [...options.items, ...data.items] : data.items\n\n setOptions({\n items: newItems ?? [],\n loading: false,\n items_total: data.items_total ?? 0,\n page: page,\n })\n }\n\n const renderTextItemOptionFn = (item) => {\n if (renderTextItemOption) {\n return renderTextItemOption(item)\n }\n return item.title || item['@name']\n }\n\n useEffect(() => {\n if (value) {\n inicializeLabels()\n } else {\n setValueLabel({})\n }\n }, [path, value])\n\n if (valueLabel === undefined) {\n return <div className=\"spinner\" />\n }\n\n return (\n <React.Fragment>\n <div\n data-test={dataTestWrapper}\n ref={wrapperRef}\n className={`dropdown mb-2 ${isOpen ? 'is-active' : ''}`}\n onBlur={(ev) => {\n if (!ev.currentTarget.contains(ev.relatedTarget)) {\n if (searchTerm !== '') {\n setSearchTerm('')\n setOptions(initialState)\n }\n setIsOpen(false)\n }\n }}\n >\n <div className=\"dropdown-trigger\">\n <button\n className={`button ${btnClass}`}\n onClick={(ev) => {\n ev.target.blur()\n setIsOpen(!isOpen)\n if (!options.loading && !options.items) {\n handleSearch(options.page)\n }\n }}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <span>\n {value\n ? get(valueLabel, value, value)\n : intl.formatMessage(genericMessages.choose)}\n </span>\n <span className=\"icon\">\n <i className=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </div>\n <div\n className=\"dropdown-menu\"\n id=\"dropdown-menu\"\n role=\"menu\"\n style={getHeight()}\n >\n <div className=\"dropdown-content\">\n <div className=\"dropdown-item\">\n <input\n ref={inputRef}\n data-test={dataTestSearchInput}\n className=\"input\"\n type=\"text\"\n placeholder={intl.formatMessage(genericMessages.search)}\n value={searchTerm}\n onChange={(ev) => {\n delayedQuery(ev.target.value)\n setSearchTerm(ev.target.value)\n }}\n />\n </div>\n <hr className=\"dropdown-divider\" />\n {options.loading && <Loading />}\n {options.items &&\n options.items.map((item) => {\n return (\n <div\n className={`dropdown-item editable ${\n value === item.id ? 'is-active' : ''\n }`}\n data-test={`${dataTestItem}-${item.id}`}\n onMouseDown={(ev) => {\n ev.preventDefault()\n if (onChange) {\n onChange(item.id)\n }\n setIsOpen(false)\n }}\n key={item.path}\n >\n {renderTextItemOptionFn(item)}\n </div>\n )\n })}\n\n {options.items && options.items.length === 0 && (\n <div className=\"dropdown-item\">\n {intl.formatMessage(genericMessages.no_results)}\n </div>\n )}\n\n {options.items && options.items_total > options.items.length && (\n <React.Fragment>\n <hr className=\"dropdown-divider\" />\n <div\n className=\"dropdown-item editable\"\n onMouseDown={(ev) => {\n ev.stopPropagation()\n ev.preventDefault()\n handleSearch(options.page + 1, true)\n }}\n >\n {intl.formatMessage(genericMessages.load_more)}\n </div>\n </React.Fragment>\n )}\n </div>\n </div>\n </div>\n {error && (\n <ErrorZone className={errorZoneClassName} id={uid}>\n {error ? error : ''}\n </ErrorZone>\n )}\n </React.Fragment>\n )\n}\n\nSearchInput.propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.string,\n path: PropTypes.string,\n btnClass: PropTypes.string,\n error: PropTypes.string,\n errorZoneClassName: PropTypes.string,\n traversal: PropTypes.object,\n qs: PropTypes.array,\n queryCondition: PropTypes.string,\n dataTestWrapper: PropTypes.string,\n dataTestSearchInput: PropTypes.string,\n dataTestItem: PropTypes.string,\n renderTextItemOption: PropTypes.func,\n typeNameQuery: PropTypes.string,\n labelProperty: PropTypes.string,\n}\n","import * as React from 'react'\nimport { Input } from './input'\nimport { useIntl } from 'react-intl'\n\nexport const InputList = React.forwardRef(\n ({ value, onChange, dataTest }, ref) => {\n const intl = useIntl()\n const [inputValue, setInputValue] = React.useState('')\n const addTags = (event) => {\n if (event.key === 'Enter' && event.target.value !== '') {\n onChange([...value, event.target.value])\n setInputValue('')\n }\n }\n\n return (\n <div className=\"control\">\n <div className=\"tags\">\n {value.map((tag, index) => (\n <div\n key={`input_list_${tag}_${index}`}\n className=\"tag is-info is-medium\"\n >\n {tag}\n <button\n className=\"delete is-small\"\n onClick={() =>\n onChange([\n ...value.filter((tag) => value.indexOf(tag) !== index),\n ])\n }\n ></button>\n </div>\n ))}\n </div>\n <Input\n type=\"text\"\n placeholder={intl.formatMessage({\n id: 'press_enter_to_add_value',\n defaultMessage: 'Press enter to add value',\n })}\n onKeyUp={(event) => addTags(event)}\n value={inputValue}\n ref={ref}\n dataTest={dataTest}\n onChange={(value) => {\n if (value !== '') {\n setInputValue(value)\n }\n }}\n />\n </div>\n )\n }\n)\n","import React, { useState, useRef } from 'react'\nimport useClickAway from '../../hooks/useClickAway'\n\nexport default function Dropdown({\n children,\n disabled,\n id,\n isRight,\n onChange,\n optionDisabledWhen,\n options,\n ...props\n}) {\n const ref = useRef(null)\n const [isActive, setIsActive] = useState(false)\n const position = isRight ? 'is-right' : ''\n const status = isActive\n ? `dropdown ${position} is-active`\n : `dropdown ${position}`\n\n useClickAway(ref, () => {\n setIsActive(false)\n })\n\n return (\n <div ref={ref} className={status} {...props}>\n <div className=\"dropdown-trigger\">\n <button\n className=\"button is-size-7\"\n onClick={() => setIsActive(!isActive)}\n aria-haspopup=\"true\"\n disabled={disabled}\n aria-controls={id}\n >\n {children}\n </button>\n </div>\n <div className=\"dropdown-menu\" id={id} role=\"menu\">\n <div className=\"dropdown-content\">\n {options.map((option) => {\n const disabled =\n typeof optionDisabledWhen === 'function'\n ? optionDisabledWhen(option)\n : false\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n <a\n className={\n disabled ? 'dropdown-item is-active' : 'dropdown-item'\n }\n data-test={`dropdownItemTest-${option.value.toLowerCase()}`}\n key={option.text}\n onClick={disabled ? undefined : () => onChange(option.value)}\n style={\n disabled\n ? {\n cursor: 'not-allowed',\n color: 'black',\n opacity: 0.5,\n backgroundColor: '#eeeeee',\n }\n : {}\n }\n >\n {option.text}\n </a>\n )\n })}\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { Button } from '../input/button'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useConfig } from '../../hooks/useConfig'\nimport { useState } from 'react'\nimport { useRef } from 'react'\nimport { useEffect } from 'react'\nimport { Icon } from '../ui'\nimport { get } from '../../lib/utils'\nimport { useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nexport function EditableField({\n field,\n value,\n ns,\n schema = undefined,\n modifyContent,\n required,\n}) {\n const intl = useIntl()\n const ref = useRef()\n const [isEdit, setEdit] = useState(false)\n const [val, setValue] = useState(value)\n const { patch, loading, Ctx } = useCrudContext()\n const { fieldHaveDeleteButton } = useConfig()\n\n const EditComponent = Ctx.registry.get('components', 'EditComponent')\n const RenderFieldComponent = Ctx.registry.get(\n 'components',\n 'RenderFieldComponent'\n )\n\n useEffect(() => {\n if (isEdit && ref.current) {\n ref.current.focus()\n }\n })\n\n const canModified = modifyContent && !get(schema, 'readonly', false)\n\n const saveField = async (ev) => {\n if (ev) ev.preventDefault()\n\n if (!field) {\n Ctx.flash(\n intl.formatMessage(genericMessages.error_provide_key_name),\n 'danger'\n )\n return\n }\n\n if (!val && required) {\n Ctx.flash(\n intl.formatMessage(genericMessages.mandatory_field, { field }),\n 'danger'\n )\n return\n }\n\n if (schema?.widget === 'file') {\n const value = val\n if (value) {\n value['filename'] = unescape(encodeURIComponent(value['filename']))\n }\n const endpoint = `${Ctx.path}@upload/${field}`\n const req = await Ctx.client.upload(endpoint, value)\n if (req.status !== 200) {\n Ctx.flash(\n intl.formatMessage(genericFileMessages.error_upload_file),\n 'danger'\n )\n } else {\n Ctx.flash(\n intl.formatMessage(genericFileMessages.file_uploaded),\n 'success'\n )\n }\n } else {\n const data = ns ? { [ns]: { [field]: val } } : { [field]: val }\n const dataPatch = await patch(data)\n if (dataPatch.isError) {\n Ctx.flash(\n intl.formatMessage(genericMessages.error_in_field, { field }),\n 'danger'\n )\n } else {\n Ctx.flash(\n intl.formatMessage(genericMessages.field_updated, { field }),\n 'success'\n )\n }\n }\n\n setEdit(false)\n Ctx.refresh()\n }\n\n const deleteField = async (ev) => {\n if (ev) ev.preventDefault()\n if (schema?.widget === 'file') {\n if (!field || (!val && required)) {\n Ctx.flash(\n intl.formatMessage(genericMessages.can_not_delete_field, { field }),\n 'danger'\n )\n return\n }\n\n const data = ns ? { [ns]: { [field]: null } } : { [field]: null }\n const dataPatch = await patch(data)\n if (dataPatch.isError) {\n Ctx.flash(\n intl.formatMessage(genericMessages.error_in_field, { field }),\n 'danger'\n )\n } else {\n Ctx.flash(\n intl.formatMessage(genericMessages.field_deleted, { field }),\n 'success'\n )\n }\n\n setEdit(false)\n Ctx.refresh()\n } else if (schema?.type === 'string' && schema?.enum) {\n setValue(null)\n } else if (schema?.type === 'array' && schema?.items.type === 'string') {\n setValue([])\n }\n }\n\n return (\n <React.Fragment>\n {!isEdit && (\n <div\n className={canModified ? 'editable' : ''}\n onClick={() => {\n setEdit(!!canModified)\n }}\n data-test={`editableFieldTest-${field}`}\n >\n <RenderFieldComponent\n schema={schema}\n field={field}\n val={val}\n modifyContent={modifyContent}\n />\n {canModified && <Icon icon=\"fas fa-edit\" />}\n </div>\n )}\n\n {isEdit && (\n <div className=\"field\" data-test={`editableFieldTest-${field}`}>\n <div className=\"control\">\n <EditComponent\n ref={ref}\n schema={schema}\n val={val}\n setValue={setValue}\n dataTest={`editableFieldEditTest`}\n />\n </div>\n <div className=\"field is-grouped\">\n <div className=\"control\">\n <Button\n className=\"is-small is-primary\"\n loading={loading}\n onClick={saveField}\n dataTest=\"editableFieldBtnSaveTest\"\n >\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </div>\n <div className=\"control\">\n <Button\n className=\"is-small\"\n onClick={() => setEdit(false)}\n dataTest=\"editableFieldBtnCancelTest\"\n >\n {intl.formatMessage(genericMessages.cancel)}\n </Button>\n </div>\n {!required && fieldHaveDeleteButton(schema) && (\n <div className=\"control\">\n <Button\n className=\"is-small is-danger\"\n onClick={deleteField}\n dataTest=\"editableFieldBtnDeleteTest\"\n >\n {intl.formatMessage(genericMessages.delete)}\n </Button>\n </div>\n )}\n </div>\n </div>\n )}\n </React.Fragment>\n )\n}\n","import * as React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport const DownloadField = ({ value }) => {\n const intl = useIntl()\n const Ctx = useTraversal()\n const { data, field } = value\n\n const getField = async (downloadFile) => {\n const endpoint = `${Ctx.path}@download/${field}`\n const res = await Ctx.client.download(endpoint)\n const text = await res.blob()\n const blob = new Blob([text], {\n type: data.content_type,\n })\n const url = window.URL.createObjectURL(blob)\n\n // Create blob link to download\n const link = document.createElement('a')\n link.href = url\n if (downloadFile) {\n link.setAttribute('download', `${data.filename}`)\n } else {\n link.setAttribute('target', `_blank`)\n }\n\n document.body.appendChild(link)\n link.click()\n setTimeout(function () {\n // For Firefox it is necessary to delay revoking the ObjectURL\n window.URL.revokeObjectURL(url)\n link.parentNode?.removeChild(link)\n }, 100)\n }\n\n return (\n <div className=\"field\">\n <div className=\"label\">{data.filename}</div>\n <div className=\"columns\">\n <div className=\"column\">\n <button\n className=\"button is-small is-primary level-left\"\n onClick={async (event) => {\n event.preventDefault()\n event.stopPropagation()\n getField(false)\n }}\n >\n {intl.formatMessage(genericMessages.open)}\n </button>\n </div>\n <div className=\"column\">\n <button\n className=\"button is-small is-primary level-right\"\n onClick={async (event) => {\n event.preventDefault()\n event.stopPropagation()\n getField(true)\n }}\n >\n {intl.formatMessage(genericMessages.download)}\n </button>\n </div>\n </div>\n </div>\n )\n}\n","import { useTraversal } from '../contexts'\nimport useSetState from './useSetState'\nimport { useEffect } from 'react'\n\nexport function useVocabulary(vocabularyName, path) {\n const traversal = useTraversal()\n\n const [vocabulary, setVocabulary] = useSetState({\n data: undefined,\n loading: false,\n error: undefined,\n })\n\n const getPath = () => {\n if (path) return path\n return `${traversal.path}@vocabularies/${vocabularyName}`\n }\n\n useEffect(() => {\n ;(async () => {\n if (\n vocabularyName &&\n vocabulary.data === undefined &&\n !vocabulary.loading\n ) {\n try {\n setVocabulary({ loading: true })\n const data = await traversal.client.get(getPath())\n const dataJson = await data.json()\n setVocabulary({ loading: false, data: dataJson })\n } catch (err) {\n setVocabulary({ loading: false, error: err, data: {} })\n }\n }\n })()\n }, [vocabularyName, vocabulary, path])\n\n return vocabulary\n}\n","import React, { useEffect, useState } from 'react'\nimport { DownloadField } from './downloadField'\nimport { useIntl } from 'react-intl'\nimport { useVocabulary } from '../../hooks/useVocabulary'\nimport { get } from '../../lib/utils'\nimport { buildQs } from '../../lib/search'\nimport { useTraversal } from '../../contexts'\nimport { useConfig } from '../../hooks/useConfig'\n\nconst plain = ['string', 'number', 'boolean']\n\nexport function RenderField({ value, Widget, schema }) {\n if (value === null || value === undefined) return ''\n\n if (Widget) {\n return <Widget value={value} schema={schema} />\n }\n\n const type = typeof value\n if (plain.includes(type)) {\n return value\n }\n if (type === 'object') {\n if (Array.isArray(value)) {\n return value.map((item) => (\n <div key={item}>\n <RenderField value={item} />\n </div>\n ))\n }\n return Object.keys(value).map((key) => (\n <FieldValue field={key} value={value[key]} key={key} />\n ))\n }\n return <p>No render for {JSON.stringify(value)}</p>\n}\n\nconst FieldValue = ({ field, value }) => (\n <div className=\"field\">\n <div className=\"label\">{field}</div>\n <div className=\"value\">\n <RenderField value={value} />\n </div>\n </div>\n)\n\nconst DEFAULT_VALUE_NO_EDITABLE_FIELD = ' -- '\nconst getDefaultValueEditableField = (intl) => {\n return intl.formatMessage({\n id: 'default_value_editable_field',\n defaultMessage: 'Click to edit',\n })\n}\n\nexport const SearchRenderField = ({ schema, value, modifyContent }) => {\n const [valuesLabels, setValuesLabels] = useState([])\n const [isLoadingData, setIsLoadingData] = useState(false)\n const traversal = useTraversal()\n const { SearchEngine } = useConfig()\n\n useEffect(() => {\n const fetchData = async (valuesToSearch) => {\n setIsLoadingData(true)\n let searchTermQs = []\n\n const searchTermParsed = ['__or', `id=${valuesToSearch.join('%26id=')}`]\n const { get: getSearch } = traversal.registry\n const fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine)\n const qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: 0,\n pageSize: 100,\n withDepth: false,\n })\n\n if (searchTermParsed.length > 0 || qsParsed.length > 0) {\n searchTermQs = buildQs([searchTermParsed, ...qsParsed])\n }\n const data = await traversal.client.search(\n traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false,\n 0,\n 100\n )\n\n const newValuesLabel = data.items.map((item) => {\n return get(item, schema?.labelProperty ?? 'title', item.id)\n })\n setValuesLabels(newValuesLabel)\n setIsLoadingData(false)\n }\n\n let valuesToSearch = value\n if (typeof valuesToSearch === 'string') {\n valuesToSearch = [valuesToSearch]\n }\n\n if (valuesToSearch !== undefined && valuesToSearch.length > 0) {\n fetchData(valuesToSearch)\n } else {\n setValuesLabels([])\n }\n }, [value])\n\n const getRenderValue = () => {\n console.log('get render values', value, valuesLabels)\n if (value === undefined) {\n if (modifyContent) {\n return DEFAULT_VALUE_EDITABLE_FIELD\n }\n return DEFAULT_VALUE_NO_EDITABLE_FIELD\n }\n if (isLoadingData) {\n return 'Loading...'\n }\n\n return valuesLabels\n }\n\n return <RenderField value={getRenderValue()} />\n}\n\nexport const VocabularyRenderField = ({ schema, value, modifyContent }) => {\n const intl = useIntl()\n const DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl)\n\n const vocabularyName = schema?.items?.vocabularyName || schema?.vocabularyName\n const vocabulary = useVocabulary(vocabularyName)\n\n const getRenderProps = () => {\n const renderProps = {\n value:\n value ??\n (modifyContent\n ? DEFAULT_VALUE_EDITABLE_FIELD\n : DEFAULT_VALUE_NO_EDITABLE_FIELD),\n }\n\n if (schema?.vocabularyName) {\n const vocabularyValue = get(vocabulary, 'data.items', []).find(\n (item) => item.token === value\n )\n renderProps['value'] = vocabularyValue?.title ?? ''\n } else {\n renderProps['value'] = (renderProps['value'] ?? []).map((value) => {\n return (\n get(vocabulary, 'data.items', []).find((item) => item.token === value)\n ?.title ?? ''\n )\n })\n }\n\n return renderProps\n }\n return <RenderField {...getRenderProps()} />\n}\n\nexport function RenderFieldComponent({ schema, field, val, modifyContent }) {\n const intl = useIntl()\n const DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl)\n\n const getRenderProps = () => {\n const renderProps = {\n value:\n val ??\n (modifyContent\n ? DEFAULT_VALUE_EDITABLE_FIELD\n : DEFAULT_VALUE_NO_EDITABLE_FIELD),\n }\n if (val && schema?.widget === 'file') {\n renderProps['value'] = {\n data: val,\n field: field,\n }\n renderProps['Widget'] = DownloadField\n } else if (schema?.type === 'boolean') {\n renderProps['value'] = val?.toString() ?? renderProps['value']\n } else if (val && schema?.type === 'datetime') {\n renderProps['value'] = new Date(val).toLocaleString()\n } else if (schema?.items?.vocabularyName || schema?.vocabularyName) {\n renderProps['Widget'] = VocabularyRenderField\n renderProps['schema'] = schema\n } else if (\n schema?.widget === 'search' ||\n schema?.widget === 'search_list'\n ) {\n renderProps['Widget'] = SearchRenderField\n renderProps['value'] = val\n renderProps['schema'] = schema\n }\n return renderProps\n }\n\n return <RenderField {...getRenderProps()} />\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Select } from './select'\nimport { get } from '../../lib/utils'\nimport { useVocabulary } from '../../hooks/useVocabulary'\n\nexport const SelectVocabulary = React.forwardRef(\n (\n { vocabularyName, className, classWrap, val, dataTest, multiple, ...rest },\n ref\n ) => {\n const vocabulary = useVocabulary(vocabularyName)\n\n const getOptions = () => {\n if (get(vocabulary, 'data.items', null)) {\n const vocData = vocabulary.data.items.map((item) => {\n return {\n text: item.title.default ?? item.title,\n value: item.token,\n }\n })\n return vocData\n }\n\n return []\n }\n\n const getProps = () => {\n if (multiple) {\n const currentValue = val || []\n return {\n multiple: true,\n size: 5,\n value: currentValue,\n options: getOptions(),\n }\n }\n\n return {\n value: val ?? '',\n appendDefault: true,\n options: getOptions(),\n }\n }\n\n if (vocabulary.data === undefined || vocabulary.loading) {\n return <div />\n }\n\n return (\n <Select\n {...getProps()}\n className={className}\n classWrap={classWrap || 'is-fullwidth'}\n dataTest={dataTest}\n ref={ref}\n {...rest}\n />\n )\n }\n)\n\nSelect.propTypes = {\n error: PropTypes.string,\n disabled: PropTypes.bool,\n loading: PropTypes.bool,\n isSubmitted: PropTypes.bool,\n size: PropTypes.number,\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n className: PropTypes.string,\n vocabularyName: PropTypes.string,\n}\n","import React, { useState, useEffect, useCallback } from 'react'\n\nimport PropTypes from 'prop-types'\nimport { buildQs } from '../../lib/search'\nimport { parser } from '../../lib/search'\nimport useSetState from '../../hooks/useSetState'\nimport ErrorZone from '../error_zone'\nimport { Loading } from '../ui'\nimport { generateUID } from '../../lib/helpers'\nimport { useConfig } from '../../hooks/useConfig'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\nimport useClickAway from '../../hooks/useClickAway'\nimport { get } from '../../lib/utils'\nfunction debounce(func, wait) {\n let timeout\n return function () {\n const context = this\n const args = arguments\n const later = function () {\n timeout = null\n func.apply(context, args)\n }\n clearTimeout(timeout)\n timeout = setTimeout(later, wait)\n }\n}\n\nconst initialState = {\n page: 0,\n items: undefined,\n loading: false,\n items_total: 0,\n}\n\nexport const SearchInputList = ({\n onChange,\n error,\n errorZoneClassName,\n traversal = null,\n path = null,\n qs = [],\n queryCondition = 'id__in',\n value,\n btnClass = '',\n dataTestWrapper = 'wrapperSearchInputTest',\n dataTestSearchInput = 'searchInputTest',\n dataTestItem = 'searchInputItemTest',\n renderTextItemOption = null,\n typeNameQuery = null,\n labelProperty = 'id',\n}) => {\n const intl = useIntl()\n const [options, setOptions] = useSetState(initialState)\n const [valuesLabel, setValuesLabels] = useState(undefined)\n const [isOpen, setIsOpen] = React.useState(false)\n const [searchTerm, setSearchTerm] = React.useState('')\n const inputRef = React.useRef(null)\n const wrapperRef = React.useRef(null)\n const { PageSize, SearchEngine } = useConfig()\n const [isLoadingData, setIsLoadingData] = useState(false)\n\n const [uid] = useState(generateUID('search_input'))\n\n useClickAway(wrapperRef, () => {\n setIsOpen(false)\n })\n\n const getHeight = () => {\n if (wrapperRef && wrapperRef.current) {\n return {\n maxHeight: `${\n window.innerHeight -\n wrapperRef.current.getBoundingClientRect().top -\n 100\n }px`,\n }\n }\n return { maxHeight: 'auto' }\n }\n\n const delayedQuery = useCallback(\n debounce((value) => handleSearch(0, false, value), 500),\n []\n )\n\n const handleSearch = async (page = 0, concat = false, value = '') => {\n setOptions({ loading: true })\n let searchTermQs = []\n let searchTermParsed = []\n if (value !== '') {\n searchTermParsed = parser(`${queryCondition}=${value}`)\n }\n const { get } = traversal.registry\n const fnName = get('searchEngineQueryParamsFunction', SearchEngine)\n let qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: page * PageSize,\n pageSize: PageSize,\n withDepth: false,\n })\n let sortParsed = parser(`_sort_des=title`)\n let typeNameParsed = []\n if (typeNameQuery) {\n typeNameParsed = parser(`type_name__in=${typeNameQuery}`)\n }\n\n if (\n qs.length > 0 ||\n searchTermParsed.length > 0 ||\n qsParsed.length > 0 ||\n typeNameParsed.length > 0\n ) {\n searchTermQs = buildQs([\n ...qs,\n ...searchTermParsed,\n ...qsParsed,\n ...typeNameParsed,\n ...sortParsed,\n ])\n }\n\n const data = await traversal.client.search(\n path ? path : traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false\n )\n const newItems =\n options.items && concat ? [...options.items, ...data.items] : data.items\n\n setOptions({\n items: newItems ?? [],\n loading: false,\n items_total: data.items_total ?? 0,\n page: page,\n })\n }\n\n const inicializeLabels = async () => {\n if (labelProperty !== 'id' && value.length > 0) {\n setIsLoadingData(true)\n let searchTermQs = []\n const searchTermParsed = ['__or', `id=${value.join('%26id=')}`]\n const { get: getSearch } = traversal.registry\n const fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine)\n const qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: 0,\n pageSize: 100,\n withDepth: false,\n })\n let typeNameParsed = []\n if (typeNameQuery) {\n typeNameParsed = parser(`type_name__in=${typeNameQuery}`)\n }\n if (\n qs.length > 0 ||\n searchTermParsed.length > 0 ||\n qsParsed.length > 0 ||\n typeNameParsed.length > 0\n ) {\n searchTermQs = buildQs([\n ...qs,\n searchTermParsed,\n ...qsParsed,\n ...typeNameParsed,\n ])\n }\n const data = await traversal.client.search(\n path ? path : traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false,\n 0,\n 100\n )\n const newValuesLabel = data.items.reduce((result, item) => {\n result[item.id] = get(item, labelProperty, item.id)\n return result\n }, {})\n setValuesLabels(newValuesLabel)\n setIsLoadingData(false)\n }\n }\n\n const renderTextItemOptionFn = (item) => {\n if (renderTextItemOption) {\n return renderTextItemOption(item)\n }\n return item.title || item['@name']\n }\n\n React.useEffect(() => {\n if (!options.loading && !options.items && value.length > 0) {\n inicializeLabels()\n } else if (value.length === 0) {\n setValuesLabels({})\n }\n }, [path, options.loading, options.items])\n\n if (isLoadingData || valuesLabel === undefined) {\n return <div className=\"spinner\" />\n }\n\n return (\n <React.Fragment>\n <div className=\"tags mb-2\">\n {value.map((tag, index) => (\n <div\n key={`input_list_${tag}_${index}`}\n className=\"tag is-info is-medium\"\n >\n {get(valuesLabel, tag, tag)}\n <button\n className=\"delete is-small\"\n onClick={(ev) => {\n ev.stopPropagation()\n ev.preventDefault()\n onChange([\n ...value.filter((tag) => value.indexOf(tag) !== index),\n ])\n }}\n ></button>\n </div>\n ))}\n </div>\n <div\n data-test={dataTestWrapper}\n ref={wrapperRef}\n className={`dropdown mb-2 ${isOpen ? 'is-active' : ''}`}\n onBlur={(ev) => {\n if (!ev.currentTarget.contains(ev.relatedTarget)) {\n if (searchTerm !== '') {\n setSearchTerm('')\n setOptions(initialState)\n }\n setIsOpen(false)\n }\n }}\n >\n <div className=\"dropdown-trigger\">\n <button\n className={`button ${btnClass}`}\n onClick={(ev) => {\n ev.preventDefault()\n setIsOpen(!isOpen)\n if (!options.loading && !options.items) {\n handleSearch(options.page)\n }\n }}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <span>{intl.formatMessage(genericMessages.choose)}</span>\n\n <span className=\"icon\">\n <i className=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </div>\n <div\n className=\"dropdown-menu\"\n id=\"dropdown-menu\"\n role=\"menu\"\n style={getHeight()}\n >\n <div className=\"dropdown-content\">\n <div className=\"dropdown-item\">\n <input\n ref={inputRef}\n data-test={dataTestSearchInput}\n className=\"input\"\n type=\"text\"\n placeholder={intl.formatMessage(genericMessages.search)}\n value={searchTerm}\n onChange={(ev) => {\n delayedQuery(ev.target.value)\n setSearchTerm(ev.target.value)\n }}\n />\n </div>\n <hr className=\"dropdown-divider\" />\n {options.loading && <Loading />}\n {options.items &&\n options.items.map((item) => {\n return (\n <div\n className={`dropdown-item editable ${\n value && value.id === item.id ? 'is-active' : ''\n }`}\n data-test={`${dataTestItem}-${item.id}`}\n onMouseDown={(ev) => {\n ev.stopPropagation()\n ev.preventDefault()\n if (onChange && !value.includes(item.id)) {\n setValuesLabels({\n ...valuesLabel,\n [item.id]: get(item, labelProperty, item.id),\n })\n onChange([...value, item.id])\n }\n }}\n key={item.path}\n >\n {renderTextItemOptionFn(item)}\n </div>\n )\n })}\n\n {options.items && options.items.length === 0 && (\n <div className=\"dropdown-item\">\n {intl.formatMessage(genericMessages.no_results)}\n </div>\n )}\n\n {options.items && options.items_total > options.items.length && (\n <React.Fragment>\n <hr className=\"dropdown-divider\" />\n <div\n className=\"dropdown-item editable\"\n onMouseDown={(ev) => {\n ev.stopPropagation()\n ev.preventDefault()\n handleSearch(options.page + 1, true)\n }}\n >\n {intl.formatMessage(genericMessages.load_more)}\n </div>\n </React.Fragment>\n )}\n </div>\n </div>\n </div>\n {error && (\n <ErrorZone className={errorZoneClassName} id={uid}>\n {error ? error : ''}\n </ErrorZone>\n )}\n </React.Fragment>\n )\n}\n\nSearchInputList.propTypes = {\n onChange: PropTypes.func,\n path: PropTypes.string,\n btnClass: PropTypes.string,\n dataTestWrapper: PropTypes.string,\n dataTestSearchInput: PropTypes.string,\n dataTestItem: PropTypes.string,\n renderTextItemOption: PropTypes.func,\n typeNameQuery: PropTypes.string,\n labelProperty: PropTypes.string,\n error: PropTypes.string,\n errorZoneClassName: PropTypes.string,\n traversal: PropTypes.object,\n path: PropTypes.string,\n qs: PropTypes.array,\n queryCondition: PropTypes.string,\n}\n","import React from 'react'\nimport { Textarea } from '../input/textarea'\nimport { Checkbox } from '../input/checkbox'\nimport { FileUpload } from '../input/upload'\nimport { Select } from '../input/select'\nimport { Input } from '../input/input'\nimport { InputList } from '../input/input_list'\nimport { get } from '../../lib/utils'\nimport { SelectVocabulary } from '../input/select_vocabulary'\nimport { SearchInputList } from '../input/search_input_list'\nimport { SearchInput } from '../input/search_input'\nimport { useTraversal } from '../../contexts'\n\nexport const EditComponent = React.forwardRef(\n ({ schema, val, setValue, dataTest, className, ...rest }, ref) => {\n const traversal = useTraversal()\n\n if (schema?.widget === 'search_list') {\n return (\n <React.Fragment>\n {rest.placeholder && (\n <label className=\"label\">{rest.placeholder}</label>\n )}\n <SearchInputList\n value={val || []}\n traversal={traversal}\n className={className}\n onChange={(ev) => setValue(ev)}\n queryCondition={\n schema?.queryCondition ? schema.queryCondition : 'title__in'\n }\n dataTest={dataTest}\n path={schema.queryPath}\n labelProperty={\n schema?.labelProperty ? schema.labelProperty : 'title'\n }\n typeNameQuery={schema?.typeNameQuery ? schema.typeNameQuery : null}\n {...rest}\n />\n </React.Fragment>\n )\n } else if (schema?.widget === 'search') {\n return (\n <React.Fragment>\n {rest.placeholder && (\n <label className=\"label\">{rest.placeholder}</label>\n )}\n <SearchInput\n value={val}\n traversal={traversal}\n className={className}\n onChange={(ev) => setValue(ev)}\n queryCondition={\n schema?.queryCondition ? schema.queryCondition : 'title__in'\n }\n dataTest={dataTest}\n path={schema.queryPath}\n labelProperty={\n schema?.labelProperty ? schema.labelProperty : 'title'\n }\n typeNameQuery={schema?.typeNameQuery ? schema.typeNameQuery : null}\n {...rest}\n />\n </React.Fragment>\n )\n } else if (schema?.widget === 'textarea' || schema?.widget === 'richtext') {\n return (\n <Textarea\n value={val || ''}\n className={className}\n onChange={(ev) => setValue(ev)}\n ref={ref}\n dataTest={dataTest}\n {...rest}\n />\n )\n } else if (schema?.type === 'boolean') {\n return (\n <Checkbox\n value={!!val}\n className={className}\n onChange={(ev) => setValue(ev)}\n ref={ref}\n dataTest={dataTest}\n {...rest}\n />\n )\n } else if (schema?.type === 'array') {\n if (schema.items && schema.items.type === 'string') {\n if (schema.items.vocabularyName) {\n return (\n <SelectVocabulary\n vocabularyName={get(schema, 'items.vocabularyName', null)}\n val={val || []}\n className={className}\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n {...rest}\n onChange={setValue}\n multiple\n />\n )\n } else if (schema?.items?.vocabulary) {\n return (\n <Select\n value={val || []}\n className={className}\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n options={schema?.items.vocabulary.map((item) => {\n return {\n text: item,\n value: item,\n }\n })}\n multiple\n onChange={setValue}\n {...rest}\n />\n )\n }\n }\n return (\n <InputList\n value={val || []}\n className={className}\n onChange={(ev) => setValue(ev)}\n ref={ref}\n dataTest={dataTest}\n {...rest}\n />\n )\n } else if (schema?.widget === 'file') {\n return (\n <FileUpload\n onChange={(ev) => setValue(ev)}\n label={get(val, 'filename', null)}\n dataTest={dataTest}\n {...rest}\n />\n )\n } else if (schema?.widget === 'select' && schema.type === 'string') {\n if (schema?.vocabularyName) {\n return (\n <SelectVocabulary\n val={val || ''}\n className={className}\n appendDefault\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n onChange={setValue}\n vocabularyName={get(schema, 'vocabularyName', null)}\n {...rest}\n />\n )\n }\n\n return (\n <Select\n value={val || ''}\n className={className}\n appendDefault\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n options={schema?.vocabulary.map((item) => {\n return {\n text: item,\n value: item,\n }\n })}\n onChange={setValue}\n {...rest}\n />\n )\n }\n const getInputType = () => {\n switch (schema?.type) {\n case 'integer':\n return 'number'\n case 'date':\n return 'date'\n case 'datetime':\n return 'datetime-local'\n default:\n return 'text'\n }\n }\n return (\n <Input\n value={val || ''}\n className={className}\n dataTest={dataTest}\n onChange={(ev) => setValue(ev)}\n ref={ref}\n type={getInputType()}\n {...rest}\n />\n )\n }\n)\n\nEditComponent.displayName = 'EditComponent'\nexport default EditComponent\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\nimport { Table } from '../ui'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function IAttachment({ properties, values }) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {Object.keys(properties).map((key) => (\n <tr key={'attachment_' + key}>\n <td style={{ width: '150px' }} key={1}>\n {key}\n </td>\n <td key={2}>\n <EditableField\n field={key}\n value={values[key]}\n ns=\"guillotina.behaviors.attachment.IAttachment\"\n schema={properties[key]}\n modifyContent={modifyContent && ['file'].includes(key)}\n />\n </td>\n </tr>\n ))}\n </Table>\n )\n}\n","import React from 'react'\nimport { Input } from '../input/input'\nimport { FileUpload } from '../input/upload'\nimport { Button } from '../input/button'\nimport { useState } from 'react'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport ErrorZone from '../error_zone'\nimport { EditableField } from '../fields/editableField'\nimport { Delete } from '../ui'\nimport { Confirm } from '../../components/modal'\nimport { Table } from '../ui'\nimport { useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nexport function IMultiAttachment({ properties, values }) {\n const intl = useIntl()\n const [fileKey, setFileKey] = useState('')\n const [file, setFile] = useState()\n const [fileKeyToDelete, setFileKeyToDelete] = useState(undefined)\n\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(undefined)\n const { Ctx } = useCrudContext()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n const uploadFile = async (ev) => {\n ev.preventDefault()\n if (!fileKey && !file) {\n setError(intl.formatMessage(genericFileMessages.error_file_key_name))\n return\n }\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@upload/files/${fileKey}`\n const req = await Ctx.client.upload(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.error_upload_file))\n setLoading(false)\n return\n }\n setFileKey('')\n setFile(undefined)\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.file_uploaded), 'success')\n Ctx.refresh()\n }\n\n const deleteFile = async () => {\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@delete/files/${fileKeyToDelete}`\n const req = await Ctx.client.delete(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n setLoading(false)\n return\n }\n setLoading(false)\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n Ctx.refresh()\n }\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {fileKeyToDelete && (\n <Confirm\n loading={loading}\n onCancel={() => setFileKeyToDelete(undefined)}\n onConfirm={() => deleteFile(fileKeyToDelete)}\n message={\n (intl.formatMessage(\n genericFileMessages.confirm_message_delete_file\n ),\n { fileKeyToDelete })\n }\n />\n )}\n\n {Object.keys(values['files']).map((key) => (\n <tr key={'multiattachment_' + key}>\n <td key={1} style={{ width: '150px' }}>\n {key}\n </td>\n <td key={2}>\n <div className=\"is-flex is-align-items-center\">\n <EditableField\n field={`files/${key}`}\n value={values['files'][key]}\n ns=\"guillotina.behaviors.attachment.IMultiAttachment.files\"\n schema={properties['files']['additionalProperties']}\n modifyContent={false}\n />\n <div className=\"ml-5\">\n <Delete\n onClick={(ev) => {\n ev.preventDefault()\n setFileKeyToDelete(key)\n }}\n />\n </div>\n </div>\n </td>\n </tr>\n ))}\n {Object.keys(values['files']).length === 0 && (\n <tr>\n <td colSpan={2}>\n {intl.formatMessage(genericFileMessages.no_files_uploaded)}\n </td>\n </tr>\n )}\n {modifyContent && (\n <tr>\n <td colSpan={2}>\n <label className=\"label\">\n {intl.formatMessage(genericFileMessages.upload_a_file)}\n </label>\n <form className=\"columns\">\n <div className=\"column is-4\">\n <Input\n placeholder=\"Key\"\n name=\"field\"\n className=\"is-small\"\n value={fileKey}\n onChange={(ev) => setFileKey(ev)}\n required\n />\n {error && <ErrorZone>{error}</ErrorZone>}\n </div>\n <div className=\"column is-2\">\n <FileUpload onChange={(ev) => setFile(ev)} />\n {file && file.filename}\n </div>\n <div className=\"column is-2\">\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={uploadFile}\n disabled={!fileKey && !file}\n >\n {intl.formatMessage(genericMessages.upload)}\n </Button>\n </div>\n </form>\n </td>\n </tr>\n )}\n </Table>\n )\n}\n","import React, { useState } from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\nimport { Table } from '../ui'\nimport { useConfig } from '../../hooks/useConfig'\nimport { Delete } from '../ui'\nimport { Button } from '../input/button'\nimport { FileUpload } from '../input/upload'\nimport { Confirm } from '../../components/modal'\nimport { useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nconst _sizesImages = ['large', 'preview', 'mini', 'thumb']\n\nexport function IImageAttachment({ properties, values }) {\n const intl = useIntl()\n const cfg = useConfig()\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n const sizesImages = cfg.size_images || _sizesImages\n const [file, setFile] = useState(null)\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(undefined)\n const [showConfirmToDelete, setShowConfirmToDelete] = useState(false)\n\n const uploadFile = async (ev) => {\n ev.preventDefault()\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@upload/image`\n const req = await Ctx.client.upload(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.error_upload_file))\n setLoading(false)\n return\n }\n\n for (let i = 0; i < sizesImages.length; i++) {\n const endpointSize = `${Ctx.path}@images/image/${sizesImages[i]}`\n let hasError = false\n try {\n const req = await Ctx.client.upload(endpointSize, file)\n if (req.status !== 200) hasError = true\n } catch (err) {\n hasError = true\n }\n\n if (hasError) {\n setError(\n intl.formatMessage(genericFileMessages.error_upload_file_size, {\n size: sizesImages[i],\n })\n )\n setLoading(false)\n return\n }\n }\n\n setFile(undefined)\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_uploaded), 'success')\n Ctx.refresh()\n }\n\n const deleteFile = async () => {\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@delete/image`\n const req = await Ctx.client.delete(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n setLoading(false)\n return\n }\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_deleted), 'success')\n Ctx.refresh()\n }\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {showConfirmToDelete && (\n <Confirm\n loading={loading}\n onCancel={() => setShowConfirmToDelete(false)}\n onConfirm={() => deleteFile()}\n message={intl.formatMessage(\n genericFileMessages.confirm_message_delete_image\n )}\n />\n )}\n {values['image'] && (\n <tr>\n <td key={1} style={{ width: '150px' }}>\n {intl.formatMessage(genericMessages.image)}\n </td>\n <td key={2}>\n <div className=\"is-flex is-align-items-center\">\n <EditableField\n field={'image'}\n value={values['image']}\n ns=\"guillotina.behaviors.behaviors.IImageAttachment\"\n schema={properties['image']}\n modifyContent={false}\n />\n <div className=\"ml-5\">\n <Delete\n onClick={(ev) => {\n ev.preventDefault()\n setShowConfirmToDelete(true)\n }}\n />\n </div>\n </div>\n </td>\n </tr>\n )}\n {modifyContent && (\n <tr>\n <td colSpan={2}>\n <label className=\"label\">\n {intl.formatMessage(genericFileMessages.upload_an_image)}\n </label>\n <form\n className=\"is-flex is-align-items-center\"\n style={{ gap: '15px' }}\n data-test=\"formImageAttachmentTest\"\n >\n <div>\n <FileUpload onChange={(ev) => setFile(ev)} />\n {file && file.filename}\n </div>\n <div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={uploadFile}\n disabled={!file}\n >\n {intl.formatMessage(genericMessages.upload)}\n </Button>\n </div>\n </form>\n {error && <p className=\"help is-danger\">{error}</p>}\n </td>\n </tr>\n )}\n </Table>\n )\n}\n","import React, { useState } from 'react'\n\nimport { Button } from '../input/button'\nimport { Confirm } from '../../components/modal'\nimport { Delete } from '../ui'\nimport { FileUpload } from '../input/upload'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { EditableField } from '../fields/editableField'\nimport { useConfig } from '../../hooks/useConfig'\nimport { Table } from '../ui'\nimport { Input } from '../input/input'\nimport { useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nconst _sizesImages = ['large', 'preview', 'mini', 'thumb']\n\nexport function IMultiImageAttachment({ properties, values }) {\n const intl = useIntl()\n const cfg = useConfig()\n const [fileKey, setFileKey] = useState('')\n const [file, setFile] = useState(null)\n const [fileKeyToDelete, setFileKeyToDelete] = useState(undefined)\n\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(undefined)\n const { Ctx } = useCrudContext()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n const sizesImages = cfg.size_images || _sizesImages\n\n const uploadFile = async (ev) => {\n ev.preventDefault()\n if (!fileKey && !file) {\n setError(intl.formatMessage(genericFileMessages.error_file_key_name))\n return\n }\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@upload/images/${fileKey}`\n const req = await Ctx.client.upload(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.error_upload_file))\n setLoading(false)\n return\n }\n\n for (let i = 0; i < sizesImages.length; i++) {\n const endpointSize = `${Ctx.path}@images/images/${fileKey}/${sizesImages[i]}`\n let hasError = false\n try {\n const req = await Ctx.client.upload(endpointSize, file)\n if (req.status !== 200) hasError = true\n } catch (err) {\n hasError = true\n }\n\n if (hasError) {\n setError(\n intl.formatMessage(genericFileMessages.error_upload_file_size, {\n size: sizesImages[i],\n })\n )\n setLoading(false)\n return\n }\n }\n\n setFileKey('')\n setFile(undefined)\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_uploaded), 'success')\n Ctx.refresh()\n }\n\n const deleteFile = async () => {\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@delete/images/${fileKeyToDelete}`\n const req = await Ctx.client.delete(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n setLoading(false)\n return\n }\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_deleted), 'success')\n Ctx.refresh()\n }\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {fileKeyToDelete && (\n <Confirm\n loading={loading}\n onCancel={() => setFileKeyToDelete(undefined)}\n onConfirm={() => deleteFile()}\n message={\n (intl.formatMessage(\n genericFileMessages.confirm_message_delete_file\n ),\n { fileKeyToDelete })\n }\n />\n )}\n\n {Object.keys(values['images']).map((key) => (\n <tr key={`multiimageattachment_${key}`}>\n <td key={1} style={{ width: '150px' }}>\n {key}\n </td>\n <td key={2}>\n <div className=\"is-flex is-align-items-center\">\n <EditableField\n field={`images/${key}`}\n value={values['images'][key]}\n ns=\"guillotina.contrib.image.behaviors.IMultiImageAttachment.images\"\n schema={properties['images']['additionalProperties']}\n modifyContent={false}\n required={false}\n />\n <div className=\"ml-5\">\n <Delete\n onClick={(ev) => {\n ev.preventDefault()\n setFileKeyToDelete(key)\n }}\n />\n </div>\n </div>\n </td>\n </tr>\n ))}\n {Object.keys(values['images']).length === 0 && (\n <tr>\n <td colSpan={2}>\n {intl.formatMessage(genericFileMessages.no_images_uploaded)}\n </td>\n </tr>\n )}\n {modifyContent && (\n <tr>\n <td colSpan={2}>\n <label className=\"label\">\n {' '}\n {intl.formatMessage(genericFileMessages.upload_an_image)}\n </label>\n <form className=\"columns\" data-test=\"formMultiimageAttachmentTest\">\n <div className=\"column is-4\">\n <Input\n placeholder=\"Key\"\n name=\"field\"\n className=\"is-small\"\n value={fileKey}\n onChange={(ev) => setFileKey(ev)}\n required\n />\n {error && <p className=\"help is-danger\">{error}</p>}\n </div>\n <div className=\"column is-2\">\n <FileUpload onChange={(ev) => setFile(ev)} />\n {file && file.filename}\n </div>\n <div className=\"column is-2\">\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={uploadFile}\n disabled={!fileKey && !file}\n >\n {intl.formatMessage(genericMessages.upload)}\n </Button>\n </div>\n </form>\n </td>\n </tr>\n )}\n </Table>\n )\n}\n","import { Button } from '../input/button'\nimport { Confirm } from '../../components/modal'\nimport { Delete } from '../ui'\nimport { FileUpload } from '../input/upload'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { EditableField } from '../fields/editableField'\nimport { useConfig } from '../../hooks/useConfig'\nimport React, { useEffect, useState } from 'react'\nimport { DragDropContext, Draggable, Droppable } from 'react-beautiful-dnd'\nimport { v4 as uuidv4 } from 'uuid'\nimport { defineMessages, useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nconst StrictModeDroppable = ({ children, ...props }) => {\n const [enabled, setEnabled] = useState(false)\n useEffect(() => {\n const animation = requestAnimationFrame(() => setEnabled(true))\n return () => {\n cancelAnimationFrame(animation)\n setEnabled(false)\n }\n }, [])\n if (!enabled) {\n return null\n }\n return <Droppable {...props}>{children}</Droppable>\n}\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list)\n const [removed] = result.splice(startIndex, 1)\n result.splice(endIndex, 0, removed)\n\n return result\n}\n\nconst _sizesImages = ['large', 'preview', 'mini', 'thumb']\nconst messages = defineMessages({\n failed_to_sort_images: {\n id: 'failed_to_sort_images',\n defaultMessage: 'Failed to sort images',\n },\n images_sorted: {\n id: 'images_sorted',\n defaultMessage: 'Images sorted',\n },\n})\nexport function IMultiImageOrderedAttachment({ properties, values }) {\n const intl = useIntl()\n const cfg = useConfig()\n const [sortedList, setSortedList] = useState(Object.keys(values['images']))\n const [file, setFile] = useState(null)\n const [fileKeyToDelete, setFileKeyToDelete] = useState(undefined)\n\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(undefined)\n const { Ctx } = useCrudContext()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n const sizesImages = cfg.size_images || _sizesImages\n\n async function onDragEnd(result) {\n if (!result.destination) {\n return\n }\n\n if (result.destination.index === result.source.index) {\n return\n }\n\n const resultSorted = reorder(\n sortedList,\n result.source.index,\n result.destination.index\n )\n\n setSortedList(resultSorted)\n setLoading(true)\n const endpoint = `${Ctx.path}@sort/images/`\n const req = await Ctx.client.patch(endpoint, resultSorted)\n if (req.status !== 200) {\n setError(intl.formatMessage(messages.failed_to_sort_images))\n setLoading(false)\n return\n }\n\n setLoading(false)\n Ctx.flash(intl.formatMessage(messages.images_sorted), 'success')\n Ctx.refresh()\n }\n\n const uploadFile = async (ev) => {\n ev.preventDefault()\n if (!file) {\n setError(intl.formatMessage(genericFileMessages.error_file_key_name))\n return\n }\n setLoading(true)\n setError(undefined)\n const fileKey = uuidv4()\n const endpoint = `${Ctx.path}@upload/images/${fileKey}`\n const req = await Ctx.client.upload(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.error_upload_file))\n setLoading(false)\n return\n }\n\n for (let i = 0; i < sizesImages.length; i++) {\n const endpointSize = `${Ctx.path}@images/images/${fileKey}/${sizesImages[i]}`\n let hasError = false\n try {\n const req = await Ctx.client.upload(endpointSize, file)\n if (req.status !== 200) hasError = true\n } catch (err) {\n hasError = true\n }\n\n if (hasError) {\n setError(\n intl.formatMessage(genericFileMessages.error_upload_file_size, {\n size: sizesImages[i],\n })\n )\n setLoading(false)\n return\n }\n }\n\n setFile(undefined)\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_uploaded), 'success')\n Ctx.refresh()\n }\n\n const deleteFile = async () => {\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@delete/images/${fileKeyToDelete}`\n const req = await Ctx.client.delete(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n setLoading(false)\n return\n }\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_deleted), 'success')\n Ctx.refresh()\n }\n\n return (\n <React.Fragment>\n {fileKeyToDelete && (\n <Confirm\n loading={loading}\n onCancel={() => setFileKeyToDelete(undefined)}\n onConfirm={() => deleteFile()}\n message={\n (intl.formatMessage(\n genericFileMessages.confirm_message_delete_file\n ),\n { fileKeyToDelete })\n }\n />\n )}\n <section>\n <DragDropContext onDragEnd={onDragEnd}>\n <StrictModeDroppable droppableId=\"list\">\n {(provided) => (\n <div ref={provided.innerRef} {...provided.droppableProps}>\n {sortedList.map((key, index) => (\n <Draggable\n key={`multiimageattachment_${key}`}\n draggableId={`multiimageattachment_${key}`}\n index={index}\n >\n {(providedChild) => (\n <div\n className=\"is-flex is-align-items-center pt-2 pb-2\"\n style={{ borderTop: '1px solid #dbdbdb' }}\n ref={providedChild.innerRef}\n {...providedChild.draggableProps}\n {...providedChild.dragHandleProps}\n >\n <EditableField\n field={`images/${key}`}\n value={values['images'][key]}\n ns=\"guillotina.contrib.image.behaviors.IMultiImageAttachment.images\"\n schema={properties['images']['additionalProperties']}\n modifyContent={false}\n required={false}\n />\n <div className=\"ml-5\">\n <Delete\n onClick={(ev) => {\n ev.preventDefault()\n setFileKeyToDelete(key)\n }}\n />\n </div>\n </div>\n )}\n </Draggable>\n ))}\n {provided.placeholder}\n </div>\n )}\n </StrictModeDroppable>\n </DragDropContext>\n </section>\n\n {Object.keys(values['images']).length === 0 && (\n <section>\n {intl.formatMessage(genericFileMessages.no_images_uploaded)}\n </section>\n )}\n {modifyContent && (\n <section>\n <label className=\"label\">\n {intl.formatMessage(genericFileMessages.upload_an_image)}\n </label>\n\n <form\n className=\"is-flex is-align-items-center\"\n style={{ gap: '15px' }}\n data-test=\"formMultiimageOrderedAttachmentTest\"\n >\n <div>\n <FileUpload onChange={(ev) => setFile(ev)} />\n {file && file.filename}\n </div>\n <div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={uploadFile}\n disabled={!file}\n >\n {intl.formatMessage(genericMessages.upload)}\n </Button>\n </div>\n </form>\n {error && <p className=\"help is-danger\">{error}</p>}\n </section>\n )}\n </React.Fragment>\n )\n}\n","const base = {\n local: {\n roleperm: {},\n prinperm: {},\n prinrole: {},\n },\n inherit: {},\n}\n\nexport class Sharing {\n constructor(element) {\n Object.assign(this, element || base)\n }\n\n get roles() {\n return Object.keys(this.local.roleperm)\n }\n\n getRole(role) {\n return this.local.roleperm[role]\n }\n\n get principals() {\n return Object.keys(this.local.prinperm)\n }\n\n getPrincipals(principal) {\n return this.local.prinperm[principal]\n }\n\n get prinrole() {\n return Object.keys(this.local.prinrole)\n }\n\n getPrinroles(role) {\n return this.local.prinrole[role]\n }\n}\n","import { formatDate } from '../lib/utils'\nimport { useConfig } from '../hooks/useConfig'\n\nexport * from './sharing'\n\nexport class ItemModel {\n constructor(item, url, path) {\n this.item = item\n this.url = url\n this._path = path\n }\n\n get path() {\n // Compat\n let item = this.item['@id'] ? this.item['@id'] : this.item['@absolute_url']\n let path = item.split('//')[1].split('/').splice(1).join('/')\n path = `/${path}/`\n if (this.url.length > 0) {\n if (this.url.startsWith('/')) {\n path = path.replace(this.url.substring(1), '')\n } else {\n path = path.replace(this.url, '')\n }\n }\n\n return path\n }\n\n get name() {\n return this.item.title || this.item['@name']\n }\n\n get icon() {\n // eslint-disable-next-line\n const cfg = useConfig()\n if (cfg.icons && cfg.icons[this.type]) {\n return cfg.icons[this.type]\n }\n\n switch (this.type) {\n case 'GroupManager':\n return 'fas fa-users-cog'\n case 'UserManager':\n return 'fas fa-user-cog'\n case 'User':\n return 'fas fa-user'\n case 'Group':\n return 'fas fa-users'\n case 'Folder':\n return 'fas fa-folder'\n default:\n return 'fas fa-file'\n }\n }\n\n get fullPath() {\n return this._url + this.item.id\n }\n\n get id() {\n if (this.item.id) {\n return this.item.id\n }\n let id = this.item['@id'].split('&')[0].split('/')\n return id[id.length - 1]\n }\n\n get uid() {\n return this.item['@uid']\n }\n\n get type() {\n return this.item['@type'] || this.item.type_name\n }\n\n get title() {\n return this.item.title\n }\n\n get created() {\n return this.item.creation_date ? formatDate(this.item.creation_date) : ''\n }\n\n get updated() {\n return this.item.modification_date\n ? formatDate(this.item.modification_date)\n : ''\n }\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { Confirm } from '../modal'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { ItemModel } from '../../models'\nimport { defineMessages, useIntl } from 'react-intl'\n\nconst messages = defineMessages({\n status_changed_ok: {\n id: 'status_changed_ok',\n defaultMessage: 'Great status changed!',\n },\n status_changed_error: {\n id: 'status_changed_error',\n defaultMessage: 'Failed to status changed!: {error}',\n },\n confirm_message: {\n id: 'confirm_message',\n defaultMessage: 'Are you sure to change state: {title}?',\n },\n current_state: {\n id: 'current_state',\n defaultMessage: 'Current state: {state}',\n },\n actions: {\n id: 'actions',\n defaultMessage: 'Actions:',\n },\n})\n\nexport function IWorkflow() {\n const intl = useIntl()\n const Ctx = useTraversal()\n const { post, loading } = useCrudContext()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n const [definition, setDefinition] = React.useState(undefined)\n const [workflowAction, setWorkflowAction] = React.useState(null)\n const model = new ItemModel(Ctx.context)\n const currentState =\n model.item['guillotina.contrib.workflows.interfaces.IWorkflowBehavior'][\n 'review_state'\n ]\n\n async function loadDefinition() {\n const response = await Ctx.client.get(`${Ctx.path}/@workflow`)\n const workflow = await response.json()\n setDefinition(workflow)\n }\n\n React.useEffect(() => {\n loadDefinition()\n }, [Ctx.path])\n\n const doWorkflowAction = async () => {\n const { isError, errorMessage } = await post(\n {},\n `@workflow/${workflowAction}`,\n false\n )\n await loadDefinition()\n if (!isError) {\n Ctx.flash(intl.formatMessage(messages.status_changed_ok), 'success')\n } else {\n Ctx.flash(\n intl.formatMessage(messages.status_changed_error, {\n error: errorMessage,\n }),\n 'danger'\n )\n }\n\n Ctx.refresh()\n setWorkflowAction(null)\n }\n if (definition === undefined) return null\n\n return (\n <React.Fragment>\n {workflowAction && (\n <Confirm\n loading={loading}\n onCancel={() => setWorkflowAction(null)}\n onConfirm={doWorkflowAction}\n message={intl.formatMessage(messages.confirm_message, {\n title: Ctx.context.title || Ctx.context['@name'],\n })}\n />\n )}\n\n <div className=\"is-flex is-align-items-center mb-3\">\n <div\n className=\"has-text-weight-bold\"\n data-test={`textInfoStatus-${currentState}`}\n >\n {intl.formatMessage(messages.current_state, { state: currentState })}\n </div>\n </div>\n {modifyContent && (\n <div\n className=\" is-flex is-align-items-center has-text-weight-bold\"\n data-test={`textInfoStatus-${currentState}`}\n >\n <label>{intl.formatMessage(messages.actions)}</label>&nbsp;&nbsp;\n {definition.transitions.map((transition) => {\n return (\n <button\n key={transition['@id']}\n className=\"button mr-4\"\n onClick={() =>\n setWorkflowAction(\n transition['@id'].split('@workflow')[1].slice(1)\n )\n }\n >\n {transition.title}\n </button>\n )\n })}\n </div>\n )}\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { getActionsObject } from '../../lib/helpers'\n\nexport function PanelActions() {\n const traversal = useTraversal()\n const intl = useIntl()\n const ACTIONS_OBJECT = getActionsObject(intl)\n\n const hasPerm = (perms) => {\n return perms.some((perm) => traversal.hasPerm(perm))\n }\n\n const onAction = (actionKey) => {\n traversal.doAction(ACTIONS_OBJECT[actionKey].action, {\n item: traversal.context,\n })\n }\n\n return (\n <React.Fragment>\n {Object.keys(ACTIONS_OBJECT).map((actionKey) => {\n if (hasPerm(ACTIONS_OBJECT[actionKey].perms)) {\n return (\n <button\n key={`panel_action_${ACTIONS_OBJECT[actionKey].text}`}\n className=\"button mr-4\"\n onClick={() => {\n onAction(actionKey)\n }}\n >\n {ACTIONS_OBJECT[actionKey].text}\n </button>\n )\n }\n })}\n </React.Fragment>\n )\n}\n","import { useCallback, useEffect, useRef } from 'react'\n\nexport default function useMountedState() {\n const mountedRef = useRef(false)\n const get = useCallback(() => mountedRef.current, [])\n\n useEffect(() => {\n mountedRef.current = true\n\n return () => {\n mountedRef.current = false\n }\n })\n\n return get\n}\n","import { useCallback, useState, useRef } from 'react'\nimport useMountedState from './useMountedState'\n\nexport default function useAsyncFn(\n fn,\n deps = [],\n initialState = { loading: false }\n) {\n const lastCallId = useRef(0)\n const isMounted = useMountedState()\n const [state, set] = useState(initialState)\n\n const callback = useCallback((...args) => {\n const callId = ++lastCallId.current\n set((prevState) => ({ ...prevState, loading: true }))\n\n return fn(...args).then(\n (value) => {\n isMounted() &&\n callId === lastCallId.current &&\n set({ value, loading: false })\n\n return value\n },\n (error) => {\n isMounted() &&\n callId === lastCallId.current &&\n set({ error, loading: false })\n\n return error\n }\n )\n }, deps)\n\n return [state, callback]\n}\n","import { useEffect } from 'react'\nimport useAsyncFn from './useAsyncFn'\n\nexport default function useAsync(fn, deps = []) {\n const [state, callback] = useAsyncFn(fn, deps, {\n loading: true,\n })\n\n useEffect(() => {\n callback()\n }, [callback])\n\n return state\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport useAsync from '../../hooks/useAsync'\nimport { useIntl, defineMessages } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nconst messages = defineMessages({\n available_addons: {\n id: 'available_addons',\n defaultMessage: 'Available Addons',\n },\n no_available_addons_container: {\n id: 'no_available_addons_container',\n defaultMessage: 'No Addon available in this container',\n },\n installed_addons: {\n id: 'installed_addons',\n defaultMessage: 'Installed Addons',\n },\n})\n\n// TODO: Refactor without useAsync... just crudContext\nexport function PanelAddons(props) {\n const intl = useIntl()\n const Ctx = useTraversal()\n let [action, setAction] = React.useState(false)\n\n const installAddon = async (Ctx, key) => {\n await Ctx.client.installAddon(Ctx.pathPrefix, key)\n Ctx.flash(`Addon ${key} installed`, 'success')\n setAction(!action)\n }\n\n const removeAddon = async (Ctx, key) => {\n await Ctx.client.removeAddon(Ctx.pathPrefix, key)\n Ctx.flash(`Addon ${key} removed`, 'success')\n setAction(!action)\n }\n\n const state = useAsync(async () => {\n const response = await Ctx.client.getAddons(Ctx.pathPrefix)\n const data = await response.json()\n return prepareData(data)\n }, [action])\n\n return (\n <React.Fragment>\n {state.loading ? (\n <div>{intl.formatMessage(genericMessages.loading)}</div>\n ) : state.error ? (\n <p>Error: {state.error.message}</p>\n ) : (\n <div className=\"columns\">\n <div className=\"column\">\n <h2 className=\"title is-size-4 has-text-grey-dark\">\n {intl.formatMessage(messages.available_addons)}\n </h2>\n <hr />\n {state.value.available.length === 0 && (\n <p>\n {intl.formatMessage(messages.no_available_addons_container)}\n </p>\n )}\n <table className=\"table is-12\">\n <tbody>\n {state.value.available.map((addon) => (\n <tr>\n <td>{addon.title}</td>\n <td>\n <button\n className=\"button is-primary is-small\"\n onClick={() => installAddon(Ctx, addon.id)}\n >\n {intl.formatMessage(genericMessages.install)}\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n <div className=\"column\">\n <h2 className=\"title is-size-4 has-text-grey-dark\">\n {intl.formatMessage(messages.installed_addons)}\n </h2>\n <hr />\n {state.value.installed.length === 0 && (\n <p>\n {intl.formatMessage(messages.no_available_addons_container)}\n </p>\n )}\n <table className=\"table is-12\">\n <tbody>\n {state.value.installed.map((addon) => (\n <tr>\n <td>{addon.title}</td>\n <td>\n <button\n className=\"button is-danger is-small\"\n onClick={() => removeAddon(Ctx, addon.id)}\n >\n {intl.formatMessage(genericMessages.remove)}\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n )}\n </React.Fragment>\n )\n}\n\nconst prepareData = (result) => {\n const addons = arrayToObject(result.available)\n return {\n available: result.available.filter(\n (item) => !result.installed.includes(item.id)\n ),\n installed: result.installed.map((id) => addons[id]),\n }\n}\n\nconst arrayToObject = (array) =>\n array.reduce((obj, item) => {\n obj[item.id] = item\n return obj\n }, {})\n","import React from 'react'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { Table } from '../ui/table'\nimport { Button } from '../input/button'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function PanelBehaviors() {\n const intl = useIntl()\n const { Ctx, get, result, loading, isError } = useCrudContext()\n const ops = useCrudContext()\n\n const [state, setState] = React.useState(false)\n\n const enableBehavior = (behavior) => async () => {\n await ops.patch({ behavior }, '@behaviors')\n setState(!state)\n Ctx.refresh()\n }\n\n const disableBehavior = (behavior) => async () => {\n await ops.del({ behavior }, '@behaviors')\n setState(!state)\n Ctx.refresh()\n }\n\n React.useEffect(() => {\n get('@behaviors')\n }, [])\n\n return (\n <div className=\"columns behaviors\">\n <div className=\"column is-8 is-size-7\">\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n {intl.formatMessage(genericMessages.behaviors)}\n </h2>\n {!loading && !isError && result && (\n <React.Fragment>\n <Table>\n <tr>\n <td colSpan=\"3\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage(genericMessages.static)}\n </h3>\n </td>\n </tr>\n {result.static.map((behavior) => (\n <tr key={behavior}>\n <td>{intl.formatMessage(genericMessages.static)}</td>\n <td>{behavior}</td>\n <td className=\"\">\n <Button className=\"is-small is-pulled-right\" disabled>\n {intl.formatMessage(genericMessages.disable)}\n </Button>\n </td>\n </tr>\n ))}\n </Table>\n <Table>\n <tr>\n <td colSpan=\"3\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage(genericMessages.enabled)}\n </h3>\n </td>\n </tr>\n {result.dynamic.map((behavior) => (\n <tr key={behavior}>\n <td>{intl.formatMessage(genericMessages.enabled)}</td>\n <td>{behavior}</td>\n <td>\n <Button\n className=\"is-small is-danger is-pulled-right\"\n onClick={disableBehavior(behavior)}\n >\n {intl.formatMessage(genericMessages.disable)}\n </Button>\n </td>\n </tr>\n ))}\n </Table>\n <Table>\n <tr>\n <td colSpan=\"3\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage(genericMessages.available)}\n </h3>\n </td>\n </tr>\n {result.available.map((behavior) => (\n <tr key={behavior}>\n <td>{intl.formatMessage(genericMessages.available)}</td>\n <td>{behavior}</td>\n <td>\n <Button\n className=\"is-small is-primary is-pulled-right\"\n onClick={enableBehavior(behavior)}\n >\n {intl.formatMessage(genericMessages.enable)}\n </Button>\n </td>\n </tr>\n ))}\n </Table>\n </React.Fragment>\n )}\n </div>\n <div className=\"column is-4\"></div>\n </div>\n )\n}\n","import React, { createContext, useState, useContext } from 'react'\nimport Dropdown from './input/dropdown'\nimport { Checkbox } from './input/checkbox'\nimport { useTraversal } from '../contexts'\nimport { useIntl } from 'react-intl'\nimport { getActionsObject } from '../lib/helpers'\n\nconst ItemsActionsCtx = createContext({})\n\n/**\n * Actions to apply after select some items\n * Ex: Delete, Move, Copy...\n */\nexport function ItemsActionsProvider({ items, children }) {\n const intl = useIntl()\n const actions = getActionsObject(intl, true)\n const traversal = useTraversal()\n const [selected, setSelected] = useState({})\n function onSelectAllItems(checked) {\n setSelected(\n items.reduce(\n (obj, item) => {\n obj[`${item.path}/${item.id}`] = checked\n return obj\n },\n { all: checked }\n )\n )\n }\n\n function onSelectOneItem(item) {\n setSelected((state) => ({\n ...state,\n all: false,\n [`${item.path}/${item.id}`]: !state[`${item.path}/${item.id}`],\n }))\n }\n\n function onAction(actionKey) {\n traversal.doAction(actions[actionKey].action, {\n items: items.filter((item) => selected[`${item.path}/${item.id}`]),\n })\n }\n\n return (\n <ItemsActionsCtx.Provider\n value={{\n onAction,\n onSelectAllItems,\n onSelectOneItem,\n selected,\n }}\n >\n {children}\n </ItemsActionsCtx.Provider>\n )\n}\n\n/**\n * Checkbox component without props that consume the ItemsActionsContext\n * and it select/unselect all items of the page.\n */\nexport function AllItemsCheckbox({ dataTest }) {\n const { onSelectAllItems, selected } = useContext(ItemsActionsCtx)\n\n return (\n <Checkbox\n key={selected.all}\n onChange={onSelectAllItems}\n style={{ marginLeft: 2 }}\n value={selected.all}\n dataTest={dataTest}\n />\n )\n}\n\n/**\n * Checkbox component to select ONE item.\n */\nexport function ItemCheckbox({ item, dataTest }) {\n const { selected, onSelectOneItem } = useContext(ItemsActionsCtx)\n const absId = `${item.path}/${item.id}`\n const value = selected[absId]\n\n return (\n <Checkbox\n key={value}\n onChange={() => onSelectOneItem(item)}\n value={value}\n dataTest={dataTest}\n />\n )\n}\n\n/**\n * Dropdown to choose some action to apply to the selected items.\n */\nexport function ItemsActionsDropdown() {\n const intl = useIntl()\n const ACTIONS_OBJECT = getActionsObject(intl, true)\n const traversal = useTraversal()\n const { selected, onAction } = useContext(ItemsActionsCtx)\n const disabled = Object.values(selected).every((v) => !v)\n const options = Object.keys(ACTIONS_OBJECT).map((action) => ({\n text: ACTIONS_OBJECT[action].text,\n value: action,\n }))\n\n return (\n <Dropdown\n disabled={disabled}\n id=\"items-actions\"\n onChange={onAction}\n optionDisabledWhen={(o) =>\n ACTIONS_OBJECT[o.value].perms.some((perm) => !traversal.hasPerm(perm))\n }\n options={options}\n >\n <div data-test=\"btnChooseActionTest\">\n {intl.formatMessage({\n id: 'choose_action',\n defaultMessage: 'Choose action...',\n })}\n </div>\n </Dropdown>\n )\n}\n","import React from 'react'\nimport { useIntl } from 'react-intl'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\nexport function Pagination({ current, total, doPaginate, pager }) {\n const intl = useIntl()\n const maxPages = Math.ceil(total / pager)\n if (maxPages <= 1) {\n return null\n }\n\n return (\n <div>\n <p className=\"level-right has-text-grey is-size-7\">\n <span>\n {intl.formatMessage(\n {\n id: 'pagination',\n defaultMessage:\n '{currentPage} / {totalPages} of {totalItems} items',\n },\n {\n currentPage: current + 1,\n totalPages: maxPages,\n totalItems: total,\n }\n )}\n </span>\n </p>\n <nav\n className=\"pagination is-size-7\"\n role=\"navigation\"\n aria-label=\"pagination\"\n >\n <a\n className=\"pagination-previous is-small\"\n disabled={current === 0}\n onClick={() => (current > 0 ? doPaginate(current - 1) : null)}\n >\n <span className=\"icon\">\n <i className=\"fas fa-arrow-left\"></i>\n </span>\n </a>\n <a\n className=\"pagination-next is-small\"\n disabled={current >= maxPages - 1}\n onClick={() => doPaginate(current + 1)}\n >\n <span className=\"icon\">\n <i className=\"fas fa-arrow-right\"></i>\n </span>\n </a>\n </nav>\n </div>\n )\n}\n","import React from 'react'\n\nimport { ItemModel } from '../models'\nimport { useLocation } from '../hooks/useLocation'\nimport { useTraversal } from '../contexts'\nimport { Icon } from './ui/icon'\nimport { ItemCheckbox } from './selected_items_actions'\nimport { Delete } from './ui'\n\nexport function Item({ item, icon }) {\n const [, navigate] = useLocation()\n const link = () => navigate({ path: item.path }, true)\n return (\n <tr>\n <td onClick={link} style={{ width: '25px' }}>\n {icon && <Icon icon={icon} />}\n </td>\n <td onClick={link}>{item.id}</td>\n </tr>\n )\n}\n\nconst smallcss = {\n width: 25,\n}\n\nexport function RItem({ item, search, columns }) {\n const [, navigate] = useLocation()\n const traversal = useTraversal()\n const model = new ItemModel(item, traversal.url, traversal.path)\n const link = () => navigate({ path: model.path }, true)\n\n return (\n <tr key={item} data-test={`itemTest-${item['@name']}`}>\n <td style={smallcss}>\n <ItemCheckbox item={item} dataTest=\"itemCheckboxRowTest\" />\n </td>\n {columns.map((i) => (\n <React.Fragment key={i.label}>\n {i.child(model, link, search)}\n </React.Fragment>\n ))}\n <td style={smallcss}>\n {traversal.hasPerm('guillotina.DeleteContent') && (\n <Delete\n onClick={() =>\n traversal.doAction('removeItems', { items: [model.item] })\n }\n />\n )}\n </td>\n </tr>\n )\n}\n\nexport function ItemTitle({ title, actions }) {\n return (\n <nav className=\"level\">\n <div className=\"level-left\">\n <div className=\"level-item\">\n <h4 className=\"title has-text-primary is-size-5\">{title}</h4>\n </div>\n </div>\n <div className=\"level-right\">\n <div className=\"level-item\">{actions && actions}</div>\n </div>\n </nav>\n )\n}\n","import React from 'react'\nimport { Tag } from './ui/tag'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function SearchLabels(props) {\n const { query } = props\n const [location, , del] = useLocation()\n const search = location.get(query ?? 'q')\n\n const clearSearch = () => {\n del(query ?? 'q')\n }\n\n if (search) {\n return (\n <div className=\"tags\">\n <Tag\n id={search}\n name={search}\n color=\"is-info\"\n size=\"is-size-7\"\n onRemove={() => clearSearch()}\n />\n </div>\n )\n }\n return null\n}\n","import React, { useEffect, useState } from 'react'\nimport { Tag } from './ui/tag'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function SearchOptionsLabels(props) {\n const { query = 'q', options } = props\n const [location, , del] = useLocation()\n const [renderValue, setRenderValue] = useState(undefined)\n const defaultRenderValue = location.get(query)\n\n useEffect(() => {\n let value = defaultRenderValue\n if ((options ?? []).length > 0) {\n const option = options.find((item) => item.value === value)\n if (option) {\n value = option.text\n }\n }\n setRenderValue(value)\n }, [defaultRenderValue])\n\n const clearSearch = () => {\n del(query)\n }\n\n if (renderValue) {\n return (\n <div className=\"tags\">\n <Tag\n id={defaultRenderValue}\n name={renderValue}\n color=\"is-info\"\n size=\"is-size-7\"\n onRemove={() => clearSearch()}\n />\n </div>\n )\n }\n return null\n}\n","import React, { useEffect, useState } from 'react'\nimport { Tag } from './ui/tag'\nimport { useLocation } from '../hooks/useLocation'\nimport { useVocabulary } from '../hooks/useVocabulary'\nimport { get } from '../lib/utils'\n\nexport function SearchVocabularyLabels(props) {\n const { query = 'q' } = props\n const [location, , del] = useLocation()\n const [renderValue, setRenderValue] = useState(undefined)\n const vocabulary = useVocabulary(props?.vocabulary)\n const defaultRenderValue = location.get(query)\n\n useEffect(() => {\n let value = defaultRenderValue\n if (get(vocabulary, 'data.items', []).length > 0) {\n const vocabularyValue = get(vocabulary, 'data.items', []).find(\n (item) => item.token === value\n )\n if (vocabularyValue) {\n value = vocabularyValue.title\n }\n }\n setRenderValue(value)\n }, [vocabulary, defaultRenderValue])\n\n const clearSearch = () => {\n del(query)\n }\n\n if (renderValue) {\n return (\n <div className=\"tags\">\n <Tag\n id={defaultRenderValue}\n name={renderValue}\n color=\"is-info\"\n size=\"is-size-7\"\n onRemove={() => clearSearch()}\n />\n </div>\n )\n }\n return null\n}\n","import React from 'react'\n\nimport useSetState from '../../hooks/useSetState'\nimport {\n ItemsActionsProvider,\n AllItemsCheckbox,\n ItemsActionsDropdown,\n} from '../selected_items_actions'\nimport { Pagination } from '../pagination'\nimport { RItem } from '../item'\nimport { SearchLabels } from '../search_labels'\nimport { SearchOptionsLabels } from '../search_options_labels'\nimport { SearchVocabularyLabels } from '../search_vocabulary_labels'\nimport { useTraversal } from '../../contexts'\nimport { buildQs } from '../../lib/search'\nimport { parser } from '../../lib/search'\nimport { useConfig } from '../../hooks/useConfig'\nimport { useEffect } from 'react'\nimport { useLocation } from '../../hooks/useLocation'\nimport { Select } from '../input/select'\nimport { Input } from '../input/input'\nimport { SelectVocabulary } from '../input/select_vocabulary'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\nconst initialState = {\n page: 0,\n items: [],\n loading: true,\n total: 0,\n}\n\nexport function PanelItems() {\n const [location, setLocation, del] = useLocation()\n const { PageSize, SearchEngine } = useConfig()\n const intl = useIntl()\n\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initialState)\n const { items, loading, total } = state\n\n const filterSchema =\n Ctx.registry.getSchemas(Ctx.context['@type']).filters || []\n\n const columns =\n Ctx.registry.getItemsColumn(Ctx.context['@type']) ||\n Ctx.client.getItemsColumn()\n\n let search = location.get('q')\n let type = location.get('type')\n let sort = location.get('sort')\n const sortDirection = location.get('sort_direction')\n let page\n\n try {\n page = parseInt(location.get('page')) || 0\n } catch {\n page = 0\n }\n\n let searchParsed = undefined\n if (search && search !== '') {\n const fieldsToFilter = Ctx.registry.getFieldsToFilter(Ctx.context['@type'])\n searchParsed = parser(search, fieldsToFilter)\n }\n\n let typeParsed = undefined\n if (type && type !== '') {\n typeParsed = parser(type, 'type_name')\n }\n\n let sortParsed = undefined\n if (sort && sort !== '') {\n if (sortDirection === 'asc') {\n sortParsed = parser(`_sort_asc=${sort}`)\n } else if (sortDirection === 'des') {\n sortParsed = parser(`_sort_des=${sort}`)\n }\n }\n\n const onSort = (key) => {\n if (sort === key && sortDirection === 'des') {\n setLocation({\n sort: key,\n sort_direction: 'asc',\n page: 0,\n })\n } else {\n setLocation({\n sort: key,\n sort_direction: 'des',\n page: 0,\n })\n }\n }\n\n let resultQueryParams = []\n let resultDynamicLocation = []\n filterSchema.forEach((filter) => {\n const itemParam = location.get(filter.attribute_key)\n resultDynamicLocation.push(itemParam)\n if (itemParam) {\n const filterParsed = parser(itemParam, filter.attribute_key)\n resultQueryParams = [...resultQueryParams, ...filterParsed]\n }\n })\n\n useEffect(() => {\n const controller = new AbortController()\n if (Ctx.state.loading) return\n ;(async () => {\n let data\n setState({ loading: true, total: Ctx.context.length })\n const { get } = Ctx.registry\n const fnName = get('searchEngineQueryParamsFunction', SearchEngine)\n\n let qsParsed = Ctx.client[fnName]({\n path: Ctx.path,\n start: page * PageSize,\n pageSize: PageSize,\n })\n let qs = ''\n if (search || type || sort || resultQueryParams.length > 0) {\n qs = buildQs([\n ...qsParsed,\n ...(searchParsed ?? []),\n ...(typeParsed ?? []),\n ...(sortParsed ?? []),\n ...resultQueryParams,\n ])\n } else {\n qs = buildQs(qsParsed)\n }\n\n const { signal } = controller\n data = await Ctx.client.search(Ctx.path, qs, false, false, { signal })\n setState({\n items: data.member,\n loading: false,\n total: data.items_count,\n })\n })()\n return () => {\n controller.abort()\n }\n }, [\n search,\n type,\n Ctx.state.refresh,\n page,\n sort,\n sortDirection,\n ...resultDynamicLocation,\n ])\n\n const doPaginate = (page) => {\n setLocation({ page: page })\n }\n\n const getIcon = (key, isSortable) => {\n let icon = null\n if (isSortable) {\n if (sort !== key) {\n icon = <i className=\"fas fa-sort\" />\n } else if (sortDirection === 'des') {\n icon = <i className=\"fas fa-sort-down\" />\n } else {\n icon = <i className=\"fas fa-sort-up\"></i>\n }\n }\n return <span className=\"icon is-small\">{icon}</span>\n }\n\n return (\n <ItemsActionsProvider items={items}>\n {filterSchema.length > 0 && (\n <div className=\"filters-items-view\">\n {filterSchema.map((filter) => {\n if (filter.type === 'select' && (filter.values ?? []).length > 0) {\n return (\n <Select\n key={`filter-${filter.attribute_key}`}\n id={filter.attribute_key}\n placeholder={filter.label}\n appendDefault\n classWrap=\"is-size-7 is-fullwidth\"\n options={filter.values}\n value={location.get(filter.attribute_key) || ''}\n dataTest={`filterInput${filter.attribute_key}`}\n onChange={(value) => {\n if (value && value !== '') {\n setLocation({\n [filter.attribute_key]: value,\n tab: 'Items',\n page: 0,\n })\n } else {\n del(filter.attribute_key)\n }\n }}\n />\n )\n } else if (filter.type === 'select' && filter.vocabulary) {\n return (\n <SelectVocabulary\n key={`filter-${filter.attribute_key}`}\n id={filter.attribute_key}\n placeholder={filter.label}\n appendDefault\n vocabularyName={filter.vocabulary}\n classWrap=\"is-size-7 is-fullwidth\"\n value={location.get(filter.attribute_key) || ''}\n dataTest={`filterInput${filter.attribute_key}`}\n onChange={(value) => {\n if (value && value !== '') {\n setLocation({\n [filter.attribute_key]: value,\n tab: 'Items',\n page: 0,\n })\n } else {\n del(filter.attribute_key)\n }\n }}\n />\n )\n } else if (filter.type === 'input') {\n return (\n <Input\n id={filter.attribute_key}\n key={`filter-${filter.attribute_key}`}\n placeholder={filter.label}\n className=\"is-size-7 is-fullwidth\"\n type={filter.input_type || 'text'}\n value={location.get(filter.attribute_key) || ''}\n dataTest={`filterInput${filter.attribute_key}`}\n onChange={(value) => {\n if (value && value !== '') {\n setLocation({\n [filter.attribute_key]: value,\n tab: 'Items',\n page: 0,\n })\n } else {\n del(filter.attribute_key)\n }\n }}\n />\n )\n }\n return null\n })}\n </div>\n )}\n <div className=\"wrapper-filters-info\">\n <div className=\"is-size-7\">\n <ItemsActionsDropdown />\n </div>\n <div className=\"wrapper-filters-tags\">\n {location.get('q') && <SearchLabels />}\n {location.get('type') && <SearchLabels query=\"type\" />}\n\n {(filterSchema ?? []).map((filter) => {\n const filterData = location.get(filter.attribute_key)\n if (filterData) {\n if (filter.type === 'select' && filter.vocabulary) {\n return (\n <div key={filter.attribute_key}>\n <SearchVocabularyLabels\n query={filter.attribute_key}\n vocabulary={filter?.vocabulary}\n />\n </div>\n )\n } else if (\n filter.type === 'select' &&\n (filter.values ?? []).length > 0\n ) {\n return (\n <div key={filter.attribute_key}>\n <SearchOptionsLabels\n query={filter.attribute_key}\n options={filter?.values}\n />\n </div>\n )\n }\n return (\n <div key={filter.attribute_key}>\n <SearchLabels query={filter.attribute_key} />\n </div>\n )\n }\n return null\n })}\n </div>\n <div>\n <Pagination\n current={page}\n total={total}\n key=\"pagination-top\"\n doPaginate={doPaginate}\n pager={PageSize}\n />\n </div>\n </div>\n\n {loading && <div className=\"progress-line\"></div>}\n {!loading && (\n <table\n className=\"table is-fullwidth is-hoverable\"\n data-test=\"itemPanelTableTest\"\n >\n <thead className=\"is-size-7\">\n <tr>\n <th>\n <AllItemsCheckbox />\n </th>\n {columns.map((column) => (\n <th\n key={`table-col-${column.label}`}\n onClick={() => column.isSortable && onSort(column.key)}\n data-test={`sortableColumn${column.key}`}\n >\n <div className=\"has-text-info is-flex is-align-items-center\">\n <span>{column.label}</span>\n {getIcon(column.key, column.isSortable)}\n </div>\n </th>\n ))}\n <th>&nbsp;</th>\n </tr>\n </thead>\n <tbody>\n {items &&\n items.map((item) => (\n <RItem\n item={item}\n key={item['@uid']}\n search={search}\n columns={columns}\n />\n ))}\n {items && items.length === 0 && (\n <tr>\n <td colSpan=\"6\" className=\"has-text-centered\">\n {intl.formatMessage(genericMessages.no_results)}\n </td>\n </tr>\n )}\n </tbody>\n </table>\n )}\n <div className=\"columns is-centered\">\n <Pagination\n current={page}\n key=\"pagination-bottom\"\n total={total}\n doPaginate={doPaginate}\n pager={PageSize}\n />\n </div>\n </ItemsActionsProvider>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { get } from '../lib/utils'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function BehaviorsView({ context, schema }) {\n const Ctx = useTraversal()\n const { getBehavior } = Ctx.registry\n\n const behaviors = [].concat(\n context.__behaviors__,\n context['@static_behaviors']\n )\n const GetBehavior = (b) => {\n const Cls = getBehavior(b, BehaviorNotImplemented)\n return (\n <Cls\n values={context[b]}\n properties={get(schema, ['definitions', b, 'properties'], {})}\n />\n )\n }\n\n return (\n <React.Fragment>\n {behaviors.map((behavior) => (\n <div className=\"container\" key={behavior}>\n <h3 className=\"title is-size-6 has-text-grey\">{behavior}</h3>\n {GetBehavior(behavior)}\n <hr />\n </div>\n ))}\n </React.Fragment>\n )\n}\n\nexport function BehaviorNotImplemented() {\n const intl = useIntl()\n return (\n <tr>\n <td colSpan=\"3\">{intl.formatMessage(genericMessages.not_implemented)}</td>\n </tr>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\n\nexport function PropertiesButtonView() {\n const Ctx = useTraversal()\n const { getProperties } = Ctx.registry\n\n const Props = getProperties(Ctx.context['@type'])\n\n if (Props.Buttons) {\n const Element = React.cloneElement(Props.Buttons, { Ctx: Ctx })\n return Element\n }\n return null\n}\n\nexport function PropertiesView() {\n const Ctx = useTraversal()\n const { getProperties } = Ctx.registry\n const Props = getProperties(Ctx.context['@type'])\n\n if (Props.Panels) {\n const Element = React.cloneElement(Props.Panels, { Ctx: Ctx })\n return Element\n }\n return null\n}\n","import React, { useEffect } from 'react'\nimport { ItemModel } from '../../models'\nimport { BehaviorsView } from '../behavior_view'\nimport { Icon } from '../ui/icon'\nimport { EditableField } from '../fields/editableField'\nimport { PropertiesButtonView } from '../properties_view'\nimport { PropertiesView } from '../properties_view'\nimport { useConfig } from '../../hooks/useConfig'\nimport useSetState from '../../hooks/useSetState'\nimport { useTraversal } from '../../contexts'\nimport { get } from '../../lib/utils'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nconst _showProperties = ['@id', '@name', '@uid']\nconst _ignoreFields = [\n 'guillotina.behaviors.dublincore.IDublinCore',\n 'guillotina.behaviors.attachment.IAttachment',\n 'guillotina.behaviors.attachment.IMultiAttachment',\n 'guillotina.contrib.workflows.interfaces.IWorkflowBehavior',\n 'guillotina.contrib.image.behaviors.IImageAttachment',\n 'guillotina.contrib.image.behaviors.IMultiImageAttachment',\n 'guillotina.contrib.image.behaviors.IMultiImageOrderedAttachment',\n '__behaviors__',\n 'type_name',\n 'creation_date',\n 'modification_date',\n 'uuid',\n 'title',\n]\n\nexport function PanelProperties() {\n const intl = useIntl()\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n const cfg = useConfig()\n\n const [schema, setSchema] = useSetState({\n data: undefined,\n loading: false,\n error: undefined,\n })\n\n const model = new ItemModel(Ctx.context)\n\n const showProperties =\n Ctx.registry.getProperties(Ctx.context['@type']).default ||\n cfg.properties_default ||\n _showProperties\n\n const ignoreFields =\n Ctx.registry.getProperties(Ctx.context['@type']).ignoreField ||\n cfg.properties_ignore_fields ||\n _ignoreFields\n\n const properties = Object.keys(schema?.data?.properties || [])\n .filter((key) => !ignoreFields.includes(key))\n .map((key) => ({ key, value: schema.data.properties[key] }))\n\n useEffect(() => {\n ;(async () => {\n if (!schema.loading && !schema.data && !schema.error) {\n try {\n setSchema({ loading: true })\n const dataJson = await Ctx.client.getTypeSchema(Ctx.path, model.type)\n setSchema({ loading: false, data: dataJson })\n } catch (err) {\n setSchema({ loading: false, error: err })\n }\n }\n })()\n }, [schema])\n\n return (\n <div className=\"container\">\n <div className=\"level\">\n <div className=\"level-left\">\n <h2 className=\"title is-size-4 is-primary\">\n <Icon icon={model.icon} align=\"is-left\" className=\"has-text-grey\" />\n &nbsp;\n <span>{Ctx.context.title || Ctx.context['@name']}</span>\n </h2>\n </div>\n <div className=\"level-right\">\n <PropertiesButtonView />\n </div>\n </div>\n\n <hr />\n {schema && schema.data && !schema.loading && (\n <div className=\"columns\">\n <div className=\"column\">\n <table className=\"table is-striped is-fullwidth is-size-7\">\n <thead>\n <tr>\n <th style={{ width: '150px' }} className=\"is-2\">\n {intl.formatMessage(genericMessages.property)}\n </th>\n <th className=\"is-8\">\n {intl.formatMessage(genericMessages.value)}\n </th>\n </tr>\n </thead>\n <tbody>\n {showProperties.map((prop) => (\n <tr key={'prop' + prop}>\n <td style={{ width: '150px' }}>{prop}</td>\n <td>\n <EditableField\n field={prop}\n value={Ctx.context[prop]}\n modifyContent={false}\n />\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n {properties.length > 0 && (\n <table className=\"table is-striped is-fullwidth is-size-7\">\n <thead>\n <tr>\n <th style={{ width: '150px' }} className=\"is-2\">\n {intl.formatMessage(genericMessages.property)}\n </th>\n <th className=\"is-8\">\n {intl.formatMessage(genericMessages.value)}\n </th>\n </tr>\n </thead>\n <tbody>\n {properties.map(({ key, value }) => {\n return (\n <tr key={'prop' + key}>\n <td style={{ width: '150px' }}>{value.title || key}</td>\n <td>\n <EditableField\n field={key}\n value={Ctx.context[key]}\n schema={value}\n modifyContent={modifyContent}\n required={get(schema.data, 'required', []).includes(\n key\n )}\n />\n </td>\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n <PropertiesView />\n <BehaviorsView context={Ctx.context} schema={schema.data} />\n </div>\n </div>\n )}\n </div>\n )\n}\n","import React from 'react'\n\nimport ErrorZone from '../error_zone'\nimport useSetState from '../../hooks/useSetState'\nimport { Button } from '../input/button'\nimport { Select } from '../input/select'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function PermissionPrinperm({\n principals,\n permissions,\n operations,\n refresh,\n}) {\n const Ctx = useTraversal()\n const intl = useIntl()\n const { post, loading } = useCrudContext()\n const [state, setState] = useSetState({\n principal: undefined,\n permission: [],\n setting: undefined,\n error: undefined,\n })\n\n const getMultiples = (field, setter) => (values) => {\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.principal || !state.setting || state.permission.length === 0) {\n setState({ error: intl.formatMessage(genericMessages.invalid_form) })\n return\n }\n setState({ error: undefined })\n const data = {\n prinperm: state.permission.map((perm) => ({\n principal: state.principal,\n permission: perm,\n setting: state.setting,\n })),\n }\n const { isError, errorMessage } = await post(data, '@sharing', false)\n if (!isError) {\n Ctx.flash('Permission updated!', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n refresh(Math.random())\n }\n\n return (\n <div className=\"container\">\n {loading}\n {state.error && (\n <ErrorZone>\n {intl.formatMessage(genericMessages.invalid_form_data)}\n </ErrorZone>\n )}\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_principal)}\n </label>\n <Select\n appendDefault\n options={principals}\n onChange={(value) => setState({ principal: value })}\n dataTest=\"selectPrincipalTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_permissions)}\n </label>\n <Select\n options={permissions}\n onChange={getMultiples('permission', setState)}\n size={5}\n multiple\n dataTest=\"selectPermissionsTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.operation)}\n </label>\n <Select\n appendDefault\n options={operations}\n onChange={(value) => setState({ setting: value })}\n dataTest=\"operationPermissionsTest\"\n />\n </div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={savePermission}\n dataTest=\"btnSubmitPermissionsTest\"\n >\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </div>\n )\n}\n","import React from 'react'\n\nimport ErrorZone from '../error_zone'\nimport useSetState from '../../hooks/useSetState'\nimport { Button } from '../input/button'\nimport { Select } from '../input/select'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function PermissionPrinrole({ principals, roles, operations, refresh }) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const { post, loading } = useCrudContext()\n const [state, setState] = useSetState({\n principal: undefined,\n roles: [],\n setting: undefined,\n error: undefined,\n })\n\n const getMultiples = (field, setter) => (values) => {\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.principal || !state.setting || state.roles.length === 0) {\n setState({ error: intl.formatMessage(genericMessages.invalid_form_data) })\n return\n }\n setState({ error: undefined })\n const data = {\n prinrole: state.roles.map((perm) => ({\n principal: state.principal,\n role: perm,\n setting: state.setting,\n })),\n }\n const { isError, errorMessage } = await post(data, '@sharing', false)\n if (!isError) {\n Ctx.flash('Permission updated!', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n refresh(Math.random())\n }\n\n return (\n <div className=\"container\">\n {loading}\n {state.error && (\n <ErrorZone>\n {intl.formatMessage(genericMessages.invalid_form_data)}\n </ErrorZone>\n )}\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_principal)}\n </label>\n <Select\n appendDefault\n options={principals}\n onChange={(value) => setState({ principal: value })}\n dataTest=\"selectPrincipalTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_role)}\n </label>\n <Select\n options={roles}\n onChange={getMultiples('roles', setState)}\n size={5}\n multiple\n dataTest=\"selectRoleTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.operation)}\n </label>\n <Select\n appendDefault\n options={operations}\n onChange={(value) => setState({ setting: value })}\n dataTest=\"operationPermissionsTest\"\n />\n </div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={savePermission}\n dataTest=\"btnSubmitPermissionsTest\"\n >\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </div>\n )\n}\n","import React from 'react'\n\nimport ErrorZone from '../error_zone'\nimport useSetState from '../../hooks/useSetState'\nimport { Button } from '../input/button'\nimport { Select } from '../input/select'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function PermissionRoleperm({\n roles,\n permissions,\n operations,\n refresh,\n}) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const { post, loading } = useCrudContext()\n const [state, setState] = useSetState({\n role: undefined,\n permission: [],\n setting: undefined,\n error: undefined,\n })\n\n const getMultiples = (field, setter) => (values) => {\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.role || !state.setting || state.permission.length === 0) {\n setState({ error: intl.formatMessage(genericMessages.invalid_form) })\n return\n }\n setState({ error: undefined })\n const data = {\n roleperm: state.permission.map((perm) => ({\n role: state.role,\n permission: perm,\n setting: state.setting,\n })),\n }\n const { isError, errorMessage } = await post(data, '@sharing', false)\n if (!isError) {\n Ctx.flash('Permission updated!', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n\n refresh(Math.random())\n }\n\n return (\n <div className=\"container\">\n {loading}\n {state.error && (\n <ErrorZone>\n {intl.formatMessage(genericMessages.invalid_form_data)}\n </ErrorZone>\n )}\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_role)}\n </label>\n <Select\n appendDefault\n options={roles}\n onChange={(value) => setState({ role: value })}\n dataTest=\"selectRoleTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_permissions)}\n </label>\n <Select\n options={permissions}\n onChange={getMultiples('permission', setState)}\n dataTest=\"selectPermissionsTest\"\n size={5}\n multiple\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.operation)}\n </label>\n <Select\n appendDefault\n options={operations}\n onChange={(value) => setState({ setting: value })}\n dataTest=\"operationPermissionsTest\"\n />\n </div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={savePermission}\n dataTest=\"btnSubmitPermissionsTest\"\n >\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </div>\n )\n}\n","import React from 'react'\n\nimport useSetState from '../../hooks/useSetState'\nimport { PermissionPrinperm } from './permissions_prinperm'\nimport { PermissionPrinrole } from './permissions_prinrole'\nimport { PermissionRoleperm } from './permissions_roleperm'\nimport { Select } from '../input/select'\nimport { Sharing } from '../../models'\nimport { Table } from '../ui/table'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useTraversal } from '../../contexts'\nimport { defineMessages, useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nconst messages = defineMessages({\n role_permissions: {\n id: 'role_permissions',\n defaultMessage: 'Role Permissions',\n },\n no_role_permissions: {\n id: 'no_role_permissions',\n defaultMessage: 'No roles permissions defined',\n },\n no_principal_permissions: {\n id: 'no_principal_permissions',\n defaultMessage: 'No principal permissions defined',\n },\n no_principal_roles: {\n id: 'no_principal_roles',\n defaultMessage: 'No principal roles defined',\n },\n principal_permissions: {\n id: 'principal_permissions',\n defaultMessage: 'Principal Permissions',\n },\n principal_roles: {\n id: 'principal_roles',\n defaultMessage: 'Principal Roles',\n },\n allow: {\n id: 'allow',\n defaultMessage: 'Allow',\n },\n deny: {\n id: 'deny',\n defaultMessage: 'Deny',\n },\n allow_single: {\n id: 'allow_single',\n defaultMessage: 'AllowSingle',\n },\n unset: {\n id: 'unset',\n defaultMessage: 'Unset',\n },\n add_permissions: {\n id: 'add_permissions',\n defaultMessage: 'Add Permissions',\n },\n select_type: {\n id: 'select_type',\n defaultMessage: 'Select a type:',\n },\n})\n\nexport function PanelPermissions() {\n const intl = useIntl()\n const { get, result, loading } = useCrudContext()\n const ctx = useTraversal()\n\n const [reset, setReset] = React.useState(1)\n\n React.useEffect(() => {\n get('@sharing')\n }, [reset])\n\n const perms = new Sharing(result)\n\n return (\n <div className=\"columns\">\n {!loading && (\n <div\n className=\"column is-8 is-size-7 permissions\"\n data-test=\"containerPermissionsInfoTest\"\n >\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n {intl.formatMessage(messages.role_permissions)}\n </h2>\n <Table\n headers={[\n intl.formatMessage(genericMessages.role),\n intl.formatMessage(genericMessages.permission),\n intl.formatMessage(genericMessages.setting),\n ]}\n >\n {perms.roles.map((role, idx) => (\n <React.Fragment key={'ff' + idx}>\n <tr>\n <td colSpan=\"3\" className=\"has-text-link\">\n {role}\n </td>\n {/* <td>\n <Icon icon=\"fas fa-ban\" />\n <span>Remove</span>\n </td> */}\n </tr>\n {Object.keys(perms.getRole(role)).map((row, idx) => (\n <tr key={'k' + idx}>\n <td></td>\n <td>{row}</td>\n <td>{perms.getRole(role)[row]}</td>\n </tr>\n ))}\n </React.Fragment>\n ))}\n {perms.roles.length === 0 && (\n <tr>\n <td colSpan=\"3\">\n {intl.formatMessage(messages.no_role_permissions)}\n </td>\n </tr>\n )}\n </Table>\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n {intl.formatMessage(messages.principal_permissions)}\n </h2>\n <Table\n headers={[\n intl.formatMessage(genericMessages.role),\n intl.formatMessage(genericMessages.permission),\n intl.formatMessage(genericMessages.setting),\n ]}\n >\n {perms.principals.map((role, idx) => (\n <React.Fragment key={'f2' + idx}>\n <tr>\n <td colSpan=\"3\" className=\"has-text-link\">\n {role}\n </td>\n </tr>\n {Object.keys(perms.getPrincipals(role)).map((row, idx) => (\n <tr key={'x' + idx}>\n <td></td>\n <td>{row}</td>\n <td>{perms.getPrincipals(role)[row]}</td>\n </tr>\n ))}\n </React.Fragment>\n ))}\n {perms.principals.length === 0 && (\n <tr>\n <td colSpan=\"3\">\n {intl.formatMessage(messages.no_principal_permissions)}\n </td>\n </tr>\n )}\n </Table>\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n {intl.formatMessage(messages.principal_roles)}\n </h2>\n <Table\n headers={[\n intl.formatMessage(genericMessages.role),\n intl.formatMessage(genericMessages.permission),\n intl.formatMessage(genericMessages.setting),\n ]}\n >\n {perms.prinrole.map((role, idx) => (\n <React.Fragment key={role + idx}>\n <tr>\n <td colSpan=\"3\" className=\"has-text-link\">\n {role}\n </td>\n </tr>\n {Object.keys(perms.getPrinroles(role)).map((row, idx) => (\n <tr key={'xx' + idx}>\n <td></td>\n <td>{row}</td>\n <td>{perms.getPrinroles(role)[row]}</td>\n </tr>\n ))}\n </React.Fragment>\n ))}\n {perms.prinrole.length === 0 && (\n <tr>\n <td colSpan=\"3\">\n {intl.formatMessage(messages.no_role_permissions)}\n </td>\n </tr>\n )}\n </Table>\n </div>\n )}\n {ctx.hasPerm('guillotina.ChangePermissions') && (\n <AddPermission refresh={setReset} reset={reset} />\n )}\n </div>\n )\n}\n\nconst initial = {\n permissions: undefined,\n roles: [],\n principals: undefined,\n current: '',\n currentObj: undefined,\n}\n\nexport function AddPermission({ refresh, reset }) {\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initial)\n const intl = useIntl()\n\n const operations = [\n { text: intl.formatMessage(messages.allow), value: 'Allow' },\n { text: intl.formatMessage(messages.deny), value: 'Deny' },\n { text: intl.formatMessage(messages.allow_single), value: 'AllowSingle' },\n { text: intl.formatMessage(messages.unset), value: 'Unset' },\n ]\n\n const defaultOptions = [\n { text: intl.formatMessage(genericMessages.choose), value: '' },\n { text: intl.formatMessage(messages.role_permissions), value: 'roleperm' },\n {\n text: intl.formatMessage(messages.principal_permissions),\n value: 'prinperm',\n },\n { text: intl.formatMessage(messages.principal_roles), value: 'prinrole' },\n ]\n\n React.useEffect(() => {\n async function init() {\n const permissions = (await Ctx.client.getAllPermissions(Ctx.path)).map(\n (perm) => ({\n text: perm,\n value: perm,\n })\n )\n let principals = []\n let roles = []\n\n let principalsData = await Ctx.client.getPrincipals(Ctx.path)\n const groups = principalsData.groups.map((group) => ({\n text: group.id,\n value: group.id,\n }))\n const users = principalsData.users.map((user) => ({\n text: user.fullname || user.id,\n value: user.id,\n }))\n principals = [...groups, ...users]\n\n const req = await Ctx.client.getRoles(Ctx.path)\n if (req.ok) {\n roles = (await req.json()).map((role) => ({\n text: role,\n value: role,\n }))\n }\n setState({ permissions, roles, principals })\n }\n\n init()\n }, [reset])\n\n return (\n <div className=\"column is-4 is-size-7\">\n <h1 className=\"title is-size-5\">\n {intl.formatMessage(messages.add_permissions)}\n </h1>\n <p>{intl.formatMessage(messages.select_type)}</p>\n <Select\n options={defaultOptions}\n onChange={(value) => setState({ current: value })}\n dataTest=\"selectPermissionTypeTest\"\n />\n <hr />\n {state.current && state.current === 'roleperm' && (\n <PermissionRoleperm\n {...state}\n operations={operations}\n refresh={refresh}\n />\n )}\n {state.current && state.current === 'prinperm' && (\n <PermissionPrinperm\n {...state}\n operations={operations}\n refresh={refresh}\n />\n )}\n {state.current && state.current === 'prinrole' && (\n <PermissionPrinrole\n {...state}\n operations={operations}\n refresh={refresh}\n />\n )}\n </div>\n )\n}\n","import React from 'react'\nimport { Select } from '../input/select'\nimport { Tag } from '../ui/tag'\nimport { Loading } from '../ui/loading'\n\nconst prepareAvailable = (items, already, title) => {\n const def = { value: '', text: `Add ${title}` }\n if (items.length === 0) return []\n if (items[0] && typeof items[0] === 'string') {\n return [def]\n .concat(items.map((x) => ({ value: x, text: x })))\n .filter((item) => !already.includes(item.value))\n }\n return [def].concat(items).filter((item) => !already.includes(item.value))\n}\n\nexport function TagsWidget({\n items,\n available,\n title,\n noData,\n onChange,\n loading,\n}) {\n const selectRef = React.useRef()\n\n const [result, setResult] = React.useState(items)\n available = prepareAvailable(available || [], result, title)\n\n const remove = (value) => {\n const items = result.filter((item) => item !== value)\n setResult(items)\n onChange(items)\n }\n\n const addItem = (value) => {\n if (value === '') return\n const items = result.concat([value])\n setResult(items)\n onChange(items)\n }\n\n return (\n <React.Fragment>\n <h3 className=\"title is-size-6\">{title}</h3>\n {loading ? <Loading style={{ marginBottom: '1.5rem' }} /> : <hr />}\n <ul>\n <div className=\"tags\">\n {result.map((item) => (\n <Tag name={item} onRemove={() => remove(item)} key={item} />\n ))}\n </div>\n {result.length === 0 && (\n <li style={{ marginBottom: '20px' }}>{noData}</li>\n )}\n {available.length > 1 && (\n <li className=\"widget-list-add select is-small\">\n <Select\n options={available}\n ref={selectRef}\n onChange={(value) => {\n addItem(value)\n selectRef.current.value = ''\n }}\n />\n </li>\n )}\n </ul>\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useEffect } from 'react'\n\nimport Dropdown from './input/dropdown'\nimport useSetState from '../hooks/useSetState'\nimport { Button } from './input/button'\nimport { Icon } from './ui/icon'\nimport { useTraversal } from '../contexts'\nimport { useConfig } from '../hooks/useConfig'\nimport { useLocation } from '../hooks/useLocation'\nimport { Select } from './input/select'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\nconst initialState = { types: undefined }\n\nexport function CreateButton() {\n const intl = useIntl()\n const [state, setState] = useSetState(initialState)\n const Ctx = useTraversal()\n const Config = useConfig()\n useEffect(() => {\n ;(async function anyNameFunction() {\n const types = await Ctx.client.getTypes(Ctx.path)\n setState({\n types: types.filter((item) => !Config.DisabledTypes.includes(item)),\n })\n })()\n }, [Ctx.path])\n\n const doAction = (item) => {\n Ctx.doAction('addItem', { type: item })\n setState({ isActive: false })\n }\n\n if (state.types && state.types.length === 1) {\n return (\n <Button\n className={'is-small is-success'}\n onClick={() => doAction(state.types[0])}\n dataTest=\"itemAddTypeTest\"\n >\n {intl.formatMessage(genericMessages.add_type, { type: state.types[0] })}\n </Button>\n )\n }\n\n if (state.types && state.types.length === 0) {\n return null\n }\n\n // Implement some kind of filtering\n return (\n <Dropdown\n id=\"dropdown-menu\"\n isRight\n onChange={doAction}\n options={(state.types || []).map((item) => ({ text: item, value: item }))}\n >\n <span className=\"icon\" data-test=\"itemAddTypeTest\">\n <i className=\"fas fa-plus\"></i>\n </span>\n </Dropdown>\n )\n}\n\nexport function ContextToolbar({ AddButton, ...props }) {\n const intl = useIntl()\n const [state, setState] = useSetState(initialState)\n const [location, setLocation, del] = useLocation()\n const traversal = useTraversal()\n const Config = useConfig()\n const searchText = location.get('q')\n const [searchValue, setSearchValue] = React.useState(searchText || '')\n\n useEffect(() => {\n loadTypes()\n }, [traversal.path])\n\n useEffect(() => {\n setSearchValue(searchText)\n }, [searchText])\n\n async function loadTypes() {\n const types = await traversal.client.getTypes(traversal.path)\n setState({\n types: types.filter((item) => !Config.DisabledTypes.includes(item)),\n })\n }\n\n const onSearchQuery = (ev) => {\n const search = ev.target[0].value\n setLocation({ q: search, tab: 'Items', page: 0 })\n ev.preventDefault()\n }\n\n const onSearchByType = (typeText) => {\n if (typeText && typeText !== '') {\n setLocation({ type: typeText, tab: 'Items', page: 0 })\n } else {\n del('type')\n }\n }\n\n return (\n <React.Fragment>\n <div className=\"level-item\">\n <form action=\"\" className=\"form\" onSubmit={onSearchQuery}>\n <div className=\"field has-addons\">\n <div className=\"control\">\n <input\n value={searchValue || ''}\n onChange={(ev) => setSearchValue(ev.target.value)}\n type=\"text\"\n className=\"input is-size-7\"\n placeholder={intl.formatMessage(genericMessages.search)}\n data-test=\"inputFilterTest\"\n />\n </div>\n <div className=\"control\">\n <button\n className=\"button has-background-grey-lighter is-size-7\"\n type=\"submit\"\n data-test=\"btnInputFilter\"\n >\n <Icon icon=\"fas fa-search\" />\n </button>\n </div>\n </div>\n </form>\n </div>\n <div className=\"level-item\">\n <Select\n appendDefault\n dataTest=\"selectFilterTypeTest\"\n classWrap=\"is-size-7\"\n options={(state.types || []).map((item) => ({\n text: item,\n value: item,\n }))}\n onChange={onSearchByType}\n />\n </div>\n {traversal.hasPerm('guillotina.AddContent') && (\n <div className=\"level-item\">\n {AddButton !== undefined ? (\n <AddButton />\n ) : (\n <CreateButton {...props} />\n )}\n </div>\n )}\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { Notification } from './ui/notification'\nimport { Delete } from './ui/delete'\n\nexport function Flash() {\n const Ctx = useTraversal()\n const { flash } = Ctx.state\n\n if (!flash.message) return null\n\n return (\n <Notification isColor={flash.type}>\n {flash.message}\n <Delete onClick={() => Ctx.clearFlash()} />\n </Notification>\n )\n}\n","import React from 'react'\nimport { useState } from 'react'\nimport { useLocation } from '../hooks/useLocation'\n\nfunction FallbackTab({ title }) {\n return <div>Tab '{title}' not found</div>\n}\n\nexport function TabsPanel({\n tabs,\n currentTab,\n rightToolbar,\n fallback = FallbackTab,\n ...props\n}) {\n const [location, setLocation] = useLocation()\n\n if (location.get('tab')) {\n currentTab = location.get('tab')\n } else {\n currentTab = currentTab || Object.keys(tabs)[0]\n }\n\n /*if (!Object.keys(tabs).includes(currentTab)) {\n setLocation(defaultTab)\n currentTab = defaultTab\n }*/\n\n const [current, setTab] = useState(currentTab)\n const CurrentComp = tabs[current] || fallback\n\n React.useEffect(() => {\n if (Object.keys(tabs).includes(currentTab)) {\n setTab(currentTab)\n // setLocation({tab: currentTab})\n }\n }, [currentTab, tabs])\n\n const changeTab = (tab) => {\n setLocation({ tab: tab })\n }\n\n return (\n <div className=\"container\">\n <div className=\"level is-flex-wrap-wrap\">\n <div className=\"level-left mb-4\">\n <div className=\"tabs\">\n <ul>\n {Object.keys(tabs).map((tab) => (\n <li\n className={\n 'is-size-7 ' + (tab === current ? 'is-active' : '')\n }\n key={tab}\n >\n <a\n data-test={`tabTest-${tab.toLowerCase()}`}\n onClick={() => changeTab(tab)}\n >\n {tab}\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n {rightToolbar && <div className=\"level-right\">{rightToolbar}</div>}\n </div>\n <div className=\"container\">\n <CurrentComp title={current} {...props} />\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { ContextToolbar } from '../components/context_toolbar'\nimport { PanelItems } from '../components/panel/items'\nimport { PanelActions } from '../components/panel/actions'\nimport { useTraversal } from '../contexts'\nimport { PanelProperties } from '../components/panel/properties'\nimport { PanelPermissions } from '../components/panel/permissions'\nimport { PanelBehaviors } from '../components/panel/behaviors'\n\nconst tabs = {\n Items: PanelItems,\n Properties: PanelProperties,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n}\n\nconst tabsPermissions = {\n Items: 'guillotina.ViewContent',\n Properties: 'guillotina.ViewContent',\n Behaviors: 'guillotina.ModifyContent',\n Permissions: 'guillotina.SeePermissions',\n}\n\nexport function FolderCtx(props) {\n const ctx = useTraversal()\n const calculated = ctx.filterTabs(tabs, tabsPermissions)\n\n return (\n <TabsPanel\n tabs={calculated}\n currentTab=\"Items\"\n rightToolbar={<ContextToolbar {...props} />}\n {...props}\n />\n )\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { useTraversal } from '../contexts'\nimport { PanelPermissions } from '../components/panel/permissions'\nimport { PanelBehaviors } from '../components/panel/behaviors'\nimport { PanelProperties } from '../components/panel/properties'\nimport { PanelActions } from '../components/panel/actions'\n\nconst tabs = {\n Properties: PanelProperties,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n}\n\nconst tabsPermissions = {\n Properties: 'guillotina.ViewContent',\n Behaviors: 'guillotina.ModifyContent',\n Permissions: 'guillotina.SeePermissions',\n}\n\nexport function ItemCtx(props) {\n const ctx = useTraversal()\n const calculated = ctx.filterTabs(tabs, tabsPermissions)\n\n return <TabsPanel tabs={calculated} currentTab=\"Properties\" {...props} />\n}\n","import React from 'react'\n\nimport { Item } from '../components/item'\nimport { ItemTitle } from '../components/item'\nimport { Button } from '../components/input/button'\nimport { useState } from 'react'\nimport { useTraversal } from '../contexts'\nimport { Modal } from '../components/modal'\nimport { Form } from '../components/input/form'\nimport { Input } from '../components/input/input'\nimport { defineMessages, useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function ApplicationCtx(props) {\n const intl = useIntl()\n const { databases } = props.state.context\n return (\n <React.Fragment>\n <h3>\n {intl.formatMessage({\n id: 'databases',\n defaultMessage: 'Databases',\n })}\n </h3>\n <div className=\"container\">\n <ItemTitle title=\"Objects\" />\n {databases.map((db) => (\n <Item\n item={{ id: db, path: `/${db}/` }}\n key={db}\n icon={'fas fa-database'}\n />\n ))}\n </div>\n </React.Fragment>\n )\n}\n\nexport function DatabaseCtx({ state }) {\n const { containers } = state.context\n const { path } = state\n return (\n <React.Fragment>\n <div className=\"container\">\n <ItemTitle title=\"Containers\" actions={<CreateContainer />} />\n <table className=\"table is-fullwidth is-hoverable\">\n <tbody>\n {containers.map((db) => (\n <Item\n item={{ id: db, path: `${path}${db}/` }}\n key={db}\n icon={'fas fa-archive'}\n />\n ))}\n </tbody>\n </table>\n </div>\n </React.Fragment>\n )\n}\n\nexport function CreateContainer(props) {\n const intl = useIntl()\n const [isActive, setActive] = useState(false)\n\n return (\n <React.Fragment>\n <ModalAddContainer isActive={isActive} setActive={setActive} {...props} />\n <button\n className=\"button is-warning is-pulled-right\"\n onClick={() => setActive(true)}\n >\n <span className=\"icon is-small\">\n <i className=\"fas fa-plus\"></i>\n </span>\n <span>{intl.formatMessage(genericMessages.create)}</span>\n </button>\n </React.Fragment>\n )\n}\n\nexport const messages = defineMessages({\n add_container: {\n id: 'add_container',\n defaultMessage: 'Add Container',\n },\n container_created: {\n id: 'container_created',\n defaultMessage: 'Container Created',\n },\n})\n\nfunction ModalAddContainer({ isActive, setActive }) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const [isLoading, setLoading] = useState(false)\n const [idField, setId] = useState('')\n const [error, setError] = useState(undefined)\n\n async function createContainer() {\n setLoading(true)\n const data = {\n '@type': 'Container',\n id: idField,\n }\n try {\n const res = await Ctx.client.createObject(Ctx.path, data)\n const result = await res.json()\n if (res.status === 200) {\n Ctx.refresh()\n setId('')\n setLoading(false)\n setActive(false)\n Ctx.flash(intl.formatMessage(messages.container_created), 'primary')\n } else {\n setId('')\n setLoading(false)\n setError(result.message)\n }\n } catch {\n setError('Error-submitting-form')\n setLoading(false)\n }\n }\n\n return (\n <Modal isActive={isActive} setActive={setActive}>\n <Form\n onSubmit={createContainer}\n title={intl.formatMessage(messages.add_container)}\n error={error}\n >\n <Input\n required\n placeholder=\"Container Name\"\n onChange={(v) => {\n setId(v)\n }}\n value={idField}\n loading={isLoading}\n />\n <Button loading={isLoading}>\n {intl.formatMessage(messages.add_container)}\n </Button>\n </Form>\n </Modal>\n )\n}\n","import React from 'react'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function PanelNotImplemented(props) {\n const intl = useIntl()\n return (\n <div className=\"container\">\n <h2 className=\"title\">{props.title}</h2>\n <p>{intl.formatMessage(genericMessages.not_implemented)}</p>\n </div>\n )\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { ContextToolbar } from '../components/context_toolbar'\nimport { PanelItems } from '../components/panel/items'\nimport { PanelActions } from '../components/panel/actions'\nimport { PanelAddons } from '../components/panel/addons'\nimport { useTraversal } from '../contexts'\nimport { PanelNotImplemented } from './base'\nimport { PanelPermissions } from '../components/panel/permissions'\nimport { PanelBehaviors } from '../components/panel/behaviors'\n\nconst tabs = {\n Items: PanelItems,\n Addons: PanelAddons,\n Registry: PanelNotImplemented,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n}\n\nconst tabsPermissions = {\n Items: 'guillotina.ViewContent',\n Addons: 'guillotina.ManageAddons',\n Registry: 'guillotina.ReadConfiguration',\n Behaviors: 'guillotina.ModifyContent',\n Permissions: 'guillotina.SeePermissions',\n}\n\nexport function ContainerCtx(props) {\n const ctx = useTraversal()\n const calculated = ctx.filterTabs(tabs, tabsPermissions)\n return (\n <TabsPanel\n tabs={calculated}\n currentTab=\"Items\"\n rightToolbar={<ContextToolbar {...props} />}\n {...props}\n />\n )\n}\n","import React from 'react'\nimport { FormBuilder } from '../components/input/form_builder'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport const UserForm = ({ isEdit = false, children, ...props }) => {\n const intl = useIntl()\n const attr = isEdit\n ? {}\n : {\n title: intl.formatMessage(genericMessages.add_user),\n }\n const schema = {\n type: 'object',\n required: ['username', 'password'],\n properties: {\n username: {\n type: 'string',\n title: intl.formatMessage({\n id: 'username',\n defaultMessage: 'Username',\n }),\n },\n email: {\n type: 'string',\n title: intl.formatMessage({\n id: 'email',\n defaultMessage: 'Email',\n }),\n widget: 'email',\n },\n name: {\n type: 'string',\n title: intl.formatMessage({\n id: 'name',\n defaultMessage: 'Name',\n }),\n },\n password: {\n type: 'string',\n title: intl.formatMessage({\n id: 'password',\n defaultMessage: 'Password',\n }),\n widget: 'password',\n },\n disabled: {\n type: 'boolean',\n title: 'Disabled',\n },\n },\n }\n return (\n <FormBuilder schema={schema} {...props} {...attr}>\n {children}\n </FormBuilder>\n )\n}\n","import React from 'react'\n\n/*\n This hook allows to bind (remote) fields on the DOM\n to a form generated with Formbuilder.\n You can link whatever field you want...\n\n const [remoteFields, updateRemoteField] = useRemoteField({widget_1: ['a', 'b']})\n\n <Form remotes={remoteFields} onSubmit={ev => console.log(ev)}>\n <Input />\n </Form>\n\n <Widget onChange={updateRemoteField('widgte_1')}>\n\n This will add the values from a remote field into the desired widget\n\n*/\n\nexport const useRemoteField = (initial) => {\n const [remotes, setRemote] = React.useState(initial)\n\n const updateRemote = (name) => (value) => {\n setRemote({\n ...remotes,\n [name]: value,\n })\n }\n\n return [remotes, updateRemote]\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { PanelItems } from '../components/panel/items'\nimport { useTraversal } from '../contexts'\nimport { UserForm } from '../forms/users'\nimport { formatDate } from '../lib/utils'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { TagsWidget } from '../components/widgets/tags'\nimport { Icon } from '../components/ui/icon'\nimport { Button } from '../components/input/button'\nimport { useRemoteField } from '../hooks/useRemoteField'\nimport { useLocation } from '../hooks/useLocation'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nconst tabs = {\n Users: PanelItems,\n}\n\nexport function UsersToolbar() {\n const intl = useIntl()\n const Ctx = useTraversal()\n const ref = React.useRef(null)\n const [location, setLocation] = useLocation()\n const searchText = location.get('q')\n\n const onSearchQuery = (ev) => {\n const search = ev.target[0].value\n setLocation({ q: search, page: 0 })\n ev.preventDefault()\n }\n\n // cleanup form on state.search change\n React.useEffect(() => {\n if (!searchText || searchText === '') {\n ref.current.value = ''\n }\n }, [searchText])\n\n return (\n <React.Fragment>\n <div className=\"level-item\">\n <form action=\"\" className=\"form\" onSubmit={onSearchQuery}>\n <div className=\"field has-addons\">\n <div className=\"control\">\n <input\n ref={ref}\n type=\"text\"\n className=\"input is-size-7\"\n placeholder={intl.formatMessage(genericMessages.search)}\n data-test=\"inputFilterTest\"\n />\n </div>\n <div className=\"control\">\n <button\n className=\"button has-background-grey-lighter is-size-7\"\n type=\"submit\"\n data-test=\"btnInputFilter\"\n >\n <Icon icon=\"fas fa-search\" />\n </button>\n </div>\n </div>\n </form>\n </div>\n <button\n className=\"button is-primary\"\n onClick={() => Ctx.doAction('addItem', { type: 'User' })}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <Icon icon=\"fas fa-user\" />\n <span>{intl.formatMessage(genericMessages.add_user)}</span>\n </button>\n </React.Fragment>\n )\n}\n\nexport function UsersCtx(props) {\n return (\n <TabsPanel\n tabs={tabs}\n currentTab=\"Users\"\n rightToolbar={<UsersToolbar />}\n {...props}\n />\n )\n}\n\nexport function UserCtx() {\n const intl = useIntl()\n const { Ctx, patch, loading } = useCrudContext()\n\n const [state, setState] = React.useState({ roles: [], gorups: [] })\n\n const fields = {\n user_groups: [],\n user_roles: Ctx.context.user_roles,\n }\n\n const [remotes, updateRemote] = useRemoteField(fields)\n\n React.useEffect(() => {\n ;(async () => {\n const [requestGetGroups, requestGetRoles] = await Promise.all([\n Ctx.client.search(Ctx.path, { type_name: 'Group' }, true),\n Ctx.client.getRoles(Ctx.path),\n ])\n\n let groups = requestGetGroups\n let roles = []\n\n if (requestGetRoles.ok) {\n roles = await requestGetRoles.json()\n }\n\n setState({\n roles: roles,\n groups: groups.items.map((item) => ({\n value: item.id,\n text: item['@name'],\n })),\n })\n })()\n }, [])\n\n const updateObject = async (data) => {\n Ctx.apply(data)\n const { isError, errorMessage } = await patch(data)\n if (isError) {\n Ctx.flash(\n intl.formatMessage(genericMessages.failed_to_update, {\n error: errorMessage,\n }),\n 'danger'\n )\n } else {\n Ctx.flash(\n intl.formatMessage({\n id: 'user_updated',\n defaultMessage: 'User updated',\n }),\n 'primary'\n )\n Ctx.refresh()\n }\n }\n\n return (\n <div className=\"container\">\n <h2 className=\"title is-size-4\">\n <Icon icon=\"fas fa-user\"></Icon>\n &nbsp;\n {intl.formatMessage({\n id: 'user',\n defaultMessage: 'User',\n })}\n </h2>\n\n <hr />\n <div className=\"columns\">\n <div className=\"column\">\n <div className=\"container user-props\">\n <p>\n <label>\n {intl.formatMessage({\n id: 'username',\n defaultMessage: 'Username',\n })}\n :{' '}\n </label>{' '}\n {Ctx.context.username} ({Ctx.context.email})\n </p>\n <p>\n <label>\n {' '}\n {intl.formatMessage({\n id: 'creation_date',\n defaultMessage: 'Creation Date',\n })}\n :{' '}\n </label>{' '}\n {formatDate(Ctx.context.creation_date)}\n </p>\n <p>\n <label>\n {' '}\n {intl.formatMessage({\n id: 'modification_date',\n defaultMessage: 'Modification Date',\n })}\n :{' '}\n </label>{' '}\n {formatDate(Ctx.context.modification_date)}\n </p>\n <Button\n className=\"is-size-7 is-info\"\n onClick={() => {\n Ctx.doAction('changePassword')\n }}\n >\n {intl.formatMessage({\n id: 'change_password',\n defaultMessage: 'Change Password',\n })}\n </Button>\n </div>\n <hr />\n <UserForm\n actionName=\"Save\"\n onSubmit={(ev) => updateObject(ev)}\n isEdit={true}\n formData={Ctx.context}\n exclude={['password']}\n remotes={remotes}\n submitButton={false}\n >\n <Button loading={loading} dataTest=\"formUserTestBtnSubmit\">\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </UserForm>\n </div>\n <div className=\"column\">\n <TagsWidget\n onChange={updateRemote('user_groups')}\n items={Ctx.context.user_groups}\n title=\"Groups\"\n noData={intl.formatMessage({\n id: 'there_is_no_groups_for_this_user',\n defaultMessage: 'There is no groups for this user',\n })}\n available={state.groups}\n />\n <hr />\n <TagsWidget\n onChange={updateRemote('user_roles')}\n items={remotes.user_roles}\n title=\"Roles\"\n noData={intl.formatMessage({\n id: 'the_user_doesnt_have_any_role',\n defaultMessage: \"The user doesn't have any role\",\n })}\n available={state.roles}\n />\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { PathTree } from '../components/modal'\nimport { useTraversal } from '../contexts'\nimport { getNewId } from '../lib/utils'\n\nconst withError = (res) => res.status >= 300\nexport function CopyItems(props) {\n const Ctx = useTraversal()\n const { items = [] } = props\n\n async function copyItems(path, form) {\n const responses = await Promise.all(\n items.map((item, i) => {\n const input = form[i + 1] || {}\n return Ctx.client.post(`${Ctx.path}${item['@name']}/@duplicate`, {\n destination: path,\n new_id: input.value || getNewId(item.id),\n })\n })\n )\n\n Ctx.refresh()\n Ctx.cancelAction()\n\n if (responses.every(withError)) {\n Ctx.flash(`Oops! Items can't be copied to ${path}`, 'danger')\n return\n }\n\n if (responses.some(withError)) {\n Ctx.flash(`Some items are not copied correctly!`, 'warning')\n return\n }\n\n Ctx.flash(`Items copied!`, 'success')\n }\n\n return (\n <PathTree\n title=\"Copy to...\"\n defaultPath={Ctx.client.clearContainerFromPath(Ctx.path)}\n onConfirm={copyItems}\n onCancel={() => Ctx.cancelAction()}\n >\n {items.map((item) => (\n <React.Fragment key={item.id}>\n <small style={{ display: 'block', marginTop: 20 }}>\n {`New id for \"${item.id}\" copy`}\n </small>\n <input\n type=\"text\"\n className=\"input\"\n data-test={`inputCopyIdTest-${item['@name']}`}\n defaultValue={getNewId(item.id)}\n />\n </React.Fragment>\n ))}\n &nbsp;\n </PathTree>\n )\n}\n","import React from 'react'\nimport { PathTree } from '../components/modal'\nimport { useTraversal } from '../contexts'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { getNewId } from '../lib/utils'\n\nexport function CopyItem(props) {\n const Ctx = useTraversal()\n const { post } = useCrudContext()\n const { item } = props\n\n async function copyItem(path, form) {\n const input = form[1] || {}\n const { isError, errorMessage } = await post(\n {\n destination: path,\n new_id: input.value || getNewId(item['@name']),\n },\n '@duplicate'\n )\n\n if (!isError) {\n Ctx.flash(`Field copied!`, 'success')\n } else {\n Ctx.flash(`Failed to copy item!: ${errorMessage}`, 'danger')\n }\n Ctx.refresh()\n Ctx.cancelAction()\n }\n\n return (\n <PathTree\n title=\"Copy to...\"\n defaultPath={`/${item['parent']['@name'] ?? '/'}`}\n onConfirm={copyItem}\n onCancel={() => Ctx.cancelAction()}\n >\n <React.Fragment>\n <small style={{ display: 'block', marginTop: 20 }}>\n {`New id for \"${item['@name']}\" copy`}\n </small>\n <input\n type=\"text\"\n className=\"input\"\n data-test={`inputCopyIdTest-${item['@name']}`}\n defaultValue={getNewId(item['@name'])}\n />\n </React.Fragment>\n </PathTree>\n )\n}\n","import React from 'react'\nimport { PathTree } from '../components/modal'\nimport { useTraversal } from '../contexts'\n\nconst withError = (res) => res.status >= 300\n\nexport function MoveItems(props) {\n const Ctx = useTraversal()\n const { items = [] } = props\n\n async function moveItems(path) {\n const responses = await Promise.all(\n items.map((item) => {\n return Ctx.client.post(`${Ctx.path}${item['@name']}/@move`, {\n destination: path,\n new_id: item['@name'],\n })\n })\n )\n\n Ctx.refresh()\n Ctx.cancelAction()\n\n if (responses.every(withError)) {\n Ctx.flash(`Oops! Items can't be moved to ${path}`, 'danger')\n return\n }\n\n if (responses.some(withError)) {\n Ctx.flash(`Some items are not moved correctly!`, 'warning')\n return\n }\n\n Ctx.flash(`Items moved!`, 'success')\n }\n\n return (\n <PathTree\n title=\"Move to...\"\n onConfirm={moveItems}\n onCancel={() => Ctx.cancelAction()}\n />\n )\n}\n","import React from 'react'\nimport { PathTree } from '../components/modal'\nimport { useGuillotinaClient, useTraversal } from '../contexts'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function MoveItem(props) {\n const Ctx = useTraversal()\n const { post } = useCrudContext()\n const [, navigate] = useLocation()\n const client = useGuillotinaClient()\n const { item } = props\n\n async function moveItem(path) {\n const { isError, errorMessage, result } = await post(\n {\n destination: path,\n new_id: item['@name'],\n },\n '@move'\n )\n\n if (!isError) {\n navigate({\n path: `/${client.cleanPath(result['@url'])}/`,\n tab: '',\n })\n Ctx.flash(`Field moved!`, 'success')\n } else {\n Ctx.flash(`Failed to move item!: ${errorMessage}`, 'danger')\n }\n\n Ctx.refresh()\n Ctx.cancelAction()\n }\n\n return (\n <PathTree\n title=\"Move to...\"\n onConfirm={moveItem}\n onCancel={() => Ctx.cancelAction()}\n />\n )\n}\n","import React from 'react'\nimport { Confirm } from '../components/modal'\nimport { useGuillotinaClient, useTraversal } from '../contexts'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function RemoveItem(props) {\n const Ctx = useTraversal()\n const { del, loading } = useCrudContext()\n const [, navigate] = useLocation()\n const client = useGuillotinaClient()\n const { item } = props\n\n async function removeItem() {\n const { isError, errorMessage } = await del()\n\n if (!isError) {\n navigate({\n path: `/${client.cleanPath(item['parent']['@id'])}/`,\n tab: '',\n })\n Ctx.flash(`Field removed!`, 'success')\n } else {\n Ctx.flash(`Failed to delete item!: ${errorMessage}`, 'danger')\n }\n\n Ctx.refresh()\n Ctx.cancelAction()\n }\n\n return (\n <Confirm\n loading={loading}\n onCancel={() => Ctx.cancelAction()}\n onConfirm={removeItem}\n message={`Are you sure to remove: ${item['@name']}?`}\n />\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { Modal } from '../components/modal'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { Input } from '../components/input/input'\nimport { Button } from '../components/input/button'\nimport { Form } from '../components/input/form'\n\nconst initial = {\n pass1: '',\n pass2: '',\n}\n\nexport function ChangePassword(props) {\n const [state, setState] = React.useState(initial)\n const [perror, setPerror] = React.useState(undefined)\n\n const Ctx = useTraversal()\n const { patch } = useCrudContext()\n\n // const Form = getForm(type)\n\n const setActive = () => {\n Ctx.cancelAction()\n }\n\n async function doSubmit(data) {\n if (state.pass1 === '') {\n setPerror('provide a password')\n return\n }\n\n if (state.pass1 !== state.pass2) {\n setPerror(\"passwords doesn't match\")\n return\n }\n\n setPerror(undefined)\n\n let form = {\n password: state.pass1,\n }\n\n const { isError, errorMessage } = await patch(form)\n if (!isError) {\n Ctx.flash('Password Changed', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n\n Ctx.cancelAction()\n Ctx.refresh()\n }\n\n const setPass = (field) => (val) => {\n let n = {}\n n[field] = val\n setState((state) => ({ ...state, ...n }))\n setPerror(undefined)\n }\n\n return (\n <Modal isActive={true} setActive={setActive}>\n <Form\n onSubmit={doSubmit}\n onError={(err) => console.log(err)}\n actionName={'Change'}\n title={'Change Password'}\n >\n {perror && (\n <div className=\"notification is-danger is-size-7\">\n <button className=\"delete\"></button>\n {perror}\n </div>\n )}\n <Input\n id=\"pass\"\n placeholder=\"New Password\"\n type=\"password\"\n value={state.pass1}\n onChange={setPass('pass1')}\n />\n\n <Input\n id=\"pass\"\n placeholder=\"Repeat Password\"\n type=\"password\"\n value={state.pass2}\n onChange={setPass('pass2')}\n />\n <Button>Change</Button>\n </Form>\n </Modal>\n )\n}\n","import React from 'react'\nimport { useState } from 'react'\nimport { Input } from '../components/input/input'\nimport { Form } from '../components/input/form'\nimport { stringToSlug } from '../lib/helpers'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function BaseForm({ onSubmit, actionName, title, dataTest, loading }) {\n const intl = useIntl()\n const [name, setName] = useState('')\n const [id, setId] = useState('')\n const [error, setError] = useState(undefined)\n\n const submit = () => {\n if (name === '') {\n setError(intl.formatMessage(genericMessages.field_is_required))\n return\n }\n onSubmit({ title: name, id })\n }\n\n const setTitle = (value) => {\n setId(stringToSlug(value))\n setName(value)\n }\n\n return (\n <Form title={title} onSubmit={submit} dataTest={dataTest}>\n <Input\n id=\"title\"\n placeholder={intl.formatMessage(genericMessages.title)}\n required\n value={name}\n onChange={setTitle}\n autofocus\n error={error}\n dataTest=\"titleTestInput\"\n />\n\n <Input\n id=\"id\"\n placeholder=\"Id\"\n value={id}\n onChange={setId}\n dataTest=\"idTestInput\"\n />\n\n <div className=\"level level-right\">\n <button\n type=\"submit\"\n className={`button is-success ${loading ? 'is-loading' : ''}`}\n data-test=\"formBaseBtnTestSubmit\"\n >\n {actionName || intl.formatMessage(genericMessages.add)}\n </button>\n </div>\n </Form>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\nimport { Table } from '../ui'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nconst editableFields = [\n 'title',\n 'description',\n 'effective_date',\n 'expiration_date',\n]\n\nexport function IDublinCore({ properties, values }) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {Object.keys(properties).map((key) => (\n <tr key={'dublin_' + key}>\n <td style={{ width: '150px' }} key={1}>\n {key}\n </td>\n <td key={2}>\n <EditableField\n field={key}\n value={values[key]}\n ns=\"guillotina.behaviors.dublincore.IDublinCore\"\n schema={properties[key]}\n modifyContent={modifyContent && editableFields.includes(key)}\n />\n </td>\n </tr>\n ))}\n </Table>\n )\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { PanelItems } from '../components/panel/items'\nimport { useTraversal } from '../contexts'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { Icon } from '../components/ui/icon'\nimport { useEffect } from 'react'\nimport { useState } from 'react'\nimport { Select } from '../components/input/select'\nimport { SearchInput } from '../components/input/search_input'\nimport { Tag } from '../components/ui/tag'\nimport { parser } from '../lib/search'\nimport { EditableField } from '../components/fields/editableField'\nimport { useLocation } from '../hooks/useLocation'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nconst tabs = {\n Groups: PanelItems,\n}\n\nexport function GroupToolbar() {\n const intl = useIntl()\n const Ctx = useTraversal()\n const ref = React.useRef(null)\n const [location, setLocation] = useLocation()\n const searchText = location.get('q')\n\n const onSearchQuery = (ev) => {\n const search = ev.target[0].value\n setLocation({ q: search, page: 0 })\n ev.preventDefault()\n }\n\n // cleanup form on state.search change\n React.useEffect(() => {\n if (!searchText || searchText === '') {\n ref.current.value = ''\n }\n }, [searchText])\n\n return (\n <React.Fragment>\n <div className=\"level-item\">\n <form action=\"\" className=\"form\" onSubmit={onSearchQuery}>\n <div className=\"field has-addons\">\n <div className=\"control\">\n <input\n ref={ref}\n type=\"text\"\n className=\"input is-size-7\"\n placeholder={intl.formatMessage(genericMessages.search)}\n data-test=\"inputFilterTest\"\n />\n </div>\n <div className=\"control\">\n <button\n className=\"button has-background-grey-lighter is-size-7\"\n type=\"submit\"\n data-test=\"btnInputFilter\"\n >\n <Icon icon=\"fas fa-search\" />\n </button>\n </div>\n </div>\n </form>\n </div>\n <button\n className=\"button is-primary\"\n onClick={() => Ctx.doAction('addItem', { type: 'Group' })}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <Icon icon=\"fas fa-users\" />\n <span>\n {intl.formatMessage({\n id: 'add_group',\n defaultMessage: 'Add Group',\n })}\n </span>\n </button>\n </React.Fragment>\n )\n}\n\nexport function GroupsCtx(props) {\n return (\n <TabsPanel\n tabs={tabs}\n currentTab=\"Groups\"\n rightToolbar={<GroupToolbar />}\n {...props}\n />\n )\n}\n\nlet sortParsed = parser(`_sort_asc=id`)\nlet searchParsed = parser('type_name=User')\n\nexport function GroupCtx() {\n const intl = useIntl()\n const { Ctx, patch } = useCrudContext()\n const [roles, setRoles] = useState([])\n\n useEffect(() => {\n ;(async () => {\n const requestGetRoles = await Ctx.client.getRoles(Ctx.path)\n let roles = []\n\n if (requestGetRoles.ok) {\n roles = (await requestGetRoles.json()).map((role) => ({\n text: role,\n value: role,\n }))\n }\n setRoles(roles)\n })()\n }, [])\n\n const handleResponse = async (isError, message, errorMessage) => {\n if (!isError) {\n Ctx.flash(message, 'success')\n Ctx.refresh()\n } else {\n Ctx.flash(\n intl.formatMessage(genericMessages.failed_to_update, {\n error: errorMessage,\n }),\n 'danger'\n )\n }\n }\n\n const addRole = async (role) => {\n const { isError, errorMessage } = await patch({\n user_roles: Ctx.context.user_roles.concat(role),\n })\n handleResponse(\n isError,\n intl.formatMessage(\n {\n id: 'role_added_to_group',\n defaultMessage: 'Role {role} added to group',\n },\n { role }\n ),\n errorMessage\n )\n }\n\n const removeRole = async (role) => {\n const { isError, errorMessage } = await patch({\n user_roles: Ctx.context.user_roles.filter((r) => r !== role),\n })\n handleResponse(\n isError,\n intl.formatMessage(\n {\n id: 'role_removed_from_group',\n defaultMessage: 'Role {role} removed from group',\n },\n { role }\n ),\n errorMessage\n )\n }\n\n const addUser = async (newUserId) => {\n const data = {}\n Ctx.context.users.forEach((user) => {\n data[user] = true\n })\n data[newUserId] = true\n const {\n isError,\n errorMessage,\n } = await Ctx.client.rest.patch(\n `${Ctx.containerPath}@groups/${Ctx.context['@name']}`,\n { users: data }\n )\n handleResponse(\n isError,\n intl.formatMessage(\n {\n id: 'user_added_to_group',\n defaultMessage: 'User {user} added to group',\n },\n { user: newUserId }\n ),\n errorMessage\n )\n }\n\n const removeUser = async (userToRemove) => {\n const data = {}\n Ctx.context.users.forEach((user) => {\n data[user] = userToRemove !== user\n })\n const {\n isError,\n errorMessage,\n } = await Ctx.client.rest.patch(\n `${Ctx.containerPath}@groups/${Ctx.context['@name']}`,\n { users: data }\n )\n handleResponse(\n isError,\n intl.formatMessage(\n {\n id: 'user_removed_from_group',\n defaultMessage: 'User {user} removed from group',\n },\n { user: userToRemove }\n ),\n errorMessage\n )\n }\n\n return (\n <div className=\"container group-view\">\n <h2 className=\"title is-size-4\">\n <Icon icon=\"fas fa-users\"></Icon>\n <span>\n &nbsp;\n {intl.formatMessage({\n id: 'group',\n defaultMessage: 'Group',\n })}\n </span>\n </h2>\n <hr />\n <div className=\"columns\">\n <div className=\"column is-4\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.title)}{' '}\n </label>\n <EditableField\n field=\"title\"\n modifyContent\n value={Ctx.context.title}\n />\n </div>\n <div className=\"column is-4 is-size-7\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage({\n id: 'roles',\n defaultMessage: 'Roles',\n })}\n </h3>\n <p>\n {intl.formatMessage({\n id: 'add_role',\n defaultMessage: 'Add a Role',\n })}\n </p>\n <Select\n options={roles.filter(\n (role) => !Ctx.context.user_roles.includes(role.value)\n )}\n appendDefault\n onChange={addRole}\n />\n <hr />\n {Ctx.context.user_roles.map((urole) => (\n <p className=\"control\" key={`roles_${urole}`}>\n <Tag\n name={urole}\n onRemove={() => removeRole(urole)}\n size=\"is-small\"\n />\n </p>\n ))}\n </div>\n <div className=\"column is-4 is-size-7\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage({\n id: 'users',\n defaultMessage: 'Users',\n })}\n </h3>\n <p>{intl.formatMessage(genericMessages.add_user)}</p>\n <SearchInput\n path={`${Ctx.containerPath}/users/`}\n qs={[...searchParsed, ...sortParsed]}\n traversal={Ctx}\n onChange={addUser}\n btnClass=\"is-small\"\n />\n <hr />\n {Ctx.context.users.map((user) => (\n <p className=\"control\" key={`user_${user}`}>\n <Tag\n name={user}\n onRemove={() => removeUser(user)}\n size=\"is-small\"\n />\n </p>\n ))}\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { injectIntl } from 'react-intl'\n\nconst style = { color: '#F44336', fontSize: 20, paddingBottom: 20 }\n\nclass ErrorBoundaryComponent extends React.Component {\n state = {}\n\n componentDidCatch(error, errorInfo) {\n this.setState({\n hasError: true,\n errorMsg: error.message,\n errorStack: errorInfo.componentStack,\n })\n }\n\n render() {\n const { hasError, errorMsg, errorStack } = this.state\n\n if (hasError) {\n return (\n <div className=\"box main-panel\">\n <div style={style}>\n {this.props.intl.formatMessage({\n id: 'something_went_wrong',\n defaultMessage: 'Something went wrong.',\n })}\n </div>\n {errorMsg && (\n <p>\n <b>{errorMsg}</b>\n </p>\n )}\n {errorStack && <p>{errorStack}</p>}\n </div>\n )\n }\n\n return this.props.children\n }\n}\n\nexport default injectIntl(ErrorBoundaryComponent)\n","import React from 'react'\nimport { Icon } from './ui/icon'\nimport { useIntl } from 'react-intl'\n\nexport function NotAllowed() {\n const intl = useIntl()\n return (\n <div className=\"box not-allowed\">\n <h1 className=\"title has-text-danger\" style={{ fontSize: '4rem' }}>\n <Icon icon=\"fas fa-ban\" />\n </h1>\n <h1 className=\"title has-text-grey-darker\">\n {intl.formatMessage({\n id: 'not_allowed',\n defaultMessage: 'Not Allowed',\n })}\n </h1>\n </div>\n )\n}\n","import React from 'react'\nimport { Icon } from './ui/icon'\nimport { useIntl } from 'react-intl'\n\nexport function NotFound() {\n const intl = useIntl()\n return (\n <div className=\"box not-allowed\">\n <h1 className=\"title has-text-grey\" style={{ fontSize: '4rem' }}>\n <Icon icon=\"fas fa-dizzy\" />\n </h1>\n <h1 className=\"title has-text-grey-darker\">\n {intl.formatMessage({\n id: 'not_found',\n defaultMessage: '404. Not Found',\n })}\n </h1>\n </div>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { useLocation } from '../hooks/useLocation'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\n\nexport function Path() {\n const ctx = useTraversal()\n const [, navigate] = useLocation()\n\n let segments = ctx.path.replace(/\\/$/, '').split('/')\n let links = buildPaths(segments)\n\n if (segments.length === 1) {\n return false\n }\n\n return (\n <nav className=\"breadcrumb\" aria-label=\"breadcrumbs\">\n <ul>\n {segments.map((item, indx) => {\n const path = links[indx]\n const onClick = (e) => {\n if (window.event.ctrlKey || window.event.metaKey) return\n e.preventDefault()\n navigate({ path }, true)\n }\n\n return indx === 0 ? (\n <li key={indx}>\n <a\n href={path}\n onClick={onClick}\n data-test={`breadcrumbItemTest-home`}\n >\n <span className=\"icon\">\n <i className=\"fas fa-home\"></i>\n </span>\n </a>\n </li>\n ) : (\n <li key={indx}>\n <a\n href={path}\n onClick={onClick}\n data-test={`breadcrumbItemTest-${item.toLowerCase()}`}\n >\n {item}\n </a>\n </li>\n )\n })}\n </ul>\n </nav>\n )\n}\n\nconst buildPaths = (segments) => {\n let current = ''\n let results = []\n segments.map((item, indx) => {\n if (indx === 0) {\n current += '/'\n } else {\n current += item + '/'\n }\n results.push(current)\n return item\n })\n return results\n}\n","import { FolderCtx } from '../views/folder'\nimport { ItemCtx } from '../views/item'\nimport { ApplicationCtx } from '../views/application'\nimport { DatabaseCtx } from '../views/application'\nimport { ContainerCtx } from '../views/container'\nimport { UsersCtx } from '../views/users'\nimport { UserCtx } from '../views/users'\nimport { CopyItems } from '../actions/copy_items'\nimport { CopyItem } from '../actions/copy_item'\nimport { MoveItems } from '../actions/move_items'\nimport { MoveItem } from '../actions/move_item'\nimport { RemoveItems } from '../actions/remove_items'\nimport { RemoveItem } from '../actions/remove_item'\nimport { AddItem } from '../actions/add_item'\nimport { ChangePassword } from '../actions/change_pass'\nimport { BaseForm } from '../forms/base'\nimport { UserForm } from '../forms/users'\nimport { IAttachment } from '../components/behaviors/iattachment'\nimport { IDublinCore } from '../components/behaviors/idublincore'\nimport { IMultiAttachment } from '../components/behaviors/imultiattachment'\nimport { IImageAttachment } from '../components/behaviors/iimageattachment'\nimport { IMultiImageAttachment } from '../components/behaviors/imultiimageattachment'\nimport { IMultiImageOrderedAttachment } from '../components/behaviors/imultiimageorderedattachment'\nimport { IWorkflow } from '../components/behaviors/iworkflow'\nimport { GroupsCtx } from '../views/groups'\nimport { GroupCtx } from '../views/groups'\nimport ErrorBoundary from '../components/error_boundary'\nimport React from 'react'\nimport { NotAllowed } from '../components/notallowed'\nimport { NotFound } from '../components/notfound'\nimport { Path } from '../components/path'\nimport { EditComponent } from '../components/fields/editComponent'\nimport { RenderFieldComponent } from '../components/fields/renderField'\n\nlet registry = {\n paths: {},\n views: {\n ErrorBoundary: ErrorBoundary,\n NotAllowed: NotAllowed,\n NotFound: NotFound,\n Application: ApplicationCtx,\n Database: DatabaseCtx,\n Container: ContainerCtx,\n UserManager: UsersCtx,\n User: UserCtx,\n Group: GroupCtx,\n GroupManager: GroupsCtx,\n Folder: FolderCtx,\n Item: ItemCtx,\n },\n actions: {\n addItem: AddItem,\n copyItems: CopyItems,\n copyItem: CopyItem,\n moveItems: MoveItems,\n moveItem: MoveItem,\n removeItems: RemoveItems,\n changePassword: ChangePassword,\n removeItem: RemoveItem,\n },\n forms: {\n UserManager: BaseForm,\n GroupManager: BaseForm,\n Folder: BaseForm,\n Item: BaseForm,\n User: UserForm,\n Group: BaseForm,\n },\n behaviors: {\n 'guillotina.behaviors.dublincore.IDublinCore': IDublinCore,\n 'guillotina.behaviors.attachment.IAttachment': IAttachment,\n 'guillotina.behaviors.attachment.IMultiAttachment': IMultiAttachment,\n 'guillotina.contrib.image.behaviors.IImageAttachment': IImageAttachment,\n 'guillotina.contrib.image.behaviors.IMultiImageAttachment': IMultiImageAttachment,\n 'guillotina.contrib.image.behaviors.IMultiImageOrderedAttachment': IMultiImageOrderedAttachment,\n 'guillotina.contrib.workflows.interfaces.IWorkflowBehavior': IWorkflow,\n },\n itemsColumn: {},\n schemas: {},\n properties: {},\n components: {\n Path: Path,\n EditComponent: EditComponent,\n RenderFieldComponent: RenderFieldComponent,\n },\n searchEngineQueryParamsFunction: {\n PostreSQL: 'getQueryParamsPostresql',\n Elasticsearch: 'getQueryParamsElasticsearch',\n },\n fieldsToFilter: {\n UserManager: ['id', 'email', 'user_name'],\n },\n}\n\nconst get = (key, param, fallback) => {\n if (registry[key]) return registry[key][param] || fallback\n return fallback\n}\n\nconst getComponent = (context, path, fallback) => {\n if (!context) return\n // console.log(\"Component for path\", path)\n // lookup by path\n if (registry.paths[path]) {\n return registry.paths[path]\n }\n // by type\n if (registry.views[context['@type']]) {\n return registry.views[context['@type']]\n }\n if (fallback) {\n return fallback\n }\n return defaultComponent(context)\n}\n\nconst getItemsColumn = (type) => {\n const funcCols = registry.itemsColumn[type]\n if (funcCols) {\n return funcCols()\n }\n return undefined\n}\n\nconst getForm = (type, fallback = BaseForm) => {\n return registry.forms[type] || fallback\n}\n\nconst getAction = (type, fallback) => {\n return registry.actions[type] || fallback\n}\n\nconst getBehavior = (type, fallback) => {\n return registry.behaviors[type] || fallback\n}\n\nconst getProperties = (type) => {\n return registry.properties[type] || {}\n}\n\nconst getSchemas = (type) => {\n return registry.schemas[type] || {}\n /*\n filters: [\n {\n attribute_key: string,\n label: string,\n type: 'select' | 'input'\n vocabulary: string | undefined\n values: {[key:string]:any}[]\n }\n ]\n */\n}\n\nconst getFieldsToFilter = (type, fallback) => {\n return registry.fieldsToFilter[type] || fallback\n}\n\nexport const defaultComponent = (context) => {\n return context.is_folderish ? FolderCtx : ItemCtx\n}\n\nexport function useRegistry(data) {\n // if data is provided we need to merge it into actual registry\n const ref = React.useRef()\n if (data && !ref.current) {\n ref.current = true\n Object.keys(data).map(\n (key) => (registry[key] = { ...registry[key], ...data[key] })\n )\n }\n\n return {\n registry,\n get,\n getForm,\n getComponent,\n getAction,\n getBehavior,\n getProperties,\n getItemsColumn,\n getFieldsToFilter,\n getSchemas,\n }\n}\n\n/*\n\nconst registry = {\n paths: {\n \"/db/guillotina/tags/\": TagsContext\n },\n forms: {\n Tag: AddTagForm\n }\n}\n\n\n<guillotina registry={registry} />\n\n\n*/\n","export const initialState = {\n path: '',\n loading: false,\n context: undefined,\n flash: {\n message: undefined,\n type: undefined,\n },\n action: {\n action: undefined,\n params: undefined,\n },\n permissions: undefined,\n errorStatus: undefined,\n registry: {},\n refresh: undefined,\n}\n\nexport function guillotinaReducer(state, action) {\n switch (action.type) {\n case 'SET_PATH':\n return { ...state, path: action.payload, loading: true }\n\n case 'SET_CONTEXT':\n return {\n ...state,\n ...action.payload,\n errorStatus: undefined,\n loading: false,\n }\n\n case 'SET_ERROR':\n return { ...state, errorStatus: action.payload, loading: false }\n\n case 'SET_FLASH':\n return { ...state, ...action.payload }\n\n case 'CLEAR_FLASH':\n return {\n ...state,\n flash: {\n message: undefined,\n type: undefined,\n },\n }\n case 'SET_ACTION':\n return { ...state, action: action.payload }\n case 'CLEAR_ACTION':\n return { ...state, action: { action: undefined, params: undefined } }\n\n case 'REFRESH':\n return {\n ...state,\n refresh: Date.now(),\n loading: !action.payload.transparent,\n }\n\n case 'APPLY':\n return { ...state, context: { ...state.context, ...action.payload } }\n\n default:\n return state\n }\n}\n","import React from 'react'\nimport { useReducer } from 'react'\nimport { useEffect } from 'react'\nimport { Flash } from './flash'\nimport { TraversalProvider, useGuillotinaClient } from '../contexts'\nimport { useConfig } from '../hooks/useConfig'\nimport { useRegistry } from '../hooks/useRegistry'\nimport { useLocation } from '../hooks/useLocation'\nimport { guillotinaReducer } from '../reducers/guillotina'\nimport { initialState } from '../reducers/guillotina'\nimport { Loading } from './ui/loading'\nimport { IntlProvider } from 'react-intl'\nimport langCA from '../locales/compiled/ca.json'\nimport langES from '../locales/compiled/es.json'\nimport langEN from '../locales/compiled/en.json'\n\nfunction loadLocaleData(locale) {\n switch (locale) {\n case 'ca':\n return langCA\n case 'es':\n return langES\n default:\n return langEN\n }\n}\n\nexport function Guillotina({ auth, locale, ...props }) {\n const messages = loadLocaleData(locale)\n const url = props.url || 'http://localhost:8080' // without trailing slash\n const config = props.config || {}\n const client = useGuillotinaClient()\n\n const { Permissions } = useConfig(config)\n const registry = useRegistry(props.registry || {})\n // Location is cooked routing solution (only uses search params)\n const [location] = useLocation()\n\n // if there is no path provided just go to root\n const searchPath = location.get('path') || '/'\n if (searchPath && searchPath !== '') {\n initialState.path = searchPath\n }\n\n const [state, dispatch] = useReducer(guillotinaReducer, initialState)\n\n const { path, refresh } = state\n\n useEffect(() => {\n dispatch({ type: 'SET_PATH', payload: searchPath })\n }, [searchPath])\n\n useEffect(() => {\n ;(async () => {\n let data = await client.getContext(path)\n if (data.status === 401) {\n dispatch({ type: 'SET_ERROR', payload: 'notallowed' })\n return\n } else if (data.status === 404) {\n dispatch({ type: 'SET_ERROR', payload: 'notfound' })\n return\n }\n let context = await data.json()\n const pr = await client.canido(path, Permissions)\n const permissions = await pr.json()\n dispatch({ type: 'SET_CONTEXT', payload: { context, permissions } })\n })()\n }, [path, refresh, client])\n\n const ErrorBoundary = registry.get('views', 'ErrorBoundary')\n const NotAllowed = registry.get('views', 'NotAllowed')\n const NotFound = registry.get('views', 'NotFound')\n const Path = registry.get('components', 'Path')\n\n const contextData = {\n url,\n client,\n auth,\n state,\n dispatch,\n registry,\n flash: config.flash,\n }\n\n const { action, errorStatus, permissions } = state\n const Main = registry.getComponent(state.context, path)\n const Action = action.action ? registry.getAction(action.action) : null\n\n return (\n <IntlProvider locale={locale} defaultLocale=\"en\" messages={messages}>\n <ErrorBoundary>\n {!errorStatus && (\n <TraversalProvider {...contextData}>\n {permissions && (\n <React.Fragment>\n {action.action && <Action {...action.params} />}\n <div className=\"level\">\n <div className=\"level-left\">\n <div className=\"level-item\">\n <Path />\n </div>\n </div>\n </div>\n <Flash />\n {Main && (\n <ErrorBoundary>\n <div className=\"box main-panel\">\n {state.loading && <Loading />}\n {!state.loading && <Main state={state} />}\n </div>\n </ErrorBoundary>\n )}\n {/* <p>Guillotina {JSON.stringify(state.context)}</p> */}\n </React.Fragment>\n )}\n </TraversalProvider>\n )}\n {errorStatus === 'notallowed' && <NotAllowed />}\n {errorStatus === 'notfound' && <NotFound />}\n </ErrorBoundary>\n </IntlProvider>\n )\n}\n","import React from 'react'\nimport { Icon } from './ui/icon'\n\nexport function Layout({ children, onLogout, auth }) {\n const doLogout = (ev) => {\n auth.logout()\n onLogout()\n }\n\n return (\n <React.Fragment>\n <header>\n <nav className=\"navbar\" role=\"navigation\" aria-label=\"main navigation\">\n <div className=\"navbar-brand\">\n <a className=\"navbar-item\" href=\"/\">\n <img src=\"/logo.svg\" alt=\"Guillotina logo\" height=\"80\" />\n </a>\n <a\n id=\"burger\"\n href=\"/\"\n role=\"button\"\n className=\"navbar-burger burger\"\n aria-label=\"menu\"\n aria-expanded=\"false\"\n data-target=\"navbarmenu\"\n >\n <span aria-hidden=\"true\"></span>\n <span aria-hidden=\"true\"></span>\n <span aria-hidden=\"true\"></span>\n </a>\n </div>\n <div id=\"navbarmenu\" className=\"navbar-menu\">\n <div className=\"navbar-start\"></div>\n <div className=\"navbar-end\">\n <div className=\"navbar-item\">\n {auth.isLogged && (\n <div className=\"buttons\">\n <button className=\"button is-size-7\" onClick={doLogout}>\n <Icon icon=\"fas fa-sign-out-alt\" size=\"is-size-7\" />\n <span>Logout</span>\n </button>\n </div>\n )}\n </div>\n </div>\n </div>\n </nav>\n </header>\n <section className=\"section main\">\n <div className=\"container\">\n <div className=\"column\">{children}</div>\n </div>\n </section>\n </React.Fragment>\n )\n}\n","import React, { useRef, useEffect } from 'react'\nimport useSetState from '../hooks/useSetState'\n\nconst ERRORS = {\n failed_to_fetch: 'Failed to fetch data: Backend not running?',\n invalid_credentials: 'Failed! Invalid credentials',\n}\nconst initialState = {\n username: '',\n password: '',\n loading: undefined,\n errors: undefined,\n}\nexport const Login = ({\n currentSchema,\n setCurrentSchema,\n schemas,\n auth,\n onLogin,\n}) => {\n const [state, setState] = useSetState(initialState)\n const inputRef = useRef(null)\n\n useEffect(() => {\n if (inputRef) {\n inputRef.current.focus()\n }\n }, [inputRef])\n\n const doLogin = async (ev) => {\n ev.preventDefault()\n setState({ loading: true, errors: undefined })\n const { username, password } = state\n\n if (currentSchema !== '') {\n auth.setAccount(currentSchema)\n }\n const res = await auth.login(username, password)\n\n if (!res) {\n setState({ errors: auth.errors, loading: false })\n return\n }\n\n if (onLogin) {\n onLogin()\n }\n }\n\n return (\n <React.Fragment>\n <form\n className=\"login__form\"\n action=\"\"\n onSubmit={doLogin}\n data-test=\"formLoginTest\"\n >\n <div className=\"field\">\n <label className=\"label\">Username:</label>\n <input\n type=\"text\"\n className=\"input\"\n placeholder=\"Username\"\n onChange={(e) => setState({ username: e.target.value })}\n value={state.username}\n ref={inputRef}\n data-test=\"inputUsernameLoginTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">Password:</label>\n <input\n type=\"password\"\n className=\"input\"\n placeholder=\"Password\"\n onChange={(e) => setState({ password: e.target.value })}\n value={state.password}\n data-test=\"inputPasswordLoginTest\"\n />\n </div>\n {schemas && schemas.length > 1 && (\n <div className=\"field\">\n <label className=\"label\">Schema:</label>\n <div className=\"select\">\n <select\n data-test=\"selectSchemaTest\"\n onChange={(e) => setCurrentSchema(e.target.value)}\n >\n {schemas.map((s) => (\n <option value={s} key={s}>\n {s}\n </option>\n ))}\n </select>\n </div>\n </div>\n )}\n <div className=\"field\">\n <button\n className=\"button is-warning\"\n type=\"submit\"\n data-test=\"btnLoginTest\"\n >\n Login\n </button>\n </div>\n <div className=\"field\">\n {state.errors && (\n <p className=\"has-text-danger\">\n {ERRORS[state.errors] || 'Generic error'}\n </p>\n )}\n </div>\n </form>\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useState, useEffect } from 'react'\nimport { Form } from '../components/input/form'\nimport { stringToSlug } from '../lib/helpers'\nimport { useTraversal } from '../contexts'\nimport useSetState from '../hooks/useSetState'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nconst ignoreFiels = []\nconst extraFields = ['title']\n\nexport function RequiredFieldsForm({\n loading,\n onSubmit,\n actionName,\n title,\n dataTest,\n type,\n}) {\n const intl = useIntl()\n const Ctx = useTraversal()\n\n const EditComponent = Ctx.registry.get('components', 'EditComponent')\n\n const [formData, setFormData] = useState({})\n const [errors, setErrors] = useState({})\n\n const [schema, setSchema] = useSetState({\n data: undefined,\n loading: false,\n error: undefined,\n formFields: [],\n })\n\n useEffect(() => {\n ;(async () => {\n if (!schema.loading && !schema.data && !schema.error) {\n try {\n setSchema({ loading: true })\n const dataJson = await Ctx.client.getTypeSchema(Ctx.path, type)\n setSchema({\n loading: false,\n data: dataJson,\n formFields: [...dataJson.required, ...extraFields],\n })\n } catch (err) {\n setSchema({ loading: false, error: err })\n }\n }\n })()\n }, [schema])\n\n const submit = () => {\n const currentErrors = {}\n\n schema.formFields.forEach((key) => {\n if (!formData[key]) {\n currentErrors[key] = intl.formatMessage(\n genericMessages.field_is_required\n )\n }\n })\n\n if (Object.keys(currentErrors).length > 0) {\n setErrors(currentErrors)\n return\n }\n\n onSubmit({ id: formData.uuid, ...formData })\n }\n\n return (\n <Form title={title} onSubmit={submit} dataTest={dataTest}>\n {schema &&\n schema.data &&\n !schema.loading &&\n schema.formFields.map((key) => {\n if (!ignoreFiels.includes(key)) {\n const value = schema.data.properties[key]\n return (\n <EditComponent\n key={key}\n id={key}\n placeholder={value?.title ?? ''}\n className=\"\"\n required\n schema={schema.data.properties[key]}\n setValue={(ev) => {\n if (key === 'title') {\n setFormData({\n ...formData,\n uuid: stringToSlug(ev),\n [key]: ev,\n })\n } else if (key === 'uuid') {\n setFormData({\n ...formData,\n uuid: stringToSlug(ev),\n })\n } else {\n setFormData({ ...formData, [key]: ev })\n }\n }}\n error={errors[key]}\n dataTest={`${key}TestInput`}\n val={key in formData ? formData[key] : ''}\n />\n )\n }\n return null\n })}\n\n <div className=\"level level-right\">\n <button\n type=\"submit\"\n className={`button is-success ${loading ? 'is-loading' : ''}`}\n data-test=\"formBaseBtnTestSubmit\"\n >\n {actionName || intl.formatMessage(genericMessages.add)}\n </button>\n </div>\n </Form>\n )\n}\n","import jwt_decode from 'jwt-decode'\n\nexport class Auth {\n maxRetry = 1\n retryRefresh = 0\n events = {}\n\n constructor(url) {\n this.url = url\n this.base_url = url\n this.errors = undefined\n }\n\n getUrl(endpoint) {\n return `${this.url}${endpoint}`\n }\n\n setAccount(account) {\n this.url = this.base_url + account\n }\n\n async login(username, password) {\n const url = this.getUrl('@login')\n try {\n const data = await fetch(url, {\n method: 'post',\n body: JSON.stringify({\n username: username,\n password: password,\n }),\n })\n if (data.status === 200) {\n const credentials = await data.json()\n this.storeAuth(credentials, username)\n return true\n } else {\n this.errors = 'invalid_credentials'\n }\n } catch (e) {\n this.errors = 'failed_to_fetch'\n return false\n }\n localStorage.removeItem('auth')\n localStorage.removeItem('auth_expires')\n return false\n }\n\n get isLogged() {\n if (typeof localStorage === 'undefined') {\n return false\n }\n const [token, expires] = this._getToken()\n if (!token || !expires) {\n return false\n }\n if (this.isExpired(expires)) {\n return false\n }\n return true\n }\n\n get username() {\n if (typeof localStorage === 'undefined') {\n return false\n }\n const [token] = this._getToken()\n const data = jwt_decode(token)\n console.log(token)\n return data.id\n }\n\n storeAuth(data) {\n localStorage.setItem('auth', data.token)\n localStorage.setItem('auth_expires', new Date(data.exp).getTime())\n }\n\n cleanAuth() {\n localStorage.removeItem('auth')\n localStorage.removeItem('auth_expires')\n }\n\n logout() {\n this.cleanAuth()\n }\n\n async refreshToken() {\n console.log('refresh!!!')\n this.retryRefresh++\n let data = await fetch(this.getUrl('@login-renew'), {\n headers: this.getHeaders(),\n method: 'post',\n })\n if (data.status === 401) {\n // invalid token\n this.cleanAuth()\n this.onLogout()\n return\n }\n const res = await data.json()\n console.log('refresh data', res)\n this.storeAuth(res)\n console.log('token refreshed')\n this.retryRefresh = 0\n return data.token\n }\n\n willExpire(expiration) {\n let now = new Date().getTime()\n if (parseInt(expiration) * 1000 < now + 10 * 1000) {\n return true\n }\n return false\n }\n\n isExpired(expiration) {\n let now = new Date().getTime()\n if (parseInt(expiration) * 1000 > now) {\n return false\n }\n return true\n }\n\n _getToken() {\n return [localStorage.getItem('auth'), localStorage.getItem('auth_expires')]\n }\n\n getToken() {\n const [token] = this._getToken()\n return token\n }\n\n getHeaders() {\n const [authToken, expires] = this._getToken()\n if (!authToken) return {}\n\n if (this.willExpire(expires) && this.retryRefresh < this.maxRetry) {\n ;(async () => await this.refreshToken())()\n }\n\n return {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: 'Bearer ' + authToken,\n }\n }\n}\n"],"names":["AuthContext","createContext","ClientContext","TraversalContext","Traversal","flash","props","Object","assign","refresh","transparent","dispatch","type","payload","apply","data","message","window","scrollTo","top","left","behavior","clearFlash","doAction","action","params","cancelAction","hasPerm","permission","state","permissions","filterTabs","tabs","tabsPermissions","result","keys","forEach","item","perm","path","slice","context","client","getContainerFromPath","TraversalProvider","children","React","useTraversal","useContext","ClientProvider","useGuillotinaClient","genericMessages","defineMessages","loading","id","defaultMessage","remove","install","delete","move_to","copy_to","behaviors","static","disable","enable","enabled","available","invalid_form_data","invalid_form","select_principal","select_role","select_permissions","operation","save","choose","property","value","create","upload","image","error_provide_key_name","mandatory_field","error_in_field","field_updated","field_deleted","can_not_delete_field","cancel","open","download","search","no_results","load_more","add_type","confirm","field_is_required","title","add","not_implemented","failed_to_update","add_user","role","setting","genericFileMessages","error_file_key_name","error_upload_file","error_upload_file_size","image_uploaded","file_uploaded","failed_delete_file","image_deleted","confirm_message_delete_file","confirm_message_delete_image","no_images_uploaded","no_files_uploaded","upload_an_image","upload_a_file","classnames","classNames","filter","Boolean","join","trim","noop","current","generateUID","prefix","toQueryString","map","key","encodeURIComponent","base64ToArrayBuffer","base64","binaryString","atob","binaryLen","length","bytes","Uint8Array","i","ascii","charCodeAt","stringToSlug","str","replace","toLowerCase","from","to","l","RegExp","charAt","sleep","ms","Promise","resolve","setTimeout","getActionsObject","intl","multiple","DELETE","text","formatMessage","perms","MOVE","COPY","Button","className","onClick","disabled","dataTest","rest","css","concat","split","Modal","isActive","setActive","usePortal","Portal","Confirm","onCancel","onConfirm","useIntl","marginTop","PathTree","defaultPath","e","preventDefault","target","display","useSetState","initialState","useState","set","setState","useCallback","patch","prevState","Function","_catch","body","recover","then","initial","undefined","isError","errorMessage","response","getErrorMessage","dataError","defaultValue","details","reason","processResponse","res","ready_body","status","json","Ctx","endpoint","newState","console","error","del","post","get","req","useCrudContext","AddItem","doSubmit","form","formData","getForm","registry","Form","err","log","Permissions","Config","DisabledTypes","PageSize","DelayActions","SearchEngine","fieldHaveDeleteButton","schema","widget","calculated","addConfig","additional","original","Array","isArray","useConfig","cfg","ref","useRef","RemoveItems","removeItems","errors","setLoading","actions","items","ok","push","all","errorstr","JSON","stringify","last","itemsNames","Checkbox","classNameInput","indeterminate","placeholder","onChange","inputRef","useEffect","updateState","ev","checked","ErrorZone","propTypes","PropTypes","node","string","applyValidators","validators","validation","func","useInput","validator","hasError","onUpdate","onBlur","onFocus","REGEX_EMAIL","REGEX_URL","REGEX_HEX_COLOR","REGEX_NUMBER","isEmpty","maxLength","limit","minLength","isEmail","test","isURL","isHexColor","isNumber","notEmpty","Input","forwardRef","icon","iconPosition","errorZoneClassName","autoComplete","required","autofocus","handlers","uid","mounted","setMounted","focus","theError","statusClasses","cssControl","arrayOf","oneOf","autoFocus","bool","isSubmitted","name","onKeyDown","onKeyUp","onPressEnter","readOnly","oneOfType","number","Icon","align","addClass","EmailInput","onSubmit","onReset","handleSubmit","event","isRequired","PasswordInput","formComponents","password","boolean","email","FormBuilder","actionName","exclude","remotes","submitButton","properties","values","fields","x","includes","element","field","GetTag","Tag","label","displayName","children_","Children","child","cloneElement","changes","formatDate","d","Date","minutes","getMinutes","getDate","getMonth","getFullYear","getHours","obj","defValue","pathArray","match","reduce","prevObj","getNewId","suffix","rgx","r","num","parseInt","Select","options","size","classWrap","appendDefault","style","selectValue","selectedOptions","cssWrap","index","toString","object","setURLParams","p","history","pathname","clean","URLSearchParams","_key","useLocation","currentSearchParams","update","prevPath","patchHistoryEvents","checkForUpdates","events","addEventListener","removeEventListener","navigate","param","patched","arguments","Event","dispatchEvent","location","Link","aRef","model","aStyle","textDecoration","color","stopPropagation","actAsLink","ctrlKey","metaKey","altKey","shiftKey","button","TdLink","link","click","Loading","onRemove","Delete","Table","headers","idx","Notification","isColor","RestClient","url","container","auth","request","indexOf","startsWith","getHeaders","fetch","authToken","getToken","Accept","Authorization","method","fetchData","put","filename","SEP","DEFAULT_FIELD","CLEANER","parser","qs","defaultField","Error","orParser","parsed","buildQs","lastKey","part","val","parsedQuery","cacheTypes","cacheSchemas","GuillotinaClient","pathContainsContainer","substring","parts","clearContainerFromPath","cleanPath","getContext","getQueryParamsPostresql","start","pageSize","withDepth","getQueryParamsElasticsearch","containerPath","objectPath","endsWith","getItemsColumn","smallcss","width","mediumcss","isSortable","m","created","updated","applyCompat","member","items_count","items_total","prepare","query","canido","createObject","file","getTypeSchema","getAddons","installAddon","removeAddon","getGroups","getUsers","getPrincipals","groups","users","gr","usr","getRoles","getAllPermissions","resp","Set","extractPermissions","getTypes","types","getClient","lightFileReader","reader","FileReader","readAsArrayBuffer","onloadend","fileData","normalize","FileUpload","changed","files","Textarea","rows","defaultEvents","on","off","useClickAway","onClickAway","savedCallback","handler","el","contains","eventName","document","debounce","wait","timeout","args","later","clearTimeout","page","SearchInput","traversal","queryCondition","btnClass","dataTestWrapper","dataTestSearchInput","dataTestItem","renderTextItemOption","typeNameQuery","labelProperty","setOptions","isOpen","setIsOpen","searchTerm","setSearchTerm","wrapperRef","valueLabel","setValueLabel","setIsLoadingData","getHeight","maxHeight","innerHeight","getBoundingClientRect","delayedQuery","handleSearch","inicializeLabels","searchTermQs","searchTermParsed","getSearch","fnName","qsParsed","typeNameParsed","newValuesLabel","sortParsed","newItems","renderTextItemOptionFn","currentTarget","relatedTarget","blur","array","InputList","inputValue","setInputValue","addTags","React.createElement","tag","Dropdown","isRight","optionDisabledWhen","setIsActive","position","option","cursor","opacity","backgroundColor","EditableField","ns","modifyContent","isEdit","setEdit","setValue","EditComponent","RenderFieldComponent","canModified","saveField","unescape","dataPatch","deleteField","enum","DownloadField","getField","downloadFile","blob","Blob","content_type","URL","createObjectURL","createElement","href","setAttribute","appendChild","revokeObjectURL","parentNode","removeChild","useVocabulary","vocabularyName","vocabulary","setVocabulary","getPath","dataJson","plain","RenderField","Widget","FieldValue","DEFAULT_VALUE_NO_EDITABLE_FIELD","getDefaultValueEditableField","SearchRenderField","valuesLabels","setValuesLabels","isLoadingData","valuesToSearch","getRenderValue","DEFAULT_VALUE_EDITABLE_FIELD","VocabularyRenderField","getRenderProps","renderProps","vocabularyValue","find","token","toLocaleString","SelectVocabulary","getOptions","vocData","default","getProps","currentValue","SearchInputList","valuesLabel","queryPath","getInputType","IAttachment","IMultiAttachment","fileKey","setFileKey","setFile","fileKeyToDelete","setFileKeyToDelete","setError","uploadFile","deleteFile","_sizesImages","pact","s","v","o","bind","observer","prototype","onFulfilled","onRejected","callback","_this","thenable","check","reject","_cycle","IImageAttachment","sizesImages","size_images","showConfirmToDelete","setShowConfirmToDelete","endpointSize","gap","_settle","_Pact","_isSettledPact","IMultiImageAttachment","StrictModeDroppable","setEnabled","animation","requestAnimationFrame","cancelAnimationFrame","Droppable","reorder","list","startIndex","endIndex","splice","removed","_forTo","messages","failed_to_sort_images","images_sorted","IMultiImageOrderedAttachment","onDragEnd","destination","source","resultSorted","sortedList","setSortedList","uuidv4","DragDropContext","provided","innerRef","droppableProps","Draggable","providedChild","borderTop","draggableProps","dragHandleProps","base","local","roleperm","prinperm","prinrole","inherit","Sharing","getRole","principal","getPrinroles","ItemModel","_path","icons","_url","type_name","creation_date","modification_date","status_changed_ok","status_changed_error","confirm_message","current_state","IWorkflow","loadDefinition","workflow","setDefinition","definition","workflowAction","setWorkflowAction","currentState","doWorkflowAction","transitions","transition","PanelActions","ACTIONS_OBJECT","some","onAction","actionKey","useMountedState","mountedRef","useAsyncFn","fn","deps","lastCallId","isMounted","callId","useAsync","available_addons","no_available_addons_container","installed_addons","PanelAddons","setAction","pathPrefix","prepareData","addon","installed","addons","arrayToObject","PanelBehaviors","ops","enableBehavior","disableBehavior","dynamic","ItemsActionsCtx","ItemsActionsProvider","selected","setSelected","onSelectAllItems","onSelectOneItem","AllItemsCheckbox","marginLeft","ItemCheckbox","absId","ItemsActionsDropdown","every","Pagination","total","doPaginate","pager","maxPages","Math","ceil","currentPage","totalPages","totalItems","Item","RItem","columns","ItemTitle","SearchLabels","clearSearch","SearchOptionsLabels","renderValue","setRenderValue","defaultRenderValue","SearchVocabularyLabels","PanelItems","setLocation","filterSchema","getSchemas","filters","sort","sortDirection","searchParsed","fieldsToFilter","getFieldsToFilter","typeParsed","onSort","sort_direction","resultQueryParams","resultDynamicLocation","itemParam","attribute_key","filterParsed","controller","AbortController","signal","abort","getIcon","tab","input_type","filterData","column","BehaviorsView","getBehavior","__behaviors__","GetBehavior","b","Cls","BehaviorNotImplemented","PropertiesButtonView","getProperties","Props","Buttons","Element","PropertiesView","Panels","_showProperties","_ignoreFields","PanelProperties","setSchema","showProperties","properties_default","ignoreFields","ignoreField","properties_ignore_fields","prop","PermissionPrinperm","principals","operations","getMultiples","setter","savePermission","random","PermissionPrinrole","roles","PermissionRoleperm","role_permissions","no_role_permissions","no_principal_permissions","no_principal_roles","principal_permissions","principal_roles","allow","deny","allow_single","unset","add_permissions","select_type","PanelPermissions","ctx","reset","setReset","row","currentObj","AddPermission","defaultOptions","init","principalsData","group","user","fullname","prepareAvailable","already","def","TagsWidget","noData","selectRef","setResult","addItem","marginBottom","CreateButton","anyNameFunction","ContextToolbar","loadTypes","AddButton","searchText","searchValue","setSearchValue","onSearchQuery","q","onSearchByType","typeText","Flash","FallbackTab","TabsPanel","currentTab","rightToolbar","fallback","setTab","CurrentComp","changeTab","Items","Properties","Behaviors","Actions","FolderCtx","ItemCtx","ApplicationCtx","databases","db","DatabaseCtx","containers","CreateContainer","add_container","container_created","ModalAddContainer","createContainer","idField","setId","isLoading","PanelNotImplemented","Addons","Registry","ContainerCtx","UserForm","attr","username","useRemoteField","setRemote","updateRemote","Users","UsersToolbar","UsersCtx","UserCtx","gorups","user_groups","user_roles","requestGetGroups","requestGetRoles","updateObject","withError","CopyItems","copyItems","input","new_id","responses","CopyItem","copyItem","MoveItems","moveItems","MoveItem","moveItem","RemoveItem","removeItem","pass1","pass2","ChangePassword","setPerror","perror","setPass","n","BaseForm","setName","submit","setTitle","editableFields","IDublinCore","Groups","GroupToolbar","GroupsCtx","GroupCtx","setRoles","handleResponse","addRole","removeRole","addUser","newUserId","removeUser","userToRemove","urole","fontSize","paddingBottom","ErrorBoundaryComponent","componentDidCatch","errorInfo","errorMsg","errorStack","componentStack","render","Component","injectIntl","NotAllowed","NotFound","Path","segments","links","buildPaths","indx","results","paths","views","ErrorBoundary","Application","Database","Container","UserManager","User","Group","GroupManager","Folder","changePassword","forms","itemsColumn","schemas","components","searchEngineQueryParamsFunction","PostreSQL","Elasticsearch","getComponent","defaultComponent","funcCols","getAction","is_folderish","useRegistry","errorStatus","guillotinaReducer","now","loadLocaleData","locale","langCA","langES","langEN","Guillotina","config","searchPath","useReducer","pr","contextData","Main","Action","IntlProvider","Layout","onLogout","doLogout","logout","isLogged","ERRORS","failed_to_fetch","invalid_credentials","Login","currentSchema","setCurrentSchema","onLogin","doLogin","setAccount","login","ignoreFiels","extraFields","RequiredFieldsForm","setFormData","setErrors","formFields","currentErrors","uuid","Auth","maxRetry","retryRefresh","base_url","getUrl","account","localStorage","credentials","storeAuth","setItem","exp","getTime","cleanAuth","refreshToken","willExpire","expiration","isExpired","_getToken","getItem","expires","jwt_decode"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"react-gmi.umd.js","sources":["../src/guillo-gmi/contexts/index.js","../src/guillo-gmi/locales/generic_messages.js","../src/guillo-gmi/lib/helpers.js","../src/guillo-gmi/components/input/button.js","../src/guillo-gmi/components/modal.js","../src/guillo-gmi/hooks/useSetState.js","../src/guillo-gmi/hooks/useCrudContext.js","../src/guillo-gmi/actions/add_item.js","../src/guillo-gmi/hooks/useConfig.js","../src/guillo-gmi/actions/remove_items.js","../src/guillo-gmi/components/input/checkbox.js","../src/guillo-gmi/components/error_zone.js","../src/guillo-gmi/hooks/useInput.js","../src/guillo-gmi/lib/validators.js","../src/guillo-gmi/components/input/input.js","../src/guillo-gmi/components/ui/icon.js","../src/guillo-gmi/components/input/email.js","../src/guillo-gmi/components/input/form.js","../src/guillo-gmi/components/input/password.js","../src/guillo-gmi/components/input/form_builder.js","../src/guillo-gmi/lib/utils.js","../src/guillo-gmi/components/input/select.js","../src/guillo-gmi/hooks/useLocation.js","../src/guillo-gmi/components/Link.js","../src/guillo-gmi/components/TdLink.js","../src/guillo-gmi/components/ui/loading.js","../src/guillo-gmi/components/ui/tag.js","../src/guillo-gmi/components/ui/delete.js","../src/guillo-gmi/components/ui/table.js","../src/guillo-gmi/components/ui/notification.js","../src/guillo-gmi/lib/rest.js","../src/guillo-gmi/lib/search.js","../src/guillo-gmi/lib/client.js","../src/guillo-gmi/components/input/upload.js","../src/guillo-gmi/components/input/textarea.js","../src/guillo-gmi/hooks/useClickAway.js","../src/guillo-gmi/components/input/search_input.js","../src/guillo-gmi/components/input/input_list.js","../src/guillo-gmi/components/input/dropdown.js","../src/guillo-gmi/components/fields/editableField.js","../src/guillo-gmi/components/fields/downloadField.js","../src/guillo-gmi/hooks/useVocabulary.js","../src/guillo-gmi/components/fields/renderField.js","../src/guillo-gmi/components/input/select_vocabulary.js","../src/guillo-gmi/components/input/search_input_list.js","../src/guillo-gmi/components/fields/editComponent.js","../src/guillo-gmi/components/behaviors/iattachment.js","../src/guillo-gmi/components/behaviors/imultiattachment.js","../src/guillo-gmi/components/behaviors/iimageattachment.js","../src/guillo-gmi/components/behaviors/imultiimageattachment.js","../src/guillo-gmi/components/behaviors/imultiimageorderedattachment.js","../src/guillo-gmi/models/sharing.js","../src/guillo-gmi/models/index.js","../src/guillo-gmi/components/behaviors/iworkflow.js","../src/guillo-gmi/components/panel/actions.js","../src/guillo-gmi/hooks/useMountedState.js","../src/guillo-gmi/hooks/useAsyncFn.js","../src/guillo-gmi/hooks/useAsync.js","../src/guillo-gmi/components/panel/addons.js","../src/guillo-gmi/components/panel/behaviors.js","../src/guillo-gmi/components/selected_items_actions.js","../src/guillo-gmi/components/pagination.js","../src/guillo-gmi/components/item.js","../src/guillo-gmi/components/search_labels.js","../src/guillo-gmi/components/search_options_labels.js","../src/guillo-gmi/components/search_vocabulary_labels.js","../src/guillo-gmi/components/panel/items.js","../src/guillo-gmi/components/behavior_view.js","../src/guillo-gmi/components/properties_view.js","../src/guillo-gmi/components/panel/properties.js","../src/guillo-gmi/components/panel/permissions_prinperm.js","../src/guillo-gmi/components/panel/permissions_prinrole.js","../src/guillo-gmi/components/panel/permissions_roleperm.js","../src/guillo-gmi/components/panel/permissions.js","../src/guillo-gmi/components/widgets/tags.js","../src/guillo-gmi/components/context_toolbar.js","../src/guillo-gmi/components/flash.js","../src/guillo-gmi/components/tabs.js","../src/guillo-gmi/views/folder.js","../src/guillo-gmi/views/item.js","../src/guillo-gmi/views/application.js","../src/guillo-gmi/views/base.js","../src/guillo-gmi/views/container.js","../src/guillo-gmi/forms/users.js","../src/guillo-gmi/hooks/useRemoteField.js","../src/guillo-gmi/views/users.js","../src/guillo-gmi/actions/copy_items.js","../src/guillo-gmi/actions/copy_item.js","../src/guillo-gmi/actions/move_items.js","../src/guillo-gmi/actions/move_item.js","../src/guillo-gmi/actions/remove_item.js","../src/guillo-gmi/actions/change_pass.js","../src/guillo-gmi/forms/base.js","../src/guillo-gmi/components/behaviors/idublincore.js","../src/guillo-gmi/views/groups.js","../src/guillo-gmi/components/error_boundary.js","../src/guillo-gmi/components/notallowed.js","../src/guillo-gmi/components/notfound.js","../src/guillo-gmi/components/path.js","../src/guillo-gmi/hooks/useRegistry.js","../src/guillo-gmi/reducers/guillotina.js","../src/guillo-gmi/components/guillotina.js","../src/guillo-gmi/components/layout.js","../src/guillo-gmi/components/login.js","../src/guillo-gmi/forms/required_fields.js","../src/guillo-gmi/lib/auth.js"],"sourcesContent":["import React from 'react'\nimport { createContext } from 'react'\n\nexport const AuthContext = createContext({})\n\nexport const ClientContext = createContext({})\n\nexport const TraversalContext = createContext({})\n\nclass Traversal {\n constructor({ flash, ...props }) {\n Object.assign(this, props)\n if (typeof flash === 'function') this.flash = flash\n }\n\n refresh({ transparent = false } = {}) {\n this.dispatch({ type: 'REFRESH', payload: { transparent } })\n }\n\n get path() {\n return this.state.path\n }\n\n get pathPrefix() {\n return this.state.path.slice(1)\n }\n\n get context() {\n return this.state.context\n }\n\n get containerPath() {\n return this.client.getContainerFromPath(this.path)\n }\n\n apply(data) {\n // apply a optimistic update to context\n this.dispatch({ type: 'APPLY', payload: data })\n }\n\n flash(message, type) {\n this.dispatch({ type: 'SET_FLASH', payload: { flash: { message, type } } })\n window.scrollTo({ top: 0, left: 0, behavior: 'smooth' })\n }\n\n clearFlash() {\n this.dispatch({ type: 'CLEAR_FLASH' })\n }\n\n doAction(action, params) {\n this.dispatch({ type: 'SET_ACTION', payload: { action, params } })\n }\n\n cancelAction() {\n this.dispatch({ type: 'CLEAR_ACTION' })\n }\n\n hasPerm(permission) {\n return this.state.permissions[permission] === true\n }\n\n filterTabs(tabs, tabsPermissions) {\n const result = {}\n Object.keys(tabs).forEach((item) => {\n const perm = tabsPermissions[item]\n if (perm && this.hasPerm(perm)) {\n result[item] = tabs[item]\n } else if (!perm) {\n result[item] = tabs[item]\n }\n })\n return result\n }\n}\n\nexport function TraversalProvider({ children, ...props }) {\n return (\n <TraversalContext.Provider value={new Traversal(props)}>\n {children}\n </TraversalContext.Provider>\n )\n}\n\nexport function useTraversal() {\n return React.useContext(TraversalContext)\n}\n\nexport function ClientProvider({ children, client }) {\n return (\n <ClientContext.Provider value={client}>{children}</ClientContext.Provider>\n )\n}\n\nexport function useGuillotinaClient() {\n return React.useContext(ClientContext)\n}\n","import { defineMessages } from 'react-intl'\n\nexport const genericMessages = defineMessages({\n loading: {\n id: 'loading',\n defaultMessage: 'Loading',\n },\n remove: {\n id: 'remove',\n defaultMessage: 'Remove',\n },\n install: {\n id: 'install',\n defaultMessage: 'Install',\n },\n delete: {\n id: 'delete',\n defaultMessage: 'Delete',\n },\n move_to: {\n id: 'move_to',\n defaultMessage: 'Move to...',\n },\n copy_to: {\n id: 'copy_to',\n defaultMessage: 'Copy to...',\n },\n behaviors: {\n id: 'behaviors',\n defaultMessage: 'Behaviors',\n },\n static: {\n id: 'static',\n defaultMessage: 'Static',\n },\n disable: {\n id: 'disable',\n defaultMessage: 'Disable',\n },\n enable: {\n id: 'enable',\n defaultMessage: 'Enable',\n },\n enabled: {\n id: 'enabled',\n defaultMessage: 'Enabled',\n },\n available: {\n id: 'available',\n defaultMessage: 'Available',\n },\n invalid_form_data: {\n id: 'invalid_form_data',\n defaultMessage: 'Invalid form data',\n },\n invalid_form: {\n id: 'invalid_form',\n defaultMessage: 'Invalid form',\n },\n select_principal: {\n id: 'select_principal',\n defaultMessage: 'Select a Principal',\n },\n select_role: {\n id: 'select_role',\n defaultMessage: 'Select a Role',\n },\n select_permissions: {\n id: 'select_permissions',\n defaultMessage: 'Select permissions',\n },\n operation: {\n id: 'operation',\n defaultMessage: 'Operation',\n },\n save: {\n id: 'save',\n defaultMessage: 'Save',\n },\n choose: {\n id: 'choose',\n defaultMessage: 'Choose...',\n },\n property: {\n id: 'property',\n defaultMessage: 'Property',\n },\n value: {\n id: 'value',\n defaultMessage: 'Value',\n },\n create: {\n id: 'create',\n defaultMessage: 'Create',\n },\n upload: {\n id: 'upload',\n defaultMessage: 'Upload',\n },\n image: {\n id: 'image',\n defaultMessage: 'Image',\n },\n error_provide_key_name: {\n id: 'error_provide_key_name',\n defaultMessage: 'Provide a key name',\n },\n mandatory_field: {\n id: 'mandatory_field',\n defaultMessage: '{field} is mandatory!',\n },\n error_in_field: {\n id: 'error_in_field',\n defaultMessage: 'Error in field {field}!',\n },\n field_updated: {\n id: 'field_updated',\n defaultMessage: 'Field {field}, updated!',\n },\n field_deleted: {\n id: 'field_deleted',\n defaultMessage: 'Field {field}, deleted!',\n },\n can_not_delete_field: {\n id: 'can_not_delete_field',\n defaultMessage: 'You can not delete {field}!',\n },\n cancel: {\n id: 'cancel',\n defaultMessage: 'Cancel',\n },\n open: {\n id: 'open',\n defaultMessage: 'Open',\n },\n download: {\n id: 'download',\n defaultMessage: 'Download',\n },\n search: {\n id: 'search',\n defaultMessage: 'Search',\n },\n no_results: {\n id: 'no_results',\n defaultMessage: 'No results',\n },\n load_more: {\n id: 'load_more',\n defaultMessage: 'Load more',\n },\n add_type: {\n id: 'add_type',\n defaultMessage: 'Add {type}',\n },\n confirm: {\n id: 'confirm',\n defaultMessage: 'Confirm',\n },\n field_is_required: {\n id: 'field_is_required',\n defaultMessage: 'This field is required',\n },\n title: {\n id: 'title',\n defaultMessage: 'Title',\n },\n add: {\n id: 'add',\n defaultMessage: 'Add',\n },\n not_implemented: {\n id: 'not_implemented',\n defaultMessage: 'Not implemented',\n },\n failed_to_update: {\n id: 'failed_to_update',\n defaultMessage: 'Failed to update: {error}',\n },\n add_user: {\n id: 'add_user',\n defaultMessage: 'Add a User',\n },\n role: {\n id: 'role',\n defaultMessage: 'Role',\n },\n setting: {\n id: 'setting',\n defaultMessage: 'Setting',\n },\n permission: {\n id: 'permission',\n defaultMessage: 'Permission',\n },\n})\n\nexport const genericFileMessages = defineMessages({\n error_file_key_name: {\n id: 'error_file_key_name',\n defaultMessage: 'Provide a file and a key name',\n },\n error_upload_file: {\n id: 'error_upload_file',\n defaultMessage: 'Failed to upload file',\n },\n error_upload_file_size: {\n id: 'error_upload_file_size',\n defaultMessage: 'Failed to upload file {size}',\n },\n image_uploaded: {\n id: 'image_uploaded',\n defaultMessage: 'Image uploaded!',\n },\n file_uploaded: {\n id: 'file_uploaded',\n defaultMessage: 'File uploaded!',\n },\n failed_delete_file: {\n id: 'failed_delete_file',\n defaultMessage: 'Failed to delete file',\n },\n image_deleted: {\n id: 'image_deleted',\n defaultMessage: 'Image deleted!',\n },\n confirm_message_delete_file: {\n id: 'confirm_message_delete_file',\n defaultMessage: 'Are you sure to remove: {fileKeyToDelete}?',\n },\n confirm_message_delete_image: {\n id: 'confirm_message_delete_image',\n defaultMessage: 'Are you sure to remove the image?',\n },\n no_images_uploaded: {\n id: 'no_images_uploaded',\n defaultMessage: 'No images uploaded',\n },\n no_files_uploaded: {\n id: 'no_files_uploaded',\n defaultMessage: 'No files uploaded',\n },\n upload_an_image: {\n id: 'upload_an_image',\n defaultMessage: 'Upload an image',\n },\n upload_a_file: {\n id: 'upload_a_file',\n defaultMessage: 'Upload a file',\n },\n})\n","import { genericMessages } from '../locales/generic_messages'\n\nexport const classnames = (classNames) => {\n return classNames.filter(Boolean).join(' ').trim()\n}\n\nexport const noop = () => {}\n\nlet current = 0\n\nexport const generateUID = (prefix) => `${prefix || 'id'}-${current++}`\n\nexport const toQueryString = (params) => {\n return Object.keys(params)\n .map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key])\n })\n .join('&')\n}\n\nexport function base64ToArrayBuffer(base64) {\n const binaryString = window.atob(base64)\n const binaryLen = binaryString.length\n const bytes = new Uint8Array(binaryLen)\n for (var i = 0; i < binaryLen; i++) {\n var ascii = binaryString.charCodeAt(i)\n bytes[i] = ascii\n }\n return bytes\n}\n\nexport function stringToSlug(str) {\n str = str.replace(/^\\s+|\\s+$/g, '') // trim\n str = str.toLowerCase()\n\n // remove accents, swap ñ for n, etc\n var from = 'àáäâèéëêìíïîòóöôùúüûñç·/_,:;'\n var to = 'aaaaeeeeiiiioooouuuunc------'\n for (var i = 0, l = from.length; i < l; i++) {\n str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i))\n }\n\n str = str\n .replace(/[^a-z0-9 -]/g, '') // remove invalid chars\n .replace(/\\s+/g, '-') // collapse whitespace and replace by -\n .replace(/-+/g, '-') // collapse dashes\n\n return str\n}\n\nexport function sleep(ms) {\n return new Promise((resolve) => {\n setTimeout(function () {\n resolve()\n }, ms)\n })\n}\n\nexport const getActionsObject = (intl, multiple = false) => ({\n DELETE: {\n text: intl.formatMessage(genericMessages.delete),\n perms: ['guillotina.DeleteContent'],\n action: multiple ? 'removeItems' : 'removeItem',\n },\n MOVE: {\n text: intl.formatMessage(genericMessages.move_to),\n perms: ['guillotina.MoveContent'],\n action: multiple ? 'moveItems' : 'moveItem',\n },\n COPY: {\n text: intl.formatMessage(genericMessages.copy_to),\n perms: ['guillotina.DuplicateContent'],\n action: multiple ? 'copyItems' : 'copyItem',\n },\n})\n","import React from 'react'\nimport { classnames } from '../../lib/helpers'\n\nconst noop = () => {}\n\nexport const Button = ({\n children,\n className = 'is-primary',\n onClick,\n type = 'submit',\n loading = false,\n disabled = false,\n dataTest,\n ...rest\n}) => {\n let css = [].concat('button', ...className.split(' '))\n if (loading) css = css.concat('is-loading')\n if (disabled) onClick = noop\n\n return (\n <p className=\"control\">\n <button\n type={type}\n className={classnames(css)}\n onClick={onClick}\n disabled={disabled}\n {...rest}\n data-test={dataTest}\n >\n {children}\n </button>\n </p>\n )\n}\n","import React from 'react'\nimport usePortal from 'react-useportal'\nimport { Button } from './input/button'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function Modal(props) {\n const { isActive, setActive, children } = props\n const { Portal } = usePortal()\n\n const css = 'modal ' + (isActive ? 'is-active ' : '') + props.className\n return (\n <Portal>\n <div className={css}>\n <div className=\"modal-background\" onClick={() => setActive(false)} />\n <div className=\"modal-content\">\n <div className=\"box\">{children}</div>\n </div>\n <button\n className=\"modal-close is-large\"\n aria-label=\"close\"\n onClick={() => setActive(false)}\n />\n </div>\n </Portal>\n )\n}\n\nexport function Confirm({ message, onCancel, onConfirm, loading }) {\n const intl = useIntl()\n const setActive = () => onCancel()\n return (\n <Modal isActive setActive={setActive} className=\"confirm\">\n <React.Fragment>\n <h1 className=\"title is-size-5\">{message || 'Are you Sure?'}</h1>\n <div className=\"level\" style={{ marginTop: 50 }}>\n <div className=\"level-left\"></div>\n <div className=\"level-right\">\n <button\n className=\"button is-danger\"\n onClick={() => onCancel()}\n data-test=\"btnCancelModalTest\"\n >\n {intl.formatMessage(genericMessages.cancel)}\n </button>\n &nbsp;&nbsp;\n <Button\n loading={loading}\n className=\"is-success\"\n onClick={() => onConfirm()}\n dataTest=\"btnConfirmModalTest\"\n >\n {intl.formatMessage(genericMessages.confirm)}\n </Button>\n </div>\n </div>\n </React.Fragment>\n </Modal>\n )\n}\n\n// @todo Improve it... Replacing the inputText to a tree\nexport function PathTree({\n title,\n defaultPath,\n children,\n onConfirm,\n onCancel,\n}) {\n const intl = useIntl()\n return (\n <Modal isActive setActive={onCancel}>\n <h1>{title}</h1>\n <form\n onSubmit={(e) => {\n e.preventDefault()\n onConfirm(e.target[0].value, e.target)\n }}\n >\n <small style={{ display: 'block', marginTop: 20 }}>\n {`Example: /folder (without /db/container on front)`}\n </small>\n <input\n className=\"input mb-3\"\n defaultValue={defaultPath}\n type=\"text\"\n data-test=\"inputPathTreeTest\"\n />\n {children}\n <div className=\"level-right mt-3\">\n <button\n type=\"button\"\n className=\"button is-danger\"\n onClick={onCancel}\n data-test=\"btnCancelModalTest\"\n >\n {intl.formatMessage(genericMessages.cancel)}\n </button>\n &nbsp;&nbsp;\n <button\n type=\"submit\"\n className=\"button is-success\"\n data-test=\"btnConfirmModalTest\"\n >\n {intl.formatMessage(genericMessages.confirm)}\n </button>\n </div>\n </form>\n </Modal>\n )\n}\n","import { useCallback, useState } from 'react'\n\nexport default function useSetState(initialState) {\n const [state, set] = useState(initialState)\n const setState = useCallback(\n (patch) => {\n set((prevState) =>\n Object.assign(\n {},\n prevState,\n patch instanceof Function ? patch(prevState) : patch\n )\n )\n },\n [set]\n )\n\n return [state, setState]\n}\n","import { useTraversal } from '../contexts'\nimport useSetState from './useSetState'\n\nconst initial = {\n loading: undefined,\n isError: false,\n errorMessage: undefined,\n result: undefined,\n response: undefined,\n}\n\nconst getErrorMessage = (dataError, defaultValue) => {\n if (dataError && dataError.details) {\n return dataError.details\n } else if (dataError && dataError.reason) {\n return dataError.reason\n }\n return defaultValue\n}\n\nconst processResponse = async (res, ready_body = true) => {\n if (res.status < 400)\n return {\n isError: false,\n loading: false,\n result: ready_body ? await res.json() : res.status,\n response: res,\n }\n else\n return {\n isError: true,\n loading: false,\n errorMessage: getErrorMessage(await res.json(), res.status),\n response: res,\n }\n}\n\nconst patch = (setState, Ctx) => async (data, endpoint, body = false) => {\n setState({ loading: true })\n let newState = {}\n try {\n const path = endpoint ? `${Ctx.path}${endpoint}` : Ctx.path\n const res = await Ctx.client.patch(path, data)\n newState = await processResponse(res, body)\n } catch (e) {\n console.error('Error', e)\n newState = { isError: true, errorMessage: 'unhandled exception' }\n }\n setState(newState)\n return newState\n}\n\nconst del = (setState, Ctx) => async (data, endpoint, body = false) => {\n setState({ loading: true })\n let newState = {}\n try {\n const path = endpoint ? `${Ctx.path}${endpoint}` : Ctx.path\n const res = await Ctx.client.delete(path, data)\n newState = await processResponse(res, body)\n } catch (e) {\n console.error('Error', e)\n newState = { isError: true, errorMessage: 'unhandled exception' }\n }\n setState(newState)\n return newState\n}\n\nconst post = (setState, Ctx) => async (data, endpoint, body = true) => {\n setState({ loading: true })\n let newState = {}\n try {\n const path = endpoint ? `${Ctx.path}${endpoint}` : Ctx.path\n const res = await Ctx.client.post(path, data)\n newState = await processResponse(res, body)\n } catch (e) {\n console.error('Error', e)\n newState = { isError: true, errorMessage: 'unhandled exception' }\n }\n setState(newState)\n return newState\n}\n\nconst get = (setState, Ctx) => async (endpoint) => {\n setState({ loading: true })\n const path = endpoint ? `${Ctx.path}${endpoint}` : Ctx.path\n const req = await Ctx.client.get(path)\n const data = await req.json()\n setState({ loading: false, result: data, response: req })\n return data\n}\n\nexport function useCrudContext() {\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initial)\n\n return {\n ...state,\n Ctx,\n patch: patch(setState, Ctx),\n del: del(setState, Ctx),\n post: post(setState, Ctx),\n get: get(setState, Ctx),\n }\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { Modal } from '../components/modal'\nimport { useCrudContext } from '../hooks/useCrudContext'\n\nexport function AddItem(props) {\n const Ctx = useTraversal()\n const { post, loading } = useCrudContext()\n const { type } = props\n const { getForm } = Ctx.registry\n\n const Form = getForm(type)\n\n const setActive = () => {\n Ctx.cancelAction()\n }\n\n async function doSubmit(data) {\n const form = Object.assign(\n {},\n { '@type': type },\n data.formData ? data.formData : data\n )\n\n const { isError, errorMessage } = await post(form)\n if (!isError) {\n Ctx.flash('Content created!', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n\n Ctx.cancelAction()\n Ctx.refresh()\n }\n\n return (\n <Modal isActive={true} setActive={setActive}>\n <Form\n loading={loading}\n onSubmit={doSubmit}\n onError={(err) => console.log(err)}\n actionName={'Add ' + type}\n title={'Add ' + type}\n type={type}\n dataTest={`formAdd${type}Test`}\n />\n </Modal>\n )\n}\n","import React from 'react'\n\nexport const Permissions = [\n 'guillotina.AddContent',\n 'guillotina.ModifyContent',\n 'guillotina.ViewContent',\n 'guillotina.DeleteContent',\n 'guillotina.AccessContent',\n 'guillotina.SeePermissions',\n 'guillotina.ChangePermissions',\n 'guillotina.MoveContent',\n 'guillotina.DuplicateContent',\n 'guillotina.ReadConfiguration',\n 'guillotina.RegisterConfigurations',\n 'guillotina.WriteConfiguration',\n 'guillotina.ManageAddons',\n 'guillotina.swagger.View',\n]\n\nexport const Config = {\n DisabledTypes: ['UserManager', 'GroupManager'],\n PageSize: 10,\n DelayActions: 200,\n Permissions: Permissions,\n SearchEngine: 'PostreSQL', // Elasticsearch\n fieldHaveDeleteButton: (schema) => {\n return (\n schema?.widget === 'file' ||\n schema?.widget === 'select' ||\n schema?.type === 'array'\n )\n },\n}\n\nlet calculated = Object.assign({}, Config)\n\nconst addConfig = (additional, original) => {\n const rest = Object.assign({}, original)\n Object.keys(additional).forEach((item) => {\n if (typeof Config[item] === 'object' && Array.isArray(Config[item])) {\n rest[item] = [].concat(Config[item], additional[item])\n } else if (typeof Config[item] === 'object') {\n rest[item] = Object.assign({}, Config[item], additional[item])\n } else {\n rest[item] = additional[item]\n }\n })\n return rest\n}\n\nexport function useConfig(cfg) {\n const ref = React.useRef()\n if (cfg && !ref.current) {\n console.log('cfg', cfg)\n calculated = addConfig(cfg, calculated)\n ref.current = calculated\n }\n\n // if (cfg && !ref.current) {\n // ref.current = addConfig(cfg, ref.current);\n // calculated = ref.current\n // console.log(\"Current config\", cfg)\n // }\n return calculated\n}\n","import React from 'react'\nimport { Confirm } from '../components/modal'\nimport { useTraversal } from '../contexts'\nimport { sleep } from '../lib/helpers'\nimport { useConfig } from '../hooks/useConfig'\n\nexport function RemoveItems(props) {\n const Ctx = useTraversal()\n const cfg = useConfig()\n const [loading, setLoading] = React.useState(false)\n const { items = [] } = props\n const last = items[items.length - 1]['@name']\n const itemsNames = items\n .map((item) => item['@name'])\n .join(', ')\n .replace(`, ${last}`, ` and ${last}`)\n\n async function removeItems() {\n let errors = []\n setLoading(true)\n\n const actions = items.map(async (item) => {\n const res = await Ctx.client.delete(`${Ctx.path}${item['@name']}`)\n if (!res.ok) {\n const err = await res.json()\n errors.push(err)\n }\n })\n // this sleep is here, to let elasticsearch, wait for\n // index our operations... (will work 99% of use cases)\n actions.push(sleep(cfg.DelayActions))\n\n await Promise.all(actions)\n\n if (errors.length === 0) {\n Ctx.flash(`Items removed!`, 'success')\n Ctx.refresh()\n } else {\n const errorstr = errors.map((err) => JSON.stringify(err)).join('\\n')\n Ctx.flash(`Something went wrong!! ${errorstr}`, 'danger')\n }\n setLoading(false)\n Ctx.cancelAction()\n }\n\n return (\n <Confirm\n loading={loading}\n onCancel={() => Ctx.cancelAction()}\n onConfirm={removeItems}\n message={`Are you sure to remove: ${itemsNames}?`}\n />\n )\n}\n","import React, { useEffect, useRef } from 'react'\nimport { classnames } from '../../lib/helpers'\n\nexport const Checkbox = ({\n id,\n className,\n classNameInput,\n loading,\n disabled,\n indeterminate = false,\n value = false,\n color,\n backgroundColor,\n borderColor,\n children,\n placeholder,\n onChange,\n dataTest,\n ...rest\n}) => {\n const inputRef = useRef(null)\n const [state, setState] = React.useState(value)\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate\n }\n }, [indeterminate])\n\n const updateState = (ev) => {\n setState(ev.target.checked)\n onChange(ev.target.checked)\n }\n\n return (\n <div className=\"field\">\n <label htmlFor={id} className={classnames(['checkbox', className])}>\n <input\n ref={inputRef}\n disabled={disabled || loading}\n id={id}\n type=\"checkbox\"\n className={classnames(['checkbox', classNameInput])}\n checked={state}\n onChange={updateState}\n data-test={dataTest}\n {...rest}\n />\n {children || placeholder}\n </label>\n </div>\n )\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { classnames } from '../lib/helpers'\n\nconst ErrorZone = ({ children, id, className }) => {\n return (\n <p className={classnames(['help is-danger', className])} id={id}>\n {children}\n </p>\n )\n}\n\nErrorZone.propTypes = {\n children: PropTypes.node,\n id: PropTypes.string,\n className: PropTypes.string,\n}\n\nexport default ErrorZone\n","import React from 'react'\n\nconst applyValidators = (value, validators) => {\n let validation = Array.isArray(validators) ? validators : [validators]\n let result = true\n validation.forEach((func) => {\n if (func(value) === false) {\n result = false\n }\n })\n return result\n}\n\nconst useInput = (onChange, value, validator) => {\n let [state, setState] = React.useState({ hasError: false, value: value })\n\n const onUpdate = (ev) => {\n const value = ev && ev.target ? ev.target.value : ev ? ev : ''\n setState({ value, hasError: false })\n if (onChange) onChange(value)\n }\n\n const onBlur = () => {\n const hasError = applyValidators(state.value, validator) === false\n if (hasError) setState({ value: state.value, hasError })\n }\n\n const onFocus = () => {\n if (state.hasError) {\n setState({ value: state.value, hasError: false })\n }\n }\n\n React.useEffect(() => {\n setState({ value, hasError: false })\n }, [value])\n\n return {\n onChange: onUpdate,\n onFocus,\n onBlur,\n state,\n }\n}\n\nexport default useInput\n","// From github.com/protonmail/proton-shared\n\n/* eslint-disable no-useless-escape */\nexport const REGEX_EMAIL = /(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/i\nexport const REGEX_URL = /((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[\\-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9\\.\\-]+|(?:www\\.|[\\-;:&=\\+\\$,\\w]+@)[A-Za-z0-9\\.\\-]+)((?:\\/[\\+~%\\/\\.\\w\\-_]*)?\\??(?:[\\-\\+=&;%@\\.\\w_]*)#?(?:[\\.\\!\\/\\\\\\w]*))?)/\nexport const REGEX_HEX_COLOR = /^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\\b$/i\nexport const REGEX_NUMBER = /^\\d+$/\n\nexport const isEmpty = (value = '') => !value.length\nexport const maxLength = (value = '', limit = 0) => value.length <= limit\nexport const minLength = (value = '', limit = 0) => value.length >= limit\nexport const isEmail = (value = '') => REGEX_EMAIL.test(value)\nexport const isURL = (value = '') => REGEX_URL.test(value)\nexport const isHexColor = (value = '') => REGEX_HEX_COLOR.test(value)\nexport const isNumber = (value = '') => REGEX_NUMBER.test(value)\nexport const notEmpty = (value) => !!value.length\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { classnames, generateUID } from '../../lib/helpers'\nimport ErrorZone from '../error_zone'\nimport useInput from '../../hooks/useInput'\nimport { notEmpty } from '../../lib/validators'\nimport { useEffect } from 'react'\n\nconst noop = () => true\n\n/** @type any */\nexport const Input = React.forwardRef(\n (\n {\n icon,\n iconPosition = 'has-icons-right',\n error,\n errorZoneClassName,\n autoComplete = 'off',\n className = '',\n widget = 'input',\n type = 'text',\n onPressEnter,\n isSubmitted,\n loading = false,\n required = false,\n id,\n placeholder,\n value,\n autofocus = false,\n onChange,\n validator = noop,\n errorMessage,\n dataTest = 'testInput',\n ...rest\n },\n ref\n ) => {\n if (required) {\n validator = Array.isArray(validator)\n ? validator.push(notEmpty)\n : [validator, notEmpty]\n }\n\n const { state, ...handlers } = useInput(onChange, value ?? '', validator)\n const [uid] = useState(generateUID('input'))\n const [mounted, setMounted] = useState(false)\n // eslint-disable-next-line\n ref = ref || React.useRef()\n\n useEffect(() => {\n setMounted(true)\n }, [])\n\n useEffect(() => {\n if (autofocus && !error) {\n ref.current.focus()\n }\n }, [mounted, autofocus, ref, error])\n\n const theError = state.hasError ? errorMessage || 'invalid field' : ''\n const statusClasses = state.hasError ? 'is-danger' : ''\n\n const cssControl = () => (icon ? ['control', iconPosition] : ['control'])\n\n return (\n <div className=\"field\">\n {id && placeholder ? (\n <label className=\"label\" htmlFor={id}>\n {placeholder}\n </label>\n ) : null}\n <div className={classnames(cssControl())}>\n <input\n className={classnames([widget, className, statusClasses])}\n aria-invalid={theError}\n aria-describedby={uid}\n id={id}\n ref={ref}\n type={type}\n value={state.value}\n placeholder={placeholder}\n autoComplete={autoComplete}\n disabled={loading || rest.disabled}\n required={required}\n data-test={dataTest}\n {...handlers}\n {...rest}\n />\n {icon && icon}\n </div>\n <ErrorZone className={errorZoneClassName} id={uid}>\n {state.hasError ? theError : ''}\n </ErrorZone>\n </div>\n )\n }\n)\n\nInput.propTypes = {\n icon: PropTypes.node,\n iconPosition: PropTypes.arrayOf(\n PropTypes.oneOf(['has-icons-left', 'has-icons-right', ''])\n ),\n error: PropTypes.string,\n errorZoneClassName: PropTypes.string,\n autoComplete: PropTypes.string,\n autoFocus: PropTypes.bool,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n loading: PropTypes.bool,\n isSubmitted: PropTypes.bool,\n id: PropTypes.string,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onPressEnter: PropTypes.func,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n required: PropTypes.bool,\n type: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n}\n","import React from 'react'\nimport { classnames } from '../../lib/helpers'\n\nexport const Icon = ({ icon, className, align }) => {\n const addClass = className ? className.split(' ') : [className]\n\n align = align || 'is-right'\n\n return (\n <span className={classnames(['icon', align, ...addClass])}>\n <i className={icon}></i>\n </span>\n )\n}\n","import React from 'react'\nimport { Input } from './input'\nimport { isEmail } from '../../lib/validators'\nimport { Icon } from '../ui/icon'\nimport { useIntl } from 'react-intl'\n\nexport const EmailInput = ({ value = '', dataTest, ...rest }) => {\n const intl = useIntl()\n return (\n <Input\n type=\"email\"\n validator={isEmail}\n errorMessage={intl.formatMessage({\n id: 'invalid_email',\n defaultMessage: 'Invalid email',\n })}\n value={value}\n data-test={dataTest}\n icon={<Icon icon=\"fas fa-envelope\" />}\n {...rest}\n />\n )\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { noop } from '../../lib/helpers'\nimport { classnames } from '../../lib/helpers'\n\nexport const Form = ({\n children,\n className = '',\n onSubmit = noop,\n onReset = noop,\n autoComplete = 'off',\n title,\n error,\n dataTest,\n ...rest\n}) => {\n const handleSubmit = (event) => {\n event.preventDefault()\n onSubmit(event)\n }\n return (\n <div data-test={dataTest}>\n {title && (\n <div className=\"level\">\n <h1 className=\"title is-size-4\">{title}</h1>\n </div>\n )}\n {error && <div className=\"notification is-danger\">{error}</div>}\n <form\n onSubmit={handleSubmit}\n onReset={onReset}\n autoComplete={autoComplete}\n className={classnames(['form', className])}\n {...rest}\n >\n {children}\n </form>\n </div>\n )\n}\n\nForm.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n onSubmit: PropTypes.func,\n onReset: PropTypes.func,\n autoComplete: PropTypes.string,\n}\n","import React from 'react'\nimport { Input } from './input'\n\nexport const PasswordInput = ({ value = '', ...rest }) => {\n return <Input value={value} type=\"password\" {...rest} />\n}\n","import React from 'react'\nimport { Form } from './form'\nimport { Input } from './input'\nimport { EmailInput } from './email'\nimport { PasswordInput } from './password'\nimport { Button } from './button'\nimport { Checkbox } from './checkbox'\nimport { generateUID } from '../../lib/helpers'\n\nconst formComponents = {\n string: Input,\n password: PasswordInput,\n boolean: Checkbox,\n email: EmailInput,\n}\n\nexport function FormBuilder({\n schema,\n formData,\n title,\n onSubmit,\n actionName,\n children,\n exclude = [],\n remotes = [],\n submitButton = true,\n ...rest\n}) {\n const ref = React.useRef()\n const { properties, required } = schema\n const values = Object.assign({}, formData || {})\n\n // build initial state\n let initialState = {}\n const fields = Object.keys(properties).filter((x) => !exclude.includes(x))\n\n fields.forEach((element) => {\n initialState[element] = values[element] || undefined\n })\n\n // Register remotes\n if (!ref.current) {\n ref.current = {}\n Object.keys(remotes).forEach((item) => (ref.current[item] = remotes[item]))\n } else {\n // apply remote changes\n Object.keys(remotes).forEach((key) => {\n if (JSON.stringify(ref.current[key]) !== JSON.stringify(remotes[key])) {\n ref.current[key] = remotes[key]\n }\n })\n }\n\n ref.current = ref.current || {}\n const onUpdate = (field) => (ev) => {\n ref.current[field] = ev.target ? ev.target.value : ev.value || ev\n }\n\n const GetTag = ({ field }) => {\n const Tag =\n formComponents[properties[field].widget || properties[field].type]\n\n const props = {\n label: properties[field].title,\n value: initialState[field],\n onChange: onUpdate(field),\n placeholder: properties[field].title || '',\n id: generateUID(),\n dataTest: `${field}TestInput`,\n }\n\n if (required.includes(field)) {\n props.required = true\n props.placeholder += ' *'\n }\n Tag.displayName = `${field}Field`\n return <Tag {...props} />\n }\n\n const children_ = React.Children.map(children, (child) =>\n React.cloneElement(child, { onChange: onUpdate })\n )\n\n const changes = () => {\n onSubmit(ref.current, values)\n }\n\n return (\n <Form onSubmit={changes} {...rest}>\n {fields.map((field) => (\n <GetTag field={field} key={field} />\n ))}\n {children_}\n {submitButton && <Button>{actionName}</Button>}\n </Form>\n )\n}\n","import { stringToSlug } from './helpers'\n\nexport const formatDate = (str) => {\n const d = new Date(str)\n const minutes = d.getMinutes() < 10 ? `0${d.getMinutes()}` : d.getMinutes()\n return `${d.getDate()}/${\n d.getMonth() + 1\n }/${d.getFullYear()} ${d.getHours()}:${minutes}`\n}\n\nexport const get = (obj, path, defValue) => {\n // If path is not defined or it has false value\n if (!path) return undefined\n // Check if path is string or array. Regex : ensure that we do not have '.' and brackets.\n // Regex explained: https://regexr.com/58j0k\n const pathArray = Array.isArray(path) ? path : path.match(/([^[.\\]])+/g)\n // Find value if exist return otherwise return undefined value;\n return (\n pathArray.reduce((prevObj, key) => prevObj && prevObj[key], obj) || defValue\n )\n}\n\nexport function getNewId(id = '') {\n const suffix = '-copy-'\n const rgx = new RegExp(`($|${suffix}\\\\d*)`)\n\n return stringToSlug(id).replace(rgx, (r) => {\n const num = parseInt(r.replace(suffix, '') || '0')\n return `${suffix}${num + 1}`\n })\n}\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport ErrorZone from '../error_zone'\nimport { classnames, generateUID } from '../../lib/helpers'\nimport { get } from '../../lib/utils'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n// @ TODO implement hasErrors\n\n/** @type any */\nexport const Select = React.forwardRef(\n (\n {\n options,\n error,\n errorZoneClassName,\n size = 1,\n placeholder,\n id,\n className = '',\n classWrap = '',\n multiple = false,\n loading = false,\n isSubmitted,\n onChange,\n appendDefault = false,\n style = {},\n dataTest,\n value,\n ...rest\n },\n ref\n ) => {\n const intl = useIntl()\n const [uid] = useState(generateUID('select'))\n\n const onUpdate = (ev) => {\n if (multiple) {\n let selectValue = []\n for (let i = 0; i < ev.target.selectedOptions.length; i++) {\n selectValue = selectValue.concat([ev.target.selectedOptions[i].value])\n }\n onChange(selectValue)\n } else {\n const selectValue = get(ev, 'target.value', undefined)\n onChange(selectValue)\n }\n }\n\n if (appendDefault) {\n options = [\n { text: intl.formatMessage(genericMessages.choose), value: '' },\n ].concat(options)\n }\n const statusClasses = error ? 'is-danger' : ''\n\n const cssWrap = [\n 'select',\n statusClasses,\n multiple ? 'is-multiple' : '',\n classWrap,\n ]\n\n return (\n <div className=\"field\">\n {id && placeholder ? (\n <label className=\"label\" htmlFor={id}>\n {placeholder}\n </label>\n ) : null}\n <div className={classnames(cssWrap)}>\n <select\n className={classnames(['', className])}\n size={multiple ? 5 : size}\n multiple={multiple}\n disabled={loading || rest.disabled}\n onChange={onUpdate}\n ref={ref}\n style={style}\n data-test={dataTest}\n value={value}\n {...rest}\n >\n {options.map(({ text, ...rest }, index) => (\n <option key={index.toString()} {...rest}>\n {text}\n </option>\n ))}\n </select>\n </div>\n {error && (\n <ErrorZone className={errorZoneClassName} id={uid}>\n {error ? error : ''}\n </ErrorZone>\n )}\n </div>\n )\n }\n)\n\nSelect.propTypes = {\n error: PropTypes.string,\n disabled: PropTypes.bool,\n loading: PropTypes.bool,\n isSubmitted: PropTypes.bool,\n size: PropTypes.number,\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.object),\n multiple: PropTypes.bool,\n className: PropTypes.string,\n}\n","import { useEffect, useRef, useState, useCallback } from 'react'\n\n// Mostly inspired from\n// https://github.com/molefrog/wouter\n\nconst setURLParams = (p) =>\n window.history['pushState'](\n 0,\n 0,\n (window.history.pathname || '') + '?' + p.toString().replace(/%2F/g, '/')\n )\n\nconst clean = (to) => {\n const current = new URLSearchParams()\n Object.keys(to).forEach((_key) => current.set(_key, to[_key]))\n setURLParams(current)\n}\n\nexport const useLocation = () => {\n const [path, update] = useState(currentSearchParams())\n const prevPath = useRef(path)\n\n useEffect(() => {\n patchHistoryEvents()\n\n // this function checks if the location has been changed since the\n // last render and updates the state only when needed.\n // unfortunately, we can't rely on `path` value here, since it can be stale,\n // that's why we store the last pathname in a ref.\n const checkForUpdates = () => {\n const pathname = currentSearchParams()\n prevPath.current !== pathname && update((prevPath.current = pathname))\n }\n\n const events = ['popstate', 'pushState', 'replaceState']\n events.map((e) => window.addEventListener(e, checkForUpdates))\n\n // it's possible that an update has occurred between render and the effect handler,\n // so we run additional check on mount to catch these updates. Based on:\n // https://gist.github.com/bvaughn/e25397f70e8c65b0ae0d7c90b731b189\n checkForUpdates()\n\n return () =>\n events.map((e) => window.removeEventListener(e, checkForUpdates))\n }, [])\n\n // the 2nd argument of the `useLocation` return value is a function\n // that allows to perform a navigation.\n //\n // the function reference should stay the same between re-renders, so that\n // it can be passed down as an element prop without any performance concerns.\n const navigate = useCallback(\n (to, replace) => {\n if (replace) {\n clean(to)\n return\n }\n let current = new URLSearchParams(path.toString())\n Object.keys(to).forEach((_key) => current.set(_key, to[_key]))\n setURLParams(current)\n },\n [path]\n )\n\n const remove = useCallback(\n (param) => {\n let current = new URLSearchParams(path.toString())\n current.delete(param)\n setURLParams(current)\n },\n [path]\n )\n\n return [path, navigate, remove]\n}\n\n// While History API does have `popstate` event, the only\n// proper way to listen to changes via `push/replaceState`\n// is to monkey-patch these methods.\n//\n// See https://stackoverflow.com/a/4585031\n\nlet patched = 0\n\nconst patchHistoryEvents = () => {\n if (patched) return\n ;['pushState', 'replaceState'].map((type) => {\n const original = window.history[type]\n\n window.history[type] = function () {\n const result = original.apply(this, arguments)\n const event = new Event(type)\n event.arguments = arguments\n\n dispatchEvent(event)\n return result\n }\n })\n\n return (patched = 1)\n}\n\nconst currentSearchParams = (path = window.location.search) =>\n new URLSearchParams(path)\n","import React from 'react'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function Link({ aRef, model, children, ...props }) {\n const [path, navigate] = useLocation()\n const aStyle = { textDecoration: 'none', color: 'currentColor' }\n\n function onClick(e) {\n e.stopPropagation()\n if (actAsLink(e)) return\n e.preventDefault()\n navigate({ path: model.path }, true)\n if (props.onClick) props.onClick(e)\n }\n\n return (\n <a\n {...props}\n ref={aRef}\n href={`?${path}${model.id}/`}\n style={aStyle}\n onClick={onClick}\n >\n {children}\n </a>\n )\n}\n\nfunction actAsLink(e) {\n return e.ctrlKey || e.metaKey || e.altKey || e.shiftKey || e.button !== 0\n}\n","import React, { useRef } from 'react'\nimport { Link } from './Link'\n\nexport function TdLink({ model, children, ...props }) {\n const link = useRef()\n\n function onClick() {\n link.current.click()\n }\n\n return (\n <td {...props} onClick={onClick}>\n <Link model={model} aRef={link}>\n {children}\n </Link>\n </td>\n )\n}\n","import React from 'react'\n\nexport const Loading = ({ ...rest }) => (\n <div className=\"progress-line\" {...rest}></div>\n)\n","import React from 'react'\nimport { classnames } from '../../lib/helpers'\n\nexport const Tag = ({\n name,\n id,\n onRemove,\n size = 'is-medium',\n color = 'is-warning',\n}) => (\n <span className={classnames(['tag', color, size])} data-test={`tag-${id}`}>\n {name}\n {onRemove !== undefined && (\n <button className=\"delete is-small\" onClick={() => onRemove()}></button>\n )}\n </span>\n)\n","import React from 'react'\n\nexport function Delete({ onClick, className, children }) {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n className={`delete ${className}`}\n data-test=\"btnDeleteTest\"\n >\n {children}\n </button>\n )\n}\n","import React from 'react'\nimport { classnames } from '../../lib/helpers'\n\nexport function Table({ headers, children, className }) {\n className = className\n ? className.split(' ')\n : ' is-full is-fullwidth is-narrow'.split(' ')\n return (\n <table className={classnames(['table', ...className])}>\n <thead>\n <tr>\n {headers &&\n headers.map((item, idx) => <th key={item + idx}>{item}</th>)}\n </tr>\n </thead>\n <tbody>{children}</tbody>\n </table>\n )\n}\n","import React from 'react'\n\nexport function Notification({ isColor = '', children }) {\n return (\n <div className={'notification is-' + isColor} data-test=\"notificationTest\">\n {children}\n </div>\n )\n}\n","export class RestClient {\n constructor(url, container, auth) {\n this.auth = auth\n this.url = url\n this.container = container\n }\n\n async request(path, data, headers) {\n if (path.indexOf(this.url) !== -1) {\n path = path.replace(this.url, '')\n }\n\n if (this.container !== '/' && path.indexOf(this.container) === -1) {\n path = `${this.container}${path}`\n }\n\n if (!path.startsWith('/')) {\n path = `/${path}`\n }\n data = data || {}\n data.headers = headers || this.getHeaders()\n return await fetch(`${this.url}${path}`, data)\n }\n\n getHeaders() {\n const authToken = this.auth.getToken()\n if (!authToken) return {}\n return {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: 'Bearer ' + authToken,\n }\n }\n\n async post(path, data) {\n return await this.request(path, {\n method: 'post',\n body: JSON.stringify(data),\n })\n }\n\n async get(path, fetchData) {\n return await this.request(path, fetchData)\n }\n\n async put(path, data) {\n return await this.request(path, {\n method: 'put',\n body: JSON.stringify(data),\n })\n }\n\n async patch(path, data) {\n return await this.request(path, {\n method: 'PATCH',\n body: JSON.stringify(data),\n })\n }\n\n async upload(path, data) {\n const headers = this.getHeaders()\n delete headers['Content-Type']\n headers['Content-Type'] = data['content-type']\n headers['X-UPLOAD-FILENAME'] = data.filename\n headers['Content-Encoding'] = 'base64'\n return await this.request(\n path,\n {\n method: 'PATCH',\n body: data.data,\n },\n headers\n )\n }\n\n async delete(path, data = undefined) {\n return await this.request(path, {\n method: 'delete',\n body: JSON.stringify(data),\n })\n }\n}\n","const SEP = '='\nconst DEFAULT_FIELD = 'title__in'\nconst CLEANER = '||'\n\nexport function parser(qs, defaultField = DEFAULT_FIELD) {\n if (qs.includes(SEP) && Array.isArray(defaultField)) {\n throw new Error('This option is not supported')\n }\n\n if (Array.isArray(defaultField)) {\n const orParser = []\n defaultField.forEach((field) => {\n const parsed = parser(qs, field)\n orParser.push(buildQs(parsed))\n })\n const result = [['__or', orParser.join('&')]]\n return result\n }\n let lastKey = undefined\n qs.trim()\n\n if (qs.includes('\"')) {\n qs = qs.replace(/\"(\\w+) (\\w+)\"/, `$1${CLEANER}$2`)\n }\n\n qs = qs.split(' ')\n return qs.map((part) => {\n if (part.includes(CLEANER)) {\n part = part.replace('||', ' ')\n }\n if (!part.includes(SEP)) {\n return !lastKey ? [defaultField, part] : [lastKey, part]\n }\n const [key, val] = part.split(SEP)\n lastKey = key\n return [key, val]\n })\n}\n\nexport function buildQs(parsedQuery) {\n return parsedQuery\n .map(\n ([key, val]) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`\n )\n .join('&')\n}\n","import React from 'react'\nimport { TdLink } from '../components/TdLink'\nimport { Icon } from '../components/ui'\nimport { toQueryString } from './helpers'\nimport { RestClient } from './rest'\nimport { parser } from './search'\nimport { useLocation } from '../hooks/useLocation'\n\nlet cacheTypes = {}\nlet cacheSchemas = {}\n\nexport class GuillotinaClient {\n constructor(rest, pathContainsContainer) {\n this.rest = rest\n this.pathContainsContainer = pathContainsContainer\n }\n\n getContainerFromPath = (path) => {\n if (this.pathContainsContainer) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n let parts = path.split('/')\n return `${parts[0]}/${parts[1]}/`\n }\n return ''\n }\n\n clearContainerFromPath = (path) => {\n if (this.pathContainsContainer) {\n return `/${this.cleanPath(path)}`\n }\n return path\n }\n\n async getContext(path) {\n switch (path) {\n case '/':\n return await this.rest.get('')\n default:\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.get(path)\n }\n }\n\n async get(path, fetchData) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n return await this.rest.get(path, fetchData)\n }\n\n getQueryParamsPostresql({ start = 0, pageSize = 10, withDepth = true }) {\n let result = []\n\n result = [\n ...parser(start.toString(), 'b_start'),\n ...parser(pageSize.toString(), 'b_size'),\n ]\n if (withDepth) {\n result = [...result, ...(parser('1', 'depth') ?? [])]\n }\n return result\n }\n\n getQueryParamsElasticsearch({\n start = 0,\n pageSize = 10,\n path,\n withDepth = true,\n }) {\n let result = []\n let containerPath = this.getContainerFromPath(path)\n\n if (containerPath.startsWith('/')) {\n containerPath = containerPath.slice(1)\n }\n let objectPath = path.replace(containerPath, '')\n if (objectPath.endsWith('/')) {\n objectPath = objectPath.slice(0, -1)\n }\n\n result = [\n ...parser(start.toString(), '_from'),\n ...parser(pageSize.toString(), 'size'),\n ...parser('*', '_metadata=*'),\n ]\n\n if (withDepth) {\n result = [...result, ...(parser('1', 'depth') ?? [])]\n }\n if (objectPath !== '') {\n result = [...result, ...parser(objectPath, 'path__wildcard')]\n }\n return result\n }\n\n getItemsColumn() {\n const smallcss = { width: 25 }\n const mediumcss = { width: 120 }\n\n return [\n {\n label: '',\n isSortable: false,\n child: (m) => <td style={smallcss}>{<Icon icon={m.icon} />}</td>,\n },\n {\n label: 'type',\n key: 'type_name',\n isSortable: false,\n child: (m) => (\n <TdLink style={smallcss} model={m}>\n <span className=\"tag\">{m.type}</span>\n </TdLink>\n ),\n },\n {\n label: 'id/name',\n key: 'title',\n isSortable: true,\n child: (m, navigate, search) => (\n <TdLink model={m}>\n {m.name}\n {search && (\n <React.Fragment>\n <br />\n <span className=\"is-size-7 tag is-light\">{m.path}</span>\n </React.Fragment>\n )}\n </TdLink>\n ),\n },\n {\n label: 'created',\n key: 'creation_date',\n isSortable: true,\n child: (m) => {\n return (\n <td style={mediumcss} className=\"is-size-7 is-vcentered\">\n {m.created}\n </td>\n )\n },\n },\n {\n label: 'modified',\n key: 'modification_date',\n isSortable: true,\n child: (m) => (\n <td style={mediumcss} className=\"is-size-7 is-vcentered\">\n {m.updated}\n </td>\n ),\n },\n ]\n }\n\n // BBB API changes. Compat G5 and G6\n applyCompat(data) {\n data.member = data.items\n data.items_count = data.items_total\n return data\n }\n\n async search(\n path,\n params,\n container = false,\n prepare = true,\n fetchData = {}\n ) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n\n if (container) {\n path = this.getContainerFromPath(path)\n }\n\n let query = prepare ? toQueryString(params) : params\n const url = `${path}@search?${query}`\n let res = await this.rest.get(url, fetchData)\n let data = await res.json()\n return this.applyCompat(data)\n }\n\n async canido(path, permissions) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n if (Array.isArray(permissions)) {\n permissions.join(',')\n }\n const url = `${path}@canido?permissions=${permissions}`\n return await this.rest.get(url)\n }\n\n async createObject(path, data) {\n return await this.rest.post(path, data)\n }\n\n cleanPath(path) {\n let url = path.split('/').slice(3)\n return `${url.join('/')}`\n }\n\n async delete(path, data) {\n return await this.rest.delete(path, data)\n }\n\n async create(path, data) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.post(path, data)\n }\n\n async post(path, data) {\n return await this.create(path, data)\n }\n\n async patch(path, data) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.patch(path, data)\n }\n\n async upload(path, file) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.upload(path, file)\n }\n\n async download(path) {\n if (path.startsWith('/')) {\n path = path.substring(1)\n }\n return await this.rest.get(path)\n }\n\n async getTypeSchema(path, name) {\n if (!cacheSchemas[name]) {\n let url = this.getContainerFromPath(path)\n // todo: handle db case (only addable containers)\n const res = await this.rest.get(`${url}@types/${name}`)\n cacheSchemas[name] = await res.json()\n }\n return cacheSchemas[name]\n }\n\n async getAddons(path) {\n return await this.rest.get(`${path}@addons`)\n }\n\n async installAddon(path, key) {\n return await this.rest.post(`${path}@addons`, { id: key })\n }\n\n async removeAddon(path, key) {\n return await this.rest.delete(`${path}@addons`, { id: key })\n }\n\n async getGroups(path) {\n const endpoint = `${this.getContainerFromPath(path)}@groups`\n return await this.rest.get(endpoint)\n }\n\n async getUsers(path) {\n const endpoint = `${this.getContainerFromPath(path)}@users`\n return await this.rest.get(endpoint)\n }\n\n async getPrincipals(path) {\n const groups = this.getGroups(path)\n const users = this.getUsers(path)\n const [gr, usr] = await Promise.all([groups, users])\n\n return {\n groups: gr.ok ? await gr.json() : [],\n users: usr.ok ? await usr.json() : [],\n }\n }\n\n async getRoles(path) {\n const endpoint = `${this.getContainerFromPath(path)}@available-roles`\n return await this.rest.get(endpoint)\n }\n\n async getAllPermissions(path) {\n // paths used to query the API always has to start without a \"/\"\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n const req = await this.rest.get(path + '@all_permissions')\n const resp = await req.json()\n const permissions = Array.from(new Set(extractPermissions(resp)))\n return permissions\n }\n\n async getTypes(path) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n if (!cacheTypes[path]) {\n const types = await this.rest.get(path + '@addable-types')\n if (types.status === 401 || types.status === 404) {\n cacheTypes[path] = []\n } else {\n const res = await types.json()\n cacheTypes[path] = res\n }\n }\n return cacheTypes[path]\n }\n}\n\nexport function getClient(url, container, auth) {\n return new GuillotinaClient(\n new RestClient(url, container, auth),\n container === '/'\n )\n}\n\nexport const lightFileReader = async (file) => {\n return new Promise((resolve) => {\n const reader = new FileReader()\n reader.readAsArrayBuffer(file)\n reader.onloadend = (e) => {\n const fileData = e.target.result\n resolve({\n filename: file.name.normalize('NFD').replace(/[\\u0300-\\u036f]/g, ''),\n data: fileData,\n 'content-type': file.type,\n })\n }\n })\n}\n\nconst extractPermissions = (data) => {\n let result = []\n if (typeof data !== 'object') {\n } else if (!Array.isArray(data) && data.permission) {\n result = result.concat([data.permission])\n } else if (!Array.isArray(data)) {\n Object.keys(data).map(\n (key) => (result = result.concat(extractPermissions(data[key])))\n )\n } else if (Array.isArray(data)) {\n data.map((item) => (result = result.concat(extractPermissions(item))))\n }\n return result\n}\n","import React from 'react'\nimport { lightFileReader } from '../../lib/client'\nimport { useIntl } from 'react-intl'\n\nexport function FileUpload({ label, onChange, ...props }) {\n const intl = useIntl()\n const changed = async (event) => {\n const file = await lightFileReader(event.target.files[0])\n onChange(file)\n }\n\n return (\n <div className=\"file\">\n <label className=\"file-label\">\n <input\n className=\"file-input\"\n {...props}\n type=\"file\"\n name=\"file\"\n onChange={changed}\n />\n <span className=\"file-cta\">\n <span className=\"file-icon\">\n <i className=\"fas fa-upload\"></i>\n </span>\n <span className=\"file-label\">\n {label ||\n intl.formatMessage({\n id: 'choose_file',\n defaultMessage: 'Choose a file',\n })}\n </span>\n </span>\n </label>\n </div>\n )\n}\n","import React, { useState } from 'react'\nimport ErrorZone from '../error_zone'\nimport { classnames, generateUID } from '../../lib/helpers'\n\nexport const Textarea = React.forwardRef(\n (\n {\n value = '',\n classWrap = '',\n rows = 5,\n className = '',\n onChange,\n dataTest,\n error,\n errorZoneClassName,\n placeholder,\n id,\n ...rest\n },\n ref\n ) => {\n const [uid] = useState(generateUID('select'))\n\n const onUpdate = (ev) => {\n if (onChange) {\n onChange(ev.target.value)\n }\n }\n const statusClasses = error ? 'is-danger' : ''\n\n return (\n <div className=\"field\">\n {id && placeholder ? (\n <label className=\"label\" htmlFor={id}>\n {placeholder}\n </label>\n ) : null}\n <div className={classWrap}>\n <textarea\n className={classnames(['textarea', className, statusClasses])}\n rows={rows}\n onChange={onUpdate}\n value={value}\n data-test={dataTest}\n {...rest}\n ref={ref}\n />\n </div>\n <ErrorZone className={errorZoneClassName} id={uid}>\n {error ? error : ''}\n </ErrorZone>\n </div>\n )\n }\n)\n","import { useEffect, useRef } from 'react'\n\nconst defaultEvents = ['mousedown', 'touchstart']\nconst on = (obj, ...args) => obj.addEventListener(...args)\nconst off = (obj, ...args) => obj.removeEventListener(...args)\n\nexport default function useClickAway(ref, onClickAway, events = defaultEvents) {\n const savedCallback = useRef(onClickAway)\n\n useEffect(() => {\n savedCallback.current = onClickAway\n }, [onClickAway])\n\n useEffect(() => {\n const handler = (event) => {\n const { current: el } = ref\n el && !el.contains(event.target) && savedCallback.current(event)\n }\n\n for (const eventName of events) {\n on(document, eventName, handler)\n }\n\n return () => {\n for (const eventName of events) {\n off(document, eventName, handler)\n }\n }\n }, [events, ref])\n}\n","import React, { useState, useEffect, useCallback } from 'react'\n\nimport PropTypes from 'prop-types'\nimport { buildQs } from '../../lib/search'\nimport { parser } from '../../lib/search'\nimport useSetState from '../../hooks/useSetState'\nimport ErrorZone from '../error_zone'\nimport { Loading } from '../ui'\nimport { generateUID } from '../../lib/helpers'\nimport { useConfig } from '../../hooks/useConfig'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\nimport useClickAway from '../../hooks/useClickAway'\nimport { get } from '../../lib/utils'\nfunction debounce(func, wait) {\n let timeout\n return function () {\n const context = this\n const args = arguments\n const later = function () {\n timeout = null\n func.apply(context, args)\n }\n clearTimeout(timeout)\n timeout = setTimeout(later, wait)\n }\n}\n\nconst initialState = {\n page: 0,\n items: undefined,\n loading: false,\n items_total: 0,\n}\n\nexport const SearchInput = ({\n onChange,\n error,\n errorZoneClassName,\n traversal = null,\n path = null,\n qs = [],\n queryCondition = 'id__in',\n value,\n btnClass = '',\n dataTestWrapper = 'wrapperSearchInputTest',\n dataTestSearchInput = 'searchInputTest',\n dataTestItem = 'searchInputItemTest',\n renderTextItemOption = null,\n typeNameQuery = null,\n labelProperty = 'id',\n}) => {\n const intl = useIntl()\n const [options, setOptions] = useSetState(initialState)\n const [isOpen, setIsOpen] = React.useState(false)\n const [searchTerm, setSearchTerm] = React.useState('')\n const inputRef = React.useRef(null)\n const wrapperRef = React.useRef(null)\n const { PageSize, SearchEngine } = useConfig()\n const [valueLabel, setValueLabel] = useState(undefined)\n const [isLoadingData, setIsLoadingData] = useState(false)\n const [uid] = useState(generateUID('search_input'))\n\n useClickAway(wrapperRef, () => {\n setIsOpen(false)\n })\n\n const getHeight = () => {\n if (wrapperRef && wrapperRef.current) {\n return {\n maxHeight: `${\n window.innerHeight -\n wrapperRef.current.getBoundingClientRect().top -\n 100\n }px`,\n }\n }\n return { maxHeight: 'auto' }\n }\n\n const delayedQuery = useCallback(\n debounce((value) => handleSearch(0, false, value), 500),\n []\n )\n\n const inicializeLabels = async () => {\n if (labelProperty !== 'id' && value) {\n setIsLoadingData(true)\n let searchTermQs = []\n const searchTermParsed = [`id`, value]\n const { get: getSearch } = traversal.registry\n const fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine)\n const qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: 0,\n pageSize: PageSize,\n withDepth: false,\n })\n let typeNameParsed = []\n if (typeNameQuery) {\n typeNameParsed = parser(`type_name__in=${typeNameQuery}`)\n }\n if (\n qs.length > 0 ||\n searchTermParsed.length > 0 ||\n qsParsed.length > 0 ||\n typeNameParsed.length > 0\n ) {\n searchTermQs = buildQs([\n ...qs,\n searchTermParsed,\n ...qsParsed,\n ...typeNameParsed,\n ])\n }\n const data = await traversal.client.search(\n path ? path : traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false\n )\n const newValuesLabel = data.items.reduce((result, item) => {\n result[item.id] = get(item, labelProperty, item.id)\n return result\n }, {})\n setValueLabel(newValuesLabel)\n setIsLoadingData(false)\n }\n }\n\n const handleSearch = async (page = 0, concat = false, value = '') => {\n setOptions({ loading: true })\n let searchTermQs = []\n let searchTermParsed = []\n if (value !== '') {\n searchTermParsed = parser(`${queryCondition}=${value}`)\n }\n const { get } = traversal.registry\n const fnName = get('searchEngineQueryParamsFunction', SearchEngine)\n let qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: page * PageSize,\n pageSize: PageSize,\n withDepth: false,\n })\n let sortParsed = parser(`_sort_des=title`)\n let typeNameParsed = []\n if (typeNameQuery) {\n typeNameParsed = parser(`type_name__in=${typeNameQuery}`)\n }\n\n if (\n qs.length > 0 ||\n searchTermParsed.length > 0 ||\n qsParsed.length > 0 ||\n typeNameParsed.length > 0\n ) {\n searchTermQs = buildQs([\n ...qs,\n ...searchTermParsed,\n ...qsParsed,\n ...typeNameParsed,\n ...sortParsed,\n ])\n }\n\n const data = await traversal.client.search(\n path ? path : traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false\n )\n const newItems =\n options.items && concat ? [...options.items, ...data.items] : data.items\n\n setOptions({\n items: newItems ?? [],\n loading: false,\n items_total: data.items_total ?? 0,\n page: page,\n })\n }\n\n const renderTextItemOptionFn = (item) => {\n if (renderTextItemOption) {\n return renderTextItemOption(item)\n }\n return item.title || item['@name']\n }\n\n useEffect(() => {\n if (value) {\n inicializeLabels()\n } else {\n setValueLabel({})\n }\n }, [path, value])\n\n if (valueLabel === undefined) {\n return <div className=\"spinner\" />\n }\n\n return (\n <React.Fragment>\n <div\n data-test={dataTestWrapper}\n ref={wrapperRef}\n className={`dropdown mb-2 ${isOpen ? 'is-active' : ''}`}\n onBlur={(ev) => {\n if (!ev.currentTarget.contains(ev.relatedTarget)) {\n if (searchTerm !== '') {\n setSearchTerm('')\n setOptions(initialState)\n }\n setIsOpen(false)\n }\n }}\n >\n <div className=\"dropdown-trigger\">\n <button\n className={`button ${btnClass}`}\n onClick={(ev) => {\n ev.target.blur()\n setIsOpen(!isOpen)\n if (!options.loading && !options.items) {\n handleSearch(options.page)\n }\n }}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <span>\n {value\n ? get(valueLabel, value, value)\n : intl.formatMessage(genericMessages.choose)}\n </span>\n <span className=\"icon\">\n <i className=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </div>\n <div\n className=\"dropdown-menu\"\n id=\"dropdown-menu\"\n role=\"menu\"\n style={getHeight()}\n >\n <div className=\"dropdown-content\">\n <div className=\"dropdown-item\">\n <input\n ref={inputRef}\n data-test={dataTestSearchInput}\n className=\"input\"\n type=\"text\"\n placeholder={intl.formatMessage(genericMessages.search)}\n value={searchTerm}\n onChange={(ev) => {\n delayedQuery(ev.target.value)\n setSearchTerm(ev.target.value)\n }}\n />\n </div>\n <hr className=\"dropdown-divider\" />\n {options.loading && <Loading />}\n {options.items &&\n options.items.map((item) => {\n return (\n <div\n className={`dropdown-item editable ${\n value === item.id ? 'is-active' : ''\n }`}\n data-test={`${dataTestItem}-${item.id}`}\n onMouseDown={(ev) => {\n ev.preventDefault()\n if (onChange) {\n onChange(item.id)\n }\n setIsOpen(false)\n }}\n key={item.path}\n >\n {renderTextItemOptionFn(item)}\n </div>\n )\n })}\n\n {options.items && options.items.length === 0 && (\n <div className=\"dropdown-item\">\n {intl.formatMessage(genericMessages.no_results)}\n </div>\n )}\n\n {options.items && options.items_total > options.items.length && (\n <React.Fragment>\n <hr className=\"dropdown-divider\" />\n <div\n className=\"dropdown-item editable\"\n onMouseDown={(ev) => {\n ev.stopPropagation()\n ev.preventDefault()\n handleSearch(options.page + 1, true)\n }}\n >\n {intl.formatMessage(genericMessages.load_more)}\n </div>\n </React.Fragment>\n )}\n </div>\n </div>\n </div>\n {error && (\n <ErrorZone className={errorZoneClassName} id={uid}>\n {error ? error : ''}\n </ErrorZone>\n )}\n </React.Fragment>\n )\n}\n\nSearchInput.propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.string,\n path: PropTypes.string,\n btnClass: PropTypes.string,\n error: PropTypes.string,\n errorZoneClassName: PropTypes.string,\n traversal: PropTypes.object,\n qs: PropTypes.array,\n queryCondition: PropTypes.string,\n dataTestWrapper: PropTypes.string,\n dataTestSearchInput: PropTypes.string,\n dataTestItem: PropTypes.string,\n renderTextItemOption: PropTypes.func,\n typeNameQuery: PropTypes.string,\n labelProperty: PropTypes.string,\n}\n","import * as React from 'react'\nimport { Input } from './input'\nimport { useIntl } from 'react-intl'\n\nexport const InputList = React.forwardRef(\n ({ value, onChange, dataTest }, ref) => {\n const intl = useIntl()\n const [inputValue, setInputValue] = React.useState('')\n const addTags = (event) => {\n if (event.key === 'Enter' && event.target.value !== '') {\n onChange([...value, event.target.value])\n setInputValue('')\n }\n }\n\n return (\n <div className=\"control\">\n <div className=\"tags\">\n {value.map((tag, index) => (\n <div\n key={`input_list_${tag}_${index}`}\n className=\"tag is-info is-medium\"\n >\n {tag}\n <button\n className=\"delete is-small\"\n onClick={() =>\n onChange([\n ...value.filter((tag) => value.indexOf(tag) !== index),\n ])\n }\n ></button>\n </div>\n ))}\n </div>\n <Input\n type=\"text\"\n placeholder={intl.formatMessage({\n id: 'press_enter_to_add_value',\n defaultMessage: 'Press enter to add value',\n })}\n onKeyUp={(event) => addTags(event)}\n value={inputValue}\n ref={ref}\n dataTest={dataTest}\n onChange={(value) => {\n if (value !== '') {\n setInputValue(value)\n }\n }}\n />\n </div>\n )\n }\n)\n","import React, { useState, useRef } from 'react'\nimport useClickAway from '../../hooks/useClickAway'\n\nexport default function Dropdown({\n children,\n disabled,\n id,\n isRight,\n onChange,\n optionDisabledWhen,\n options,\n ...props\n}) {\n const ref = useRef(null)\n const [isActive, setIsActive] = useState(false)\n const position = isRight ? 'is-right' : ''\n const status = isActive\n ? `dropdown ${position} is-active`\n : `dropdown ${position}`\n\n useClickAway(ref, () => {\n setIsActive(false)\n })\n\n return (\n <div ref={ref} className={status} {...props}>\n <div className=\"dropdown-trigger\">\n <button\n className=\"button is-size-7\"\n onClick={() => setIsActive(!isActive)}\n aria-haspopup=\"true\"\n disabled={disabled}\n aria-controls={id}\n >\n {children}\n </button>\n </div>\n <div className=\"dropdown-menu\" id={id} role=\"menu\">\n <div className=\"dropdown-content\">\n {options.map((option) => {\n const disabled =\n typeof optionDisabledWhen === 'function'\n ? optionDisabledWhen(option)\n : false\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n <a\n className={\n disabled ? 'dropdown-item is-active' : 'dropdown-item'\n }\n data-test={`dropdownItemTest-${option.value.toLowerCase()}`}\n key={option.text}\n onClick={disabled ? undefined : () => onChange(option.value)}\n style={\n disabled\n ? {\n cursor: 'not-allowed',\n color: 'black',\n opacity: 0.5,\n backgroundColor: '#eeeeee',\n }\n : {}\n }\n >\n {option.text}\n </a>\n )\n })}\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { Button } from '../input/button'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useConfig } from '../../hooks/useConfig'\nimport { useState } from 'react'\nimport { useRef } from 'react'\nimport { useEffect } from 'react'\nimport { Icon } from '../ui'\nimport { get } from '../../lib/utils'\nimport { useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nexport function EditableField({\n field,\n value,\n ns,\n schema = undefined,\n modifyContent,\n required,\n}) {\n const intl = useIntl()\n const ref = useRef()\n const [isEdit, setEdit] = useState(false)\n const [val, setValue] = useState(value)\n const { patch, loading, Ctx } = useCrudContext()\n const { fieldHaveDeleteButton } = useConfig()\n\n const EditComponent = Ctx.registry.get('components', 'EditComponent')\n const RenderFieldComponent = Ctx.registry.get(\n 'components',\n 'RenderFieldComponent'\n )\n\n useEffect(() => {\n if (isEdit && ref.current) {\n ref.current.focus()\n }\n })\n\n const canModified = modifyContent && !get(schema, 'readonly', false)\n\n const saveField = async (ev) => {\n if (ev) ev.preventDefault()\n\n if (!field) {\n Ctx.flash(\n intl.formatMessage(genericMessages.error_provide_key_name),\n 'danger'\n )\n return\n }\n\n if (!val && required) {\n Ctx.flash(\n intl.formatMessage(genericMessages.mandatory_field, { field }),\n 'danger'\n )\n return\n }\n\n if (schema?.widget === 'file') {\n const value = val\n if (value) {\n value['filename'] = unescape(encodeURIComponent(value['filename']))\n }\n const endpoint = `${Ctx.path}@upload/${field}`\n const req = await Ctx.client.upload(endpoint, value)\n if (req.status !== 200) {\n Ctx.flash(\n intl.formatMessage(genericFileMessages.error_upload_file),\n 'danger'\n )\n } else {\n Ctx.flash(\n intl.formatMessage(genericFileMessages.file_uploaded),\n 'success'\n )\n }\n } else {\n const data = ns ? { [ns]: { [field]: val } } : { [field]: val }\n const dataPatch = await patch(data)\n if (dataPatch.isError) {\n Ctx.flash(\n intl.formatMessage(genericMessages.error_in_field, { field }),\n 'danger'\n )\n } else {\n Ctx.flash(\n intl.formatMessage(genericMessages.field_updated, { field }),\n 'success'\n )\n }\n }\n\n setEdit(false)\n Ctx.refresh()\n }\n\n const deleteField = async (ev) => {\n if (ev) ev.preventDefault()\n if (schema?.widget === 'file') {\n if (!field || (!val && required)) {\n Ctx.flash(\n intl.formatMessage(genericMessages.can_not_delete_field, { field }),\n 'danger'\n )\n return\n }\n\n const data = ns ? { [ns]: { [field]: null } } : { [field]: null }\n const dataPatch = await patch(data)\n if (dataPatch.isError) {\n Ctx.flash(\n intl.formatMessage(genericMessages.error_in_field, { field }),\n 'danger'\n )\n } else {\n Ctx.flash(\n intl.formatMessage(genericMessages.field_deleted, { field }),\n 'success'\n )\n }\n\n setEdit(false)\n Ctx.refresh()\n } else if (schema?.type === 'string' && schema?.enum) {\n setValue(null)\n } else if (schema?.type === 'array' && schema?.items.type === 'string') {\n setValue([])\n }\n }\n\n return (\n <React.Fragment>\n {!isEdit && (\n <div\n className={canModified ? 'editable' : ''}\n onClick={() => {\n setEdit(!!canModified)\n }}\n data-test={`editableFieldTest-${field}`}\n >\n <RenderFieldComponent\n schema={schema}\n field={field}\n val={val}\n modifyContent={modifyContent}\n />\n {canModified && <Icon icon=\"fas fa-edit\" />}\n </div>\n )}\n\n {isEdit && (\n <div className=\"field\" data-test={`editableFieldTest-${field}`}>\n <div className=\"control\">\n <EditComponent\n ref={ref}\n schema={schema}\n val={val}\n setValue={setValue}\n dataTest={`editableFieldEditTest`}\n />\n </div>\n <div className=\"field is-grouped\">\n <div className=\"control\">\n <Button\n className=\"is-small is-primary\"\n loading={loading}\n onClick={saveField}\n dataTest=\"editableFieldBtnSaveTest\"\n >\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </div>\n <div className=\"control\">\n <Button\n className=\"is-small\"\n onClick={() => setEdit(false)}\n dataTest=\"editableFieldBtnCancelTest\"\n >\n {intl.formatMessage(genericMessages.cancel)}\n </Button>\n </div>\n {!required && fieldHaveDeleteButton(schema) && (\n <div className=\"control\">\n <Button\n className=\"is-small is-danger\"\n onClick={deleteField}\n dataTest=\"editableFieldBtnDeleteTest\"\n >\n {intl.formatMessage(genericMessages.delete)}\n </Button>\n </div>\n )}\n </div>\n </div>\n )}\n </React.Fragment>\n )\n}\n","import * as React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport const DownloadField = ({ value }) => {\n const intl = useIntl()\n const Ctx = useTraversal()\n const { data, field } = value\n\n const getField = async (downloadFile) => {\n const endpoint = `${Ctx.path}@download/${field}`\n const res = await Ctx.client.download(endpoint)\n const text = await res.blob()\n const blob = new Blob([text], {\n type: data.content_type,\n })\n const url = window.URL.createObjectURL(blob)\n\n // Create blob link to download\n const link = document.createElement('a')\n link.href = url\n if (downloadFile) {\n link.setAttribute('download', `${data.filename}`)\n } else {\n link.setAttribute('target', `_blank`)\n }\n\n document.body.appendChild(link)\n link.click()\n setTimeout(function () {\n // For Firefox it is necessary to delay revoking the ObjectURL\n window.URL.revokeObjectURL(url)\n link.parentNode?.removeChild(link)\n }, 100)\n }\n\n return (\n <div className=\"field\">\n <div className=\"label\">{data.filename}</div>\n <div className=\"columns\">\n <div className=\"column\">\n <button\n className=\"button is-small is-primary level-left\"\n onClick={async (event) => {\n event.preventDefault()\n event.stopPropagation()\n getField(false)\n }}\n >\n {intl.formatMessage(genericMessages.open)}\n </button>\n </div>\n <div className=\"column\">\n <button\n className=\"button is-small is-primary level-right\"\n onClick={async (event) => {\n event.preventDefault()\n event.stopPropagation()\n getField(true)\n }}\n >\n {intl.formatMessage(genericMessages.download)}\n </button>\n </div>\n </div>\n </div>\n )\n}\n","import { useTraversal } from '../contexts'\nimport useSetState from './useSetState'\nimport { useEffect } from 'react'\n\nexport function useVocabulary(vocabularyName, path) {\n const traversal = useTraversal()\n\n const [vocabulary, setVocabulary] = useSetState({\n data: undefined,\n loading: false,\n error: undefined,\n })\n\n const getPath = () => {\n if (path) return path\n return `${traversal.path}@vocabularies/${vocabularyName}`\n }\n\n useEffect(() => {\n ;(async () => {\n if (\n vocabularyName &&\n vocabulary.data === undefined &&\n !vocabulary.loading\n ) {\n try {\n setVocabulary({ loading: true })\n const data = await traversal.client.get(getPath())\n const dataJson = await data.json()\n setVocabulary({ loading: false, data: dataJson })\n } catch (err) {\n setVocabulary({ loading: false, error: err, data: {} })\n }\n }\n })()\n }, [vocabularyName, vocabulary, path])\n\n return vocabulary\n}\n","import React, { useEffect, useState } from 'react'\nimport { DownloadField } from './downloadField'\nimport { useIntl } from 'react-intl'\nimport { useVocabulary } from '../../hooks/useVocabulary'\nimport { get } from '../../lib/utils'\nimport { buildQs } from '../../lib/search'\nimport { useTraversal } from '../../contexts'\nimport { useConfig } from '../../hooks/useConfig'\n\nconst plain = ['string', 'number', 'boolean']\n\nexport function RenderField({ value, Widget, schema }) {\n if (value === null || value === undefined) return ''\n\n if (Widget) {\n return <Widget value={value} schema={schema} />\n }\n\n const type = typeof value\n if (plain.includes(type)) {\n return value\n }\n if (type === 'object') {\n if (Array.isArray(value)) {\n return value.map((item) => (\n <div key={item}>\n <RenderField value={item} />\n </div>\n ))\n }\n return Object.keys(value).map((key) => (\n <FieldValue field={key} value={value[key]} key={key} />\n ))\n }\n return <p>No render for {JSON.stringify(value)}</p>\n}\n\nconst FieldValue = ({ field, value }) => (\n <div className=\"field\">\n <div className=\"label\">{field}</div>\n <div className=\"value\">\n <RenderField value={value} />\n </div>\n </div>\n)\n\nconst DEFAULT_VALUE_NO_EDITABLE_FIELD = ' -- '\nconst getDefaultValueEditableField = (intl) => {\n return intl.formatMessage({\n id: 'default_value_editable_field',\n defaultMessage: 'Click to edit',\n })\n}\n\nexport const SearchRenderField = ({ schema, value, modifyContent }) => {\n const [valuesLabels, setValuesLabels] = useState([])\n const [isLoadingData, setIsLoadingData] = useState(false)\n const traversal = useTraversal()\n const { SearchEngine } = useConfig()\n\n useEffect(() => {\n const fetchData = async (valuesToSearch) => {\n setIsLoadingData(true)\n let searchTermQs = []\n\n const searchTermParsed = ['__or', `id=${valuesToSearch.join('%26id=')}`]\n const { get: getSearch } = traversal.registry\n const fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine)\n const qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: 0,\n pageSize: 100,\n withDepth: false,\n })\n\n if (searchTermParsed.length > 0 || qsParsed.length > 0) {\n searchTermQs = buildQs([searchTermParsed, ...qsParsed])\n }\n const data = await traversal.client.search(\n traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false,\n 0,\n 100\n )\n\n const newValuesLabel = data.items.map((item) => {\n return get(item, schema?.labelProperty ?? 'title', item.id)\n })\n setValuesLabels(newValuesLabel)\n setIsLoadingData(false)\n }\n\n let valuesToSearch = value\n if (typeof valuesToSearch === 'string') {\n valuesToSearch = [valuesToSearch]\n }\n\n if (valuesToSearch !== undefined && valuesToSearch.length > 0) {\n fetchData(valuesToSearch)\n } else {\n setValuesLabels([])\n }\n }, [value])\n\n const getRenderValue = () => {\n console.log('get render values', value, valuesLabels)\n if (value === undefined) {\n if (modifyContent) {\n return DEFAULT_VALUE_EDITABLE_FIELD\n }\n return DEFAULT_VALUE_NO_EDITABLE_FIELD\n }\n if (isLoadingData) {\n return 'Loading...'\n }\n\n return valuesLabels\n }\n\n return <RenderField value={getRenderValue()} />\n}\n\nexport const VocabularyRenderField = ({ schema, value, modifyContent }) => {\n const intl = useIntl()\n const DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl)\n\n const vocabularyName = schema?.items?.vocabularyName || schema?.vocabularyName\n const vocabulary = useVocabulary(vocabularyName)\n\n const getRenderProps = () => {\n const renderProps = {\n value:\n value ??\n (modifyContent\n ? DEFAULT_VALUE_EDITABLE_FIELD\n : DEFAULT_VALUE_NO_EDITABLE_FIELD),\n }\n\n if (schema?.vocabularyName) {\n const vocabularyValue = get(vocabulary, 'data.items', []).find(\n (item) => item.token === value\n )\n renderProps['value'] = vocabularyValue?.title ?? ''\n } else {\n renderProps['value'] = (renderProps['value'] ?? []).map((value) => {\n return (\n get(vocabulary, 'data.items', []).find((item) => item.token === value)\n ?.title ?? ''\n )\n })\n }\n\n return renderProps\n }\n return <RenderField {...getRenderProps()} />\n}\n\nexport function RenderFieldComponent({ schema, field, val, modifyContent }) {\n const intl = useIntl()\n const DEFAULT_VALUE_EDITABLE_FIELD = getDefaultValueEditableField(intl)\n\n const getRenderProps = () => {\n const renderProps = {\n value:\n val ??\n (modifyContent\n ? DEFAULT_VALUE_EDITABLE_FIELD\n : DEFAULT_VALUE_NO_EDITABLE_FIELD),\n }\n if (val && schema?.widget === 'file') {\n renderProps['value'] = {\n data: val,\n field: field,\n }\n renderProps['Widget'] = DownloadField\n } else if (schema?.type === 'boolean') {\n renderProps['value'] = val?.toString() ?? renderProps['value']\n } else if (val && schema?.type === 'datetime') {\n renderProps['value'] = new Date(val).toLocaleString()\n } else if (schema?.items?.vocabularyName || schema?.vocabularyName) {\n renderProps['Widget'] = VocabularyRenderField\n renderProps['schema'] = schema\n } else if (\n schema?.widget === 'search' ||\n schema?.widget === 'search_list'\n ) {\n renderProps['Widget'] = SearchRenderField\n renderProps['value'] = val\n renderProps['schema'] = schema\n }\n return renderProps\n }\n\n return <RenderField {...getRenderProps()} />\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Select } from './select'\nimport { get } from '../../lib/utils'\nimport { useVocabulary } from '../../hooks/useVocabulary'\n\nexport const SelectVocabulary = React.forwardRef(\n (\n { vocabularyName, className, classWrap, val, dataTest, multiple, ...rest },\n ref\n ) => {\n const vocabulary = useVocabulary(vocabularyName)\n\n const getOptions = () => {\n if (get(vocabulary, 'data.items', null)) {\n const vocData = vocabulary.data.items.map((item) => {\n return {\n text: item.title.default ?? item.title,\n value: item.token,\n }\n })\n return vocData\n }\n\n return []\n }\n\n const getProps = () => {\n if (multiple) {\n const currentValue = val || []\n return {\n multiple: true,\n size: 5,\n value: currentValue,\n options: getOptions(),\n }\n }\n\n return {\n value: val ?? '',\n appendDefault: true,\n options: getOptions(),\n }\n }\n\n if (vocabulary.data === undefined || vocabulary.loading) {\n return <div />\n }\n\n return (\n <Select\n {...getProps()}\n className={className}\n classWrap={classWrap || 'is-fullwidth'}\n dataTest={dataTest}\n ref={ref}\n {...rest}\n />\n )\n }\n)\n\nSelect.propTypes = {\n error: PropTypes.string,\n disabled: PropTypes.bool,\n loading: PropTypes.bool,\n isSubmitted: PropTypes.bool,\n size: PropTypes.number,\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n className: PropTypes.string,\n vocabularyName: PropTypes.string,\n}\n","import React, { useState, useEffect, useCallback } from 'react'\n\nimport PropTypes from 'prop-types'\nimport { buildQs } from '../../lib/search'\nimport { parser } from '../../lib/search'\nimport useSetState from '../../hooks/useSetState'\nimport ErrorZone from '../error_zone'\nimport { Loading } from '../ui'\nimport { generateUID } from '../../lib/helpers'\nimport { useConfig } from '../../hooks/useConfig'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\nimport useClickAway from '../../hooks/useClickAway'\nimport { get } from '../../lib/utils'\nfunction debounce(func, wait) {\n let timeout\n return function () {\n const context = this\n const args = arguments\n const later = function () {\n timeout = null\n func.apply(context, args)\n }\n clearTimeout(timeout)\n timeout = setTimeout(later, wait)\n }\n}\n\nconst initialState = {\n page: 0,\n items: undefined,\n loading: false,\n items_total: 0,\n}\n\nexport const SearchInputList = ({\n onChange,\n error,\n errorZoneClassName,\n traversal = null,\n path = null,\n qs = [],\n queryCondition = 'id__in',\n value,\n btnClass = '',\n dataTestWrapper = 'wrapperSearchInputTest',\n dataTestSearchInput = 'searchInputTest',\n dataTestItem = 'searchInputItemTest',\n renderTextItemOption = null,\n typeNameQuery = null,\n labelProperty = 'id',\n}) => {\n const intl = useIntl()\n const [options, setOptions] = useSetState(initialState)\n const [valuesLabel, setValuesLabels] = useState(undefined)\n const [isOpen, setIsOpen] = React.useState(false)\n const [searchTerm, setSearchTerm] = React.useState('')\n const inputRef = React.useRef(null)\n const wrapperRef = React.useRef(null)\n const { PageSize, SearchEngine } = useConfig()\n const [isLoadingData, setIsLoadingData] = useState(false)\n\n const [uid] = useState(generateUID('search_input'))\n\n useClickAway(wrapperRef, () => {\n setIsOpen(false)\n })\n\n const getHeight = () => {\n if (wrapperRef && wrapperRef.current) {\n return {\n maxHeight: `${\n window.innerHeight -\n wrapperRef.current.getBoundingClientRect().top -\n 100\n }px`,\n }\n }\n return { maxHeight: 'auto' }\n }\n\n const delayedQuery = useCallback(\n debounce((value) => handleSearch(0, false, value), 500),\n []\n )\n\n const handleSearch = async (page = 0, concat = false, value = '') => {\n setOptions({ loading: true })\n let searchTermQs = []\n let searchTermParsed = []\n if (value !== '') {\n searchTermParsed = parser(`${queryCondition}=${value}`)\n }\n const { get } = traversal.registry\n const fnName = get('searchEngineQueryParamsFunction', SearchEngine)\n let qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: page * PageSize,\n pageSize: PageSize,\n withDepth: false,\n })\n let sortParsed = parser(`_sort_des=title`)\n let typeNameParsed = []\n if (typeNameQuery) {\n typeNameParsed = parser(`type_name__in=${typeNameQuery}`)\n }\n\n if (\n qs.length > 0 ||\n searchTermParsed.length > 0 ||\n qsParsed.length > 0 ||\n typeNameParsed.length > 0\n ) {\n searchTermQs = buildQs([\n ...qs,\n ...searchTermParsed,\n ...qsParsed,\n ...typeNameParsed,\n ...sortParsed,\n ])\n }\n\n const data = await traversal.client.search(\n path ? path : traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false\n )\n const newItems =\n options.items && concat ? [...options.items, ...data.items] : data.items\n\n setOptions({\n items: newItems ?? [],\n loading: false,\n items_total: data.items_total ?? 0,\n page: page,\n })\n }\n\n const inicializeLabels = async () => {\n if (labelProperty !== 'id' && value.length > 0) {\n setIsLoadingData(true)\n let searchTermQs = []\n const searchTermParsed = ['__or', `id=${value.join('%26id=')}`]\n const { get: getSearch } = traversal.registry\n const fnName = getSearch('searchEngineQueryParamsFunction', SearchEngine)\n const qsParsed = traversal.client[fnName]({\n path: traversal.path,\n start: 0,\n pageSize: 100,\n withDepth: false,\n })\n let typeNameParsed = []\n if (typeNameQuery) {\n typeNameParsed = parser(`type_name__in=${typeNameQuery}`)\n }\n if (\n qs.length > 0 ||\n searchTermParsed.length > 0 ||\n qsParsed.length > 0 ||\n typeNameParsed.length > 0\n ) {\n searchTermQs = buildQs([\n ...qs,\n searchTermParsed,\n ...qsParsed,\n ...typeNameParsed,\n ])\n }\n const data = await traversal.client.search(\n path ? path : traversal.client.getContainerFromPath(traversal.path),\n searchTermQs,\n false,\n false,\n 0,\n 100\n )\n const newValuesLabel = data.items.reduce((result, item) => {\n result[item.id] = get(item, labelProperty, item.id)\n return result\n }, {})\n setValuesLabels(newValuesLabel)\n setIsLoadingData(false)\n }\n }\n\n const renderTextItemOptionFn = (item) => {\n if (renderTextItemOption) {\n return renderTextItemOption(item)\n }\n return item.title || item['@name']\n }\n\n React.useEffect(() => {\n if (!options.loading && !options.items && value.length > 0) {\n inicializeLabels()\n } else if (value.length === 0) {\n setValuesLabels({})\n }\n }, [path, options.loading, options.items])\n\n if (isLoadingData || valuesLabel === undefined) {\n return <div className=\"spinner\" />\n }\n\n return (\n <React.Fragment>\n <div className=\"tags mb-2\">\n {value.map((tag, index) => (\n <div\n key={`input_list_${tag}_${index}`}\n className=\"tag is-info is-medium\"\n >\n {get(valuesLabel, tag, tag)}\n <button\n className=\"delete is-small\"\n onClick={(ev) => {\n ev.stopPropagation()\n ev.preventDefault()\n onChange([\n ...value.filter((tag) => value.indexOf(tag) !== index),\n ])\n }}\n ></button>\n </div>\n ))}\n </div>\n <div\n data-test={dataTestWrapper}\n ref={wrapperRef}\n className={`dropdown mb-2 ${isOpen ? 'is-active' : ''}`}\n onBlur={(ev) => {\n if (!ev.currentTarget.contains(ev.relatedTarget)) {\n if (searchTerm !== '') {\n setSearchTerm('')\n setOptions(initialState)\n }\n setIsOpen(false)\n }\n }}\n >\n <div className=\"dropdown-trigger\">\n <button\n className={`button ${btnClass}`}\n onClick={(ev) => {\n ev.preventDefault()\n setIsOpen(!isOpen)\n if (!options.loading && !options.items) {\n handleSearch(options.page)\n }\n }}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <span>{intl.formatMessage(genericMessages.choose)}</span>\n\n <span className=\"icon\">\n <i className=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </button>\n </div>\n <div\n className=\"dropdown-menu\"\n id=\"dropdown-menu\"\n role=\"menu\"\n style={getHeight()}\n >\n <div className=\"dropdown-content\">\n <div className=\"dropdown-item\">\n <input\n ref={inputRef}\n data-test={dataTestSearchInput}\n className=\"input\"\n type=\"text\"\n placeholder={intl.formatMessage(genericMessages.search)}\n value={searchTerm}\n onChange={(ev) => {\n delayedQuery(ev.target.value)\n setSearchTerm(ev.target.value)\n }}\n />\n </div>\n <hr className=\"dropdown-divider\" />\n {options.loading && <Loading />}\n {options.items &&\n options.items.map((item) => {\n return (\n <div\n className={`dropdown-item editable ${\n value && value.id === item.id ? 'is-active' : ''\n }`}\n data-test={`${dataTestItem}-${item.id}`}\n onMouseDown={(ev) => {\n ev.stopPropagation()\n ev.preventDefault()\n if (onChange && !value.includes(item.id)) {\n setValuesLabels({\n ...valuesLabel,\n [item.id]: get(item, labelProperty, item.id),\n })\n onChange([...value, item.id])\n }\n }}\n key={item.path}\n >\n {renderTextItemOptionFn(item)}\n </div>\n )\n })}\n\n {options.items && options.items.length === 0 && (\n <div className=\"dropdown-item\">\n {intl.formatMessage(genericMessages.no_results)}\n </div>\n )}\n\n {options.items && options.items_total > options.items.length && (\n <React.Fragment>\n <hr className=\"dropdown-divider\" />\n <div\n className=\"dropdown-item editable\"\n onMouseDown={(ev) => {\n ev.stopPropagation()\n ev.preventDefault()\n handleSearch(options.page + 1, true)\n }}\n >\n {intl.formatMessage(genericMessages.load_more)}\n </div>\n </React.Fragment>\n )}\n </div>\n </div>\n </div>\n {error && (\n <ErrorZone className={errorZoneClassName} id={uid}>\n {error ? error : ''}\n </ErrorZone>\n )}\n </React.Fragment>\n )\n}\n\nSearchInputList.propTypes = {\n onChange: PropTypes.func,\n path: PropTypes.string,\n btnClass: PropTypes.string,\n dataTestWrapper: PropTypes.string,\n dataTestSearchInput: PropTypes.string,\n dataTestItem: PropTypes.string,\n renderTextItemOption: PropTypes.func,\n typeNameQuery: PropTypes.string,\n labelProperty: PropTypes.string,\n error: PropTypes.string,\n errorZoneClassName: PropTypes.string,\n traversal: PropTypes.object,\n path: PropTypes.string,\n qs: PropTypes.array,\n queryCondition: PropTypes.string,\n}\n","import React from 'react'\nimport { Textarea } from '../input/textarea'\nimport { Checkbox } from '../input/checkbox'\nimport { FileUpload } from '../input/upload'\nimport { Select } from '../input/select'\nimport { Input } from '../input/input'\nimport { InputList } from '../input/input_list'\nimport { get } from '../../lib/utils'\nimport { SelectVocabulary } from '../input/select_vocabulary'\nimport { SearchInputList } from '../input/search_input_list'\nimport { SearchInput } from '../input/search_input'\nimport { useTraversal } from '../../contexts'\n\nexport const EditComponent = React.forwardRef(\n ({ schema, val, setValue, dataTest, className, ...rest }, ref) => {\n const traversal = useTraversal()\n\n if (schema?.widget === 'search_list') {\n return (\n <React.Fragment>\n {rest.placeholder && (\n <label className=\"label\">{rest.placeholder}</label>\n )}\n <SearchInputList\n value={val || []}\n traversal={traversal}\n className={className}\n onChange={(ev) => setValue(ev)}\n queryCondition={\n schema?.queryCondition ? schema.queryCondition : 'title__in'\n }\n dataTest={dataTest}\n path={schema.queryPath}\n labelProperty={\n schema?.labelProperty ? schema.labelProperty : 'title'\n }\n typeNameQuery={schema?.typeNameQuery ? schema.typeNameQuery : null}\n {...rest}\n />\n </React.Fragment>\n )\n } else if (schema?.widget === 'search') {\n return (\n <React.Fragment>\n {rest.placeholder && (\n <label className=\"label\">{rest.placeholder}</label>\n )}\n <SearchInput\n value={val}\n traversal={traversal}\n className={className}\n onChange={(ev) => setValue(ev)}\n queryCondition={\n schema?.queryCondition ? schema.queryCondition : 'title__in'\n }\n dataTest={dataTest}\n path={schema.queryPath}\n labelProperty={\n schema?.labelProperty ? schema.labelProperty : 'title'\n }\n typeNameQuery={schema?.typeNameQuery ? schema.typeNameQuery : null}\n {...rest}\n />\n </React.Fragment>\n )\n } else if (schema?.widget === 'textarea' || schema?.widget === 'richtext') {\n return (\n <Textarea\n value={val || ''}\n className={className}\n onChange={(ev) => setValue(ev)}\n ref={ref}\n dataTest={dataTest}\n {...rest}\n />\n )\n } else if (schema?.type === 'boolean') {\n return (\n <Checkbox\n value={!!val}\n className={className}\n onChange={(ev) => setValue(ev)}\n ref={ref}\n dataTest={dataTest}\n {...rest}\n />\n )\n } else if (schema?.type === 'array') {\n if (schema.items && schema.items.type === 'string') {\n if (schema.items.vocabularyName) {\n return (\n <SelectVocabulary\n vocabularyName={get(schema, 'items.vocabularyName', null)}\n val={val || []}\n className={className}\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n {...rest}\n onChange={setValue}\n multiple\n />\n )\n } else if (schema?.items?.vocabulary) {\n return (\n <Select\n value={val || []}\n className={className}\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n options={schema?.items.vocabulary.map((item) => {\n return {\n text: item,\n value: item,\n }\n })}\n multiple\n onChange={setValue}\n {...rest}\n />\n )\n }\n }\n return (\n <InputList\n value={val || []}\n className={className}\n onChange={(ev) => setValue(ev)}\n ref={ref}\n dataTest={dataTest}\n {...rest}\n />\n )\n } else if (schema?.widget === 'file') {\n return (\n <FileUpload\n onChange={(ev) => setValue(ev)}\n label={get(val, 'filename', null)}\n dataTest={dataTest}\n {...rest}\n />\n )\n } else if (schema?.widget === 'select' && schema.type === 'string') {\n if (schema?.vocabularyName) {\n return (\n <SelectVocabulary\n val={val || ''}\n className={className}\n appendDefault\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n onChange={setValue}\n vocabularyName={get(schema, 'vocabularyName', null)}\n {...rest}\n />\n )\n }\n\n return (\n <Select\n value={val || ''}\n className={className}\n appendDefault\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n options={schema?.vocabulary.map((item) => {\n return {\n text: item,\n value: item,\n }\n })}\n onChange={setValue}\n {...rest}\n />\n )\n }\n const getInputType = () => {\n switch (schema?.type) {\n case 'integer':\n return 'number'\n case 'date':\n return 'date'\n case 'datetime':\n return 'datetime-local'\n default:\n return 'text'\n }\n }\n return (\n <Input\n value={val || ''}\n className={className}\n dataTest={dataTest}\n onChange={(ev) => setValue(ev)}\n ref={ref}\n type={getInputType()}\n {...rest}\n />\n )\n }\n)\n\nEditComponent.displayName = 'EditComponent'\nexport default EditComponent\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\nimport { Table } from '../ui'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function IAttachment({ properties, values }) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {Object.keys(properties).map((key) => (\n <tr key={'attachment_' + key}>\n <td style={{ width: '150px' }} key={1}>\n {key}\n </td>\n <td key={2}>\n <EditableField\n field={key}\n value={values[key]}\n ns=\"guillotina.behaviors.attachment.IAttachment\"\n schema={properties[key]}\n modifyContent={modifyContent && ['file'].includes(key)}\n />\n </td>\n </tr>\n ))}\n </Table>\n )\n}\n","import React from 'react'\nimport { Input } from '../input/input'\nimport { FileUpload } from '../input/upload'\nimport { Button } from '../input/button'\nimport { useState } from 'react'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport ErrorZone from '../error_zone'\nimport { EditableField } from '../fields/editableField'\nimport { Delete } from '../ui'\nimport { Confirm } from '../../components/modal'\nimport { Table } from '../ui'\nimport { useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nexport function IMultiAttachment({ properties, values }) {\n const intl = useIntl()\n const [fileKey, setFileKey] = useState('')\n const [file, setFile] = useState()\n const [fileKeyToDelete, setFileKeyToDelete] = useState(undefined)\n\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(undefined)\n const { Ctx } = useCrudContext()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n const uploadFile = async (ev) => {\n ev.preventDefault()\n if (!fileKey && !file) {\n setError(intl.formatMessage(genericFileMessages.error_file_key_name))\n return\n }\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@upload/files/${fileKey}`\n const req = await Ctx.client.upload(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.error_upload_file))\n setLoading(false)\n return\n }\n setFileKey('')\n setFile(undefined)\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.file_uploaded), 'success')\n Ctx.refresh()\n }\n\n const deleteFile = async () => {\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@delete/files/${fileKeyToDelete}`\n const req = await Ctx.client.delete(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n setLoading(false)\n return\n }\n setLoading(false)\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n Ctx.refresh()\n }\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {fileKeyToDelete && (\n <Confirm\n loading={loading}\n onCancel={() => setFileKeyToDelete(undefined)}\n onConfirm={() => deleteFile(fileKeyToDelete)}\n message={\n (intl.formatMessage(\n genericFileMessages.confirm_message_delete_file\n ),\n { fileKeyToDelete })\n }\n />\n )}\n\n {Object.keys(values['files']).map((key) => (\n <tr key={'multiattachment_' + key}>\n <td key={1} style={{ width: '150px' }}>\n {key}\n </td>\n <td key={2}>\n <div className=\"is-flex is-align-items-center\">\n <EditableField\n field={`files/${key}`}\n value={values['files'][key]}\n ns=\"guillotina.behaviors.attachment.IMultiAttachment.files\"\n schema={properties['files']['additionalProperties']}\n modifyContent={false}\n />\n <div className=\"ml-5\">\n <Delete\n onClick={(ev) => {\n ev.preventDefault()\n setFileKeyToDelete(key)\n }}\n />\n </div>\n </div>\n </td>\n </tr>\n ))}\n {Object.keys(values['files']).length === 0 && (\n <tr>\n <td colSpan={2}>\n {intl.formatMessage(genericFileMessages.no_files_uploaded)}\n </td>\n </tr>\n )}\n {modifyContent && (\n <tr>\n <td colSpan={2}>\n <label className=\"label\">\n {intl.formatMessage(genericFileMessages.upload_a_file)}\n </label>\n <form className=\"columns\">\n <div className=\"column is-4\">\n <Input\n placeholder=\"Key\"\n name=\"field\"\n className=\"is-small\"\n value={fileKey}\n onChange={(ev) => setFileKey(ev)}\n required\n />\n {error && <ErrorZone>{error}</ErrorZone>}\n </div>\n <div className=\"column is-2\">\n <FileUpload onChange={(ev) => setFile(ev)} />\n {file && file.filename}\n </div>\n <div className=\"column is-2\">\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={uploadFile}\n disabled={!fileKey && !file}\n >\n {intl.formatMessage(genericMessages.upload)}\n </Button>\n </div>\n </form>\n </td>\n </tr>\n )}\n </Table>\n )\n}\n","import React, { useState } from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\nimport { Table } from '../ui'\nimport { useConfig } from '../../hooks/useConfig'\nimport { Delete } from '../ui'\nimport { Button } from '../input/button'\nimport { FileUpload } from '../input/upload'\nimport { Confirm } from '../../components/modal'\nimport { useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nconst _sizesImages = ['large', 'preview', 'mini', 'thumb']\n\nexport function IImageAttachment({ properties, values }) {\n const intl = useIntl()\n const cfg = useConfig()\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n const sizesImages = cfg.size_images || _sizesImages\n const [file, setFile] = useState(null)\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(undefined)\n const [showConfirmToDelete, setShowConfirmToDelete] = useState(false)\n\n const uploadFile = async (ev) => {\n ev.preventDefault()\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@upload/image`\n const req = await Ctx.client.upload(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.error_upload_file))\n setLoading(false)\n return\n }\n\n for (let i = 0; i < sizesImages.length; i++) {\n const endpointSize = `${Ctx.path}@images/image/${sizesImages[i]}`\n let hasError = false\n try {\n const req = await Ctx.client.upload(endpointSize, file)\n if (req.status !== 200) hasError = true\n } catch (err) {\n hasError = true\n }\n\n if (hasError) {\n setError(\n intl.formatMessage(genericFileMessages.error_upload_file_size, {\n size: sizesImages[i],\n })\n )\n setLoading(false)\n return\n }\n }\n\n setFile(undefined)\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_uploaded), 'success')\n Ctx.refresh()\n }\n\n const deleteFile = async () => {\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@delete/image`\n const req = await Ctx.client.delete(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n setLoading(false)\n return\n }\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_deleted), 'success')\n Ctx.refresh()\n }\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {showConfirmToDelete && (\n <Confirm\n loading={loading}\n onCancel={() => setShowConfirmToDelete(false)}\n onConfirm={() => deleteFile()}\n message={intl.formatMessage(\n genericFileMessages.confirm_message_delete_image\n )}\n />\n )}\n {values['image'] && (\n <tr>\n <td key={1} style={{ width: '150px' }}>\n {intl.formatMessage(genericMessages.image)}\n </td>\n <td key={2}>\n <div className=\"is-flex is-align-items-center\">\n <EditableField\n field={'image'}\n value={values['image']}\n ns=\"guillotina.behaviors.behaviors.IImageAttachment\"\n schema={properties['image']}\n modifyContent={false}\n />\n <div className=\"ml-5\">\n <Delete\n onClick={(ev) => {\n ev.preventDefault()\n setShowConfirmToDelete(true)\n }}\n />\n </div>\n </div>\n </td>\n </tr>\n )}\n {modifyContent && (\n <tr>\n <td colSpan={2}>\n <label className=\"label\">\n {intl.formatMessage(genericFileMessages.upload_an_image)}\n </label>\n <form\n className=\"is-flex is-align-items-center\"\n style={{ gap: '15px' }}\n data-test=\"formImageAttachmentTest\"\n >\n <div>\n <FileUpload onChange={(ev) => setFile(ev)} />\n {file && file.filename}\n </div>\n <div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={uploadFile}\n disabled={!file}\n >\n {intl.formatMessage(genericMessages.upload)}\n </Button>\n </div>\n </form>\n {error && <p className=\"help is-danger\">{error}</p>}\n </td>\n </tr>\n )}\n </Table>\n )\n}\n","import React, { useState } from 'react'\n\nimport { Button } from '../input/button'\nimport { Confirm } from '../../components/modal'\nimport { Delete } from '../ui'\nimport { FileUpload } from '../input/upload'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { EditableField } from '../fields/editableField'\nimport { useConfig } from '../../hooks/useConfig'\nimport { Table } from '../ui'\nimport { Input } from '../input/input'\nimport { useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nconst _sizesImages = ['large', 'preview', 'mini', 'thumb']\n\nexport function IMultiImageAttachment({ properties, values }) {\n const intl = useIntl()\n const cfg = useConfig()\n const [fileKey, setFileKey] = useState('')\n const [file, setFile] = useState(null)\n const [fileKeyToDelete, setFileKeyToDelete] = useState(undefined)\n\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(undefined)\n const { Ctx } = useCrudContext()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n const sizesImages = cfg.size_images || _sizesImages\n\n const uploadFile = async (ev) => {\n ev.preventDefault()\n if (!fileKey && !file) {\n setError(intl.formatMessage(genericFileMessages.error_file_key_name))\n return\n }\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@upload/images/${fileKey}`\n const req = await Ctx.client.upload(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.error_upload_file))\n setLoading(false)\n return\n }\n\n for (let i = 0; i < sizesImages.length; i++) {\n const endpointSize = `${Ctx.path}@images/images/${fileKey}/${sizesImages[i]}`\n let hasError = false\n try {\n const req = await Ctx.client.upload(endpointSize, file)\n if (req.status !== 200) hasError = true\n } catch (err) {\n hasError = true\n }\n\n if (hasError) {\n setError(\n intl.formatMessage(genericFileMessages.error_upload_file_size, {\n size: sizesImages[i],\n })\n )\n setLoading(false)\n return\n }\n }\n\n setFileKey('')\n setFile(undefined)\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_uploaded), 'success')\n Ctx.refresh()\n }\n\n const deleteFile = async () => {\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@delete/images/${fileKeyToDelete}`\n const req = await Ctx.client.delete(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n setLoading(false)\n return\n }\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_deleted), 'success')\n Ctx.refresh()\n }\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {fileKeyToDelete && (\n <Confirm\n loading={loading}\n onCancel={() => setFileKeyToDelete(undefined)}\n onConfirm={() => deleteFile()}\n message={\n (intl.formatMessage(\n genericFileMessages.confirm_message_delete_file\n ),\n { fileKeyToDelete })\n }\n />\n )}\n\n {Object.keys(values['images']).map((key) => (\n <tr key={`multiimageattachment_${key}`}>\n <td key={1} style={{ width: '150px' }}>\n {key}\n </td>\n <td key={2}>\n <div className=\"is-flex is-align-items-center\">\n <EditableField\n field={`images/${key}`}\n value={values['images'][key]}\n ns=\"guillotina.contrib.image.behaviors.IMultiImageAttachment.images\"\n schema={properties['images']['additionalProperties']}\n modifyContent={false}\n required={false}\n />\n <div className=\"ml-5\">\n <Delete\n onClick={(ev) => {\n ev.preventDefault()\n setFileKeyToDelete(key)\n }}\n />\n </div>\n </div>\n </td>\n </tr>\n ))}\n {Object.keys(values['images']).length === 0 && (\n <tr>\n <td colSpan={2}>\n {intl.formatMessage(genericFileMessages.no_images_uploaded)}\n </td>\n </tr>\n )}\n {modifyContent && (\n <tr>\n <td colSpan={2}>\n <label className=\"label\">\n {' '}\n {intl.formatMessage(genericFileMessages.upload_an_image)}\n </label>\n <form className=\"columns\" data-test=\"formMultiimageAttachmentTest\">\n <div className=\"column is-4\">\n <Input\n placeholder=\"Key\"\n name=\"field\"\n className=\"is-small\"\n value={fileKey}\n onChange={(ev) => setFileKey(ev)}\n required\n />\n {error && <p className=\"help is-danger\">{error}</p>}\n </div>\n <div className=\"column is-2\">\n <FileUpload onChange={(ev) => setFile(ev)} />\n {file && file.filename}\n </div>\n <div className=\"column is-2\">\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={uploadFile}\n disabled={!fileKey && !file}\n >\n {intl.formatMessage(genericMessages.upload)}\n </Button>\n </div>\n </form>\n </td>\n </tr>\n )}\n </Table>\n )\n}\n","import { Button } from '../input/button'\nimport { Confirm } from '../../components/modal'\nimport { Delete } from '../ui'\nimport { FileUpload } from '../input/upload'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { EditableField } from '../fields/editableField'\nimport { useConfig } from '../../hooks/useConfig'\nimport React, { useEffect, useState } from 'react'\nimport { DragDropContext, Draggable, Droppable } from 'react-beautiful-dnd'\nimport { v4 as uuidv4 } from 'uuid'\nimport { defineMessages, useIntl } from 'react-intl'\nimport {\n genericFileMessages,\n genericMessages,\n} from '../../locales/generic_messages'\n\nconst StrictModeDroppable = ({ children, ...props }) => {\n const [enabled, setEnabled] = useState(false)\n useEffect(() => {\n const animation = requestAnimationFrame(() => setEnabled(true))\n return () => {\n cancelAnimationFrame(animation)\n setEnabled(false)\n }\n }, [])\n if (!enabled) {\n return null\n }\n return <Droppable {...props}>{children}</Droppable>\n}\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list)\n const [removed] = result.splice(startIndex, 1)\n result.splice(endIndex, 0, removed)\n\n return result\n}\n\nconst _sizesImages = ['large', 'preview', 'mini', 'thumb']\nconst messages = defineMessages({\n failed_to_sort_images: {\n id: 'failed_to_sort_images',\n defaultMessage: 'Failed to sort images',\n },\n images_sorted: {\n id: 'images_sorted',\n defaultMessage: 'Images sorted',\n },\n})\nexport function IMultiImageOrderedAttachment({ properties, values }) {\n const intl = useIntl()\n const cfg = useConfig()\n const [sortedList, setSortedList] = useState(Object.keys(values['images']))\n const [file, setFile] = useState(null)\n const [fileKeyToDelete, setFileKeyToDelete] = useState(undefined)\n\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(undefined)\n const { Ctx } = useCrudContext()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n const sizesImages = cfg.size_images || _sizesImages\n\n async function onDragEnd(result) {\n if (!result.destination) {\n return\n }\n\n if (result.destination.index === result.source.index) {\n return\n }\n\n const resultSorted = reorder(\n sortedList,\n result.source.index,\n result.destination.index\n )\n\n setSortedList(resultSorted)\n setLoading(true)\n const endpoint = `${Ctx.path}@sort/images/`\n const req = await Ctx.client.patch(endpoint, resultSorted)\n if (req.status !== 200) {\n setError(intl.formatMessage(messages.failed_to_sort_images))\n setLoading(false)\n return\n }\n\n setLoading(false)\n Ctx.flash(intl.formatMessage(messages.images_sorted), 'success')\n Ctx.refresh()\n }\n\n const uploadFile = async (ev) => {\n ev.preventDefault()\n if (!file) {\n setError(intl.formatMessage(genericFileMessages.error_file_key_name))\n return\n }\n setLoading(true)\n setError(undefined)\n const fileKey = uuidv4()\n const endpoint = `${Ctx.path}@upload/images/${fileKey}`\n const req = await Ctx.client.upload(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.error_upload_file))\n setLoading(false)\n return\n }\n\n for (let i = 0; i < sizesImages.length; i++) {\n const endpointSize = `${Ctx.path}@images/images/${fileKey}/${sizesImages[i]}`\n let hasError = false\n try {\n const req = await Ctx.client.upload(endpointSize, file)\n if (req.status !== 200) hasError = true\n } catch (err) {\n hasError = true\n }\n\n if (hasError) {\n setError(\n intl.formatMessage(genericFileMessages.error_upload_file_size, {\n size: sizesImages[i],\n })\n )\n setLoading(false)\n return\n }\n }\n\n setFile(undefined)\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_uploaded), 'success')\n Ctx.refresh()\n }\n\n const deleteFile = async () => {\n setLoading(true)\n setError(undefined)\n const endpoint = `${Ctx.path}@delete/images/${fileKeyToDelete}`\n const req = await Ctx.client.delete(endpoint, file)\n if (req.status !== 200) {\n setError(intl.formatMessage(genericFileMessages.failed_delete_file))\n setLoading(false)\n return\n }\n setLoading(false)\n Ctx.flash(intl.formatMessage(genericFileMessages.image_deleted), 'success')\n Ctx.refresh()\n }\n\n return (\n <React.Fragment>\n {fileKeyToDelete && (\n <Confirm\n loading={loading}\n onCancel={() => setFileKeyToDelete(undefined)}\n onConfirm={() => deleteFile()}\n message={\n (intl.formatMessage(\n genericFileMessages.confirm_message_delete_file\n ),\n { fileKeyToDelete })\n }\n />\n )}\n <section>\n <DragDropContext onDragEnd={onDragEnd}>\n <StrictModeDroppable droppableId=\"list\">\n {(provided) => (\n <div ref={provided.innerRef} {...provided.droppableProps}>\n {sortedList.map((key, index) => (\n <Draggable\n key={`multiimageattachment_${key}`}\n draggableId={`multiimageattachment_${key}`}\n index={index}\n >\n {(providedChild) => (\n <div\n className=\"is-flex is-align-items-center pt-2 pb-2\"\n style={{ borderTop: '1px solid #dbdbdb' }}\n ref={providedChild.innerRef}\n {...providedChild.draggableProps}\n {...providedChild.dragHandleProps}\n >\n <EditableField\n field={`images/${key}`}\n value={values['images'][key]}\n ns=\"guillotina.contrib.image.behaviors.IMultiImageAttachment.images\"\n schema={properties['images']['additionalProperties']}\n modifyContent={false}\n required={false}\n />\n <div className=\"ml-5\">\n <Delete\n onClick={(ev) => {\n ev.preventDefault()\n setFileKeyToDelete(key)\n }}\n />\n </div>\n </div>\n )}\n </Draggable>\n ))}\n {provided.placeholder}\n </div>\n )}\n </StrictModeDroppable>\n </DragDropContext>\n </section>\n\n {Object.keys(values['images']).length === 0 && (\n <section>\n {intl.formatMessage(genericFileMessages.no_images_uploaded)}\n </section>\n )}\n {modifyContent && (\n <section>\n <label className=\"label\">\n {intl.formatMessage(genericFileMessages.upload_an_image)}\n </label>\n\n <form\n className=\"is-flex is-align-items-center\"\n style={{ gap: '15px' }}\n data-test=\"formMultiimageOrderedAttachmentTest\"\n >\n <div>\n <FileUpload onChange={(ev) => setFile(ev)} />\n {file && file.filename}\n </div>\n <div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={uploadFile}\n disabled={!file}\n >\n {intl.formatMessage(genericMessages.upload)}\n </Button>\n </div>\n </form>\n {error && <p className=\"help is-danger\">{error}</p>}\n </section>\n )}\n </React.Fragment>\n )\n}\n","const base = {\n local: {\n roleperm: {},\n prinperm: {},\n prinrole: {},\n },\n inherit: {},\n}\n\nexport class Sharing {\n constructor(element) {\n Object.assign(this, element || base)\n }\n\n get roles() {\n return Object.keys(this.local.roleperm)\n }\n\n getRole(role) {\n return this.local.roleperm[role]\n }\n\n get principals() {\n return Object.keys(this.local.prinperm)\n }\n\n getPrincipals(principal) {\n return this.local.prinperm[principal]\n }\n\n get prinrole() {\n return Object.keys(this.local.prinrole)\n }\n\n getPrinroles(role) {\n return this.local.prinrole[role]\n }\n}\n","import { formatDate } from '../lib/utils'\nimport { useConfig } from '../hooks/useConfig'\n\nexport * from './sharing'\n\nexport class ItemModel {\n constructor(item, url, path) {\n this.item = item\n this.url = url\n this._path = path\n }\n\n get path() {\n // Compat\n let item = this.item['@id'] ? this.item['@id'] : this.item['@absolute_url']\n let path = item.split('//')[1].split('/').splice(1).join('/')\n path = `/${path}/`\n if (this.url.length > 0) {\n if (this.url.startsWith('/')) {\n path = path.replace(this.url.substring(1), '')\n } else {\n path = path.replace(this.url, '')\n }\n }\n\n return path\n }\n\n get name() {\n return this.item.title || this.item['@name']\n }\n\n get icon() {\n // eslint-disable-next-line\n const cfg = useConfig()\n if (cfg.icons && cfg.icons[this.type]) {\n return cfg.icons[this.type]\n }\n\n switch (this.type) {\n case 'GroupManager':\n return 'fas fa-users-cog'\n case 'UserManager':\n return 'fas fa-user-cog'\n case 'User':\n return 'fas fa-user'\n case 'Group':\n return 'fas fa-users'\n case 'Folder':\n return 'fas fa-folder'\n default:\n return 'fas fa-file'\n }\n }\n\n get fullPath() {\n return this._url + this.item.id\n }\n\n get id() {\n if (this.item.id) {\n return this.item.id\n }\n let id = this.item['@id'].split('&')[0].split('/')\n return id[id.length - 1]\n }\n\n get uid() {\n return this.item['@uid']\n }\n\n get type() {\n return this.item['@type'] || this.item.type_name\n }\n\n get title() {\n return this.item.title\n }\n\n get created() {\n return this.item.creation_date ? formatDate(this.item.creation_date) : ''\n }\n\n get updated() {\n return this.item.modification_date\n ? formatDate(this.item.modification_date)\n : ''\n }\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { Confirm } from '../modal'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { ItemModel } from '../../models'\nimport { defineMessages, useIntl } from 'react-intl'\n\nconst messages = defineMessages({\n status_changed_ok: {\n id: 'status_changed_ok',\n defaultMessage: 'Great status changed!',\n },\n status_changed_error: {\n id: 'status_changed_error',\n defaultMessage: 'Failed to status changed!: {error}',\n },\n confirm_message: {\n id: 'confirm_message',\n defaultMessage: 'Are you sure to change state: {title}?',\n },\n current_state: {\n id: 'current_state',\n defaultMessage: 'Current state: {state}',\n },\n actions: {\n id: 'actions',\n defaultMessage: 'Actions:',\n },\n})\n\nexport function IWorkflow() {\n const intl = useIntl()\n const Ctx = useTraversal()\n const { post, loading } = useCrudContext()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n const [definition, setDefinition] = React.useState(undefined)\n const [workflowAction, setWorkflowAction] = React.useState(null)\n const model = new ItemModel(Ctx.context)\n const currentState =\n model.item['guillotina.contrib.workflows.interfaces.IWorkflowBehavior'][\n 'review_state'\n ]\n\n async function loadDefinition() {\n const response = await Ctx.client.get(`${Ctx.path}/@workflow`)\n const workflow = await response.json()\n setDefinition(workflow)\n }\n\n React.useEffect(() => {\n loadDefinition()\n }, [Ctx.path])\n\n const doWorkflowAction = async () => {\n const { isError, errorMessage } = await post(\n {},\n `@workflow/${workflowAction}`,\n false\n )\n await loadDefinition()\n if (!isError) {\n Ctx.flash(intl.formatMessage(messages.status_changed_ok), 'success')\n } else {\n Ctx.flash(\n intl.formatMessage(messages.status_changed_error, {\n error: errorMessage,\n }),\n 'danger'\n )\n }\n\n Ctx.refresh()\n setWorkflowAction(null)\n }\n if (definition === undefined) return null\n\n return (\n <React.Fragment>\n {workflowAction && (\n <Confirm\n loading={loading}\n onCancel={() => setWorkflowAction(null)}\n onConfirm={doWorkflowAction}\n message={intl.formatMessage(messages.confirm_message, {\n title: Ctx.context.title || Ctx.context['@name'],\n })}\n />\n )}\n\n <div className=\"is-flex is-align-items-center mb-3\">\n <div\n className=\"has-text-weight-bold\"\n data-test={`textInfoStatus-${currentState}`}\n >\n {intl.formatMessage(messages.current_state, { state: currentState })}\n </div>\n </div>\n {modifyContent && (\n <div\n className=\" is-flex is-align-items-center has-text-weight-bold\"\n data-test={`textInfoStatus-${currentState}`}\n >\n <label>{intl.formatMessage(messages.actions)}</label>&nbsp;&nbsp;\n {definition.transitions.map((transition) => {\n return (\n <button\n key={transition['@id']}\n className=\"button mr-4\"\n onClick={() =>\n setWorkflowAction(\n transition['@id'].split('@workflow')[1].slice(1)\n )\n }\n >\n {transition.title}\n </button>\n )\n })}\n </div>\n )}\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { getActionsObject } from '../../lib/helpers'\n\nexport function PanelActions() {\n const traversal = useTraversal()\n const intl = useIntl()\n const ACTIONS_OBJECT = getActionsObject(intl)\n\n const hasPerm = (perms) => {\n return perms.some((perm) => traversal.hasPerm(perm))\n }\n\n const onAction = (actionKey) => {\n traversal.doAction(ACTIONS_OBJECT[actionKey].action, {\n item: traversal.context,\n })\n }\n\n return (\n <React.Fragment>\n {Object.keys(ACTIONS_OBJECT).map((actionKey) => {\n if (hasPerm(ACTIONS_OBJECT[actionKey].perms)) {\n return (\n <button\n key={`panel_action_${ACTIONS_OBJECT[actionKey].text}`}\n className=\"button mr-4\"\n onClick={() => {\n onAction(actionKey)\n }}\n >\n {ACTIONS_OBJECT[actionKey].text}\n </button>\n )\n }\n })}\n </React.Fragment>\n )\n}\n","import { useCallback, useEffect, useRef } from 'react'\n\nexport default function useMountedState() {\n const mountedRef = useRef(false)\n const get = useCallback(() => mountedRef.current, [])\n\n useEffect(() => {\n mountedRef.current = true\n\n return () => {\n mountedRef.current = false\n }\n })\n\n return get\n}\n","import { useCallback, useState, useRef } from 'react'\nimport useMountedState from './useMountedState'\n\nexport default function useAsyncFn(\n fn,\n deps = [],\n initialState = { loading: false }\n) {\n const lastCallId = useRef(0)\n const isMounted = useMountedState()\n const [state, set] = useState(initialState)\n\n const callback = useCallback((...args) => {\n const callId = ++lastCallId.current\n set((prevState) => ({ ...prevState, loading: true }))\n\n return fn(...args).then(\n (value) => {\n isMounted() &&\n callId === lastCallId.current &&\n set({ value, loading: false })\n\n return value\n },\n (error) => {\n isMounted() &&\n callId === lastCallId.current &&\n set({ error, loading: false })\n\n return error\n }\n )\n }, deps)\n\n return [state, callback]\n}\n","import { useEffect } from 'react'\nimport useAsyncFn from './useAsyncFn'\n\nexport default function useAsync(fn, deps = []) {\n const [state, callback] = useAsyncFn(fn, deps, {\n loading: true,\n })\n\n useEffect(() => {\n callback()\n }, [callback])\n\n return state\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport useAsync from '../../hooks/useAsync'\nimport { useIntl, defineMessages } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nconst messages = defineMessages({\n available_addons: {\n id: 'available_addons',\n defaultMessage: 'Available Addons',\n },\n no_available_addons_container: {\n id: 'no_available_addons_container',\n defaultMessage: 'No Addon available in this container',\n },\n installed_addons: {\n id: 'installed_addons',\n defaultMessage: 'Installed Addons',\n },\n})\n\n// TODO: Refactor without useAsync... just crudContext\nexport function PanelAddons(props) {\n const intl = useIntl()\n const Ctx = useTraversal()\n let [action, setAction] = React.useState(false)\n\n const installAddon = async (Ctx, key) => {\n await Ctx.client.installAddon(Ctx.pathPrefix, key)\n Ctx.flash(`Addon ${key} installed`, 'success')\n setAction(!action)\n }\n\n const removeAddon = async (Ctx, key) => {\n await Ctx.client.removeAddon(Ctx.pathPrefix, key)\n Ctx.flash(`Addon ${key} removed`, 'success')\n setAction(!action)\n }\n\n const state = useAsync(async () => {\n const response = await Ctx.client.getAddons(Ctx.pathPrefix)\n const data = await response.json()\n return prepareData(data)\n }, [action])\n\n return (\n <React.Fragment>\n {state.loading ? (\n <div>{intl.formatMessage(genericMessages.loading)}</div>\n ) : state.error ? (\n <p>Error: {state.error.message}</p>\n ) : (\n <div className=\"columns\">\n <div className=\"column\">\n <h2 className=\"title is-size-4 has-text-grey-dark\">\n {intl.formatMessage(messages.available_addons)}\n </h2>\n <hr />\n {state.value.available.length === 0 && (\n <p>\n {intl.formatMessage(messages.no_available_addons_container)}\n </p>\n )}\n <table className=\"table is-12\">\n <tbody>\n {state.value.available.map((addon) => (\n <tr>\n <td>{addon.title}</td>\n <td>\n <button\n className=\"button is-primary is-small\"\n onClick={() => installAddon(Ctx, addon.id)}\n >\n {intl.formatMessage(genericMessages.install)}\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n <div className=\"column\">\n <h2 className=\"title is-size-4 has-text-grey-dark\">\n {intl.formatMessage(messages.installed_addons)}\n </h2>\n <hr />\n {state.value.installed.length === 0 && (\n <p>\n {intl.formatMessage(messages.no_available_addons_container)}\n </p>\n )}\n <table className=\"table is-12\">\n <tbody>\n {state.value.installed.map((addon) => (\n <tr>\n <td>{addon.title}</td>\n <td>\n <button\n className=\"button is-danger is-small\"\n onClick={() => removeAddon(Ctx, addon.id)}\n >\n {intl.formatMessage(genericMessages.remove)}\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n )}\n </React.Fragment>\n )\n}\n\nconst prepareData = (result) => {\n const addons = arrayToObject(result.available)\n return {\n available: result.available.filter(\n (item) => !result.installed.includes(item.id)\n ),\n installed: result.installed.map((id) => addons[id]),\n }\n}\n\nconst arrayToObject = (array) =>\n array.reduce((obj, item) => {\n obj[item.id] = item\n return obj\n }, {})\n","import React from 'react'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { Table } from '../ui/table'\nimport { Button } from '../input/button'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function PanelBehaviors() {\n const intl = useIntl()\n const { Ctx, get, result, loading, isError } = useCrudContext()\n const ops = useCrudContext()\n\n const [state, setState] = React.useState(false)\n\n const enableBehavior = (behavior) => async () => {\n await ops.patch({ behavior }, '@behaviors')\n setState(!state)\n Ctx.refresh()\n }\n\n const disableBehavior = (behavior) => async () => {\n await ops.del({ behavior }, '@behaviors')\n setState(!state)\n Ctx.refresh()\n }\n\n React.useEffect(() => {\n get('@behaviors')\n }, [])\n\n return (\n <div className=\"columns behaviors\">\n <div className=\"column is-8 is-size-7\">\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n {intl.formatMessage(genericMessages.behaviors)}\n </h2>\n {!loading && !isError && result && (\n <React.Fragment>\n <Table>\n <tr>\n <td colSpan=\"3\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage(genericMessages.static)}\n </h3>\n </td>\n </tr>\n {result.static.map((behavior) => (\n <tr key={behavior}>\n <td>{intl.formatMessage(genericMessages.static)}</td>\n <td>{behavior}</td>\n <td className=\"\">\n <Button className=\"is-small is-pulled-right\" disabled>\n {intl.formatMessage(genericMessages.disable)}\n </Button>\n </td>\n </tr>\n ))}\n </Table>\n <Table>\n <tr>\n <td colSpan=\"3\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage(genericMessages.enabled)}\n </h3>\n </td>\n </tr>\n {result.dynamic.map((behavior) => (\n <tr key={behavior}>\n <td>{intl.formatMessage(genericMessages.enabled)}</td>\n <td>{behavior}</td>\n <td>\n <Button\n className=\"is-small is-danger is-pulled-right\"\n onClick={disableBehavior(behavior)}\n >\n {intl.formatMessage(genericMessages.disable)}\n </Button>\n </td>\n </tr>\n ))}\n </Table>\n <Table>\n <tr>\n <td colSpan=\"3\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage(genericMessages.available)}\n </h3>\n </td>\n </tr>\n {result.available.map((behavior) => (\n <tr key={behavior}>\n <td>{intl.formatMessage(genericMessages.available)}</td>\n <td>{behavior}</td>\n <td>\n <Button\n className=\"is-small is-primary is-pulled-right\"\n onClick={enableBehavior(behavior)}\n >\n {intl.formatMessage(genericMessages.enable)}\n </Button>\n </td>\n </tr>\n ))}\n </Table>\n </React.Fragment>\n )}\n </div>\n <div className=\"column is-4\"></div>\n </div>\n )\n}\n","import React, { createContext, useState, useContext } from 'react'\nimport Dropdown from './input/dropdown'\nimport { Checkbox } from './input/checkbox'\nimport { useTraversal } from '../contexts'\nimport { useIntl } from 'react-intl'\nimport { getActionsObject } from '../lib/helpers'\n\nconst ItemsActionsCtx = createContext({})\n\n/**\n * Actions to apply after select some items\n * Ex: Delete, Move, Copy...\n */\nexport function ItemsActionsProvider({ items, children }) {\n const intl = useIntl()\n const actions = getActionsObject(intl, true)\n const traversal = useTraversal()\n const [selected, setSelected] = useState({})\n function onSelectAllItems(checked) {\n setSelected(\n items.reduce(\n (obj, item) => {\n obj[`${item.path}/${item.id}`] = checked\n return obj\n },\n { all: checked }\n )\n )\n }\n\n function onSelectOneItem(item) {\n setSelected((state) => ({\n ...state,\n all: false,\n [`${item.path}/${item.id}`]: !state[`${item.path}/${item.id}`],\n }))\n }\n\n function onAction(actionKey) {\n traversal.doAction(actions[actionKey].action, {\n items: items.filter((item) => selected[`${item.path}/${item.id}`]),\n })\n }\n\n return (\n <ItemsActionsCtx.Provider\n value={{\n onAction,\n onSelectAllItems,\n onSelectOneItem,\n selected,\n }}\n >\n {children}\n </ItemsActionsCtx.Provider>\n )\n}\n\n/**\n * Checkbox component without props that consume the ItemsActionsContext\n * and it select/unselect all items of the page.\n */\nexport function AllItemsCheckbox({ dataTest }) {\n const { onSelectAllItems, selected } = useContext(ItemsActionsCtx)\n\n return (\n <Checkbox\n key={selected.all}\n onChange={onSelectAllItems}\n style={{ marginLeft: 2 }}\n value={selected.all}\n dataTest={dataTest}\n />\n )\n}\n\n/**\n * Checkbox component to select ONE item.\n */\nexport function ItemCheckbox({ item, dataTest }) {\n const { selected, onSelectOneItem } = useContext(ItemsActionsCtx)\n const absId = `${item.path}/${item.id}`\n const value = selected[absId]\n\n return (\n <Checkbox\n key={value}\n onChange={() => onSelectOneItem(item)}\n value={value}\n dataTest={dataTest}\n />\n )\n}\n\n/**\n * Dropdown to choose some action to apply to the selected items.\n */\nexport function ItemsActionsDropdown() {\n const intl = useIntl()\n const ACTIONS_OBJECT = getActionsObject(intl, true)\n const traversal = useTraversal()\n const { selected, onAction } = useContext(ItemsActionsCtx)\n const disabled = Object.values(selected).every((v) => !v)\n const options = Object.keys(ACTIONS_OBJECT).map((action) => ({\n text: ACTIONS_OBJECT[action].text,\n value: action,\n }))\n\n return (\n <Dropdown\n disabled={disabled}\n id=\"items-actions\"\n onChange={onAction}\n optionDisabledWhen={(o) =>\n ACTIONS_OBJECT[o.value].perms.some((perm) => !traversal.hasPerm(perm))\n }\n options={options}\n >\n <div data-test=\"btnChooseActionTest\">\n {intl.formatMessage({\n id: 'choose_action',\n defaultMessage: 'Choose action...',\n })}\n </div>\n </Dropdown>\n )\n}\n","import React from 'react'\nimport { useIntl } from 'react-intl'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\nexport function Pagination({ current, total, doPaginate, pager }) {\n const intl = useIntl()\n const maxPages = Math.ceil(total / pager)\n if (maxPages <= 1) {\n return null\n }\n\n return (\n <div>\n <p className=\"level-right has-text-grey is-size-7\">\n <span>\n {intl.formatMessage(\n {\n id: 'pagination',\n defaultMessage:\n '{currentPage} / {totalPages} of {totalItems} items',\n },\n {\n currentPage: current + 1,\n totalPages: maxPages,\n totalItems: total,\n }\n )}\n </span>\n </p>\n <nav\n className=\"pagination is-size-7\"\n role=\"navigation\"\n aria-label=\"pagination\"\n >\n <a\n className=\"pagination-previous is-small\"\n disabled={current === 0}\n onClick={() => (current > 0 ? doPaginate(current - 1) : null)}\n >\n <span className=\"icon\">\n <i className=\"fas fa-arrow-left\"></i>\n </span>\n </a>\n <a\n className=\"pagination-next is-small\"\n disabled={current >= maxPages - 1}\n onClick={() => doPaginate(current + 1)}\n >\n <span className=\"icon\">\n <i className=\"fas fa-arrow-right\"></i>\n </span>\n </a>\n </nav>\n </div>\n )\n}\n","import React from 'react'\n\nimport { ItemModel } from '../models'\nimport { useLocation } from '../hooks/useLocation'\nimport { useTraversal } from '../contexts'\nimport { Icon } from './ui/icon'\nimport { ItemCheckbox } from './selected_items_actions'\nimport { Delete } from './ui'\n\nexport function Item({ item, icon }) {\n const [, navigate] = useLocation()\n const link = () => navigate({ path: item.path }, true)\n return (\n <tr>\n <td onClick={link} style={{ width: '25px' }}>\n {icon && <Icon icon={icon} />}\n </td>\n <td onClick={link}>{item.id}</td>\n </tr>\n )\n}\n\nconst smallcss = {\n width: 25,\n}\n\nexport function RItem({ item, search, columns }) {\n const [, navigate] = useLocation()\n const traversal = useTraversal()\n const model = new ItemModel(item, traversal.url, traversal.path)\n const link = () => navigate({ path: model.path }, true)\n\n return (\n <tr key={item} data-test={`itemTest-${item['@name']}`}>\n <td style={smallcss}>\n <ItemCheckbox item={item} dataTest=\"itemCheckboxRowTest\" />\n </td>\n {columns.map((i) => (\n <React.Fragment key={i.label}>\n {i.child(model, link, search)}\n </React.Fragment>\n ))}\n <td style={smallcss}>\n {traversal.hasPerm('guillotina.DeleteContent') && (\n <Delete\n onClick={() =>\n traversal.doAction('removeItems', { items: [model.item] })\n }\n />\n )}\n </td>\n </tr>\n )\n}\n\nexport function ItemTitle({ title, actions }) {\n return (\n <nav className=\"level\">\n <div className=\"level-left\">\n <div className=\"level-item\">\n <h4 className=\"title has-text-primary is-size-5\">{title}</h4>\n </div>\n </div>\n <div className=\"level-right\">\n <div className=\"level-item\">{actions && actions}</div>\n </div>\n </nav>\n )\n}\n","import React from 'react'\nimport { Tag } from './ui/tag'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function SearchLabels(props) {\n const { query } = props\n const [location, , del] = useLocation()\n const search = location.get(query ?? 'q')\n\n const clearSearch = () => {\n del(query ?? 'q')\n }\n\n if (search) {\n return (\n <div className=\"tags\">\n <Tag\n id={search}\n name={search}\n color=\"is-info\"\n size=\"is-size-7\"\n onRemove={() => clearSearch()}\n />\n </div>\n )\n }\n return null\n}\n","import React, { useEffect, useState } from 'react'\nimport { Tag } from './ui/tag'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function SearchOptionsLabels(props) {\n const { query = 'q', options } = props\n const [location, , del] = useLocation()\n const [renderValue, setRenderValue] = useState(undefined)\n const defaultRenderValue = location.get(query)\n\n useEffect(() => {\n let value = defaultRenderValue\n if ((options ?? []).length > 0) {\n const option = options.find((item) => item.value === value)\n if (option) {\n value = option.text\n }\n }\n setRenderValue(value)\n }, [defaultRenderValue])\n\n const clearSearch = () => {\n del(query)\n }\n\n if (renderValue) {\n return (\n <div className=\"tags\">\n <Tag\n id={defaultRenderValue}\n name={renderValue}\n color=\"is-info\"\n size=\"is-size-7\"\n onRemove={() => clearSearch()}\n />\n </div>\n )\n }\n return null\n}\n","import React, { useEffect, useState } from 'react'\nimport { Tag } from './ui/tag'\nimport { useLocation } from '../hooks/useLocation'\nimport { useVocabulary } from '../hooks/useVocabulary'\nimport { get } from '../lib/utils'\n\nexport function SearchVocabularyLabels(props) {\n const { query = 'q' } = props\n const [location, , del] = useLocation()\n const [renderValue, setRenderValue] = useState(undefined)\n const vocabulary = useVocabulary(props?.vocabulary)\n const defaultRenderValue = location.get(query)\n\n useEffect(() => {\n let value = defaultRenderValue\n if (get(vocabulary, 'data.items', []).length > 0) {\n const vocabularyValue = get(vocabulary, 'data.items', []).find(\n (item) => item.token === value\n )\n if (vocabularyValue) {\n value = vocabularyValue.title\n }\n }\n setRenderValue(value)\n }, [vocabulary, defaultRenderValue])\n\n const clearSearch = () => {\n del(query)\n }\n\n if (renderValue) {\n return (\n <div className=\"tags\">\n <Tag\n id={defaultRenderValue}\n name={renderValue}\n color=\"is-info\"\n size=\"is-size-7\"\n onRemove={() => clearSearch()}\n />\n </div>\n )\n }\n return null\n}\n","import React from 'react'\n\nimport useSetState from '../../hooks/useSetState'\nimport {\n ItemsActionsProvider,\n AllItemsCheckbox,\n ItemsActionsDropdown,\n} from '../selected_items_actions'\nimport { Pagination } from '../pagination'\nimport { RItem } from '../item'\nimport { SearchLabels } from '../search_labels'\nimport { SearchOptionsLabels } from '../search_options_labels'\nimport { SearchVocabularyLabels } from '../search_vocabulary_labels'\nimport { useTraversal } from '../../contexts'\nimport { buildQs } from '../../lib/search'\nimport { parser } from '../../lib/search'\nimport { useConfig } from '../../hooks/useConfig'\nimport { useEffect } from 'react'\nimport { useLocation } from '../../hooks/useLocation'\nimport { Select } from '../input/select'\nimport { Input } from '../input/input'\nimport { SelectVocabulary } from '../input/select_vocabulary'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\nconst initialState = {\n page: 0,\n items: [],\n loading: true,\n total: 0,\n}\n\nexport function PanelItems() {\n const [location, setLocation, del] = useLocation()\n const { PageSize, SearchEngine } = useConfig()\n const intl = useIntl()\n\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initialState)\n const { items, loading, total } = state\n\n const filterSchema =\n Ctx.registry.getSchemas(Ctx.context['@type']).filters || []\n\n const columns =\n Ctx.registry.getItemsColumn(Ctx.context['@type']) ||\n Ctx.client.getItemsColumn()\n\n let search = location.get('q')\n let type = location.get('type')\n let sort = location.get('sort')\n const sortDirection = location.get('sort_direction')\n let page\n\n try {\n page = parseInt(location.get('page')) || 0\n } catch {\n page = 0\n }\n\n let searchParsed = undefined\n if (search && search !== '') {\n const fieldsToFilter = Ctx.registry.getFieldsToFilter(Ctx.context['@type'])\n searchParsed = parser(search, fieldsToFilter)\n }\n\n let typeParsed = undefined\n if (type && type !== '') {\n typeParsed = parser(type, 'type_name')\n }\n\n let sortParsed = undefined\n if (sort && sort !== '') {\n if (sortDirection === 'asc') {\n sortParsed = parser(`_sort_asc=${sort}`)\n } else if (sortDirection === 'des') {\n sortParsed = parser(`_sort_des=${sort}`)\n }\n }\n\n const onSort = (key) => {\n if (sort === key && sortDirection === 'des') {\n setLocation({\n sort: key,\n sort_direction: 'asc',\n page: 0,\n })\n } else {\n setLocation({\n sort: key,\n sort_direction: 'des',\n page: 0,\n })\n }\n }\n\n let resultQueryParams = []\n let resultDynamicLocation = []\n filterSchema.forEach((filter) => {\n const itemParam = location.get(filter.attribute_key)\n resultDynamicLocation.push(itemParam)\n if (itemParam) {\n const filterParsed = parser(itemParam, filter.attribute_key)\n resultQueryParams = [...resultQueryParams, ...filterParsed]\n }\n })\n\n useEffect(() => {\n const controller = new AbortController()\n if (Ctx.state.loading) return\n ;(async () => {\n let data\n setState({ loading: true, total: Ctx.context.length })\n const { get } = Ctx.registry\n const fnName = get('searchEngineQueryParamsFunction', SearchEngine)\n\n let qsParsed = Ctx.client[fnName]({\n path: Ctx.path,\n start: page * PageSize,\n pageSize: PageSize,\n })\n let qs = ''\n if (search || type || sort || resultQueryParams.length > 0) {\n qs = buildQs([\n ...qsParsed,\n ...(searchParsed ?? []),\n ...(typeParsed ?? []),\n ...(sortParsed ?? []),\n ...resultQueryParams,\n ])\n } else {\n qs = buildQs(qsParsed)\n }\n\n const { signal } = controller\n data = await Ctx.client.search(Ctx.path, qs, false, false, { signal })\n setState({\n items: data.member,\n loading: false,\n total: data.items_count,\n })\n })()\n return () => {\n controller.abort()\n }\n }, [\n search,\n type,\n Ctx.state.refresh,\n page,\n sort,\n sortDirection,\n ...resultDynamicLocation,\n ])\n\n const doPaginate = (page) => {\n setLocation({ page: page })\n }\n\n const getIcon = (key, isSortable) => {\n let icon = null\n if (isSortable) {\n if (sort !== key) {\n icon = <i className=\"fas fa-sort\" />\n } else if (sortDirection === 'des') {\n icon = <i className=\"fas fa-sort-down\" />\n } else {\n icon = <i className=\"fas fa-sort-up\"></i>\n }\n }\n return <span className=\"icon is-small\">{icon}</span>\n }\n\n return (\n <ItemsActionsProvider items={items}>\n {filterSchema.length > 0 && (\n <div className=\"filters-items-view\">\n {filterSchema.map((filter) => {\n if (filter.type === 'select' && (filter.values ?? []).length > 0) {\n return (\n <Select\n key={`filter-${filter.attribute_key}`}\n id={filter.attribute_key}\n placeholder={filter.label}\n appendDefault\n classWrap=\"is-size-7 is-fullwidth\"\n options={filter.values}\n value={location.get(filter.attribute_key) || ''}\n dataTest={`filterInput${filter.attribute_key}`}\n onChange={(value) => {\n if (value && value !== '') {\n setLocation({\n [filter.attribute_key]: value,\n tab: 'Items',\n page: 0,\n })\n } else {\n del(filter.attribute_key)\n }\n }}\n />\n )\n } else if (filter.type === 'select' && filter.vocabulary) {\n return (\n <SelectVocabulary\n key={`filter-${filter.attribute_key}`}\n id={filter.attribute_key}\n placeholder={filter.label}\n appendDefault\n vocabularyName={filter.vocabulary}\n classWrap=\"is-size-7 is-fullwidth\"\n value={location.get(filter.attribute_key) || ''}\n dataTest={`filterInput${filter.attribute_key}`}\n onChange={(value) => {\n if (value && value !== '') {\n setLocation({\n [filter.attribute_key]: value,\n tab: 'Items',\n page: 0,\n })\n } else {\n del(filter.attribute_key)\n }\n }}\n />\n )\n } else if (filter.type === 'input') {\n return (\n <Input\n id={filter.attribute_key}\n key={`filter-${filter.attribute_key}`}\n placeholder={filter.label}\n className=\"is-size-7 is-fullwidth\"\n type={filter.input_type || 'text'}\n value={location.get(filter.attribute_key) || ''}\n dataTest={`filterInput${filter.attribute_key}`}\n onChange={(value) => {\n if (value && value !== '') {\n setLocation({\n [filter.attribute_key]: value,\n tab: 'Items',\n page: 0,\n })\n } else {\n del(filter.attribute_key)\n }\n }}\n />\n )\n }\n return null\n })}\n </div>\n )}\n <div className=\"wrapper-filters-info\">\n <div className=\"is-size-7\">\n <ItemsActionsDropdown />\n </div>\n <div className=\"wrapper-filters-tags\">\n {location.get('q') && <SearchLabels />}\n {location.get('type') && <SearchLabels query=\"type\" />}\n\n {(filterSchema ?? []).map((filter) => {\n const filterData = location.get(filter.attribute_key)\n if (filterData) {\n if (filter.type === 'select' && filter.vocabulary) {\n return (\n <div key={filter.attribute_key}>\n <SearchVocabularyLabels\n query={filter.attribute_key}\n vocabulary={filter?.vocabulary}\n />\n </div>\n )\n } else if (\n filter.type === 'select' &&\n (filter.values ?? []).length > 0\n ) {\n return (\n <div key={filter.attribute_key}>\n <SearchOptionsLabels\n query={filter.attribute_key}\n options={filter?.values}\n />\n </div>\n )\n }\n return (\n <div key={filter.attribute_key}>\n <SearchLabels query={filter.attribute_key} />\n </div>\n )\n }\n return null\n })}\n </div>\n <div>\n <Pagination\n current={page}\n total={total}\n key=\"pagination-top\"\n doPaginate={doPaginate}\n pager={PageSize}\n />\n </div>\n </div>\n\n {loading && <div className=\"progress-line\"></div>}\n {!loading && (\n <table\n className=\"table is-fullwidth is-hoverable\"\n data-test=\"itemPanelTableTest\"\n >\n <thead className=\"is-size-7\">\n <tr>\n <th>\n <AllItemsCheckbox />\n </th>\n {columns.map((column) => (\n <th\n key={`table-col-${column.label}`}\n onClick={() => column.isSortable && onSort(column.key)}\n data-test={`sortableColumn${column.key}`}\n >\n <div className=\"has-text-info is-flex is-align-items-center\">\n <span>{column.label}</span>\n {getIcon(column.key, column.isSortable)}\n </div>\n </th>\n ))}\n <th>&nbsp;</th>\n </tr>\n </thead>\n <tbody>\n {items &&\n items.map((item) => (\n <RItem\n item={item}\n key={item['@uid']}\n search={search}\n columns={columns}\n />\n ))}\n {items && items.length === 0 && (\n <tr>\n <td colSpan=\"6\" className=\"has-text-centered\">\n {intl.formatMessage(genericMessages.no_results)}\n </td>\n </tr>\n )}\n </tbody>\n </table>\n )}\n <div className=\"columns is-centered\">\n <Pagination\n current={page}\n key=\"pagination-bottom\"\n total={total}\n doPaginate={doPaginate}\n pager={PageSize}\n />\n </div>\n </ItemsActionsProvider>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { get } from '../lib/utils'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function BehaviorsView({ context, schema }) {\n const Ctx = useTraversal()\n const { getBehavior } = Ctx.registry\n\n const behaviors = [].concat(\n context.__behaviors__,\n context['@static_behaviors']\n )\n const GetBehavior = (b) => {\n const Cls = getBehavior(b, BehaviorNotImplemented)\n return (\n <Cls\n values={context[b]}\n properties={get(schema, ['definitions', b, 'properties'], {})}\n />\n )\n }\n\n return (\n <React.Fragment>\n {behaviors.map((behavior) => (\n <div className=\"container\" key={behavior}>\n <h3 className=\"title is-size-6 has-text-grey\">{behavior}</h3>\n {GetBehavior(behavior)}\n <hr />\n </div>\n ))}\n </React.Fragment>\n )\n}\n\nexport function BehaviorNotImplemented() {\n const intl = useIntl()\n return (\n <tr>\n <td colSpan=\"3\">{intl.formatMessage(genericMessages.not_implemented)}</td>\n </tr>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\n\nexport function PropertiesButtonView() {\n const Ctx = useTraversal()\n const { getProperties } = Ctx.registry\n\n const Props = getProperties(Ctx.context['@type'])\n\n if (Props.Buttons) {\n const Element = React.cloneElement(Props.Buttons, { Ctx: Ctx })\n return Element\n }\n return null\n}\n\nexport function PropertiesView() {\n const Ctx = useTraversal()\n const { getProperties } = Ctx.registry\n const Props = getProperties(Ctx.context['@type'])\n\n if (Props.Panels) {\n const Element = React.cloneElement(Props.Panels, { Ctx: Ctx })\n return Element\n }\n return null\n}\n","import React, { useEffect } from 'react'\nimport { ItemModel } from '../../models'\nimport { BehaviorsView } from '../behavior_view'\nimport { Icon } from '../ui/icon'\nimport { EditableField } from '../fields/editableField'\nimport { PropertiesButtonView } from '../properties_view'\nimport { PropertiesView } from '../properties_view'\nimport { useConfig } from '../../hooks/useConfig'\nimport useSetState from '../../hooks/useSetState'\nimport { useTraversal } from '../../contexts'\nimport { get } from '../../lib/utils'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nconst _showProperties = ['@id', '@name', '@uid']\nconst _ignoreFields = [\n 'guillotina.behaviors.dublincore.IDublinCore',\n 'guillotina.behaviors.attachment.IAttachment',\n 'guillotina.behaviors.attachment.IMultiAttachment',\n 'guillotina.contrib.workflows.interfaces.IWorkflowBehavior',\n 'guillotina.contrib.image.behaviors.IImageAttachment',\n 'guillotina.contrib.image.behaviors.IMultiImageAttachment',\n 'guillotina.contrib.image.behaviors.IMultiImageOrderedAttachment',\n '__behaviors__',\n 'type_name',\n 'creation_date',\n 'modification_date',\n 'uuid',\n 'title',\n]\n\nexport function PanelProperties() {\n const intl = useIntl()\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n const cfg = useConfig()\n\n const [schema, setSchema] = useSetState({\n data: undefined,\n loading: false,\n error: undefined,\n })\n\n const model = new ItemModel(Ctx.context)\n\n const showProperties =\n Ctx.registry.getProperties(Ctx.context['@type']).default ||\n cfg.properties_default ||\n _showProperties\n\n const ignoreFields =\n Ctx.registry.getProperties(Ctx.context['@type']).ignoreField ||\n cfg.properties_ignore_fields ||\n _ignoreFields\n\n const properties = Object.keys(schema?.data?.properties || [])\n .filter((key) => !ignoreFields.includes(key))\n .map((key) => ({ key, value: schema.data.properties[key] }))\n\n useEffect(() => {\n ;(async () => {\n if (!schema.loading && !schema.data && !schema.error) {\n try {\n setSchema({ loading: true })\n const dataJson = await Ctx.client.getTypeSchema(Ctx.path, model.type)\n setSchema({ loading: false, data: dataJson })\n } catch (err) {\n setSchema({ loading: false, error: err })\n }\n }\n })()\n }, [schema])\n\n return (\n <div className=\"container\">\n <div className=\"level\">\n <div className=\"level-left\">\n <h2 className=\"title is-size-4 is-primary\">\n <Icon icon={model.icon} align=\"is-left\" className=\"has-text-grey\" />\n &nbsp;\n <span>{Ctx.context.title || Ctx.context['@name']}</span>\n </h2>\n </div>\n <div className=\"level-right\">\n <PropertiesButtonView />\n </div>\n </div>\n\n <hr />\n {schema && schema.data && !schema.loading && (\n <div className=\"columns\">\n <div className=\"column\">\n <table className=\"table is-striped is-fullwidth is-size-7\">\n <thead>\n <tr>\n <th style={{ width: '150px' }} className=\"is-2\">\n {intl.formatMessage(genericMessages.property)}\n </th>\n <th className=\"is-8\">\n {intl.formatMessage(genericMessages.value)}\n </th>\n </tr>\n </thead>\n <tbody>\n {showProperties.map((prop) => (\n <tr key={'prop' + prop}>\n <td style={{ width: '150px' }}>{prop}</td>\n <td>\n <EditableField\n field={prop}\n value={Ctx.context[prop]}\n modifyContent={false}\n />\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n {properties.length > 0 && (\n <table className=\"table is-striped is-fullwidth is-size-7\">\n <thead>\n <tr>\n <th style={{ width: '150px' }} className=\"is-2\">\n {intl.formatMessage(genericMessages.property)}\n </th>\n <th className=\"is-8\">\n {intl.formatMessage(genericMessages.value)}\n </th>\n </tr>\n </thead>\n <tbody>\n {properties.map(({ key, value }) => {\n return (\n <tr key={'prop' + key}>\n <td style={{ width: '150px' }}>{value.title || key}</td>\n <td>\n <EditableField\n field={key}\n value={Ctx.context[key]}\n schema={value}\n modifyContent={modifyContent}\n required={get(schema.data, 'required', []).includes(\n key\n )}\n />\n </td>\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n <PropertiesView />\n <BehaviorsView context={Ctx.context} schema={schema.data} />\n </div>\n </div>\n )}\n </div>\n )\n}\n","import React from 'react'\n\nimport ErrorZone from '../error_zone'\nimport useSetState from '../../hooks/useSetState'\nimport { Button } from '../input/button'\nimport { Select } from '../input/select'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function PermissionPrinperm({\n principals,\n permissions,\n operations,\n refresh,\n}) {\n const Ctx = useTraversal()\n const intl = useIntl()\n const { post, loading } = useCrudContext()\n const [state, setState] = useSetState({\n principal: undefined,\n permission: [],\n setting: undefined,\n error: undefined,\n })\n\n const getMultiples = (field, setter) => (values) => {\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.principal || !state.setting || state.permission.length === 0) {\n setState({ error: intl.formatMessage(genericMessages.invalid_form) })\n return\n }\n setState({ error: undefined })\n const data = {\n prinperm: state.permission.map((perm) => ({\n principal: state.principal,\n permission: perm,\n setting: state.setting,\n })),\n }\n const { isError, errorMessage } = await post(data, '@sharing', false)\n if (!isError) {\n Ctx.flash('Permission updated!', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n refresh(Math.random())\n }\n\n return (\n <div className=\"container\">\n {loading}\n {state.error && (\n <ErrorZone>\n {intl.formatMessage(genericMessages.invalid_form_data)}\n </ErrorZone>\n )}\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_principal)}\n </label>\n <Select\n appendDefault\n options={principals}\n onChange={(value) => setState({ principal: value })}\n dataTest=\"selectPrincipalTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_permissions)}\n </label>\n <Select\n options={permissions}\n onChange={getMultiples('permission', setState)}\n size={5}\n multiple\n dataTest=\"selectPermissionsTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.operation)}\n </label>\n <Select\n appendDefault\n options={operations}\n onChange={(value) => setState({ setting: value })}\n dataTest=\"operationPermissionsTest\"\n />\n </div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={savePermission}\n dataTest=\"btnSubmitPermissionsTest\"\n >\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </div>\n )\n}\n","import React from 'react'\n\nimport ErrorZone from '../error_zone'\nimport useSetState from '../../hooks/useSetState'\nimport { Button } from '../input/button'\nimport { Select } from '../input/select'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function PermissionPrinrole({ principals, roles, operations, refresh }) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const { post, loading } = useCrudContext()\n const [state, setState] = useSetState({\n principal: undefined,\n roles: [],\n setting: undefined,\n error: undefined,\n })\n\n const getMultiples = (field, setter) => (values) => {\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.principal || !state.setting || state.roles.length === 0) {\n setState({ error: intl.formatMessage(genericMessages.invalid_form_data) })\n return\n }\n setState({ error: undefined })\n const data = {\n prinrole: state.roles.map((perm) => ({\n principal: state.principal,\n role: perm,\n setting: state.setting,\n })),\n }\n const { isError, errorMessage } = await post(data, '@sharing', false)\n if (!isError) {\n Ctx.flash('Permission updated!', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n refresh(Math.random())\n }\n\n return (\n <div className=\"container\">\n {loading}\n {state.error && (\n <ErrorZone>\n {intl.formatMessage(genericMessages.invalid_form_data)}\n </ErrorZone>\n )}\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_principal)}\n </label>\n <Select\n appendDefault\n options={principals}\n onChange={(value) => setState({ principal: value })}\n dataTest=\"selectPrincipalTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_role)}\n </label>\n <Select\n options={roles}\n onChange={getMultiples('roles', setState)}\n size={5}\n multiple\n dataTest=\"selectRoleTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.operation)}\n </label>\n <Select\n appendDefault\n options={operations}\n onChange={(value) => setState({ setting: value })}\n dataTest=\"operationPermissionsTest\"\n />\n </div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={savePermission}\n dataTest=\"btnSubmitPermissionsTest\"\n >\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </div>\n )\n}\n","import React from 'react'\n\nimport ErrorZone from '../error_zone'\nimport useSetState from '../../hooks/useSetState'\nimport { Button } from '../input/button'\nimport { Select } from '../input/select'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useTraversal } from '../../contexts'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nexport function PermissionRoleperm({\n roles,\n permissions,\n operations,\n refresh,\n}) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const { post, loading } = useCrudContext()\n const [state, setState] = useSetState({\n role: undefined,\n permission: [],\n setting: undefined,\n error: undefined,\n })\n\n const getMultiples = (field, setter) => (values) => {\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.role || !state.setting || state.permission.length === 0) {\n setState({ error: intl.formatMessage(genericMessages.invalid_form) })\n return\n }\n setState({ error: undefined })\n const data = {\n roleperm: state.permission.map((perm) => ({\n role: state.role,\n permission: perm,\n setting: state.setting,\n })),\n }\n const { isError, errorMessage } = await post(data, '@sharing', false)\n if (!isError) {\n Ctx.flash('Permission updated!', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n\n refresh(Math.random())\n }\n\n return (\n <div className=\"container\">\n {loading}\n {state.error && (\n <ErrorZone>\n {intl.formatMessage(genericMessages.invalid_form_data)}\n </ErrorZone>\n )}\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_role)}\n </label>\n <Select\n appendDefault\n options={roles}\n onChange={(value) => setState({ role: value })}\n dataTest=\"selectRoleTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.select_permissions)}\n </label>\n <Select\n options={permissions}\n onChange={getMultiples('permission', setState)}\n dataTest=\"selectPermissionsTest\"\n size={5}\n multiple\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.operation)}\n </label>\n <Select\n appendDefault\n options={operations}\n onChange={(value) => setState({ setting: value })}\n dataTest=\"operationPermissionsTest\"\n />\n </div>\n <Button\n className=\"is-primary is-small\"\n loading={loading}\n onClick={savePermission}\n dataTest=\"btnSubmitPermissionsTest\"\n >\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </div>\n )\n}\n","import React from 'react'\n\nimport useSetState from '../../hooks/useSetState'\nimport { PermissionPrinperm } from './permissions_prinperm'\nimport { PermissionPrinrole } from './permissions_prinrole'\nimport { PermissionRoleperm } from './permissions_roleperm'\nimport { Select } from '../input/select'\nimport { Sharing } from '../../models'\nimport { Table } from '../ui/table'\nimport { useCrudContext } from '../../hooks/useCrudContext'\nimport { useTraversal } from '../../contexts'\nimport { defineMessages, useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nconst messages = defineMessages({\n role_permissions: {\n id: 'role_permissions',\n defaultMessage: 'Role Permissions',\n },\n no_role_permissions: {\n id: 'no_role_permissions',\n defaultMessage: 'No roles permissions defined',\n },\n no_principal_permissions: {\n id: 'no_principal_permissions',\n defaultMessage: 'No principal permissions defined',\n },\n no_principal_roles: {\n id: 'no_principal_roles',\n defaultMessage: 'No principal roles defined',\n },\n principal_permissions: {\n id: 'principal_permissions',\n defaultMessage: 'Principal Permissions',\n },\n principal_roles: {\n id: 'principal_roles',\n defaultMessage: 'Principal Roles',\n },\n allow: {\n id: 'allow',\n defaultMessage: 'Allow',\n },\n deny: {\n id: 'deny',\n defaultMessage: 'Deny',\n },\n allow_single: {\n id: 'allow_single',\n defaultMessage: 'AllowSingle',\n },\n unset: {\n id: 'unset',\n defaultMessage: 'Unset',\n },\n add_permissions: {\n id: 'add_permissions',\n defaultMessage: 'Add Permissions',\n },\n select_type: {\n id: 'select_type',\n defaultMessage: 'Select a type:',\n },\n})\n\nexport function PanelPermissions() {\n const intl = useIntl()\n const { get, result, loading } = useCrudContext()\n const ctx = useTraversal()\n\n const [reset, setReset] = React.useState(1)\n\n React.useEffect(() => {\n get('@sharing')\n }, [reset])\n\n const perms = new Sharing(result)\n\n return (\n <div className=\"columns\">\n {!loading && (\n <div\n className=\"column is-8 is-size-7 permissions\"\n data-test=\"containerPermissionsInfoTest\"\n >\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n {intl.formatMessage(messages.role_permissions)}\n </h2>\n <Table\n headers={[\n intl.formatMessage(genericMessages.role),\n intl.formatMessage(genericMessages.permission),\n intl.formatMessage(genericMessages.setting),\n ]}\n >\n {perms.roles.map((role, idx) => (\n <React.Fragment key={'ff' + idx}>\n <tr>\n <td colSpan=\"3\" className=\"has-text-link\">\n {role}\n </td>\n {/* <td>\n <Icon icon=\"fas fa-ban\" />\n <span>Remove</span>\n </td> */}\n </tr>\n {Object.keys(perms.getRole(role)).map((row, idx) => (\n <tr key={'k' + idx}>\n <td></td>\n <td>{row}</td>\n <td>{perms.getRole(role)[row]}</td>\n </tr>\n ))}\n </React.Fragment>\n ))}\n {perms.roles.length === 0 && (\n <tr>\n <td colSpan=\"3\">\n {intl.formatMessage(messages.no_role_permissions)}\n </td>\n </tr>\n )}\n </Table>\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n {intl.formatMessage(messages.principal_permissions)}\n </h2>\n <Table\n headers={[\n intl.formatMessage(genericMessages.role),\n intl.formatMessage(genericMessages.permission),\n intl.formatMessage(genericMessages.setting),\n ]}\n >\n {perms.principals.map((role, idx) => (\n <React.Fragment key={'f2' + idx}>\n <tr>\n <td colSpan=\"3\" className=\"has-text-link\">\n {role}\n </td>\n </tr>\n {Object.keys(perms.getPrincipals(role)).map((row, idx) => (\n <tr key={'x' + idx}>\n <td></td>\n <td>{row}</td>\n <td>{perms.getPrincipals(role)[row]}</td>\n </tr>\n ))}\n </React.Fragment>\n ))}\n {perms.principals.length === 0 && (\n <tr>\n <td colSpan=\"3\">\n {intl.formatMessage(messages.no_principal_permissions)}\n </td>\n </tr>\n )}\n </Table>\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n {intl.formatMessage(messages.principal_roles)}\n </h2>\n <Table\n headers={[\n intl.formatMessage(genericMessages.role),\n intl.formatMessage(genericMessages.permission),\n intl.formatMessage(genericMessages.setting),\n ]}\n >\n {perms.prinrole.map((role, idx) => (\n <React.Fragment key={role + idx}>\n <tr>\n <td colSpan=\"3\" className=\"has-text-link\">\n {role}\n </td>\n </tr>\n {Object.keys(perms.getPrinroles(role)).map((row, idx) => (\n <tr key={'xx' + idx}>\n <td></td>\n <td>{row}</td>\n <td>{perms.getPrinroles(role)[row]}</td>\n </tr>\n ))}\n </React.Fragment>\n ))}\n {perms.prinrole.length === 0 && (\n <tr>\n <td colSpan=\"3\">\n {intl.formatMessage(messages.no_role_permissions)}\n </td>\n </tr>\n )}\n </Table>\n </div>\n )}\n {ctx.hasPerm('guillotina.ChangePermissions') && (\n <AddPermission refresh={setReset} reset={reset} />\n )}\n </div>\n )\n}\n\nconst initial = {\n permissions: undefined,\n roles: [],\n principals: undefined,\n current: '',\n currentObj: undefined,\n}\n\nexport function AddPermission({ refresh, reset }) {\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initial)\n const intl = useIntl()\n\n const operations = [\n { text: intl.formatMessage(messages.allow), value: 'Allow' },\n { text: intl.formatMessage(messages.deny), value: 'Deny' },\n { text: intl.formatMessage(messages.allow_single), value: 'AllowSingle' },\n { text: intl.formatMessage(messages.unset), value: 'Unset' },\n ]\n\n const defaultOptions = [\n { text: intl.formatMessage(genericMessages.choose), value: '' },\n { text: intl.formatMessage(messages.role_permissions), value: 'roleperm' },\n {\n text: intl.formatMessage(messages.principal_permissions),\n value: 'prinperm',\n },\n { text: intl.formatMessage(messages.principal_roles), value: 'prinrole' },\n ]\n\n React.useEffect(() => {\n async function init() {\n const permissions = (await Ctx.client.getAllPermissions(Ctx.path)).map(\n (perm) => ({\n text: perm,\n value: perm,\n })\n )\n let principals = []\n let roles = []\n\n let principalsData = await Ctx.client.getPrincipals(Ctx.path)\n const groups = principalsData.groups.map((group) => ({\n text: group.id,\n value: group.id,\n }))\n const users = principalsData.users.map((user) => ({\n text: user.fullname || user.id,\n value: user.id,\n }))\n principals = [...groups, ...users]\n\n const req = await Ctx.client.getRoles(Ctx.path)\n if (req.ok) {\n roles = (await req.json()).map((role) => ({\n text: role,\n value: role,\n }))\n }\n setState({ permissions, roles, principals })\n }\n\n init()\n }, [reset])\n\n return (\n <div className=\"column is-4 is-size-7\">\n <h1 className=\"title is-size-5\">\n {intl.formatMessage(messages.add_permissions)}\n </h1>\n <p>{intl.formatMessage(messages.select_type)}</p>\n <Select\n options={defaultOptions}\n onChange={(value) => setState({ current: value })}\n dataTest=\"selectPermissionTypeTest\"\n />\n <hr />\n {state.current && state.current === 'roleperm' && (\n <PermissionRoleperm\n {...state}\n operations={operations}\n refresh={refresh}\n />\n )}\n {state.current && state.current === 'prinperm' && (\n <PermissionPrinperm\n {...state}\n operations={operations}\n refresh={refresh}\n />\n )}\n {state.current && state.current === 'prinrole' && (\n <PermissionPrinrole\n {...state}\n operations={operations}\n refresh={refresh}\n />\n )}\n </div>\n )\n}\n","import React from 'react'\nimport { Select } from '../input/select'\nimport { Tag } from '../ui/tag'\nimport { Loading } from '../ui/loading'\n\nconst prepareAvailable = (items, already, title) => {\n const def = { value: '', text: `Add ${title}` }\n if (items.length === 0) return []\n if (items[0] && typeof items[0] === 'string') {\n return [def]\n .concat(items.map((x) => ({ value: x, text: x })))\n .filter((item) => !already.includes(item.value))\n }\n return [def].concat(items).filter((item) => !already.includes(item.value))\n}\n\nexport function TagsWidget({\n items,\n available,\n title,\n noData,\n onChange,\n loading,\n}) {\n const selectRef = React.useRef()\n\n const [result, setResult] = React.useState(items)\n available = prepareAvailable(available || [], result, title)\n\n const remove = (value) => {\n const items = result.filter((item) => item !== value)\n setResult(items)\n onChange(items)\n }\n\n const addItem = (value) => {\n if (value === '') return\n const items = result.concat([value])\n setResult(items)\n onChange(items)\n }\n\n return (\n <React.Fragment>\n <h3 className=\"title is-size-6\">{title}</h3>\n {loading ? <Loading style={{ marginBottom: '1.5rem' }} /> : <hr />}\n <ul>\n <div className=\"tags\">\n {result.map((item) => (\n <Tag name={item} onRemove={() => remove(item)} key={item} />\n ))}\n </div>\n {result.length === 0 && (\n <li style={{ marginBottom: '20px' }}>{noData}</li>\n )}\n {available.length > 1 && (\n <li className=\"widget-list-add select is-small\">\n <Select\n options={available}\n ref={selectRef}\n onChange={(value) => {\n addItem(value)\n selectRef.current.value = ''\n }}\n />\n </li>\n )}\n </ul>\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useEffect } from 'react'\n\nimport Dropdown from './input/dropdown'\nimport useSetState from '../hooks/useSetState'\nimport { Button } from './input/button'\nimport { Icon } from './ui/icon'\nimport { useTraversal } from '../contexts'\nimport { useConfig } from '../hooks/useConfig'\nimport { useLocation } from '../hooks/useLocation'\nimport { Select } from './input/select'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\nconst initialState = { types: undefined }\n\nexport function CreateButton() {\n const intl = useIntl()\n const [state, setState] = useSetState(initialState)\n const Ctx = useTraversal()\n const Config = useConfig()\n useEffect(() => {\n ;(async function anyNameFunction() {\n const types = await Ctx.client.getTypes(Ctx.path)\n setState({\n types: types.filter((item) => !Config.DisabledTypes.includes(item)),\n })\n })()\n }, [Ctx.path])\n\n const doAction = (item) => {\n Ctx.doAction('addItem', { type: item })\n setState({ isActive: false })\n }\n\n if (state.types && state.types.length === 1) {\n return (\n <Button\n className={'is-small is-success'}\n onClick={() => doAction(state.types[0])}\n dataTest=\"itemAddTypeTest\"\n >\n {intl.formatMessage(genericMessages.add_type, { type: state.types[0] })}\n </Button>\n )\n }\n\n if (state.types && state.types.length === 0) {\n return null\n }\n\n // Implement some kind of filtering\n return (\n <Dropdown\n id=\"dropdown-menu\"\n isRight\n onChange={doAction}\n options={(state.types || []).map((item) => ({ text: item, value: item }))}\n >\n <span className=\"icon\" data-test=\"itemAddTypeTest\">\n <i className=\"fas fa-plus\"></i>\n </span>\n </Dropdown>\n )\n}\n\nexport function ContextToolbar({ AddButton, ...props }) {\n const intl = useIntl()\n const [state, setState] = useSetState(initialState)\n const [location, setLocation, del] = useLocation()\n const traversal = useTraversal()\n const Config = useConfig()\n const searchText = location.get('q')\n const [searchValue, setSearchValue] = React.useState(searchText || '')\n\n useEffect(() => {\n loadTypes()\n }, [traversal.path])\n\n useEffect(() => {\n setSearchValue(searchText)\n }, [searchText])\n\n async function loadTypes() {\n const types = await traversal.client.getTypes(traversal.path)\n setState({\n types: types.filter((item) => !Config.DisabledTypes.includes(item)),\n })\n }\n\n const onSearchQuery = (ev) => {\n const search = ev.target[0].value\n setLocation({ q: search, tab: 'Items', page: 0 })\n ev.preventDefault()\n }\n\n const onSearchByType = (typeText) => {\n if (typeText && typeText !== '') {\n setLocation({ type: typeText, tab: 'Items', page: 0 })\n } else {\n del('type')\n }\n }\n\n return (\n <React.Fragment>\n <div className=\"level-item\">\n <form action=\"\" className=\"form\" onSubmit={onSearchQuery}>\n <div className=\"field has-addons\">\n <div className=\"control\">\n <input\n value={searchValue || ''}\n onChange={(ev) => setSearchValue(ev.target.value)}\n type=\"text\"\n className=\"input is-size-7\"\n placeholder={intl.formatMessage(genericMessages.search)}\n data-test=\"inputFilterTest\"\n />\n </div>\n <div className=\"control\">\n <button\n className=\"button has-background-grey-lighter is-size-7\"\n type=\"submit\"\n data-test=\"btnInputFilter\"\n >\n <Icon icon=\"fas fa-search\" />\n </button>\n </div>\n </div>\n </form>\n </div>\n <div className=\"level-item\">\n <Select\n appendDefault\n dataTest=\"selectFilterTypeTest\"\n classWrap=\"is-size-7\"\n options={(state.types || []).map((item) => ({\n text: item,\n value: item,\n }))}\n onChange={onSearchByType}\n />\n </div>\n {traversal.hasPerm('guillotina.AddContent') && (\n <div className=\"level-item\">\n {AddButton !== undefined ? (\n <AddButton />\n ) : (\n <CreateButton {...props} />\n )}\n </div>\n )}\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { Notification } from './ui/notification'\nimport { Delete } from './ui/delete'\n\nexport function Flash() {\n const Ctx = useTraversal()\n const { flash } = Ctx.state\n\n if (!flash.message) return null\n\n return (\n <Notification isColor={flash.type}>\n {flash.message}\n <Delete onClick={() => Ctx.clearFlash()} />\n </Notification>\n )\n}\n","import React from 'react'\nimport { useState } from 'react'\nimport { useLocation } from '../hooks/useLocation'\n\nfunction FallbackTab({ title }) {\n return <div>Tab '{title}' not found</div>\n}\n\nexport function TabsPanel({\n tabs,\n currentTab,\n rightToolbar,\n fallback = FallbackTab,\n ...props\n}) {\n const [location, setLocation] = useLocation()\n\n if (location.get('tab')) {\n currentTab = location.get('tab')\n } else {\n currentTab = currentTab || Object.keys(tabs)[0]\n }\n\n /*if (!Object.keys(tabs).includes(currentTab)) {\n setLocation(defaultTab)\n currentTab = defaultTab\n }*/\n\n const [current, setTab] = useState(currentTab)\n const CurrentComp = tabs[current] || fallback\n\n React.useEffect(() => {\n if (Object.keys(tabs).includes(currentTab)) {\n setTab(currentTab)\n // setLocation({tab: currentTab})\n }\n }, [currentTab, tabs])\n\n const changeTab = (tab) => {\n setLocation({ tab: tab })\n }\n\n return (\n <div className=\"container\">\n <div className=\"level is-flex-wrap-wrap\">\n <div className=\"level-left mb-4\">\n <div className=\"tabs\">\n <ul>\n {Object.keys(tabs).map((tab) => (\n <li\n className={\n 'is-size-7 ' + (tab === current ? 'is-active' : '')\n }\n key={tab}\n >\n <a\n data-test={`tabTest-${tab.toLowerCase()}`}\n onClick={() => changeTab(tab)}\n >\n {tab}\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n {rightToolbar && <div className=\"level-right\">{rightToolbar}</div>}\n </div>\n <div className=\"container\">\n <CurrentComp title={current} {...props} />\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { ContextToolbar } from '../components/context_toolbar'\nimport { PanelItems } from '../components/panel/items'\nimport { PanelActions } from '../components/panel/actions'\nimport { useTraversal } from '../contexts'\nimport { PanelProperties } from '../components/panel/properties'\nimport { PanelPermissions } from '../components/panel/permissions'\nimport { PanelBehaviors } from '../components/panel/behaviors'\n\nconst tabs = {\n Items: PanelItems,\n Properties: PanelProperties,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n}\n\nconst tabsPermissions = {\n Items: 'guillotina.ViewContent',\n Properties: 'guillotina.ViewContent',\n Behaviors: 'guillotina.ModifyContent',\n Permissions: 'guillotina.SeePermissions',\n}\n\nexport function FolderCtx(props) {\n const ctx = useTraversal()\n const calculated = ctx.filterTabs(tabs, tabsPermissions)\n\n return (\n <TabsPanel\n tabs={calculated}\n currentTab=\"Items\"\n rightToolbar={<ContextToolbar {...props} />}\n {...props}\n />\n )\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { useTraversal } from '../contexts'\nimport { PanelPermissions } from '../components/panel/permissions'\nimport { PanelBehaviors } from '../components/panel/behaviors'\nimport { PanelProperties } from '../components/panel/properties'\nimport { PanelActions } from '../components/panel/actions'\n\nconst tabs = {\n Properties: PanelProperties,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n}\n\nconst tabsPermissions = {\n Properties: 'guillotina.ViewContent',\n Behaviors: 'guillotina.ModifyContent',\n Permissions: 'guillotina.SeePermissions',\n}\n\nexport function ItemCtx(props) {\n const ctx = useTraversal()\n const calculated = ctx.filterTabs(tabs, tabsPermissions)\n\n return <TabsPanel tabs={calculated} currentTab=\"Properties\" {...props} />\n}\n","import React from 'react'\n\nimport { Item } from '../components/item'\nimport { ItemTitle } from '../components/item'\nimport { Button } from '../components/input/button'\nimport { useState } from 'react'\nimport { useTraversal } from '../contexts'\nimport { Modal } from '../components/modal'\nimport { Form } from '../components/input/form'\nimport { Input } from '../components/input/input'\nimport { defineMessages, useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function ApplicationCtx(props) {\n const intl = useIntl()\n const { databases } = props.state.context\n return (\n <React.Fragment>\n <h3>\n {intl.formatMessage({\n id: 'databases',\n defaultMessage: 'Databases',\n })}\n </h3>\n <div className=\"container\">\n <ItemTitle title=\"Objects\" />\n {databases.map((db) => (\n <Item\n item={{ id: db, path: `/${db}/` }}\n key={db}\n icon={'fas fa-database'}\n />\n ))}\n </div>\n </React.Fragment>\n )\n}\n\nexport function DatabaseCtx({ state }) {\n const { containers } = state.context\n const { path } = state\n return (\n <React.Fragment>\n <div className=\"container\">\n <ItemTitle title=\"Containers\" actions={<CreateContainer />} />\n <table className=\"table is-fullwidth is-hoverable\">\n <tbody>\n {containers.map((db) => (\n <Item\n item={{ id: db, path: `${path}${db}/` }}\n key={db}\n icon={'fas fa-archive'}\n />\n ))}\n </tbody>\n </table>\n </div>\n </React.Fragment>\n )\n}\n\nexport function CreateContainer(props) {\n const intl = useIntl()\n const [isActive, setActive] = useState(false)\n\n return (\n <React.Fragment>\n <ModalAddContainer isActive={isActive} setActive={setActive} {...props} />\n <button\n className=\"button is-warning is-pulled-right\"\n onClick={() => setActive(true)}\n >\n <span className=\"icon is-small\">\n <i className=\"fas fa-plus\"></i>\n </span>\n <span>{intl.formatMessage(genericMessages.create)}</span>\n </button>\n </React.Fragment>\n )\n}\n\nexport const messages = defineMessages({\n add_container: {\n id: 'add_container',\n defaultMessage: 'Add Container',\n },\n container_created: {\n id: 'container_created',\n defaultMessage: 'Container Created',\n },\n})\n\nfunction ModalAddContainer({ isActive, setActive }) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const [isLoading, setLoading] = useState(false)\n const [idField, setId] = useState('')\n const [error, setError] = useState(undefined)\n\n async function createContainer() {\n setLoading(true)\n const data = {\n '@type': 'Container',\n id: idField,\n }\n try {\n const res = await Ctx.client.createObject(Ctx.path, data)\n const result = await res.json()\n if (res.status === 200) {\n Ctx.refresh()\n setId('')\n setLoading(false)\n setActive(false)\n Ctx.flash(intl.formatMessage(messages.container_created), 'primary')\n } else {\n setId('')\n setLoading(false)\n setError(result.message)\n }\n } catch {\n setError('Error-submitting-form')\n setLoading(false)\n }\n }\n\n return (\n <Modal isActive={isActive} setActive={setActive}>\n <Form\n onSubmit={createContainer}\n title={intl.formatMessage(messages.add_container)}\n error={error}\n >\n <Input\n required\n placeholder=\"Container Name\"\n onChange={(v) => {\n setId(v)\n }}\n value={idField}\n loading={isLoading}\n />\n <Button loading={isLoading}>\n {intl.formatMessage(messages.add_container)}\n </Button>\n </Form>\n </Modal>\n )\n}\n","import React from 'react'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function PanelNotImplemented(props) {\n const intl = useIntl()\n return (\n <div className=\"container\">\n <h2 className=\"title\">{props.title}</h2>\n <p>{intl.formatMessage(genericMessages.not_implemented)}</p>\n </div>\n )\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { ContextToolbar } from '../components/context_toolbar'\nimport { PanelItems } from '../components/panel/items'\nimport { PanelActions } from '../components/panel/actions'\nimport { PanelAddons } from '../components/panel/addons'\nimport { useTraversal } from '../contexts'\nimport { PanelNotImplemented } from './base'\nimport { PanelPermissions } from '../components/panel/permissions'\nimport { PanelBehaviors } from '../components/panel/behaviors'\n\nconst tabs = {\n Items: PanelItems,\n Addons: PanelAddons,\n Registry: PanelNotImplemented,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n}\n\nconst tabsPermissions = {\n Items: 'guillotina.ViewContent',\n Addons: 'guillotina.ManageAddons',\n Registry: 'guillotina.ReadConfiguration',\n Behaviors: 'guillotina.ModifyContent',\n Permissions: 'guillotina.SeePermissions',\n}\n\nexport function ContainerCtx(props) {\n const ctx = useTraversal()\n const calculated = ctx.filterTabs(tabs, tabsPermissions)\n return (\n <TabsPanel\n tabs={calculated}\n currentTab=\"Items\"\n rightToolbar={<ContextToolbar {...props} />}\n {...props}\n />\n )\n}\n","import React from 'react'\nimport { FormBuilder } from '../components/input/form_builder'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport const UserForm = ({ isEdit = false, children, ...props }) => {\n const intl = useIntl()\n const attr = isEdit\n ? {}\n : {\n title: intl.formatMessage(genericMessages.add_user),\n }\n const schema = {\n type: 'object',\n required: ['username', 'password'],\n properties: {\n username: {\n type: 'string',\n title: intl.formatMessage({\n id: 'username',\n defaultMessage: 'Username',\n }),\n },\n email: {\n type: 'string',\n title: intl.formatMessage({\n id: 'email',\n defaultMessage: 'Email',\n }),\n widget: 'email',\n },\n name: {\n type: 'string',\n title: intl.formatMessage({\n id: 'name',\n defaultMessage: 'Name',\n }),\n },\n password: {\n type: 'string',\n title: intl.formatMessage({\n id: 'password',\n defaultMessage: 'Password',\n }),\n widget: 'password',\n },\n disabled: {\n type: 'boolean',\n title: 'Disabled',\n },\n },\n }\n return (\n <FormBuilder schema={schema} {...props} {...attr}>\n {children}\n </FormBuilder>\n )\n}\n","import React from 'react'\n\n/*\n This hook allows to bind (remote) fields on the DOM\n to a form generated with Formbuilder.\n You can link whatever field you want...\n\n const [remoteFields, updateRemoteField] = useRemoteField({widget_1: ['a', 'b']})\n\n <Form remotes={remoteFields} onSubmit={ev => console.log(ev)}>\n <Input />\n </Form>\n\n <Widget onChange={updateRemoteField('widgte_1')}>\n\n This will add the values from a remote field into the desired widget\n\n*/\n\nexport const useRemoteField = (initial) => {\n const [remotes, setRemote] = React.useState(initial)\n\n const updateRemote = (name) => (value) => {\n setRemote({\n ...remotes,\n [name]: value,\n })\n }\n\n return [remotes, updateRemote]\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { PanelItems } from '../components/panel/items'\nimport { useTraversal } from '../contexts'\nimport { UserForm } from '../forms/users'\nimport { formatDate } from '../lib/utils'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { TagsWidget } from '../components/widgets/tags'\nimport { Icon } from '../components/ui/icon'\nimport { Button } from '../components/input/button'\nimport { useRemoteField } from '../hooks/useRemoteField'\nimport { useLocation } from '../hooks/useLocation'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nconst tabs = {\n Users: PanelItems,\n}\n\nexport function UsersToolbar() {\n const intl = useIntl()\n const Ctx = useTraversal()\n const ref = React.useRef(null)\n const [location, setLocation] = useLocation()\n const searchText = location.get('q')\n\n const onSearchQuery = (ev) => {\n const search = ev.target[0].value\n setLocation({ q: search, page: 0 })\n ev.preventDefault()\n }\n\n // cleanup form on state.search change\n React.useEffect(() => {\n if (!searchText || searchText === '') {\n ref.current.value = ''\n }\n }, [searchText])\n\n return (\n <React.Fragment>\n <div className=\"level-item\">\n <form action=\"\" className=\"form\" onSubmit={onSearchQuery}>\n <div className=\"field has-addons\">\n <div className=\"control\">\n <input\n ref={ref}\n type=\"text\"\n className=\"input is-size-7\"\n placeholder={intl.formatMessage(genericMessages.search)}\n data-test=\"inputFilterTest\"\n />\n </div>\n <div className=\"control\">\n <button\n className=\"button has-background-grey-lighter is-size-7\"\n type=\"submit\"\n data-test=\"btnInputFilter\"\n >\n <Icon icon=\"fas fa-search\" />\n </button>\n </div>\n </div>\n </form>\n </div>\n <button\n className=\"button is-primary\"\n onClick={() => Ctx.doAction('addItem', { type: 'User' })}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <Icon icon=\"fas fa-user\" />\n <span>{intl.formatMessage(genericMessages.add_user)}</span>\n </button>\n </React.Fragment>\n )\n}\n\nexport function UsersCtx(props) {\n return (\n <TabsPanel\n tabs={tabs}\n currentTab=\"Users\"\n rightToolbar={<UsersToolbar />}\n {...props}\n />\n )\n}\n\nexport function UserCtx() {\n const intl = useIntl()\n const { Ctx, patch, loading } = useCrudContext()\n\n const [state, setState] = React.useState({ roles: [], gorups: [] })\n\n const fields = {\n user_groups: [],\n user_roles: Ctx.context.user_roles,\n }\n\n const [remotes, updateRemote] = useRemoteField(fields)\n\n React.useEffect(() => {\n ;(async () => {\n const [requestGetGroups, requestGetRoles] = await Promise.all([\n Ctx.client.search(Ctx.path, { type_name: 'Group' }, true),\n Ctx.client.getRoles(Ctx.path),\n ])\n\n let groups = requestGetGroups\n let roles = []\n\n if (requestGetRoles.ok) {\n roles = await requestGetRoles.json()\n }\n\n setState({\n roles: roles,\n groups: groups.items.map((item) => ({\n value: item.id,\n text: item['@name'],\n })),\n })\n })()\n }, [])\n\n const updateObject = async (data) => {\n Ctx.apply(data)\n const { isError, errorMessage } = await patch(data)\n if (isError) {\n Ctx.flash(\n intl.formatMessage(genericMessages.failed_to_update, {\n error: errorMessage,\n }),\n 'danger'\n )\n } else {\n Ctx.flash(\n intl.formatMessage({\n id: 'user_updated',\n defaultMessage: 'User updated',\n }),\n 'primary'\n )\n Ctx.refresh()\n }\n }\n\n return (\n <div className=\"container\">\n <h2 className=\"title is-size-4\">\n <Icon icon=\"fas fa-user\"></Icon>\n &nbsp;\n {intl.formatMessage({\n id: 'user',\n defaultMessage: 'User',\n })}\n </h2>\n\n <hr />\n <div className=\"columns\">\n <div className=\"column\">\n <div className=\"container user-props\">\n <p>\n <label>\n {intl.formatMessage({\n id: 'username',\n defaultMessage: 'Username',\n })}\n :{' '}\n </label>{' '}\n {Ctx.context.username} ({Ctx.context.email})\n </p>\n <p>\n <label>\n {' '}\n {intl.formatMessage({\n id: 'creation_date',\n defaultMessage: 'Creation Date',\n })}\n :{' '}\n </label>{' '}\n {formatDate(Ctx.context.creation_date)}\n </p>\n <p>\n <label>\n {' '}\n {intl.formatMessage({\n id: 'modification_date',\n defaultMessage: 'Modification Date',\n })}\n :{' '}\n </label>{' '}\n {formatDate(Ctx.context.modification_date)}\n </p>\n <Button\n className=\"is-size-7 is-info\"\n onClick={() => {\n Ctx.doAction('changePassword')\n }}\n >\n {intl.formatMessage({\n id: 'change_password',\n defaultMessage: 'Change Password',\n })}\n </Button>\n </div>\n <hr />\n <UserForm\n actionName=\"Save\"\n onSubmit={(ev) => updateObject(ev)}\n isEdit={true}\n formData={Ctx.context}\n exclude={['password']}\n remotes={remotes}\n submitButton={false}\n >\n <Button loading={loading} dataTest=\"formUserTestBtnSubmit\">\n {intl.formatMessage(genericMessages.save)}\n </Button>\n </UserForm>\n </div>\n <div className=\"column\">\n <TagsWidget\n onChange={updateRemote('user_groups')}\n items={Ctx.context.user_groups}\n title=\"Groups\"\n noData={intl.formatMessage({\n id: 'there_is_no_groups_for_this_user',\n defaultMessage: 'There is no groups for this user',\n })}\n available={state.groups}\n />\n <hr />\n <TagsWidget\n onChange={updateRemote('user_roles')}\n items={remotes.user_roles}\n title=\"Roles\"\n noData={intl.formatMessage({\n id: 'the_user_doesnt_have_any_role',\n defaultMessage: \"The user doesn't have any role\",\n })}\n available={state.roles}\n />\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { PathTree } from '../components/modal'\nimport { useTraversal } from '../contexts'\nimport { getNewId } from '../lib/utils'\n\nconst withError = (res) => res.status >= 300\nexport function CopyItems(props) {\n const Ctx = useTraversal()\n const { items = [] } = props\n\n async function copyItems(path, form) {\n const responses = await Promise.all(\n items.map((item, i) => {\n const input = form[i + 1] || {}\n return Ctx.client.post(`${Ctx.path}${item['@name']}/@duplicate`, {\n destination: path,\n new_id: input.value || getNewId(item.id),\n })\n })\n )\n\n Ctx.refresh()\n Ctx.cancelAction()\n\n if (responses.every(withError)) {\n Ctx.flash(`Oops! Items can't be copied to ${path}`, 'danger')\n return\n }\n\n if (responses.some(withError)) {\n Ctx.flash(`Some items are not copied correctly!`, 'warning')\n return\n }\n\n Ctx.flash(`Items copied!`, 'success')\n }\n\n return (\n <PathTree\n title=\"Copy to...\"\n defaultPath={Ctx.client.clearContainerFromPath(Ctx.path)}\n onConfirm={copyItems}\n onCancel={() => Ctx.cancelAction()}\n >\n {items.map((item) => (\n <React.Fragment key={item.id}>\n <small style={{ display: 'block', marginTop: 20 }}>\n {`New id for \"${item.id}\" copy`}\n </small>\n <input\n type=\"text\"\n className=\"input\"\n data-test={`inputCopyIdTest-${item['@name']}`}\n defaultValue={getNewId(item.id)}\n />\n </React.Fragment>\n ))}\n &nbsp;\n </PathTree>\n )\n}\n","import React from 'react'\nimport { PathTree } from '../components/modal'\nimport { useTraversal } from '../contexts'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { getNewId } from '../lib/utils'\n\nexport function CopyItem(props) {\n const Ctx = useTraversal()\n const { post } = useCrudContext()\n const { item } = props\n\n async function copyItem(path, form) {\n const input = form[1] || {}\n const { isError, errorMessage } = await post(\n {\n destination: path,\n new_id: input.value || getNewId(item['@name']),\n },\n '@duplicate'\n )\n\n if (!isError) {\n Ctx.flash(`Field copied!`, 'success')\n } else {\n Ctx.flash(`Failed to copy item!: ${errorMessage}`, 'danger')\n }\n Ctx.refresh()\n Ctx.cancelAction()\n }\n\n return (\n <PathTree\n title=\"Copy to...\"\n defaultPath={`/${item['parent']['@name'] ?? '/'}`}\n onConfirm={copyItem}\n onCancel={() => Ctx.cancelAction()}\n >\n <React.Fragment>\n <small style={{ display: 'block', marginTop: 20 }}>\n {`New id for \"${item['@name']}\" copy`}\n </small>\n <input\n type=\"text\"\n className=\"input\"\n data-test={`inputCopyIdTest-${item['@name']}`}\n defaultValue={getNewId(item['@name'])}\n />\n </React.Fragment>\n </PathTree>\n )\n}\n","import React from 'react'\nimport { PathTree } from '../components/modal'\nimport { useTraversal } from '../contexts'\n\nconst withError = (res) => res.status >= 300\n\nexport function MoveItems(props) {\n const Ctx = useTraversal()\n const { items = [] } = props\n\n async function moveItems(path) {\n const responses = await Promise.all(\n items.map((item) => {\n return Ctx.client.post(`${Ctx.path}${item['@name']}/@move`, {\n destination: path,\n new_id: item['@name'],\n })\n })\n )\n\n Ctx.refresh()\n Ctx.cancelAction()\n\n if (responses.every(withError)) {\n Ctx.flash(`Oops! Items can't be moved to ${path}`, 'danger')\n return\n }\n\n if (responses.some(withError)) {\n Ctx.flash(`Some items are not moved correctly!`, 'warning')\n return\n }\n\n Ctx.flash(`Items moved!`, 'success')\n }\n\n return (\n <PathTree\n title=\"Move to...\"\n onConfirm={moveItems}\n onCancel={() => Ctx.cancelAction()}\n />\n )\n}\n","import React from 'react'\nimport { PathTree } from '../components/modal'\nimport { useGuillotinaClient, useTraversal } from '../contexts'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function MoveItem(props) {\n const Ctx = useTraversal()\n const { post } = useCrudContext()\n const [, navigate] = useLocation()\n const client = useGuillotinaClient()\n const { item } = props\n\n async function moveItem(path) {\n const { isError, errorMessage, result } = await post(\n {\n destination: path,\n new_id: item['@name'],\n },\n '@move'\n )\n\n if (!isError) {\n navigate({\n path: `/${client.cleanPath(result['@url'])}/`,\n tab: '',\n })\n Ctx.flash(`Field moved!`, 'success')\n } else {\n Ctx.flash(`Failed to move item!: ${errorMessage}`, 'danger')\n }\n\n Ctx.refresh()\n Ctx.cancelAction()\n }\n\n return (\n <PathTree\n title=\"Move to...\"\n onConfirm={moveItem}\n onCancel={() => Ctx.cancelAction()}\n />\n )\n}\n","import React from 'react'\nimport { Confirm } from '../components/modal'\nimport { useGuillotinaClient, useTraversal } from '../contexts'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { useLocation } from '../hooks/useLocation'\n\nexport function RemoveItem(props) {\n const Ctx = useTraversal()\n const { del, loading } = useCrudContext()\n const [, navigate] = useLocation()\n const client = useGuillotinaClient()\n const { item } = props\n\n async function removeItem() {\n const { isError, errorMessage } = await del()\n\n if (!isError) {\n navigate({\n path: `/${client.cleanPath(item['parent']['@id'])}/`,\n tab: '',\n })\n Ctx.flash(`Field removed!`, 'success')\n } else {\n Ctx.flash(`Failed to delete item!: ${errorMessage}`, 'danger')\n }\n\n Ctx.refresh()\n Ctx.cancelAction()\n }\n\n return (\n <Confirm\n loading={loading}\n onCancel={() => Ctx.cancelAction()}\n onConfirm={removeItem}\n message={`Are you sure to remove: ${item['@name']}?`}\n />\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { Modal } from '../components/modal'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { Input } from '../components/input/input'\nimport { Button } from '../components/input/button'\nimport { Form } from '../components/input/form'\n\nconst initial = {\n pass1: '',\n pass2: '',\n}\n\nexport function ChangePassword(props) {\n const [state, setState] = React.useState(initial)\n const [perror, setPerror] = React.useState(undefined)\n\n const Ctx = useTraversal()\n const { patch } = useCrudContext()\n\n // const Form = getForm(type)\n\n const setActive = () => {\n Ctx.cancelAction()\n }\n\n async function doSubmit(data) {\n if (state.pass1 === '') {\n setPerror('provide a password')\n return\n }\n\n if (state.pass1 !== state.pass2) {\n setPerror(\"passwords doesn't match\")\n return\n }\n\n setPerror(undefined)\n\n let form = {\n password: state.pass1,\n }\n\n const { isError, errorMessage } = await patch(form)\n if (!isError) {\n Ctx.flash('Password Changed', 'success')\n } else {\n Ctx.flash(`An error has ocurred: ${errorMessage}`, 'danger')\n }\n\n Ctx.cancelAction()\n Ctx.refresh()\n }\n\n const setPass = (field) => (val) => {\n let n = {}\n n[field] = val\n setState((state) => ({ ...state, ...n }))\n setPerror(undefined)\n }\n\n return (\n <Modal isActive={true} setActive={setActive}>\n <Form\n onSubmit={doSubmit}\n onError={(err) => console.log(err)}\n actionName={'Change'}\n title={'Change Password'}\n >\n {perror && (\n <div className=\"notification is-danger is-size-7\">\n <button className=\"delete\"></button>\n {perror}\n </div>\n )}\n <Input\n id=\"pass\"\n placeholder=\"New Password\"\n type=\"password\"\n value={state.pass1}\n onChange={setPass('pass1')}\n />\n\n <Input\n id=\"pass\"\n placeholder=\"Repeat Password\"\n type=\"password\"\n value={state.pass2}\n onChange={setPass('pass2')}\n />\n <Button>Change</Button>\n </Form>\n </Modal>\n )\n}\n","import React from 'react'\nimport { useState } from 'react'\nimport { Input } from '../components/input/input'\nimport { Form } from '../components/input/form'\nimport { stringToSlug } from '../lib/helpers'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nexport function BaseForm({ onSubmit, actionName, title, dataTest, loading }) {\n const intl = useIntl()\n const [name, setName] = useState('')\n const [id, setId] = useState('')\n const [error, setError] = useState(undefined)\n\n const submit = () => {\n if (name === '') {\n setError(intl.formatMessage(genericMessages.field_is_required))\n return\n }\n onSubmit({ title: name, id })\n }\n\n const setTitle = (value) => {\n setId(stringToSlug(value))\n setName(value)\n }\n\n return (\n <Form title={title} onSubmit={submit} dataTest={dataTest}>\n <Input\n id=\"title\"\n placeholder={intl.formatMessage(genericMessages.title)}\n required\n value={name}\n onChange={setTitle}\n autofocus\n error={error}\n dataTest=\"titleTestInput\"\n />\n\n <Input\n id=\"id\"\n placeholder=\"Id\"\n value={id}\n onChange={setId}\n dataTest=\"idTestInput\"\n />\n\n <div className=\"level level-right\">\n <button\n type=\"submit\"\n className={`button is-success ${loading ? 'is-loading' : ''}`}\n data-test=\"formBaseBtnTestSubmit\"\n >\n {actionName || intl.formatMessage(genericMessages.add)}\n </button>\n </div>\n </Form>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\nimport { Table } from '../ui'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../../locales/generic_messages'\n\nconst editableFields = [\n 'title',\n 'description',\n 'effective_date',\n 'expiration_date',\n]\n\nexport function IDublinCore({ properties, values }) {\n const intl = useIntl()\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n return (\n <Table\n headers={[\n intl.formatMessage(genericMessages.property),\n intl.formatMessage(genericMessages.value),\n ]}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {Object.keys(properties).map((key) => (\n <tr key={'dublin_' + key}>\n <td style={{ width: '150px' }} key={1}>\n {key}\n </td>\n <td key={2}>\n <EditableField\n field={key}\n value={values[key]}\n ns=\"guillotina.behaviors.dublincore.IDublinCore\"\n schema={properties[key]}\n modifyContent={modifyContent && editableFields.includes(key)}\n />\n </td>\n </tr>\n ))}\n </Table>\n )\n}\n","import React from 'react'\nimport { TabsPanel } from '../components/tabs'\nimport { PanelItems } from '../components/panel/items'\nimport { useTraversal } from '../contexts'\nimport { useCrudContext } from '../hooks/useCrudContext'\nimport { Icon } from '../components/ui/icon'\nimport { useEffect } from 'react'\nimport { useState } from 'react'\nimport { Select } from '../components/input/select'\nimport { SearchInput } from '../components/input/search_input'\nimport { Tag } from '../components/ui/tag'\nimport { parser } from '../lib/search'\nimport { EditableField } from '../components/fields/editableField'\nimport { useLocation } from '../hooks/useLocation'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nconst tabs = {\n Groups: PanelItems,\n}\n\nexport function GroupToolbar() {\n const intl = useIntl()\n const Ctx = useTraversal()\n const ref = React.useRef(null)\n const [location, setLocation] = useLocation()\n const searchText = location.get('q')\n\n const onSearchQuery = (ev) => {\n const search = ev.target[0].value\n setLocation({ q: search, page: 0 })\n ev.preventDefault()\n }\n\n // cleanup form on state.search change\n React.useEffect(() => {\n if (!searchText || searchText === '') {\n ref.current.value = ''\n }\n }, [searchText])\n\n return (\n <React.Fragment>\n <div className=\"level-item\">\n <form action=\"\" className=\"form\" onSubmit={onSearchQuery}>\n <div className=\"field has-addons\">\n <div className=\"control\">\n <input\n ref={ref}\n type=\"text\"\n className=\"input is-size-7\"\n placeholder={intl.formatMessage(genericMessages.search)}\n data-test=\"inputFilterTest\"\n />\n </div>\n <div className=\"control\">\n <button\n className=\"button has-background-grey-lighter is-size-7\"\n type=\"submit\"\n data-test=\"btnInputFilter\"\n >\n <Icon icon=\"fas fa-search\" />\n </button>\n </div>\n </div>\n </form>\n </div>\n <button\n className=\"button is-primary\"\n onClick={() => Ctx.doAction('addItem', { type: 'Group' })}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <Icon icon=\"fas fa-users\" />\n <span>\n {intl.formatMessage({\n id: 'add_group',\n defaultMessage: 'Add Group',\n })}\n </span>\n </button>\n </React.Fragment>\n )\n}\n\nexport function GroupsCtx(props) {\n return (\n <TabsPanel\n tabs={tabs}\n currentTab=\"Groups\"\n rightToolbar={<GroupToolbar />}\n {...props}\n />\n )\n}\n\nlet sortParsed = parser(`_sort_asc=id`)\nlet searchParsed = parser('type_name=User')\n\nexport function GroupCtx() {\n const intl = useIntl()\n const { Ctx, patch } = useCrudContext()\n const [roles, setRoles] = useState([])\n\n useEffect(() => {\n ;(async () => {\n const requestGetRoles = await Ctx.client.getRoles(Ctx.path)\n let roles = []\n\n if (requestGetRoles.ok) {\n roles = (await requestGetRoles.json()).map((role) => ({\n text: role,\n value: role,\n }))\n }\n setRoles(roles)\n })()\n }, [])\n\n const handleResponse = async (isError, message, errorMessage) => {\n if (!isError) {\n Ctx.flash(message, 'success')\n Ctx.refresh()\n } else {\n Ctx.flash(\n intl.formatMessage(genericMessages.failed_to_update, {\n error: errorMessage,\n }),\n 'danger'\n )\n }\n }\n\n const addRole = async (role) => {\n const { isError, errorMessage } = await patch({\n user_roles: Ctx.context.user_roles.concat(role),\n })\n handleResponse(\n isError,\n intl.formatMessage(\n {\n id: 'role_added_to_group',\n defaultMessage: 'Role {role} added to group',\n },\n { role }\n ),\n errorMessage\n )\n }\n\n const removeRole = async (role) => {\n const { isError, errorMessage } = await patch({\n user_roles: Ctx.context.user_roles.filter((r) => r !== role),\n })\n handleResponse(\n isError,\n intl.formatMessage(\n {\n id: 'role_removed_from_group',\n defaultMessage: 'Role {role} removed from group',\n },\n { role }\n ),\n errorMessage\n )\n }\n\n const addUser = async (newUserId) => {\n const data = {}\n Ctx.context.users.forEach((user) => {\n data[user] = true\n })\n data[newUserId] = true\n const {\n isError,\n errorMessage,\n } = await Ctx.client.rest.patch(\n `${Ctx.containerPath}@groups/${Ctx.context['@name']}`,\n { users: data }\n )\n handleResponse(\n isError,\n intl.formatMessage(\n {\n id: 'user_added_to_group',\n defaultMessage: 'User {user} added to group',\n },\n { user: newUserId }\n ),\n errorMessage\n )\n }\n\n const removeUser = async (userToRemove) => {\n const data = {}\n Ctx.context.users.forEach((user) => {\n data[user] = userToRemove !== user\n })\n const {\n isError,\n errorMessage,\n } = await Ctx.client.rest.patch(\n `${Ctx.containerPath}@groups/${Ctx.context['@name']}`,\n { users: data }\n )\n handleResponse(\n isError,\n intl.formatMessage(\n {\n id: 'user_removed_from_group',\n defaultMessage: 'User {user} removed from group',\n },\n { user: userToRemove }\n ),\n errorMessage\n )\n }\n\n return (\n <div className=\"container group-view\">\n <h2 className=\"title is-size-4\">\n <Icon icon=\"fas fa-users\"></Icon>\n <span>\n &nbsp;\n {intl.formatMessage({\n id: 'group',\n defaultMessage: 'Group',\n })}\n </span>\n </h2>\n <hr />\n <div className=\"columns\">\n <div className=\"column is-4\">\n <label className=\"label\">\n {intl.formatMessage(genericMessages.title)}{' '}\n </label>\n <EditableField\n field=\"title\"\n modifyContent\n value={Ctx.context.title}\n />\n </div>\n <div className=\"column is-4 is-size-7\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage({\n id: 'roles',\n defaultMessage: 'Roles',\n })}\n </h3>\n <p>\n {intl.formatMessage({\n id: 'add_role',\n defaultMessage: 'Add a Role',\n })}\n </p>\n <Select\n options={roles.filter(\n (role) => !Ctx.context.user_roles.includes(role.value)\n )}\n appendDefault\n onChange={addRole}\n />\n <hr />\n {Ctx.context.user_roles.map((urole) => (\n <p className=\"control\" key={`roles_${urole}`}>\n <Tag\n name={urole}\n onRemove={() => removeRole(urole)}\n size=\"is-small\"\n />\n </p>\n ))}\n </div>\n <div className=\"column is-4 is-size-7\">\n <h3 className=\"title is-size-6\">\n {intl.formatMessage({\n id: 'users',\n defaultMessage: 'Users',\n })}\n </h3>\n <p>{intl.formatMessage(genericMessages.add_user)}</p>\n <SearchInput\n path={`${Ctx.containerPath}/users/`}\n qs={[...searchParsed, ...sortParsed]}\n traversal={Ctx}\n onChange={addUser}\n btnClass=\"is-small\"\n />\n <hr />\n {Ctx.context.users.map((user) => (\n <p className=\"control\" key={`user_${user}`}>\n <Tag\n name={user}\n onRemove={() => removeUser(user)}\n size=\"is-small\"\n />\n </p>\n ))}\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { injectIntl } from 'react-intl'\n\nconst style = { color: '#F44336', fontSize: 20, paddingBottom: 20 }\n\nclass ErrorBoundaryComponent extends React.Component {\n state = {}\n\n componentDidCatch(error, errorInfo) {\n this.setState({\n hasError: true,\n errorMsg: error.message,\n errorStack: errorInfo.componentStack,\n })\n }\n\n render() {\n const { hasError, errorMsg, errorStack } = this.state\n\n if (hasError) {\n return (\n <div className=\"box main-panel\">\n <div style={style}>\n {this.props.intl.formatMessage({\n id: 'something_went_wrong',\n defaultMessage: 'Something went wrong.',\n })}\n </div>\n {errorMsg && (\n <p>\n <b>{errorMsg}</b>\n </p>\n )}\n {errorStack && <p>{errorStack}</p>}\n </div>\n )\n }\n\n return this.props.children\n }\n}\n\nexport default injectIntl(ErrorBoundaryComponent)\n","import React from 'react'\nimport { Icon } from './ui/icon'\nimport { useIntl } from 'react-intl'\n\nexport function NotAllowed() {\n const intl = useIntl()\n return (\n <div className=\"box not-allowed\">\n <h1 className=\"title has-text-danger\" style={{ fontSize: '4rem' }}>\n <Icon icon=\"fas fa-ban\" />\n </h1>\n <h1 className=\"title has-text-grey-darker\">\n {intl.formatMessage({\n id: 'not_allowed',\n defaultMessage: 'Not Allowed',\n })}\n </h1>\n </div>\n )\n}\n","import React from 'react'\nimport { Icon } from './ui/icon'\nimport { useIntl } from 'react-intl'\n\nexport function NotFound() {\n const intl = useIntl()\n return (\n <div className=\"box not-allowed\">\n <h1 className=\"title has-text-grey\" style={{ fontSize: '4rem' }}>\n <Icon icon=\"fas fa-dizzy\" />\n </h1>\n <h1 className=\"title has-text-grey-darker\">\n {intl.formatMessage({\n id: 'not_found',\n defaultMessage: '404. Not Found',\n })}\n </h1>\n </div>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../contexts'\nimport { useLocation } from '../hooks/useLocation'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\n\nexport function Path() {\n const ctx = useTraversal()\n const [, navigate] = useLocation()\n\n let segments = ctx.path.replace(/\\/$/, '').split('/')\n let links = buildPaths(segments)\n\n if (segments.length === 1) {\n return false\n }\n\n return (\n <nav className=\"breadcrumb\" aria-label=\"breadcrumbs\">\n <ul>\n {segments.map((item, indx) => {\n const path = links[indx]\n const onClick = (e) => {\n if (window.event.ctrlKey || window.event.metaKey) return\n e.preventDefault()\n navigate({ path }, true)\n }\n\n return indx === 0 ? (\n <li key={indx}>\n <a\n href={path}\n onClick={onClick}\n data-test={`breadcrumbItemTest-home`}\n >\n <span className=\"icon\">\n <i className=\"fas fa-home\"></i>\n </span>\n </a>\n </li>\n ) : (\n <li key={indx}>\n <a\n href={path}\n onClick={onClick}\n data-test={`breadcrumbItemTest-${item.toLowerCase()}`}\n >\n {item}\n </a>\n </li>\n )\n })}\n </ul>\n </nav>\n )\n}\n\nconst buildPaths = (segments) => {\n let current = ''\n let results = []\n segments.map((item, indx) => {\n if (indx === 0) {\n current += '/'\n } else {\n current += item + '/'\n }\n results.push(current)\n return item\n })\n return results\n}\n","import { FolderCtx } from '../views/folder'\nimport { ItemCtx } from '../views/item'\nimport { ApplicationCtx } from '../views/application'\nimport { DatabaseCtx } from '../views/application'\nimport { ContainerCtx } from '../views/container'\nimport { UsersCtx } from '../views/users'\nimport { UserCtx } from '../views/users'\nimport { CopyItems } from '../actions/copy_items'\nimport { CopyItem } from '../actions/copy_item'\nimport { MoveItems } from '../actions/move_items'\nimport { MoveItem } from '../actions/move_item'\nimport { RemoveItems } from '../actions/remove_items'\nimport { RemoveItem } from '../actions/remove_item'\nimport { AddItem } from '../actions/add_item'\nimport { ChangePassword } from '../actions/change_pass'\nimport { BaseForm } from '../forms/base'\nimport { UserForm } from '../forms/users'\nimport { IAttachment } from '../components/behaviors/iattachment'\nimport { IDublinCore } from '../components/behaviors/idublincore'\nimport { IMultiAttachment } from '../components/behaviors/imultiattachment'\nimport { IImageAttachment } from '../components/behaviors/iimageattachment'\nimport { IMultiImageAttachment } from '../components/behaviors/imultiimageattachment'\nimport { IMultiImageOrderedAttachment } from '../components/behaviors/imultiimageorderedattachment'\nimport { IWorkflow } from '../components/behaviors/iworkflow'\nimport { GroupsCtx } from '../views/groups'\nimport { GroupCtx } from '../views/groups'\nimport ErrorBoundary from '../components/error_boundary'\nimport React from 'react'\nimport { NotAllowed } from '../components/notallowed'\nimport { NotFound } from '../components/notfound'\nimport { Path } from '../components/path'\nimport { EditComponent } from '../components/fields/editComponent'\nimport { RenderFieldComponent } from '../components/fields/renderField'\n\nlet registry = {\n paths: {},\n views: {\n ErrorBoundary: ErrorBoundary,\n NotAllowed: NotAllowed,\n NotFound: NotFound,\n Application: ApplicationCtx,\n Database: DatabaseCtx,\n Container: ContainerCtx,\n UserManager: UsersCtx,\n User: UserCtx,\n Group: GroupCtx,\n GroupManager: GroupsCtx,\n Folder: FolderCtx,\n Item: ItemCtx,\n },\n actions: {\n addItem: AddItem,\n copyItems: CopyItems,\n copyItem: CopyItem,\n moveItems: MoveItems,\n moveItem: MoveItem,\n removeItems: RemoveItems,\n changePassword: ChangePassword,\n removeItem: RemoveItem,\n },\n forms: {\n UserManager: BaseForm,\n GroupManager: BaseForm,\n Folder: BaseForm,\n Item: BaseForm,\n User: UserForm,\n Group: BaseForm,\n },\n behaviors: {\n 'guillotina.behaviors.dublincore.IDublinCore': IDublinCore,\n 'guillotina.behaviors.attachment.IAttachment': IAttachment,\n 'guillotina.behaviors.attachment.IMultiAttachment': IMultiAttachment,\n 'guillotina.contrib.image.behaviors.IImageAttachment': IImageAttachment,\n 'guillotina.contrib.image.behaviors.IMultiImageAttachment': IMultiImageAttachment,\n 'guillotina.contrib.image.behaviors.IMultiImageOrderedAttachment': IMultiImageOrderedAttachment,\n 'guillotina.contrib.workflows.interfaces.IWorkflowBehavior': IWorkflow,\n },\n itemsColumn: {},\n schemas: {},\n properties: {},\n components: {\n Path: Path,\n EditComponent: EditComponent,\n RenderFieldComponent: RenderFieldComponent,\n },\n searchEngineQueryParamsFunction: {\n PostreSQL: 'getQueryParamsPostresql',\n Elasticsearch: 'getQueryParamsElasticsearch',\n },\n fieldsToFilter: {\n UserManager: ['id', 'email', 'user_name'],\n },\n}\n\nconst get = (key, param, fallback) => {\n if (registry[key]) return registry[key][param] || fallback\n return fallback\n}\n\nconst getComponent = (context, path, fallback) => {\n if (!context) return\n // console.log(\"Component for path\", path)\n // lookup by path\n if (registry.paths[path]) {\n return registry.paths[path]\n }\n // by type\n if (registry.views[context['@type']]) {\n return registry.views[context['@type']]\n }\n if (fallback) {\n return fallback\n }\n return defaultComponent(context)\n}\n\nconst getItemsColumn = (type) => {\n const funcCols = registry.itemsColumn[type]\n if (funcCols) {\n return funcCols()\n }\n return undefined\n}\n\nconst getForm = (type, fallback = BaseForm) => {\n return registry.forms[type] || fallback\n}\n\nconst getAction = (type, fallback) => {\n return registry.actions[type] || fallback\n}\n\nconst getBehavior = (type, fallback) => {\n return registry.behaviors[type] || fallback\n}\n\nconst getProperties = (type) => {\n return registry.properties[type] || {}\n}\n\nconst getSchemas = (type) => {\n return registry.schemas[type] || {}\n /*\n filters: [\n {\n attribute_key: string,\n label: string,\n type: 'select' | 'input'\n vocabulary: string | undefined\n values: {[key:string]:any}[]\n }\n ]\n */\n}\n\nconst getFieldsToFilter = (type, fallback) => {\n return registry.fieldsToFilter[type] || fallback\n}\n\nexport const defaultComponent = (context) => {\n return context.is_folderish ? FolderCtx : ItemCtx\n}\n\nexport function useRegistry(data) {\n // if data is provided we need to merge it into actual registry\n const ref = React.useRef()\n if (data && !ref.current) {\n ref.current = true\n Object.keys(data).map(\n (key) => (registry[key] = { ...registry[key], ...data[key] })\n )\n }\n\n return {\n registry,\n get,\n getForm,\n getComponent,\n getAction,\n getBehavior,\n getProperties,\n getItemsColumn,\n getFieldsToFilter,\n getSchemas,\n }\n}\n\n/*\n\nconst registry = {\n paths: {\n \"/db/guillotina/tags/\": TagsContext\n },\n forms: {\n Tag: AddTagForm\n }\n}\n\n\n<guillotina registry={registry} />\n\n\n*/\n","export const initialState = {\n path: '',\n loading: false,\n context: undefined,\n flash: {\n message: undefined,\n type: undefined,\n },\n action: {\n action: undefined,\n params: undefined,\n },\n permissions: undefined,\n errorStatus: undefined,\n registry: {},\n refresh: undefined,\n}\n\nexport function guillotinaReducer(state, action) {\n switch (action.type) {\n case 'SET_PATH':\n return { ...state, path: action.payload, loading: true }\n\n case 'SET_CONTEXT':\n return {\n ...state,\n ...action.payload,\n errorStatus: undefined,\n loading: false,\n }\n\n case 'SET_ERROR':\n return { ...state, errorStatus: action.payload, loading: false }\n\n case 'SET_FLASH':\n return { ...state, ...action.payload }\n\n case 'CLEAR_FLASH':\n return {\n ...state,\n flash: {\n message: undefined,\n type: undefined,\n },\n }\n case 'SET_ACTION':\n return { ...state, action: action.payload }\n case 'CLEAR_ACTION':\n return { ...state, action: { action: undefined, params: undefined } }\n\n case 'REFRESH':\n return {\n ...state,\n refresh: Date.now(),\n loading: !action.payload.transparent,\n }\n\n case 'APPLY':\n return { ...state, context: { ...state.context, ...action.payload } }\n\n default:\n return state\n }\n}\n","import React from 'react'\nimport { useReducer } from 'react'\nimport { useEffect } from 'react'\nimport { Flash } from './flash'\nimport { TraversalProvider, useGuillotinaClient } from '../contexts'\nimport { useConfig } from '../hooks/useConfig'\nimport { useRegistry } from '../hooks/useRegistry'\nimport { useLocation } from '../hooks/useLocation'\nimport { guillotinaReducer } from '../reducers/guillotina'\nimport { initialState } from '../reducers/guillotina'\nimport { Loading } from './ui/loading'\nimport { IntlProvider } from 'react-intl'\nimport langCA from '../locales/compiled/ca.json'\nimport langES from '../locales/compiled/es.json'\nimport langEN from '../locales/compiled/en.json'\n\nfunction loadLocaleData(locale) {\n switch (locale) {\n case 'ca':\n return langCA\n case 'es':\n return langES\n default:\n return langEN\n }\n}\n\nexport function Guillotina({ auth, locale, ...props }) {\n const messages = loadLocaleData(locale)\n const url = props.url || 'http://localhost:8080' // without trailing slash\n const config = props.config || {}\n const client = useGuillotinaClient()\n\n const { Permissions } = useConfig(config)\n const registry = useRegistry(props.registry || {})\n // Location is cooked routing solution (only uses search params)\n const [location] = useLocation()\n\n // if there is no path provided just go to root\n const searchPath = location.get('path') || '/'\n if (searchPath && searchPath !== '') {\n initialState.path = searchPath\n }\n\n const [state, dispatch] = useReducer(guillotinaReducer, initialState)\n\n const { path, refresh } = state\n\n useEffect(() => {\n dispatch({ type: 'SET_PATH', payload: searchPath })\n }, [searchPath])\n\n useEffect(() => {\n ;(async () => {\n let data = await client.getContext(path)\n if (data.status === 401) {\n dispatch({ type: 'SET_ERROR', payload: 'notallowed' })\n return\n } else if (data.status === 404) {\n dispatch({ type: 'SET_ERROR', payload: 'notfound' })\n return\n }\n let context = await data.json()\n const pr = await client.canido(path, Permissions)\n const permissions = await pr.json()\n dispatch({ type: 'SET_CONTEXT', payload: { context, permissions } })\n })()\n }, [path, refresh, client])\n\n const ErrorBoundary = registry.get('views', 'ErrorBoundary')\n const NotAllowed = registry.get('views', 'NotAllowed')\n const NotFound = registry.get('views', 'NotFound')\n const Path = registry.get('components', 'Path')\n\n const contextData = {\n url,\n client,\n auth,\n state,\n dispatch,\n registry,\n flash: config.flash,\n }\n\n const { action, errorStatus, permissions } = state\n const Main = registry.getComponent(state.context, path)\n const Action = action.action ? registry.getAction(action.action) : null\n\n return (\n <IntlProvider locale={locale} defaultLocale=\"en\" messages={messages}>\n <ErrorBoundary>\n {!errorStatus && (\n <TraversalProvider {...contextData}>\n {permissions && (\n <React.Fragment>\n {action.action && <Action {...action.params} />}\n <div className=\"level\">\n <div className=\"level-left\">\n <div className=\"level-item\">\n <Path />\n </div>\n </div>\n </div>\n <Flash />\n {Main && (\n <ErrorBoundary>\n <div className=\"box main-panel\">\n {state.loading && <Loading />}\n {!state.loading && <Main state={state} />}\n </div>\n </ErrorBoundary>\n )}\n {/* <p>Guillotina {JSON.stringify(state.context)}</p> */}\n </React.Fragment>\n )}\n </TraversalProvider>\n )}\n {errorStatus === 'notallowed' && <NotAllowed />}\n {errorStatus === 'notfound' && <NotFound />}\n </ErrorBoundary>\n </IntlProvider>\n )\n}\n","import React from 'react'\nimport { Icon } from './ui/icon'\n\nexport function Layout({ children, onLogout, auth }) {\n const doLogout = (ev) => {\n auth.logout()\n onLogout()\n }\n\n return (\n <React.Fragment>\n <header>\n <nav className=\"navbar\" role=\"navigation\" aria-label=\"main navigation\">\n <div className=\"navbar-brand\">\n <a className=\"navbar-item\" href=\"/\">\n <img src=\"/logo.svg\" alt=\"Guillotina logo\" height=\"80\" />\n </a>\n <a\n id=\"burger\"\n href=\"/\"\n role=\"button\"\n className=\"navbar-burger burger\"\n aria-label=\"menu\"\n aria-expanded=\"false\"\n data-target=\"navbarmenu\"\n >\n <span aria-hidden=\"true\"></span>\n <span aria-hidden=\"true\"></span>\n <span aria-hidden=\"true\"></span>\n </a>\n </div>\n <div id=\"navbarmenu\" className=\"navbar-menu\">\n <div className=\"navbar-start\"></div>\n <div className=\"navbar-end\">\n <div className=\"navbar-item\">\n {auth.isLogged && (\n <div className=\"buttons\">\n <button className=\"button is-size-7\" onClick={doLogout}>\n <Icon icon=\"fas fa-sign-out-alt\" size=\"is-size-7\" />\n <span>Logout</span>\n </button>\n </div>\n )}\n </div>\n </div>\n </div>\n </nav>\n </header>\n <section className=\"section main\">\n <div className=\"container\">\n <div className=\"column\">{children}</div>\n </div>\n </section>\n </React.Fragment>\n )\n}\n","import React, { useRef, useEffect } from 'react'\nimport useSetState from '../hooks/useSetState'\n\nconst ERRORS = {\n failed_to_fetch: 'Failed to fetch data: Backend not running?',\n invalid_credentials: 'Failed! Invalid credentials',\n}\nconst initialState = {\n username: '',\n password: '',\n loading: undefined,\n errors: undefined,\n}\nexport const Login = ({\n currentSchema,\n setCurrentSchema,\n schemas,\n auth,\n onLogin,\n}) => {\n const [state, setState] = useSetState(initialState)\n const inputRef = useRef(null)\n\n useEffect(() => {\n if (inputRef) {\n inputRef.current.focus()\n }\n }, [inputRef])\n\n const doLogin = async (ev) => {\n ev.preventDefault()\n setState({ loading: true, errors: undefined })\n const { username, password } = state\n\n if (currentSchema !== '') {\n auth.setAccount(currentSchema)\n }\n const res = await auth.login(username, password)\n\n if (!res) {\n setState({ errors: auth.errors, loading: false })\n return\n }\n\n if (onLogin) {\n onLogin()\n }\n }\n\n return (\n <React.Fragment>\n <form\n className=\"login__form\"\n action=\"\"\n onSubmit={doLogin}\n data-test=\"formLoginTest\"\n >\n <div className=\"field\">\n <label className=\"label\">Username:</label>\n <input\n type=\"text\"\n className=\"input\"\n placeholder=\"Username\"\n onChange={(e) => setState({ username: e.target.value })}\n value={state.username}\n ref={inputRef}\n data-test=\"inputUsernameLoginTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">Password:</label>\n <input\n type=\"password\"\n className=\"input\"\n placeholder=\"Password\"\n onChange={(e) => setState({ password: e.target.value })}\n value={state.password}\n data-test=\"inputPasswordLoginTest\"\n />\n </div>\n {schemas && schemas.length > 1 && (\n <div className=\"field\">\n <label className=\"label\">Schema:</label>\n <div className=\"select\">\n <select\n data-test=\"selectSchemaTest\"\n onChange={(e) => setCurrentSchema(e.target.value)}\n >\n {schemas.map((s) => (\n <option value={s} key={s}>\n {s}\n </option>\n ))}\n </select>\n </div>\n </div>\n )}\n <div className=\"field\">\n <button\n className=\"button is-warning\"\n type=\"submit\"\n data-test=\"btnLoginTest\"\n >\n Login\n </button>\n </div>\n <div className=\"field\">\n {state.errors && (\n <p className=\"has-text-danger\">\n {ERRORS[state.errors] || 'Generic error'}\n </p>\n )}\n </div>\n </form>\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useState, useEffect } from 'react'\nimport { Form } from '../components/input/form'\nimport { stringToSlug } from '../lib/helpers'\nimport { useTraversal } from '../contexts'\nimport useSetState from '../hooks/useSetState'\nimport { useIntl } from 'react-intl'\nimport { genericMessages } from '../locales/generic_messages'\n\nconst ignoreFiels = []\nconst extraFields = ['title']\n\nexport function RequiredFieldsForm({\n loading,\n onSubmit,\n actionName,\n title,\n dataTest,\n type,\n}) {\n const intl = useIntl()\n const Ctx = useTraversal()\n\n const EditComponent = Ctx.registry.get('components', 'EditComponent')\n\n const [formData, setFormData] = useState({})\n const [errors, setErrors] = useState({})\n\n const [schema, setSchema] = useSetState({\n data: undefined,\n loading: false,\n error: undefined,\n formFields: [],\n })\n\n useEffect(() => {\n ;(async () => {\n if (!schema.loading && !schema.data && !schema.error) {\n try {\n setSchema({ loading: true })\n const dataJson = await Ctx.client.getTypeSchema(Ctx.path, type)\n setSchema({\n loading: false,\n data: dataJson,\n formFields: [...dataJson.required, ...extraFields],\n })\n } catch (err) {\n setSchema({ loading: false, error: err })\n }\n }\n })()\n }, [schema])\n\n const submit = () => {\n const currentErrors = {}\n\n schema.formFields.forEach((key) => {\n if (!formData[key]) {\n currentErrors[key] = intl.formatMessage(\n genericMessages.field_is_required\n )\n }\n })\n\n if (Object.keys(currentErrors).length > 0) {\n setErrors(currentErrors)\n return\n }\n\n onSubmit({ id: formData.uuid, ...formData })\n }\n\n return (\n <Form title={title} onSubmit={submit} dataTest={dataTest}>\n {schema &&\n schema.data &&\n !schema.loading &&\n schema.formFields.map((key) => {\n if (!ignoreFiels.includes(key)) {\n const value = schema.data.properties[key]\n return (\n <EditComponent\n key={key}\n id={key}\n placeholder={value?.title ?? ''}\n className=\"\"\n required\n schema={schema.data.properties[key]}\n setValue={(ev) => {\n if (key === 'title') {\n setFormData({\n ...formData,\n uuid: stringToSlug(ev),\n [key]: ev,\n })\n } else if (key === 'uuid') {\n setFormData({\n ...formData,\n uuid: stringToSlug(ev),\n })\n } else {\n setFormData({ ...formData, [key]: ev })\n }\n }}\n error={errors[key]}\n dataTest={`${key}TestInput`}\n val={key in formData ? formData[key] : ''}\n />\n )\n }\n return null\n })}\n\n <div className=\"level level-right\">\n <button\n type=\"submit\"\n className={`button is-success ${loading ? 'is-loading' : ''}`}\n data-test=\"formBaseBtnTestSubmit\"\n >\n {actionName || intl.formatMessage(genericMessages.add)}\n </button>\n </div>\n </Form>\n )\n}\n","import jwt_decode from 'jwt-decode'\n\nexport class Auth {\n maxRetry = 1\n retryRefresh = 0\n events = {}\n\n constructor(url) {\n this.url = url\n this.base_url = url\n this.errors = undefined\n }\n\n getUrl(endpoint) {\n return `${this.url}${endpoint}`\n }\n\n setAccount(account) {\n this.url = this.base_url + account\n }\n\n async login(username, password) {\n const url = this.getUrl('@login')\n try {\n const data = await fetch(url, {\n method: 'post',\n body: JSON.stringify({\n username: username,\n password: password,\n }),\n })\n if (data.status === 200) {\n const credentials = await data.json()\n this.storeAuth(credentials, username)\n return true\n } else {\n this.errors = 'invalid_credentials'\n }\n } catch (e) {\n this.errors = 'failed_to_fetch'\n return false\n }\n localStorage.removeItem('auth')\n localStorage.removeItem('auth_expires')\n return false\n }\n\n get isLogged() {\n if (typeof localStorage === 'undefined') {\n return false\n }\n const [token, expires] = this._getToken()\n if (!token || !expires) {\n return false\n }\n if (this.isExpired(expires)) {\n return false\n }\n return true\n }\n\n get username() {\n if (typeof localStorage === 'undefined') {\n return false\n }\n const [token] = this._getToken()\n const data = jwt_decode(token)\n console.log(token)\n return data.id\n }\n\n storeAuth(data) {\n localStorage.setItem('auth', data.token)\n localStorage.setItem('auth_expires', new Date(data.exp).getTime())\n }\n\n cleanAuth() {\n localStorage.removeItem('auth')\n localStorage.removeItem('auth_expires')\n }\n\n logout() {\n this.cleanAuth()\n }\n\n async refreshToken() {\n console.log('refresh!!!')\n this.retryRefresh++\n let data = await fetch(this.getUrl('@login-renew'), {\n headers: this.getHeaders(),\n method: 'post',\n })\n if (data.status === 401) {\n // invalid token\n this.cleanAuth()\n this.onLogout()\n return\n }\n const res = await data.json()\n console.log('refresh data', res)\n this.storeAuth(res)\n console.log('token refreshed')\n this.retryRefresh = 0\n return data.token\n }\n\n willExpire(expiration) {\n let now = new Date().getTime()\n if (parseInt(expiration) * 1000 < now + 10 * 1000) {\n return true\n }\n return false\n }\n\n isExpired(expiration) {\n let now = new Date().getTime()\n if (parseInt(expiration) * 1000 > now) {\n return false\n }\n return true\n }\n\n _getToken() {\n return [localStorage.getItem('auth'), localStorage.getItem('auth_expires')]\n }\n\n getToken() {\n const [token] = this._getToken()\n return token\n }\n\n getHeaders() {\n const [authToken, expires] = this._getToken()\n if (!authToken) return {}\n\n if (this.willExpire(expires) && this.retryRefresh < this.maxRetry) {\n ;(async () => await this.refreshToken())()\n }\n\n return {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: 'Bearer ' + authToken,\n }\n }\n}\n"],"names":["AuthContext","createContext","ClientContext","TraversalContext","Traversal","flash","props","Object","assign","refresh","transparent","dispatch","type","payload","apply","data","message","window","scrollTo","top","left","behavior","clearFlash","doAction","action","params","cancelAction","hasPerm","permission","state","permissions","filterTabs","tabs","tabsPermissions","result","keys","forEach","item","perm","path","slice","context","client","getContainerFromPath","TraversalProvider","children","React","useTraversal","useContext","ClientProvider","useGuillotinaClient","genericMessages","defineMessages","loading","id","defaultMessage","remove","install","delete","move_to","copy_to","behaviors","static","disable","enable","enabled","available","invalid_form_data","invalid_form","select_principal","select_role","select_permissions","operation","save","choose","property","value","create","upload","image","error_provide_key_name","mandatory_field","error_in_field","field_updated","field_deleted","can_not_delete_field","cancel","open","download","search","no_results","load_more","add_type","confirm","field_is_required","title","add","not_implemented","failed_to_update","add_user","role","setting","genericFileMessages","error_file_key_name","error_upload_file","error_upload_file_size","image_uploaded","file_uploaded","failed_delete_file","image_deleted","confirm_message_delete_file","confirm_message_delete_image","no_images_uploaded","no_files_uploaded","upload_an_image","upload_a_file","classnames","classNames","filter","Boolean","join","trim","noop","current","generateUID","prefix","toQueryString","map","key","encodeURIComponent","base64ToArrayBuffer","base64","binaryString","atob","binaryLen","length","bytes","Uint8Array","i","ascii","charCodeAt","stringToSlug","str","replace","toLowerCase","from","to","l","RegExp","charAt","sleep","ms","Promise","resolve","setTimeout","getActionsObject","intl","multiple","DELETE","text","formatMessage","perms","MOVE","COPY","Button","className","onClick","disabled","dataTest","rest","css","concat","split","Modal","isActive","setActive","usePortal","Portal","Confirm","onCancel","onConfirm","useIntl","marginTop","PathTree","defaultPath","e","preventDefault","target","display","useSetState","initialState","useState","set","setState","useCallback","patch","prevState","Function","_catch","body","recover","then","initial","undefined","isError","errorMessage","response","getErrorMessage","dataError","defaultValue","details","reason","processResponse","res","ready_body","status","json","Ctx","endpoint","newState","console","error","del","post","get","req","useCrudContext","AddItem","doSubmit","form","formData","getForm","registry","Form","err","log","Permissions","Config","DisabledTypes","PageSize","DelayActions","SearchEngine","fieldHaveDeleteButton","schema","widget","calculated","addConfig","additional","original","Array","isArray","useConfig","cfg","ref","useRef","RemoveItems","removeItems","errors","setLoading","actions","items","ok","push","all","errorstr","JSON","stringify","last","itemsNames","Checkbox","classNameInput","indeterminate","placeholder","onChange","inputRef","useEffect","updateState","ev","checked","ErrorZone","propTypes","PropTypes","node","string","applyValidators","validators","validation","func","useInput","validator","hasError","onUpdate","onBlur","onFocus","REGEX_EMAIL","REGEX_URL","REGEX_HEX_COLOR","REGEX_NUMBER","isEmpty","maxLength","limit","minLength","isEmail","test","isURL","isHexColor","isNumber","notEmpty","Input","forwardRef","icon","iconPosition","errorZoneClassName","autoComplete","required","autofocus","handlers","uid","mounted","setMounted","focus","theError","statusClasses","cssControl","arrayOf","oneOf","autoFocus","bool","isSubmitted","name","onKeyDown","onKeyUp","onPressEnter","readOnly","oneOfType","number","Icon","align","addClass","EmailInput","onSubmit","onReset","handleSubmit","event","isRequired","PasswordInput","formComponents","password","boolean","email","FormBuilder","actionName","exclude","remotes","submitButton","properties","values","fields","x","includes","element","field","GetTag","Tag","label","displayName","children_","Children","child","cloneElement","changes","formatDate","d","Date","minutes","getMinutes","getDate","getMonth","getFullYear","getHours","obj","defValue","pathArray","match","reduce","prevObj","getNewId","suffix","rgx","r","num","parseInt","Select","options","size","classWrap","appendDefault","style","selectValue","selectedOptions","cssWrap","index","toString","object","setURLParams","p","history","pathname","clean","URLSearchParams","_key","useLocation","currentSearchParams","update","prevPath","patchHistoryEvents","checkForUpdates","events","addEventListener","removeEventListener","navigate","param","patched","arguments","Event","dispatchEvent","location","Link","aRef","model","aStyle","textDecoration","color","stopPropagation","actAsLink","ctrlKey","metaKey","altKey","shiftKey","button","TdLink","link","click","Loading","onRemove","Delete","Table","headers","idx","Notification","isColor","RestClient","url","container","auth","request","indexOf","startsWith","getHeaders","fetch","authToken","getToken","Accept","Authorization","method","fetchData","put","filename","SEP","DEFAULT_FIELD","CLEANER","parser","qs","defaultField","Error","orParser","parsed","buildQs","lastKey","part","val","parsedQuery","cacheTypes","cacheSchemas","GuillotinaClient","pathContainsContainer","substring","parts","clearContainerFromPath","cleanPath","getContext","getQueryParamsPostresql","start","pageSize","withDepth","getQueryParamsElasticsearch","containerPath","objectPath","endsWith","getItemsColumn","smallcss","width","mediumcss","isSortable","m","created","updated","applyCompat","member","items_count","items_total","prepare","query","canido","createObject","file","getTypeSchema","getAddons","installAddon","removeAddon","getGroups","getUsers","getPrincipals","groups","users","gr","usr","getRoles","getAllPermissions","resp","Set","extractPermissions","getTypes","types","getClient","lightFileReader","reader","FileReader","readAsArrayBuffer","onloadend","fileData","normalize","FileUpload","changed","files","Textarea","rows","defaultEvents","on","off","useClickAway","onClickAway","savedCallback","handler","el","contains","eventName","document","debounce","wait","timeout","args","later","clearTimeout","page","SearchInput","traversal","queryCondition","btnClass","dataTestWrapper","dataTestSearchInput","dataTestItem","renderTextItemOption","typeNameQuery","labelProperty","setOptions","isOpen","setIsOpen","searchTerm","setSearchTerm","wrapperRef","valueLabel","setValueLabel","setIsLoadingData","getHeight","maxHeight","innerHeight","getBoundingClientRect","delayedQuery","handleSearch","inicializeLabels","searchTermQs","searchTermParsed","getSearch","fnName","qsParsed","typeNameParsed","newValuesLabel","sortParsed","newItems","renderTextItemOptionFn","currentTarget","relatedTarget","blur","array","InputList","inputValue","setInputValue","addTags","React.createElement","tag","Dropdown","isRight","optionDisabledWhen","setIsActive","position","option","cursor","opacity","backgroundColor","EditableField","ns","modifyContent","isEdit","setEdit","setValue","EditComponent","RenderFieldComponent","canModified","saveField","unescape","dataPatch","deleteField","enum","DownloadField","getField","downloadFile","blob","Blob","content_type","URL","createObjectURL","createElement","href","setAttribute","appendChild","revokeObjectURL","parentNode","removeChild","useVocabulary","vocabularyName","vocabulary","setVocabulary","getPath","dataJson","plain","RenderField","Widget","FieldValue","DEFAULT_VALUE_NO_EDITABLE_FIELD","getDefaultValueEditableField","SearchRenderField","valuesLabels","setValuesLabels","isLoadingData","valuesToSearch","getRenderValue","DEFAULT_VALUE_EDITABLE_FIELD","VocabularyRenderField","getRenderProps","renderProps","vocabularyValue","find","token","toLocaleString","SelectVocabulary","getOptions","vocData","default","getProps","currentValue","SearchInputList","valuesLabel","queryPath","getInputType","IAttachment","IMultiAttachment","fileKey","setFileKey","setFile","fileKeyToDelete","setFileKeyToDelete","setError","uploadFile","deleteFile","_sizesImages","pact","s","v","o","bind","observer","prototype","onFulfilled","onRejected","callback","_this","thenable","check","reject","_cycle","IImageAttachment","sizesImages","size_images","showConfirmToDelete","setShowConfirmToDelete","endpointSize","gap","_settle","_Pact","_isSettledPact","IMultiImageAttachment","StrictModeDroppable","setEnabled","animation","requestAnimationFrame","cancelAnimationFrame","Droppable","reorder","list","startIndex","endIndex","splice","removed","_forTo","messages","failed_to_sort_images","images_sorted","IMultiImageOrderedAttachment","onDragEnd","destination","source","resultSorted","sortedList","setSortedList","uuidv4","DragDropContext","provided","innerRef","droppableProps","Draggable","providedChild","borderTop","draggableProps","dragHandleProps","base","local","roleperm","prinperm","prinrole","inherit","Sharing","getRole","principal","getPrinroles","ItemModel","_path","icons","_url","type_name","creation_date","modification_date","status_changed_ok","status_changed_error","confirm_message","current_state","IWorkflow","loadDefinition","workflow","setDefinition","definition","workflowAction","setWorkflowAction","currentState","doWorkflowAction","transitions","transition","PanelActions","ACTIONS_OBJECT","some","onAction","actionKey","useMountedState","mountedRef","useAsyncFn","fn","deps","lastCallId","isMounted","callId","useAsync","available_addons","no_available_addons_container","installed_addons","PanelAddons","setAction","pathPrefix","prepareData","addon","installed","addons","arrayToObject","PanelBehaviors","ops","enableBehavior","disableBehavior","dynamic","ItemsActionsCtx","ItemsActionsProvider","selected","setSelected","onSelectAllItems","onSelectOneItem","AllItemsCheckbox","marginLeft","ItemCheckbox","absId","ItemsActionsDropdown","every","Pagination","total","doPaginate","pager","maxPages","Math","ceil","currentPage","totalPages","totalItems","Item","RItem","columns","ItemTitle","SearchLabels","clearSearch","SearchOptionsLabels","renderValue","setRenderValue","defaultRenderValue","SearchVocabularyLabels","PanelItems","setLocation","filterSchema","getSchemas","filters","sort","sortDirection","searchParsed","fieldsToFilter","getFieldsToFilter","typeParsed","onSort","sort_direction","resultQueryParams","resultDynamicLocation","itemParam","attribute_key","filterParsed","controller","AbortController","signal","abort","getIcon","tab","input_type","filterData","column","BehaviorsView","getBehavior","__behaviors__","GetBehavior","b","Cls","BehaviorNotImplemented","PropertiesButtonView","getProperties","Props","Buttons","Element","PropertiesView","Panels","_showProperties","_ignoreFields","PanelProperties","setSchema","showProperties","properties_default","ignoreFields","ignoreField","properties_ignore_fields","prop","PermissionPrinperm","principals","operations","getMultiples","setter","savePermission","random","PermissionPrinrole","roles","PermissionRoleperm","role_permissions","no_role_permissions","no_principal_permissions","no_principal_roles","principal_permissions","principal_roles","allow","deny","allow_single","unset","add_permissions","select_type","PanelPermissions","ctx","reset","setReset","row","currentObj","AddPermission","defaultOptions","init","principalsData","group","user","fullname","prepareAvailable","already","def","TagsWidget","noData","selectRef","setResult","addItem","marginBottom","CreateButton","anyNameFunction","ContextToolbar","loadTypes","AddButton","searchText","searchValue","setSearchValue","onSearchQuery","q","onSearchByType","typeText","Flash","FallbackTab","TabsPanel","currentTab","rightToolbar","fallback","setTab","CurrentComp","changeTab","Items","Properties","Behaviors","Actions","FolderCtx","ItemCtx","ApplicationCtx","databases","db","DatabaseCtx","containers","CreateContainer","add_container","container_created","ModalAddContainer","createContainer","idField","setId","isLoading","PanelNotImplemented","Addons","Registry","ContainerCtx","UserForm","attr","username","useRemoteField","setRemote","updateRemote","Users","UsersToolbar","UsersCtx","UserCtx","gorups","user_groups","user_roles","requestGetGroups","requestGetRoles","updateObject","withError","CopyItems","copyItems","input","new_id","responses","CopyItem","copyItem","MoveItems","moveItems","MoveItem","moveItem","RemoveItem","removeItem","pass1","pass2","ChangePassword","setPerror","perror","setPass","n","BaseForm","setName","submit","setTitle","editableFields","IDublinCore","Groups","GroupToolbar","GroupsCtx","GroupCtx","setRoles","handleResponse","addRole","removeRole","addUser","newUserId","removeUser","userToRemove","urole","fontSize","paddingBottom","ErrorBoundaryComponent","componentDidCatch","errorInfo","errorMsg","errorStack","componentStack","render","Component","injectIntl","NotAllowed","NotFound","Path","segments","links","buildPaths","indx","results","paths","views","ErrorBoundary","Application","Database","Container","UserManager","User","Group","GroupManager","Folder","changePassword","forms","itemsColumn","schemas","components","searchEngineQueryParamsFunction","PostreSQL","Elasticsearch","getComponent","defaultComponent","funcCols","getAction","is_folderish","useRegistry","errorStatus","guillotinaReducer","now","loadLocaleData","locale","langCA","langES","langEN","Guillotina","config","searchPath","useReducer","pr","contextData","Main","Action","IntlProvider","Layout","onLogout","doLogout","logout","isLogged","ERRORS","failed_to_fetch","invalid_credentials","Login","currentSchema","setCurrentSchema","onLogin","doLogin","setAccount","login","ignoreFiels","extraFields","RequiredFieldsForm","setFormData","setErrors","formFields","currentErrors","uuid","Auth","maxRetry","retryRefresh","base_url","getUrl","account","localStorage","credentials","storeAuth","setItem","exp","getTime","cleanAuth","refreshToken","willExpire","expiration","isExpired","_getToken","getItem","expires","jwt_decode"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}