1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-12-02 05:57:29 +01:00
market/src/components/Asset/Edit/_validation.ts
Luca Milanese 52eaee0ad5
Feat: autocomplete tags functionality (#1471)
* feat: add autocomplete tag component

* feat: pass tags aggregated list to autocomplete component

* feat: add initial styling to autocomplete tag component

* fix: autocomplete style types

* feat: move styling elements to module.css file

* feat: update placeholder text for tag input field

* feat: add default value to tags if present

* feat: add edit tags functionality

* fix: default tag value

* fix: style for automplete menu's keyboard navigation

* fix: tags aggregation query size

* feat: return sorted tags aggregated list suggestion in publish

* fix: set tags value touched state in edit mode

* add package back

* enhancement: autocomplete tag component config (#1679)

* fix publishing when connecting wallet on publish form

* fix reset pricing on tx execution

* removed changing steps

* cleanup

* Fix headers (#1663)

* test

* test

* test

* test

* test

* test

* test

* remove link

* enhancement: tag autocomplete settings

* feat: add cursor type text

* feat: tweak filter and sort for matched tags

* fix: tags input font color

* fix: tag autocomplete component input color

Co-authored-by: EnzoVezzaro <enzo-vezzaro@live.it>
Co-authored-by: mihaisc <mihai.scarlat@smartcontrol.ro>
Co-authored-by: Ana <84312885+AnaLoznianu@users.noreply.github.com>

* fix lock

* test

* fix

* fix

* minor fixes

* fix cursor on remove item (x)

* style updates

* UX tweaks

* start suggestions upon first key stroke
* remove redundant help tooltip
* change placeholder copy
* remove input clear action

* edit updates

Co-authored-by: mihaisc <mihai.scarlat@smartcontrol.ro>
Co-authored-by: EnzoVezzaro <enzo-vezzaro@live.it>
Co-authored-by: Ana <84312885+AnaLoznianu@users.noreply.github.com>
Co-authored-by: Matthias Kretschmann <m@kretschmann.io>
2022-10-05 15:40:00 +01:00

36 lines
1.1 KiB
TypeScript

import { FileInfo } from '@oceanprotocol/lib'
import * as Yup from 'yup'
export const validationSchema = Yup.object().shape({
name: Yup.string()
.min(4, (param) => `Title must be at least ${param.min} characters`)
.required('Required'),
description: Yup.string().required('Required').min(10),
price: Yup.number().required('Required'),
files: Yup.array<FileInfo[]>()
.of(
Yup.object().shape({
url: Yup.string().url('Must be a valid URL.'),
valid: Yup.boolean().isTrue()
})
)
.nullable(),
links: Yup.array<FileInfo[]>()
.of(
Yup.object().shape({
url: Yup.string().url('Must be a valid URL.'),
valid: Yup.boolean().isTrue()
})
)
.nullable(),
timeout: Yup.string().required('Required'),
author: Yup.string().nullable(),
tags: Yup.array<string[]>().nullable()
})
export const computeSettingsValidationSchema = Yup.object().shape({
allowAllPublishedAlgorithms: Yup.boolean().nullable(),
publisherTrustedAlgorithms: Yup.array().nullable(),
publisherTrustedAlgorithmPublishers: Yup.array().nullable()
})