@guillotinaweb/react-gmi 0.22.2 → 0.22.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/react-gmi.esm.js +2 -11
- package/dist/react-gmi.esm.js.map +1 -1
- package/dist/react-gmi.js +2 -11
- package/dist/react-gmi.js.map +1 -1
- package/dist/react-gmi.modern.js +2 -11
- package/dist/react-gmi.modern.js.map +1 -1
- package/dist/react-gmi.umd.js +2 -11
- package/dist/react-gmi.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-gmi.umd.js","sources":["../src/guillo-gmi/contexts/index.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/components/input/select.js","../src/guillo-gmi/lib/rest.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/hooks/useLocation.js","../src/guillo-gmi/components/Link.js","../src/guillo-gmi/components/TdLink.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/components/input/search_input.js","../src/guillo-gmi/components/input/input_list.js","../src/guillo-gmi/hooks/useClickAway.js","../src/guillo-gmi/components/input/dropdown.js","../src/guillo-gmi/lib/utils.js","../src/guillo-gmi/components/fields/editableField.js","../src/guillo-gmi/components/fields/downloadField.js","../src/guillo-gmi/components/fields/renderField.js","../src/guillo-gmi/components/behaviors/iattachment.js","../src/guillo-gmi/components/behaviors/imultiattachment.js","../src/guillo-gmi/components/behaviors/idublincore.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/models/sharing.js","../src/guillo-gmi/models/index.js","../src/guillo-gmi/components/item.js","../src/guillo-gmi/components/searchLabels.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/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/components/fields/editComponent.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","export 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","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'\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 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 Cancel\n </button>\n \n <Button\n loading={loading}\n className=\"is-success\"\n onClick={() => onConfirm()}\n dataTest=\"btnConfirmModalTest\"\n >\n 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 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 Cancel\n </button>\n \n <button\n type=\"submit\"\n className=\"button is-success\"\n data-test=\"btnConfirmModalTest\"\n >\n 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\n// BBB guillotina 5\nconst getId = (item) => {\n if (item['@id']) {\n return item['@id']\n }\n return item['@absolute_url']\n}\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 console.log(item)\n const res = await Ctx.client.delete(getId(item))\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'\n\nexport const EmailInput = ({ value = '', dataTest, ...rest }) => {\n return (\n <Input\n type=\"email\"\n validator={isEmail}\n errorMessage=\"Email address invalid\"\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 React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport ErrorZone from '../error_zone'\nimport { classnames, generateUID } from '../../lib/helpers'\n\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 ...rest\n },\n ref\n ) => {\n const [uid] = useState(generateUID('select'))\n\n const onUpdate = (ev) => {\n if (ev.target.value === '') {\n onChange({ target: { value: undefined } })\n } else {\n onChange(ev)\n }\n }\n\n if (appendDefault) {\n options = [{ text: 'Choose..', value: '' }].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={size}\n multiple={multiple}\n disabled={loading || rest.disabled}\n onChange={onUpdate}\n {...rest}\n ref={ref}\n style={style}\n data-test={dataTest}\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","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) {\n return await this.request(path, {})\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","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 onRemove,\n size = 'is-medium',\n color = 'is-warning',\n}) => (\n <span className={classnames(['tag', color, size])}>\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","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","const SEP = '='\nconst DEFAULT_FIELD = 'title__in'\nconst CLEANER = '||'\n\nexport function parser(qs, defaultField = DEFAULT_FIELD) {\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 { RestClient } from './rest'\nimport { toQueryString } from './helpers'\nimport { Icon } from '../components/ui'\nimport { TdLink } from '../components/TdLink'\nimport { parser } from './search'\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) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n return await this.rest.get(path)\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 ]\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 child: (m) => <td style={smallcss}>{<Icon icon={m.icon} />}</td>,\n },\n {\n label: 'type',\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 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 child: (m) => (\n <td style={mediumcss} className=\"is-size-7 is-vcentered\">\n {m.created}\n </td>\n ),\n },\n {\n label: 'modified',\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(path, params, container = false, prepare = true) {\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)\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'\n\nexport function FileUpload({ label, onChange, ...props }) {\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\">{label || 'Choose a file…'}</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 React, { useState } 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'\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}) => {\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\n const [uid] = useState(generateUID('search_input'))\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 = React.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 })\n\n if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0) {\n searchTermQs = buildQs([...qs, ...searchTermParsed, ...qsParsed])\n }\n\n const data = await traversal.client.search(\n path,\n searchTermQs,\n false,\n false,\n page * PageSize,\n PageSize\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 React.useEffect(() => {\n if (path && !options.loading && !options.items) {\n ;(async () => {\n handleSearch(options.page)\n })()\n }\n }, [path, options.loading, options.items])\n\n return (\n <React.Fragment>\n <div\n data-test={dataTestWrapper}\n ref={wrapperRef}\n className={`dropdown ${isOpen ? 'is-active' : ''}`}\n onBlur={(ev) => {\n if (!ev.currentTarget.contains(ev.relatedTarget)) {\n if (searchTerm !== '') {\n setSearchTerm('')\n setOptions(initialState)\n }\n setIsOpen(!isOpen)\n }\n }}\n >\n <div className=\"dropdown-trigger\">\n <button\n className={`button ${btnClass}`}\n onClick={(ev) => {\n ev.preventDefault()\n setIsOpen(!isOpen)\n }}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <span>{value && value.title ? value.title : 'Choose...'}</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=\"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 <a\n href=\"#\"\n className={`dropdown-item editable ${\n value && value.id === item.id ? 'is-active' : ''\n }`}\n data-test={`${dataTestItem}-${item.id}`}\n onMouseDown={() => {\n onChange && onChange(item)\n setIsOpen(false)\n }}\n key={item.path}\n >\n {renderTextItemOptionFn(item)}\n </a>\n )\n })}\n\n {options.items && options.items.length === 0 && (\n <div className=\"dropdown-item\"> No results </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 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.object,\n client: PropTypes.object,\n path: PropTypes.string,\n PageSize: PropTypes.number,\n btnClass: PropTypes.string,\n}\n","import * as React from 'react'\nimport { Input } from './input'\n\nexport const InputList = React.forwardRef(\n ({ value, onChange, dataTest }, ref) => {\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=\"Press enter to add value\"\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 { 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, 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 { 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 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'\n\nexport function EditableField({\n field,\n value,\n ns,\n schema = undefined,\n modifyContent,\n required,\n}) {\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(`Provide a key name!`, 'danger')\n return\n }\n\n if (!val && required) {\n Ctx.flash(`${field} is mandatory!`, 'danger')\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(`Failed to upload file ${field}!`, 'danger')\n } else {\n Ctx.flash(`${field} uploaded!`, 'success')\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(`Error in field ${field}!`, 'danger')\n } else {\n Ctx.flash(`Field ${field}, updated!`, 'success')\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(`You can't delete ${field}!`, 'danger')\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(`Error in field ${field}!`, 'danger')\n } else {\n Ctx.flash(`Field ${field}, deleted!`, 'success')\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 Save\n </Button>\n </div>\n <div className=\"control\">\n <Button\n className=\"is-small\"\n onClick={() => setEdit(false)}\n dataTest=\"editableFieldBtnCancelTest\"\n >\n 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 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'\n\nexport const DownloadField = ({ value }) => {\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 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 Download\n </button>\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { DownloadField } from './downloadField'\n\nconst plain = ['string', 'number', 'boolean']\n\nexport function RenderField({ value, Widget }) {\n if (value === null || value === undefined) return ''\n\n if (Widget) {\n return <Widget value={value} />\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\nexport const DEFAULT_VALUE_EDITABLE_FIELD = 'Click to edit'\nexport const DEFAULT_VALUE_NO_EDITABLE_FIELD = ' -- '\n\nexport function RenderFieldComponent({ schema, field, val, modifyContent }) {\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 }\n return renderProps\n }\n\n return <RenderField {...getRenderProps()} />\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\n\nexport function IAttachment({ properties, values }) {\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n return (\n <React.Fragment>\n {Object.keys(properties).map((key) => (\n <tr key={'attachment_' + key}>\n <td key={1}>{key}</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 </React.Fragment>\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'\n\nexport function IMultiAttachment({ properties, values }) {\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('Provide a file and a 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('Failed to upload file')\n setLoading(false)\n return\n }\n setFileKey('')\n setFile(undefined)\n setLoading(false)\n Ctx.flash(`${fileKey} 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('Failed to delete file')\n setLoading(false)\n return\n }\n setLoading(false)\n Ctx.flash(`${fileKeyToDelete} delete!`, '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(fileKeyToDelete)}\n message={`Are you sure to remove: ${fileKeyToDelete}?`}\n />\n )}\n\n {Object.keys(values['files']).map((key) => (\n <tr key={'multiattachment_' + key}>\n <td key={1}>{key}</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}>No files uploaded</td>\n </tr>\n )}\n {modifyContent && (\n <tr>\n <td colSpan={2}>\n <label className=\"label\">Upload a file</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 />\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 Upload\n </Button>\n </div>\n </form>\n </td>\n </tr>\n )}\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\n\nconst editableFields = [\n 'title',\n 'description',\n 'effective_date',\n 'expiration_date',\n]\n\nexport function IDublinCore({ properties, values }) {\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n return (\n <React.Fragment>\n {Object.keys(properties).map((key) => (\n <tr key={'dublin_' + key}>\n <td key={1}>{key}</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 </React.Fragment>\n )\n}\n","import * as React from 'react'\nimport { useTraversal } from '../../contexts'\n\nexport const ACTIONS_OBJECT = {\n DELETE: {\n text: 'Delete',\n perms: ['guillotina.DeleteContent'],\n action: 'removeItem',\n },\n MOVE: {\n text: 'Move to...',\n perms: ['guillotina.MoveContent'],\n action: 'moveItem',\n },\n COPY: {\n text: 'Copy to...',\n perms: ['guillotina.DuplicateContent'],\n action: 'copyItem',\n },\n}\n\nexport function PanelActions() {\n const traversal = useTraversal()\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'\n\n// TODO: Refactor without useAsync... just crudContext\nexport function PanelAddons(props) {\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>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 Available Addons\n </h2>\n <hr />\n {state.value.available.length === 0 && (\n <p>No Addon available in this container</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 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 Installed Addons\n </h2>\n <hr />\n {state.value.installed.length === 0 && (\n <p>No Addon installed in this container</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 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'\n\nexport function PanelBehaviors() {\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\">Behaviors</h2>\n {!loading && !isError && result && (\n <React.Fragment>\n <Table>\n <tr>\n <td colSpan=\"3\">\n <h3 className=\"title is-size-6\">Static</h3>\n </td>\n </tr>\n {result.static.map((behavior) => (\n <tr key={behavior}>\n <td>Static</td>\n <td>{behavior}</td>\n <td className=\"\">\n <Button className=\"is-small is-pulled-right\" disabled>\n 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\">Enabled</h3>\n </td>\n </tr>\n {result.dynamic.map((behavior) => (\n <tr key={behavior}>\n <td>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 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\">Available</h3>\n </td>\n </tr>\n {result.available.map((behavior) => (\n <tr key={behavior}>\n <td>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 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'\n\nconst ItemsActionsCtx = createContext({})\n\nexport const actions = {\n DELETE: {\n text: 'Delete',\n perms: ['guillotina.DeleteContent'],\n action: 'removeItems',\n },\n MOVE: {\n text: 'Move to...',\n perms: ['guillotina.MoveContent'],\n action: 'moveItems',\n },\n COPY: {\n text: 'Copy to...',\n perms: ['guillotina.DuplicateContent'],\n action: 'copyItems',\n },\n}\n\n/**\n * Actions to apply after select some items\n * Ex: Delete, Move, Copy...\n */\nexport function ItemsActionsProvider({ items, children }) {\n const traversal = useTraversal()\n const [selected, setSelected] = useState({})\n\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 traversal = useTraversal()\n const { selected, onAction } = useContext(ItemsActionsCtx)\n const disabled = Object.values(selected).every((v) => !v)\n const options = Object.keys(actions).map((action) => ({\n text: actions[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[o.value].perms.some((perm) => !traversal.hasPerm(perm))\n }\n options={options}\n >\n <div data-test=\"btnChooseActionTest\">Choose action...</div>\n </Dropdown>\n )\n}\n","import React from 'react'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\nexport function Pagination({ current, total, doPaginate, pager }) {\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 className=\"has-text-black\">{current + 1}</span>/\n <span className=\"has-text-black\">{maxPages}</span> of {total} items\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","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'\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, label } = props\n const [location, , del] = useLocation()\n const search = location.get(query ?? 'q')\n\n const clearSearch = () => {\n del(query ?? 'q')\n }\n\n return (\n <div className=\"tags\">\n {search && (\n <Tag name={label ?? 'Search:'} color=\"is-light\" size=\"is-size-7\" />\n )}\n {search && (\n <Tag\n name={search}\n color=\"is-info\"\n size=\"is-size-7\"\n onRemove={() => clearSearch()}\n />\n )}\n </div>\n )\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 '../../components/searchLabels'\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'\n\nconst initialState = {\n page: 0,\n items: [],\n loading: true,\n total: 0,\n}\n\nexport function PanelItems() {\n const [location, setLocation] = useLocation()\n const { PageSize, SearchEngine } = useConfig()\n\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initialState)\n const { items, loading, total } = state\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 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 searchParsed = parser(search)\n }\n\n let typeParsed = undefined\n if (type && type !== '') {\n typeParsed = parser(type, 'type_name')\n }\n\n useEffect(() => {\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) {\n qs = buildQs([\n ...qsParsed,\n ...(searchParsed ?? []),\n ...(typeParsed ?? []),\n ])\n } else {\n qs = buildQs(qsParsed)\n }\n\n data = await Ctx.client.search(\n Ctx.path,\n qs,\n false,\n false,\n page * PageSize,\n PageSize\n )\n setState({\n items: data.member,\n loading: false,\n total: data.items_count,\n })\n })()\n }, [search, type, Ctx.state.refresh, page])\n\n const doPaginate = (page) => {\n setLocation({ page: page })\n }\n\n return (\n <ItemsActionsProvider items={items}>\n <div className=\"columns\">\n <div className=\"column is-2 is-size-7\">\n <ItemsActionsDropdown />\n </div>\n <div className=\"column\">\n <SearchLabels />\n </div>\n <div className=\"column\">\n <SearchLabels label=\"Type\" query=\"type\" />\n </div>\n <div className=\"column\">\n <Pagination\n current={page}\n total={total}\n key=\"pagination-top\"\n doPaginate={doPaginate}\n pager={PageSize}\n />\n </div>\n </div>\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((i) => (\n <th key={i.label} className=\"has-text-info\">\n {i.label}\n </th>\n ))}\n <th> </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 Anything here!\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 { Table } from './ui/table'\nimport { useTraversal } from '../contexts'\nimport { get } from '../lib/utils'\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 <Table\n headers={['Field', 'Value']}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {GetBehavior(behavior)}\n </Table>\n <hr />\n </div>\n ))}\n </React.Fragment>\n )\n}\n\nexport function BehaviorNotImplemented() {\n return (\n <tr>\n <td colSpan=\"3\">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'\n\nconst _showProperties = ['@id', '@name', '@uid']\nconst _ignoreFields = [\n 'guillotina.behaviors.attachment.IAttachment',\n 'guillotina.behaviors.dublincore.IDublinCore',\n 'guillotina.behaviors.attachment.IMultiAttachment',\n '__behaviors__',\n 'type_name',\n 'creation_date',\n 'modification_date',\n 'uuid',\n 'title',\n]\n\nexport function PanelProperties() {\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 = cfg.properties_default || _showProperties\n const ignoreFields = cfg.properties_ignore_fields || _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 \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 className=\"is-2\">Prop</th>\n <th className=\"is-8\">Value</th>\n </tr>\n </thead>\n <tbody>\n {showProperties.map((prop) => (\n <tr key={'prop' + prop}>\n <td>{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 className=\"is-2\">Prop</th>\n <th className=\"is-8\">Value</th>\n </tr>\n </thead>\n <tbody>\n {properties.map(({ key, value }) => {\n return (\n <tr key={'prop' + key}>\n <td>{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'\n\nexport function PermissionPrinperm({\n principals,\n permissions,\n operations,\n refresh,\n}) {\n const Ctx = useTraversal()\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) => (ev) => {\n let values = []\n for (let i = 0; i < ev.target.selectedOptions.length; i++) {\n values = values.concat([ev.target.selectedOptions[i].value])\n }\n setter({ [field]: values })\n }\n\n const savePermission = async (ev) => {\n if (!state.principal || !state.setting || state.permission.length === 0) {\n setState({ error: '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 && <ErrorZone>Invalid form data</ErrorZone>}\n <div className=\"field\">\n <label className=\"label\">Select a Principal</label>\n <Select\n appendDefault\n options={principals}\n onChange={(ev) => setState({ principal: ev.target.value })}\n dataTest=\"selectPrincipalTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">Select permissions</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\">Operation</label>\n <Select\n appendDefault\n options={operations}\n onChange={(ev) => setState({ setting: ev.target.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 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'\n\nexport function PermissionPrinrole({ principals, roles, operations, refresh }) {\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) => (ev) => {\n let values = []\n for (let i = 0; i < ev.target.selectedOptions.length; i++) {\n values = values.concat([ev.target.selectedOptions[i].value])\n }\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.principal || !state.setting || state.roles.length === 0) {\n setState({ error: 'Invalid form' })\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 && <ErrorZone>Invalid form data</ErrorZone>}\n <div className=\"field\">\n <label className=\"label\">Select a Principal</label>\n <Select\n appendDefault\n options={principals}\n onChange={(ev) => setState({ principal: ev.target.value })}\n dataTest=\"selectPrincipalTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">Select a Role</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\">Operation</label>\n <Select\n appendDefault\n options={operations}\n onChange={(ev) => setState({ setting: ev.target.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 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'\n\nexport function PermissionRoleperm({\n roles,\n permissions,\n operations,\n refresh,\n}) {\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) => (ev) => {\n let values = []\n for (let i = 0; i < ev.target.selectedOptions.length; i++) {\n values = values.concat([ev.target.selectedOptions[i].value])\n }\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.role || !state.setting || state.permission.length === 0) {\n console.log(state)\n setState({ error: '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 && <ErrorZone>Invalid form data</ErrorZone>}\n <div className=\"field\">\n <label className=\"label\">Select a Role</label>\n <Select\n appendDefault\n options={roles}\n onChange={(ev) => setState({ role: ev.target.value })}\n dataTest=\"selectRoleTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">Select permissions</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\">Operation</label>\n <Select\n appendDefault\n options={operations}\n onChange={(ev) => setState({ setting: ev.target.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 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'\n\nexport function PanelPermissions() {\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 Role Permissions\n </h2>\n <Table headers={['Role', 'Premission', 'Setting']}>\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\">No roles permissions defined</td>\n </tr>\n )}\n </Table>\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n Principal Permissions\n </h2>\n <Table headers={['Principal', 'Premission', 'Setting']}>\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\">No principals permissions defined</td>\n </tr>\n )}\n </Table>\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n Principal Roles\n </h2>\n <Table headers={['Principal', 'Role', 'Setting']}>\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\">No principals roles defined</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\nconst operations = [\n { text: 'Allow', value: 'Allow' },\n { text: 'Deny', value: 'Deny' },\n { text: 'AllowSingle', value: 'AllowSingle' },\n { text: 'Unset', value: 'Unset' },\n]\n\nconst defaultOptions = [\n { text: 'Choose..', value: '' },\n { text: 'Role Permissions', value: 'roleperm' },\n { text: 'Principal Permissions', value: 'prinperm' },\n { text: 'Principal Roles', value: 'prinrole' },\n]\n\nexport function AddPermission({ refresh, reset }) {\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initial)\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,\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\">Add Permissions</h1>\n <p>Select a type:</p>\n <Select\n options={defaultOptions}\n onChange={(v) => setState({ current: v.target.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={(ev) => {\n addItem(ev.target.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'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\nconst initialState = { types: undefined }\n\nexport function CreateButton() {\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 Add {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 [state, setState] = useSetState(initialState)\n const [location, setLocation, del] = useLocation()\n const traversal = useTraversal()\n const ref = React.useRef(null)\n const Config = useConfig()\n\n const searchText = location.get('q')\n\n useEffect(() => {\n loadTypes()\n }, [traversal.path])\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 = (ev) => {\n const typeText = ev.target.value\n if (typeText && typeText !== '') {\n setLocation({ type: typeText, tab: 'Items', page: 0 })\n } else {\n del('type')\n }\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=\"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\">\n <div className=\"level-left\">\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// import { PanelRequester } from \"../components/panel/requester\";\n\nconst tabs = {\n Items: PanelItems,\n Properties: PanelProperties,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n // Requester: PanelRequester,\n}\n\nconst tabsPermissions = {\n Items: 'guillotina.ViewContent',\n Properties: 'guillotina.ViewContent',\n Behaviors: 'guillotina.ModifyContent',\n Permissions: 'guillotina.SeePermissions',\n // Requester: \"guillotina.swagger.View\"\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'\n\nexport function ApplicationCtx(props) {\n const { databases } = props.state.context\n return (\n <React.Fragment>\n <h3>Databases</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 [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>Create</span>\n </button>\n </React.Fragment>\n )\n}\n\nfunction ModalAddContainer({ isActive, setActive }) {\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('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 onSubmit={createContainer} title=\"Add Container\" error={error}>\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}>Add Container</Button>\n </Form>\n </Modal>\n )\n}\n","import React from 'react'\n\nexport function PanelNotImplemented(props) {\n return (\n <div className=\"container\">\n <h2 className=\"title\">{props.title}</h2>\n <p>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// import { PanelRequester } from \"../components/panel/requester\";\n\nconst tabs = {\n Items: PanelItems,\n Addons: PanelAddons,\n Registry: PanelNotImplemented,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n // Requester: PanelRequester\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 // Requester: \"guillotina.swagger.View\"\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'\n\nconst schema = {\n type: 'object',\n required: ['username', 'password'],\n properties: {\n username: {\n type: 'string',\n title: 'Username',\n },\n email: {\n type: 'string',\n title: 'Email',\n widget: 'email',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n password: {\n type: 'string',\n title: 'Password',\n widget: 'password',\n },\n disabled: {\n type: 'boolean',\n title: 'Disabled',\n },\n },\n}\n\nexport const UserForm = ({ isEdit = false, children, ...props }) => {\n const attr = isEdit ? {} : { title: 'Add User' }\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'\n\nconst tabs = {\n Users: PanelItems,\n}\n\nexport function UsersToolbar(props) {\n const Ctx = useTraversal()\n\n return (\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>Add a User</span>\n </button>\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 { 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(`Update failed: ${errorMessage}`, 'danger')\n } else {\n Ctx.flash('Data updated', 'primary')\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 User\n </h2>\n\n <hr />\n <div className=\"columns\">\n <div className=\"column\">\n <div className=\"container user-props\">\n <p>\n <label>Username: </label> {Ctx.context.username} (\n {Ctx.context.email})\n </p>\n <p>\n <label> Created: </label> {formatDate(Ctx.context.creation_date)}\n </p>\n <p>\n <label> Updated: </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 Change Password\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 Update\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=\"There is no groups for this user\"\n available={state.groups}\n />\n <hr />\n <TagsWidget\n onChange={updateRemote('user_roles')}\n items={remotes.user_roles}\n title=\"Roles\"\n noData=\"The user doesn't have any role\"\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 \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'\n\nexport function BaseForm({ onSubmit, actionName, title, dataTest, loading }) {\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('This 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=\"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 || 'Add'}\n </button>\n </div>\n </Form>\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'\nconst tabs = {\n Groups: PanelItems,\n}\n\nexport function GroupToolbar() {\n const Ctx = useTraversal()\n\n return (\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>Add a Group</span>\n </button>\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 { 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(`Failed to update!: ${errorMessage}`, 'danger')\n }\n }\n\n const addRole = async (ev) => {\n const role = ev.target.value\n const { isError, errorMessage } = await patch({\n user_roles: Ctx.context.user_roles.concat(role),\n })\n handleResponse(isError, `Role ${role} added to group`, errorMessage)\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(isError, `Role ${role} removed from group`, errorMessage)\n }\n\n const addUser = async (newUser) => {\n const data = {}\n Ctx.context.users.forEach((user) => {\n data[user] = true\n })\n data[newUser.id] = true\n const { isError, errorMessage } = await patch({ users: data })\n handleResponse(\n isError,\n `User ${newUser.title} added to group!`,\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 { isError, errorMessage } = await patch({ users: data })\n handleResponse(\n isError,\n `User ${userToRemove} removed from group`,\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> Group</span>\n </h2>\n <hr />\n <div className=\"columns\">\n <div className=\"column is-4\">\n <label className=\"label\">Title: </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\">Roles</h3>\n <p>Add a Role</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\">Users</h3>\n <p>Add a User</p>\n <SearchInput\n path={Ctx.containerPath}\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'\n\nconst style = { color: '#F44336', fontSize: 20, paddingBottom: 20 }\n\nexport default class ErrorBoundary 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}>Something went wrong.</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","import React from 'react'\nimport { Icon } from './ui/icon'\n\nexport function NotAllowed() {\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\">Not Allowed</h1>\n </div>\n )\n}\n","import React from 'react'\nimport { Icon } from './ui/icon'\n\nexport function NotFound() {\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\">404. Not Found</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 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'\n\nexport const EditComponent = React.forwardRef(\n ({ schema, val, setValue, dataTest, className, ...rest }, ref) => {\n 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 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') {\n return (\n <Select\n value={val || ''}\n className={className}\n appendDefault\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n {...rest}\n options={schema?.vocabulary.map((item) => {\n return {\n text: item,\n value: item,\n }\n })}\n onChange={(ev) => {\n const selectValue = get(ev, 'target.value', '')\n return setValue(selectValue)\n }}\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 { 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 { 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 },\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}\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\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 console.log('registry initialized')\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 }\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'\n\nexport function Guillotina({ auth, ...props }) {\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 <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 )\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\n src={process.env.PUBLIC_URL + '/logo.svg'}\n alt=\"Guillotina logo\"\n height=\"80\"\n />\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'\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 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] = 'This field is required'\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 || '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', data.exp)\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","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","Button","className","onClick","loading","disabled","dataTest","rest","css","concat","split","Modal","isActive","setActive","usePortal","Portal","Confirm","onCancel","onConfirm","marginTop","PathTree","title","defaultPath","e","preventDefault","target","value","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","delete","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","getId","RemoveItems","removeItems","errors","setLoading","actions","items","ok","push","all","errorstr","JSON","stringify","last","itemsNames","Checkbox","id","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","Select","options","size","classWrap","multiple","appendDefault","style","text","cssWrap","index","toString","object","RestClient","url","container","auth","request","headers","indexOf","startsWith","getHeaders","fetch","authToken","getToken","Accept","Authorization","method","put","upload","filename","Loading","onRemove","color","Delete","Table","idx","Notification","isColor","setURLParams","p","history","pathname","clean","URLSearchParams","_key","useLocation","currentSearchParams","update","prevPath","patchHistoryEvents","checkForUpdates","events","addEventListener","removeEventListener","navigate","remove","param","patched","arguments","Event","dispatchEvent","location","search","Link","aRef","model","aStyle","textDecoration","stopPropagation","actAsLink","ctrlKey","metaKey","altKey","shiftKey","button","TdLink","link","click","SEP","DEFAULT_FIELD","CLEANER","parser","qs","defaultField","lastKey","part","val","buildQs","parsedQuery","cacheTypes","cacheSchemas","GuillotinaClient","pathContainsContainer","substring","parts","clearContainerFromPath","cleanPath","getContext","getQueryParamsPostresql","start","pageSize","withDepth","getQueryParamsElasticsearch","containerPath","objectPath","endsWith","getItemsColumn","smallcss","width","mediumcss","m","created","updated","applyCompat","member","items_count","items_total","prepare","query","canido","createObject","create","file","download","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","debounce","wait","timeout","args","later","clearTimeout","page","SearchInput","traversal","queryCondition","btnClass","dataTestWrapper","dataTestSearchInput","dataTestItem","renderTextItemOption","setOptions","isOpen","setIsOpen","searchTerm","setSearchTerm","wrapperRef","getHeight","maxHeight","innerHeight","getBoundingClientRect","delayedQuery","handleSearch","searchTermQs","searchTermParsed","fnName","qsParsed","newItems","renderTextItemOptionFn","currentTarget","contains","relatedTarget","InputList","inputValue","setInputValue","addTags","React.createElement","tag","defaultEvents","on","obj","off","useClickAway","onClickAway","savedCallback","handler","el","eventName","document","Dropdown","isRight","optionDisabledWhen","setIsActive","position","option","cursor","opacity","backgroundColor","formatDate","d","Date","minutes","getMinutes","getDate","getMonth","getFullYear","getHours","defValue","pathArray","match","reduce","prevObj","getNewId","suffix","rgx","r","num","parseInt","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","plain","RenderField","Widget","FieldValue","DEFAULT_VALUE_EDITABLE_FIELD","DEFAULT_VALUE_NO_EDITABLE_FIELD","getRenderProps","renderProps","toLocaleString","IAttachment","IMultiAttachment","fileKey","setFileKey","setFile","fileKeyToDelete","setFileKeyToDelete","setError","uploadFile","deleteFile","editableFields","IDublinCore","ACTIONS_OBJECT","DELETE","perms","MOVE","COPY","PanelActions","some","onAction","actionKey","React.Fragment","useMountedState","mountedRef","useAsyncFn","fn","deps","lastCallId","isMounted","callback","callId","useAsync","PanelAddons","setAction","pathPrefix","prepareData","available","addon","installed","addons","arrayToObject","array","PanelBehaviors","ops","enableBehavior","disableBehavior","static","dynamic","ItemsActionsCtx","ItemsActionsProvider","selected","setSelected","onSelectAllItems","onSelectOneItem","AllItemsCheckbox","marginLeft","ItemCheckbox","absId","ItemsActionsDropdown","every","v","o","Pagination","total","doPaginate","pager","maxPages","Math","ceil","base","local","roleperm","prinperm","prinrole","inherit","Sharing","getRole","role","principal","getPrinroles","ItemModel","_path","splice","icons","_url","type_name","creation_date","modification_date","Item","RItem","columns","ItemTitle","SearchLabels","clearSearch","PanelItems","setLocation","searchParsed","typeParsed","BehaviorsView","getBehavior","behaviors","__behaviors__","GetBehavior","b","Cls","BehaviorNotImplemented","PropertiesButtonView","getProperties","Props","Buttons","Element","PropertiesView","Panels","_showProperties","_ignoreFields","PanelProperties","setSchema","showProperties","properties_default","ignoreFields","properties_ignore_fields","dataJson","prop","PermissionPrinperm","principals","operations","setting","getMultiples","setter","selectedOptions","savePermission","random","PermissionPrinrole","roles","PermissionRoleperm","PanelPermissions","ctx","reset","setReset","row","currentObj","defaultOptions","AddPermission","init","principalsData","group","user","fullname","prepareAvailable","already","def","TagsWidget","noData","selectRef","setResult","addItem","marginBottom","CreateButton","anyNameFunction","ContextToolbar","loadTypes","AddButton","searchText","onSearchQuery","q","tab","onSearchByType","typeText","Flash","FallbackTab","TabsPanel","currentTab","rightToolbar","fallback","setTab","CurrentComp","changeTab","Items","Properties","Behaviors","Actions","FolderCtx","ItemCtx","ApplicationCtx","databases","db","DatabaseCtx","containers","CreateContainer","ModalAddContainer","createContainer","idField","setId","isLoading","PanelNotImplemented","Addons","Registry","ContainerCtx","username","UserForm","attr","useRemoteField","setRemote","updateRemote","Users","UsersToolbar","UsersCtx","UserCtx","gorups","user_groups","user_roles","requestGetGroups","requestGetRoles","updateObject","withError","CopyItems","copyItems","input","destination","new_id","responses","CopyItem","copyItem","MoveItems","moveItems","MoveItem","moveItem","RemoveItem","removeItem","pass1","pass2","ChangePassword","setPerror","perror","setPass","n","BaseForm","setName","submit","setTitle","Groups","GroupToolbar","GroupsCtx","sortParsed","GroupCtx","setRoles","handleResponse","addRole","removeRole","addUser","newUser","removeUser","userToRemove","urole","fontSize","paddingBottom","ErrorBoundary","componentDidCatch","errorInfo","errorMsg","errorStack","componentStack","render","Component","NotAllowed","NotFound","Path","segments","links","buildPaths","indx","results","vocabulary","selectValue","getInputType","paths","views","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","Guillotina","config","searchPath","useReducer","pr","contextData","Main","Action","Layout","onLogout","doLogout","logout","process","env","PUBLIC_URL","isLogged","ERRORS","failed_to_fetch","invalid_credentials","Login","currentSchema","setCurrentSchema","onLogin","doLogin","setAccount","login","s","ignoreFiels","extraFields","RequiredFieldsForm","setFormData","setErrors","formFields","currentErrors","uuid","Auth","maxRetry","retryRefresh","base_url","getUrl","account","localStorage","credentials","storeAuth","setItem","token","exp","cleanAuth","refreshToken","willExpire","expiration","getTime","isExpired","_getToken","getItem","expires","jwt_decode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-gmi.umd.js","sources":["../src/guillo-gmi/contexts/index.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/components/input/select.js","../src/guillo-gmi/lib/rest.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/hooks/useLocation.js","../src/guillo-gmi/components/Link.js","../src/guillo-gmi/components/TdLink.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/components/input/search_input.js","../src/guillo-gmi/components/input/input_list.js","../src/guillo-gmi/hooks/useClickAway.js","../src/guillo-gmi/components/input/dropdown.js","../src/guillo-gmi/lib/utils.js","../src/guillo-gmi/components/fields/editableField.js","../src/guillo-gmi/components/fields/downloadField.js","../src/guillo-gmi/components/fields/renderField.js","../src/guillo-gmi/components/behaviors/iattachment.js","../src/guillo-gmi/components/behaviors/imultiattachment.js","../src/guillo-gmi/components/behaviors/idublincore.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/models/sharing.js","../src/guillo-gmi/models/index.js","../src/guillo-gmi/components/item.js","../src/guillo-gmi/components/searchLabels.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/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/components/fields/editComponent.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","export 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","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'\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 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 Cancel\n </button>\n \n <Button\n loading={loading}\n className=\"is-success\"\n onClick={() => onConfirm()}\n dataTest=\"btnConfirmModalTest\"\n >\n 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 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 Cancel\n </button>\n \n <button\n type=\"submit\"\n className=\"button is-success\"\n data-test=\"btnConfirmModalTest\"\n >\n 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'\n\nexport const EmailInput = ({ value = '', dataTest, ...rest }) => {\n return (\n <Input\n type=\"email\"\n validator={isEmail}\n errorMessage=\"Email address invalid\"\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 React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport ErrorZone from '../error_zone'\nimport { classnames, generateUID } from '../../lib/helpers'\n\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 ...rest\n },\n ref\n ) => {\n const [uid] = useState(generateUID('select'))\n\n const onUpdate = (ev) => {\n if (ev.target.value === '') {\n onChange({ target: { value: undefined } })\n } else {\n onChange(ev)\n }\n }\n\n if (appendDefault) {\n options = [{ text: 'Choose..', value: '' }].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={size}\n multiple={multiple}\n disabled={loading || rest.disabled}\n onChange={onUpdate}\n {...rest}\n ref={ref}\n style={style}\n data-test={dataTest}\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","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) {\n return await this.request(path, {})\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","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 onRemove,\n size = 'is-medium',\n color = 'is-warning',\n}) => (\n <span className={classnames(['tag', color, size])}>\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","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","const SEP = '='\nconst DEFAULT_FIELD = 'title__in'\nconst CLEANER = '||'\n\nexport function parser(qs, defaultField = DEFAULT_FIELD) {\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 { RestClient } from './rest'\nimport { toQueryString } from './helpers'\nimport { Icon } from '../components/ui'\nimport { TdLink } from '../components/TdLink'\nimport { parser } from './search'\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) {\n if (path.startsWith('/')) {\n path = path.slice(1)\n }\n return await this.rest.get(path)\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 ]\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 child: (m) => <td style={smallcss}>{<Icon icon={m.icon} />}</td>,\n },\n {\n label: 'type',\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 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 child: (m) => (\n <td style={mediumcss} className=\"is-size-7 is-vcentered\">\n {m.created}\n </td>\n ),\n },\n {\n label: 'modified',\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(path, params, container = false, prepare = true) {\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)\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'\n\nexport function FileUpload({ label, onChange, ...props }) {\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\">{label || 'Choose a file…'}</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 React, { useState } 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'\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}) => {\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\n const [uid] = useState(generateUID('search_input'))\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 = React.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 })\n\n if (qs.length > 0 || searchTermParsed.length > 0 || qsParsed.length > 0) {\n searchTermQs = buildQs([...qs, ...searchTermParsed, ...qsParsed])\n }\n\n const data = await traversal.client.search(\n path,\n searchTermQs,\n false,\n false,\n page * PageSize,\n PageSize\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 React.useEffect(() => {\n if (path && !options.loading && !options.items) {\n ;(async () => {\n handleSearch(options.page)\n })()\n }\n }, [path, options.loading, options.items])\n\n return (\n <React.Fragment>\n <div\n data-test={dataTestWrapper}\n ref={wrapperRef}\n className={`dropdown ${isOpen ? 'is-active' : ''}`}\n onBlur={(ev) => {\n if (!ev.currentTarget.contains(ev.relatedTarget)) {\n if (searchTerm !== '') {\n setSearchTerm('')\n setOptions(initialState)\n }\n setIsOpen(!isOpen)\n }\n }}\n >\n <div className=\"dropdown-trigger\">\n <button\n className={`button ${btnClass}`}\n onClick={(ev) => {\n ev.preventDefault()\n setIsOpen(!isOpen)\n }}\n aria-haspopup=\"true\"\n aria-controls=\"dropdown-menu\"\n >\n <span>{value && value.title ? value.title : 'Choose...'}</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=\"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 <a\n href=\"#\"\n className={`dropdown-item editable ${\n value && value.id === item.id ? 'is-active' : ''\n }`}\n data-test={`${dataTestItem}-${item.id}`}\n onMouseDown={() => {\n onChange && onChange(item)\n setIsOpen(false)\n }}\n key={item.path}\n >\n {renderTextItemOptionFn(item)}\n </a>\n )\n })}\n\n {options.items && options.items.length === 0 && (\n <div className=\"dropdown-item\"> No results </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 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.object,\n client: PropTypes.object,\n path: PropTypes.string,\n PageSize: PropTypes.number,\n btnClass: PropTypes.string,\n}\n","import * as React from 'react'\nimport { Input } from './input'\n\nexport const InputList = React.forwardRef(\n ({ value, onChange, dataTest }, ref) => {\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=\"Press enter to add value\"\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 { 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, 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 { 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 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'\n\nexport function EditableField({\n field,\n value,\n ns,\n schema = undefined,\n modifyContent,\n required,\n}) {\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(`Provide a key name!`, 'danger')\n return\n }\n\n if (!val && required) {\n Ctx.flash(`${field} is mandatory!`, 'danger')\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(`Failed to upload file ${field}!`, 'danger')\n } else {\n Ctx.flash(`${field} uploaded!`, 'success')\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(`Error in field ${field}!`, 'danger')\n } else {\n Ctx.flash(`Field ${field}, updated!`, 'success')\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(`You can't delete ${field}!`, 'danger')\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(`Error in field ${field}!`, 'danger')\n } else {\n Ctx.flash(`Field ${field}, deleted!`, 'success')\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 Save\n </Button>\n </div>\n <div className=\"control\">\n <Button\n className=\"is-small\"\n onClick={() => setEdit(false)}\n dataTest=\"editableFieldBtnCancelTest\"\n >\n 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 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'\n\nexport const DownloadField = ({ value }) => {\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 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 Download\n </button>\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { DownloadField } from './downloadField'\n\nconst plain = ['string', 'number', 'boolean']\n\nexport function RenderField({ value, Widget }) {\n if (value === null || value === undefined) return ''\n\n if (Widget) {\n return <Widget value={value} />\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\nexport const DEFAULT_VALUE_EDITABLE_FIELD = 'Click to edit'\nexport const DEFAULT_VALUE_NO_EDITABLE_FIELD = ' -- '\n\nexport function RenderFieldComponent({ schema, field, val, modifyContent }) {\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 }\n return renderProps\n }\n\n return <RenderField {...getRenderProps()} />\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\n\nexport function IAttachment({ properties, values }) {\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n return (\n <React.Fragment>\n {Object.keys(properties).map((key) => (\n <tr key={'attachment_' + key}>\n <td key={1}>{key}</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 </React.Fragment>\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'\n\nexport function IMultiAttachment({ properties, values }) {\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('Provide a file and a 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('Failed to upload file')\n setLoading(false)\n return\n }\n setFileKey('')\n setFile(undefined)\n setLoading(false)\n Ctx.flash(`${fileKey} 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('Failed to delete file')\n setLoading(false)\n return\n }\n setLoading(false)\n Ctx.flash(`${fileKeyToDelete} delete!`, '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(fileKeyToDelete)}\n message={`Are you sure to remove: ${fileKeyToDelete}?`}\n />\n )}\n\n {Object.keys(values['files']).map((key) => (\n <tr key={'multiattachment_' + key}>\n <td key={1}>{key}</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}>No files uploaded</td>\n </tr>\n )}\n {modifyContent && (\n <tr>\n <td colSpan={2}>\n <label className=\"label\">Upload a file</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 />\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 Upload\n </Button>\n </div>\n </form>\n </td>\n </tr>\n )}\n </React.Fragment>\n )\n}\n","import React from 'react'\nimport { useTraversal } from '../../contexts'\nimport { EditableField } from '../fields/editableField'\n\nconst editableFields = [\n 'title',\n 'description',\n 'effective_date',\n 'expiration_date',\n]\n\nexport function IDublinCore({ properties, values }) {\n const Ctx = useTraversal()\n const modifyContent = Ctx.hasPerm('guillotina.ModifyContent')\n\n return (\n <React.Fragment>\n {Object.keys(properties).map((key) => (\n <tr key={'dublin_' + key}>\n <td key={1}>{key}</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 </React.Fragment>\n )\n}\n","import * as React from 'react'\nimport { useTraversal } from '../../contexts'\n\nexport const ACTIONS_OBJECT = {\n DELETE: {\n text: 'Delete',\n perms: ['guillotina.DeleteContent'],\n action: 'removeItem',\n },\n MOVE: {\n text: 'Move to...',\n perms: ['guillotina.MoveContent'],\n action: 'moveItem',\n },\n COPY: {\n text: 'Copy to...',\n perms: ['guillotina.DuplicateContent'],\n action: 'copyItem',\n },\n}\n\nexport function PanelActions() {\n const traversal = useTraversal()\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'\n\n// TODO: Refactor without useAsync... just crudContext\nexport function PanelAddons(props) {\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>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 Available Addons\n </h2>\n <hr />\n {state.value.available.length === 0 && (\n <p>No Addon available in this container</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 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 Installed Addons\n </h2>\n <hr />\n {state.value.installed.length === 0 && (\n <p>No Addon installed in this container</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 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'\n\nexport function PanelBehaviors() {\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\">Behaviors</h2>\n {!loading && !isError && result && (\n <React.Fragment>\n <Table>\n <tr>\n <td colSpan=\"3\">\n <h3 className=\"title is-size-6\">Static</h3>\n </td>\n </tr>\n {result.static.map((behavior) => (\n <tr key={behavior}>\n <td>Static</td>\n <td>{behavior}</td>\n <td className=\"\">\n <Button className=\"is-small is-pulled-right\" disabled>\n 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\">Enabled</h3>\n </td>\n </tr>\n {result.dynamic.map((behavior) => (\n <tr key={behavior}>\n <td>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 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\">Available</h3>\n </td>\n </tr>\n {result.available.map((behavior) => (\n <tr key={behavior}>\n <td>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 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'\n\nconst ItemsActionsCtx = createContext({})\n\nexport const actions = {\n DELETE: {\n text: 'Delete',\n perms: ['guillotina.DeleteContent'],\n action: 'removeItems',\n },\n MOVE: {\n text: 'Move to...',\n perms: ['guillotina.MoveContent'],\n action: 'moveItems',\n },\n COPY: {\n text: 'Copy to...',\n perms: ['guillotina.DuplicateContent'],\n action: 'copyItems',\n },\n}\n\n/**\n * Actions to apply after select some items\n * Ex: Delete, Move, Copy...\n */\nexport function ItemsActionsProvider({ items, children }) {\n const traversal = useTraversal()\n const [selected, setSelected] = useState({})\n\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 traversal = useTraversal()\n const { selected, onAction } = useContext(ItemsActionsCtx)\n const disabled = Object.values(selected).every((v) => !v)\n const options = Object.keys(actions).map((action) => ({\n text: actions[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[o.value].perms.some((perm) => !traversal.hasPerm(perm))\n }\n options={options}\n >\n <div data-test=\"btnChooseActionTest\">Choose action...</div>\n </Dropdown>\n )\n}\n","import React from 'react'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\nexport function Pagination({ current, total, doPaginate, pager }) {\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 className=\"has-text-black\">{current + 1}</span>/\n <span className=\"has-text-black\">{maxPages}</span> of {total} items\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","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'\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, label } = props\n const [location, , del] = useLocation()\n const search = location.get(query ?? 'q')\n\n const clearSearch = () => {\n del(query ?? 'q')\n }\n\n return (\n <div className=\"tags\">\n {search && (\n <Tag name={label ?? 'Search:'} color=\"is-light\" size=\"is-size-7\" />\n )}\n {search && (\n <Tag\n name={search}\n color=\"is-info\"\n size=\"is-size-7\"\n onRemove={() => clearSearch()}\n />\n )}\n </div>\n )\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 '../../components/searchLabels'\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'\n\nconst initialState = {\n page: 0,\n items: [],\n loading: true,\n total: 0,\n}\n\nexport function PanelItems() {\n const [location, setLocation] = useLocation()\n const { PageSize, SearchEngine } = useConfig()\n\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initialState)\n const { items, loading, total } = state\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 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 searchParsed = parser(search)\n }\n\n let typeParsed = undefined\n if (type && type !== '') {\n typeParsed = parser(type, 'type_name')\n }\n\n useEffect(() => {\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) {\n qs = buildQs([\n ...qsParsed,\n ...(searchParsed ?? []),\n ...(typeParsed ?? []),\n ])\n } else {\n qs = buildQs(qsParsed)\n }\n\n data = await Ctx.client.search(\n Ctx.path,\n qs,\n false,\n false,\n page * PageSize,\n PageSize\n )\n setState({\n items: data.member,\n loading: false,\n total: data.items_count,\n })\n })()\n }, [search, type, Ctx.state.refresh, page])\n\n const doPaginate = (page) => {\n setLocation({ page: page })\n }\n\n return (\n <ItemsActionsProvider items={items}>\n <div className=\"columns\">\n <div className=\"column is-2 is-size-7\">\n <ItemsActionsDropdown />\n </div>\n <div className=\"column\">\n <SearchLabels />\n </div>\n <div className=\"column\">\n <SearchLabels label=\"Type\" query=\"type\" />\n </div>\n <div className=\"column\">\n <Pagination\n current={page}\n total={total}\n key=\"pagination-top\"\n doPaginate={doPaginate}\n pager={PageSize}\n />\n </div>\n </div>\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((i) => (\n <th key={i.label} className=\"has-text-info\">\n {i.label}\n </th>\n ))}\n <th> </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 Anything here!\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 { Table } from './ui/table'\nimport { useTraversal } from '../contexts'\nimport { get } from '../lib/utils'\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 <Table\n headers={['Field', 'Value']}\n className=\"is-striped is-fullwidth is-size-7\"\n >\n {GetBehavior(behavior)}\n </Table>\n <hr />\n </div>\n ))}\n </React.Fragment>\n )\n}\n\nexport function BehaviorNotImplemented() {\n return (\n <tr>\n <td colSpan=\"3\">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'\n\nconst _showProperties = ['@id', '@name', '@uid']\nconst _ignoreFields = [\n 'guillotina.behaviors.attachment.IAttachment',\n 'guillotina.behaviors.dublincore.IDublinCore',\n 'guillotina.behaviors.attachment.IMultiAttachment',\n '__behaviors__',\n 'type_name',\n 'creation_date',\n 'modification_date',\n 'uuid',\n 'title',\n]\n\nexport function PanelProperties() {\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 = cfg.properties_default || _showProperties\n const ignoreFields = cfg.properties_ignore_fields || _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 \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 className=\"is-2\">Prop</th>\n <th className=\"is-8\">Value</th>\n </tr>\n </thead>\n <tbody>\n {showProperties.map((prop) => (\n <tr key={'prop' + prop}>\n <td>{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 className=\"is-2\">Prop</th>\n <th className=\"is-8\">Value</th>\n </tr>\n </thead>\n <tbody>\n {properties.map(({ key, value }) => {\n return (\n <tr key={'prop' + key}>\n <td>{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'\n\nexport function PermissionPrinperm({\n principals,\n permissions,\n operations,\n refresh,\n}) {\n const Ctx = useTraversal()\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) => (ev) => {\n let values = []\n for (let i = 0; i < ev.target.selectedOptions.length; i++) {\n values = values.concat([ev.target.selectedOptions[i].value])\n }\n setter({ [field]: values })\n }\n\n const savePermission = async (ev) => {\n if (!state.principal || !state.setting || state.permission.length === 0) {\n setState({ error: '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 && <ErrorZone>Invalid form data</ErrorZone>}\n <div className=\"field\">\n <label className=\"label\">Select a Principal</label>\n <Select\n appendDefault\n options={principals}\n onChange={(ev) => setState({ principal: ev.target.value })}\n dataTest=\"selectPrincipalTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">Select permissions</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\">Operation</label>\n <Select\n appendDefault\n options={operations}\n onChange={(ev) => setState({ setting: ev.target.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 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'\n\nexport function PermissionPrinrole({ principals, roles, operations, refresh }) {\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) => (ev) => {\n let values = []\n for (let i = 0; i < ev.target.selectedOptions.length; i++) {\n values = values.concat([ev.target.selectedOptions[i].value])\n }\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.principal || !state.setting || state.roles.length === 0) {\n setState({ error: 'Invalid form' })\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 && <ErrorZone>Invalid form data</ErrorZone>}\n <div className=\"field\">\n <label className=\"label\">Select a Principal</label>\n <Select\n appendDefault\n options={principals}\n onChange={(ev) => setState({ principal: ev.target.value })}\n dataTest=\"selectPrincipalTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">Select a Role</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\">Operation</label>\n <Select\n appendDefault\n options={operations}\n onChange={(ev) => setState({ setting: ev.target.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 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'\n\nexport function PermissionRoleperm({\n roles,\n permissions,\n operations,\n refresh,\n}) {\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) => (ev) => {\n let values = []\n for (let i = 0; i < ev.target.selectedOptions.length; i++) {\n values = values.concat([ev.target.selectedOptions[i].value])\n }\n setter({ [field]: values })\n }\n\n const savePermission = async () => {\n if (!state.role || !state.setting || state.permission.length === 0) {\n console.log(state)\n setState({ error: '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 && <ErrorZone>Invalid form data</ErrorZone>}\n <div className=\"field\">\n <label className=\"label\">Select a Role</label>\n <Select\n appendDefault\n options={roles}\n onChange={(ev) => setState({ role: ev.target.value })}\n dataTest=\"selectRoleTest\"\n />\n </div>\n <div className=\"field\">\n <label className=\"label\">Select permissions</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\">Operation</label>\n <Select\n appendDefault\n options={operations}\n onChange={(ev) => setState({ setting: ev.target.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 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'\n\nexport function PanelPermissions() {\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 Role Permissions\n </h2>\n <Table headers={['Role', 'Premission', 'Setting']}>\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\">No roles permissions defined</td>\n </tr>\n )}\n </Table>\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n Principal Permissions\n </h2>\n <Table headers={['Principal', 'Premission', 'Setting']}>\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\">No principals permissions defined</td>\n </tr>\n )}\n </Table>\n <h2 className=\"title is-size-5 has-text-grey-dark\">\n Principal Roles\n </h2>\n <Table headers={['Principal', 'Role', 'Setting']}>\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\">No principals roles defined</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\nconst operations = [\n { text: 'Allow', value: 'Allow' },\n { text: 'Deny', value: 'Deny' },\n { text: 'AllowSingle', value: 'AllowSingle' },\n { text: 'Unset', value: 'Unset' },\n]\n\nconst defaultOptions = [\n { text: 'Choose..', value: '' },\n { text: 'Role Permissions', value: 'roleperm' },\n { text: 'Principal Permissions', value: 'prinperm' },\n { text: 'Principal Roles', value: 'prinrole' },\n]\n\nexport function AddPermission({ refresh, reset }) {\n const Ctx = useTraversal()\n const [state, setState] = useSetState(initial)\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\">Add Permissions</h1>\n <p>Select a type:</p>\n <Select\n options={defaultOptions}\n onChange={(v) => setState({ current: v.target.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={(ev) => {\n addItem(ev.target.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'\n\n/* eslint jsx-a11y/anchor-is-valid: \"off\" */\nconst initialState = { types: undefined }\n\nexport function CreateButton() {\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 Add {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 [state, setState] = useSetState(initialState)\n const [location, setLocation, del] = useLocation()\n const traversal = useTraversal()\n const ref = React.useRef(null)\n const Config = useConfig()\n\n const searchText = location.get('q')\n\n useEffect(() => {\n loadTypes()\n }, [traversal.path])\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 = (ev) => {\n const typeText = ev.target.value\n if (typeText && typeText !== '') {\n setLocation({ type: typeText, tab: 'Items', page: 0 })\n } else {\n del('type')\n }\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=\"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\">\n <div className=\"level-left\">\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// import { PanelRequester } from \"../components/panel/requester\";\n\nconst tabs = {\n Items: PanelItems,\n Properties: PanelProperties,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n // Requester: PanelRequester,\n}\n\nconst tabsPermissions = {\n Items: 'guillotina.ViewContent',\n Properties: 'guillotina.ViewContent',\n Behaviors: 'guillotina.ModifyContent',\n Permissions: 'guillotina.SeePermissions',\n // Requester: \"guillotina.swagger.View\"\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'\n\nexport function ApplicationCtx(props) {\n const { databases } = props.state.context\n return (\n <React.Fragment>\n <h3>Databases</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 [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>Create</span>\n </button>\n </React.Fragment>\n )\n}\n\nfunction ModalAddContainer({ isActive, setActive }) {\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('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 onSubmit={createContainer} title=\"Add Container\" error={error}>\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}>Add Container</Button>\n </Form>\n </Modal>\n )\n}\n","import React from 'react'\n\nexport function PanelNotImplemented(props) {\n return (\n <div className=\"container\">\n <h2 className=\"title\">{props.title}</h2>\n <p>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// import { PanelRequester } from \"../components/panel/requester\";\n\nconst tabs = {\n Items: PanelItems,\n Addons: PanelAddons,\n Registry: PanelNotImplemented,\n Behaviors: PanelBehaviors,\n Permissions: PanelPermissions,\n Actions: PanelActions,\n // Requester: PanelRequester\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 // Requester: \"guillotina.swagger.View\"\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'\n\nconst schema = {\n type: 'object',\n required: ['username', 'password'],\n properties: {\n username: {\n type: 'string',\n title: 'Username',\n },\n email: {\n type: 'string',\n title: 'Email',\n widget: 'email',\n },\n name: {\n type: 'string',\n title: 'Name',\n },\n password: {\n type: 'string',\n title: 'Password',\n widget: 'password',\n },\n disabled: {\n type: 'boolean',\n title: 'Disabled',\n },\n },\n}\n\nexport const UserForm = ({ isEdit = false, children, ...props }) => {\n const attr = isEdit ? {} : { title: 'Add User' }\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'\n\nconst tabs = {\n Users: PanelItems,\n}\n\nexport function UsersToolbar(props) {\n const Ctx = useTraversal()\n\n return (\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>Add a User</span>\n </button>\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 { 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(`Update failed: ${errorMessage}`, 'danger')\n } else {\n Ctx.flash('Data updated', 'primary')\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 User\n </h2>\n\n <hr />\n <div className=\"columns\">\n <div className=\"column\">\n <div className=\"container user-props\">\n <p>\n <label>Username: </label> {Ctx.context.username} (\n {Ctx.context.email})\n </p>\n <p>\n <label> Created: </label> {formatDate(Ctx.context.creation_date)}\n </p>\n <p>\n <label> Updated: </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 Change Password\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 Update\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=\"There is no groups for this user\"\n available={state.groups}\n />\n <hr />\n <TagsWidget\n onChange={updateRemote('user_roles')}\n items={remotes.user_roles}\n title=\"Roles\"\n noData=\"The user doesn't have any role\"\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 \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'\n\nexport function BaseForm({ onSubmit, actionName, title, dataTest, loading }) {\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('This 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=\"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 || 'Add'}\n </button>\n </div>\n </Form>\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'\nconst tabs = {\n Groups: PanelItems,\n}\n\nexport function GroupToolbar() {\n const Ctx = useTraversal()\n\n return (\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>Add a Group</span>\n </button>\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 { 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(`Failed to update!: ${errorMessage}`, 'danger')\n }\n }\n\n const addRole = async (ev) => {\n const role = ev.target.value\n const { isError, errorMessage } = await patch({\n user_roles: Ctx.context.user_roles.concat(role),\n })\n handleResponse(isError, `Role ${role} added to group`, errorMessage)\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(isError, `Role ${role} removed from group`, errorMessage)\n }\n\n const addUser = async (newUser) => {\n const data = {}\n Ctx.context.users.forEach((user) => {\n data[user] = true\n })\n data[newUser.id] = true\n const { isError, errorMessage } = await patch({ users: data })\n handleResponse(\n isError,\n `User ${newUser.title} added to group!`,\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 { isError, errorMessage } = await patch({ users: data })\n handleResponse(\n isError,\n `User ${userToRemove} removed from group`,\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> Group</span>\n </h2>\n <hr />\n <div className=\"columns\">\n <div className=\"column is-4\">\n <label className=\"label\">Title: </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\">Roles</h3>\n <p>Add a Role</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\">Users</h3>\n <p>Add a User</p>\n <SearchInput\n path={Ctx.containerPath}\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'\n\nconst style = { color: '#F44336', fontSize: 20, paddingBottom: 20 }\n\nexport default class ErrorBoundary 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}>Something went wrong.</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","import React from 'react'\nimport { Icon } from './ui/icon'\n\nexport function NotAllowed() {\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\">Not Allowed</h1>\n </div>\n )\n}\n","import React from 'react'\nimport { Icon } from './ui/icon'\n\nexport function NotFound() {\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\">404. Not Found</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 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'\n\nexport const EditComponent = React.forwardRef(\n ({ schema, val, setValue, dataTest, className, ...rest }, ref) => {\n 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 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') {\n return (\n <Select\n value={val || ''}\n className={className}\n appendDefault\n classWrap=\"is-fullwidth\"\n dataTest={dataTest}\n {...rest}\n options={schema?.vocabulary.map((item) => {\n return {\n text: item,\n value: item,\n }\n })}\n onChange={(ev) => {\n const selectValue = get(ev, 'target.value', '')\n return setValue(selectValue)\n }}\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 { 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 { 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 },\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}\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\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 console.log('registry initialized')\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 }\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'\n\nexport function Guillotina({ auth, ...props }) {\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 <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 )\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\n src={process.env.PUBLIC_URL + '/logo.svg'}\n alt=\"Guillotina logo\"\n height=\"80\"\n />\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'\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 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] = 'This field is required'\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 || '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', data.exp)\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","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","Button","className","onClick","loading","disabled","dataTest","rest","css","concat","split","Modal","isActive","setActive","usePortal","Portal","Confirm","onCancel","onConfirm","marginTop","PathTree","title","defaultPath","e","preventDefault","target","value","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","delete","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","id","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","Select","options","size","classWrap","multiple","appendDefault","style","text","cssWrap","index","toString","object","RestClient","url","container","auth","request","headers","indexOf","startsWith","getHeaders","fetch","authToken","getToken","Accept","Authorization","method","put","upload","filename","Loading","onRemove","color","Delete","Table","idx","Notification","isColor","setURLParams","p","history","pathname","clean","URLSearchParams","_key","useLocation","currentSearchParams","update","prevPath","patchHistoryEvents","checkForUpdates","events","addEventListener","removeEventListener","navigate","remove","param","patched","arguments","Event","dispatchEvent","location","search","Link","aRef","model","aStyle","textDecoration","stopPropagation","actAsLink","ctrlKey","metaKey","altKey","shiftKey","button","TdLink","link","click","SEP","DEFAULT_FIELD","CLEANER","parser","qs","defaultField","lastKey","part","val","buildQs","parsedQuery","cacheTypes","cacheSchemas","GuillotinaClient","pathContainsContainer","substring","parts","clearContainerFromPath","cleanPath","getContext","getQueryParamsPostresql","start","pageSize","withDepth","getQueryParamsElasticsearch","containerPath","objectPath","endsWith","getItemsColumn","smallcss","width","mediumcss","m","created","updated","applyCompat","member","items_count","items_total","prepare","query","canido","createObject","create","file","download","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","debounce","wait","timeout","args","later","clearTimeout","page","SearchInput","traversal","queryCondition","btnClass","dataTestWrapper","dataTestSearchInput","dataTestItem","renderTextItemOption","setOptions","isOpen","setIsOpen","searchTerm","setSearchTerm","wrapperRef","getHeight","maxHeight","innerHeight","getBoundingClientRect","delayedQuery","handleSearch","searchTermQs","searchTermParsed","fnName","qsParsed","newItems","renderTextItemOptionFn","currentTarget","contains","relatedTarget","InputList","inputValue","setInputValue","addTags","React.createElement","tag","defaultEvents","on","obj","off","useClickAway","onClickAway","savedCallback","handler","el","eventName","document","Dropdown","isRight","optionDisabledWhen","setIsActive","position","option","cursor","opacity","backgroundColor","formatDate","d","Date","minutes","getMinutes","getDate","getMonth","getFullYear","getHours","defValue","pathArray","match","reduce","prevObj","getNewId","suffix","rgx","r","num","parseInt","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","plain","RenderField","Widget","FieldValue","DEFAULT_VALUE_EDITABLE_FIELD","DEFAULT_VALUE_NO_EDITABLE_FIELD","getRenderProps","renderProps","toLocaleString","IAttachment","IMultiAttachment","fileKey","setFileKey","setFile","fileKeyToDelete","setFileKeyToDelete","setError","uploadFile","deleteFile","editableFields","IDublinCore","ACTIONS_OBJECT","DELETE","perms","MOVE","COPY","PanelActions","some","onAction","actionKey","React.Fragment","useMountedState","mountedRef","useAsyncFn","fn","deps","lastCallId","isMounted","callback","callId","useAsync","PanelAddons","setAction","pathPrefix","prepareData","available","addon","installed","addons","arrayToObject","array","PanelBehaviors","ops","enableBehavior","disableBehavior","static","dynamic","ItemsActionsCtx","ItemsActionsProvider","selected","setSelected","onSelectAllItems","onSelectOneItem","AllItemsCheckbox","marginLeft","ItemCheckbox","absId","ItemsActionsDropdown","every","v","o","Pagination","total","doPaginate","pager","maxPages","Math","ceil","base","local","roleperm","prinperm","prinrole","inherit","Sharing","getRole","role","principal","getPrinroles","ItemModel","_path","splice","icons","_url","type_name","creation_date","modification_date","Item","RItem","columns","ItemTitle","SearchLabels","clearSearch","PanelItems","setLocation","searchParsed","typeParsed","BehaviorsView","getBehavior","behaviors","__behaviors__","GetBehavior","b","Cls","BehaviorNotImplemented","PropertiesButtonView","getProperties","Props","Buttons","Element","PropertiesView","Panels","_showProperties","_ignoreFields","PanelProperties","setSchema","showProperties","properties_default","ignoreFields","properties_ignore_fields","dataJson","prop","PermissionPrinperm","principals","operations","setting","getMultiples","setter","selectedOptions","savePermission","random","PermissionPrinrole","roles","PermissionRoleperm","PanelPermissions","ctx","reset","setReset","row","currentObj","defaultOptions","AddPermission","init","principalsData","group","user","fullname","prepareAvailable","already","def","TagsWidget","noData","selectRef","setResult","addItem","marginBottom","CreateButton","anyNameFunction","ContextToolbar","loadTypes","AddButton","searchText","onSearchQuery","q","tab","onSearchByType","typeText","Flash","FallbackTab","TabsPanel","currentTab","rightToolbar","fallback","setTab","CurrentComp","changeTab","Items","Properties","Behaviors","Actions","FolderCtx","ItemCtx","ApplicationCtx","databases","db","DatabaseCtx","containers","CreateContainer","ModalAddContainer","createContainer","idField","setId","isLoading","PanelNotImplemented","Addons","Registry","ContainerCtx","username","UserForm","attr","useRemoteField","setRemote","updateRemote","Users","UsersToolbar","UsersCtx","UserCtx","gorups","user_groups","user_roles","requestGetGroups","requestGetRoles","updateObject","withError","CopyItems","copyItems","input","destination","new_id","responses","CopyItem","copyItem","MoveItems","moveItems","MoveItem","moveItem","RemoveItem","removeItem","pass1","pass2","ChangePassword","setPerror","perror","setPass","n","BaseForm","setName","submit","setTitle","Groups","GroupToolbar","GroupsCtx","sortParsed","GroupCtx","setRoles","handleResponse","addRole","removeRole","addUser","newUser","removeUser","userToRemove","urole","fontSize","paddingBottom","ErrorBoundary","componentDidCatch","errorInfo","errorMsg","errorStack","componentStack","render","Component","NotAllowed","NotFound","Path","segments","links","buildPaths","indx","results","vocabulary","selectValue","getInputType","paths","views","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","Guillotina","config","searchPath","useReducer","pr","contextData","Main","Action","Layout","onLogout","doLogout","logout","process","env","PUBLIC_URL","isLogged","ERRORS","failed_to_fetch","invalid_credentials","Login","currentSchema","setCurrentSchema","onLogin","doLogin","setAccount","login","s","ignoreFiels","extraFields","RequiredFieldsForm","setFormData","setErrors","formFields","currentErrors","uuid","Auth","maxRetry","retryRefresh","base_url","getUrl","account","localStorage","credentials","storeAuth","setItem","token","exp","cleanAuth","refreshToken","willExpire","expiration","getTime","isExpired","_getToken","getItem","expires","jwt_decode"],"mappings":"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"}
|