Git Product home page Git Product logo

vue-form's Introduction

Hi there 👋

vue-form's People

Contributors

bog-danius avatar jenesius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vue-form's Issues

Add EVENT_UPDATE_ABILITY

Вызывается всякий раз, если disable/enable с любым количеством параметров

Form changed

Условие, при котором форма считает изменённой

Configuration

{
  debug?: boolean // В консоль будет выводиться вся информация, связанная с формой
}

Disable/Enable

при disable поля address(составное) и массиве disableElements: [address.city], должно стать только [address]

Options

Не самый удобный формат был выбран. Более удобнее для пользователей и в большинстве случаев востребованное будет использовать:

{
  "name-1": "jenesuis",
  "name-2": "burdin"
}

Values - array.

Необходимо изменить grandObject
При Array - не раскалдывать его

Provide problem

const form = parentForm.findDepend(props.name) as Form || init();

Проблема в том, что в таком случае мы не provide ничего
Необходимо добавлять

provide(Form.PROVIDE_NAME, form);

GrandObject for any values

Что будет происходить с значением , когда объект будет датой или файлом, а его инпут-значение не будет являться примитивным.

Form Test

Простые тесты, для связывания данных в форме

  1. Значение в форме установлено, input отображает тоже самое
  2. Значение устанавливает после привязки, input отображает ее
  3. Input вводит данные, в форме они имеются
  4. Повторное добавление одного и тоже input
  5. Input появляется после того, как форма установила значение
  6. Input устанавливает значение, затем скрывается, затем появляется. Должен отображать нужную информацию.

Disable Form

form.disable()
form.enable('address.city');
form.disable('address.city.name')

Проблема в том, что в функции disableByName стоит if, который в случае this.disabled только удаляет поля.
Нужно проверять, если ли там родительский элемент. и если есть -> добавлять(а не удалять)


Лучше пересмотреть механизм блокировки формы. Написать тесты.

Disabled UX

  • radio: cursor pointer
  • select: hover effect

Readme

Update readme file with short information how to use library

New Depend Interface

Необходимо реализовать интерфейс, для побочных форм.
Чтобы пользователи могли их создать и подписывать на Form. А форма хорошо с ними работала.

[FEATURE] Clean value

Нужен функционал для очистки значения.
form.cleanValue(name: string)
Который чистить (delete) по имени. Не NULL!!!

Docs: Disable

Отсутствуют стили для disable InputField

Config. Input types store

Пользователь должен иметь возможность установить набор инпутов, которые будут автоматически подставляться

useXState

u can provide name:string or constructor of Object.

const {input, state} = useInputState('city');
// or
const {state} = useInputSate(new Input('city'))

Form changed. Version 2

Сейчас у нас форма немного по другому себя ведёт. По этому кроме inject/provide внутри Form.ts ничего не надо использовать.
Обычное поле changed. обычный event: 'changed', добавить в useFormState

Form events

  • docs
  • events:
    • changed
    • disable
    • enable
    • update_ability
    • depend

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.