Giter Club home page Giter Club logo

ember-caluma-form-builder's Introduction

⚠ Deprecation warning

This addon is deprecated, since it has been integrated in ember-caluma.

ember-caluma-form-builder

Build Status Codecov dependencies Status devDependencies Status Code Style: Prettier License: MIT

The Ember.js addon for Caluma - a collaborative form editing service.

Documentation

You can find the interactive documentation here.

Contributing

Installation

Linting

  • yarn lint:js
  • yarn lint:js --fix

Running tests

  • ember test – Runs the test suite on the current Ember version
  • ember test --server – Runs the test suite in "watch mode"
  • ember try:each – Runs the test suite against multiple Ember versions

Running the dummy application

For more information on using ember-cli, visit https://ember-cli.com/.

Updating the schema

The addon includes a mirage server for mocking Caluma's GraphQL API, which is generated from the GraphQL schema definition. If the upstream GraphQL schema changed you can update the addon by running

yarn update-schema
yarn fragment-types

History

This addon is the result of a merge of three different addons:

The history of ember-caluma-form and ember-caluma-utils has not been preserved during the merge.

License

This project is licensed under the MIT License.

ember-caluma-form-builder's People

Contributors

anehx avatar czosel avatar kaldras avatar renovate-bot avatar sliverc avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

anehx kaldras czosel

ember-caluma-form-builder's Issues

Invalid slug is suggested

If special characters like ! are used in the title of a form or the label of a question slugify does not remove them which results in an invalid slug

Question list

The form editor should always show a list of questions assigned to that form

404

404 errors must be handled

isHidden on question

A question has the properties isRequired and isHidden. Those should be editable aswell:

Both of the fields are JEXL expressions!

  • isRequired: Should only be true or false for now
  • isHidden: For this we need to implement a simple JEXL expression editor - this is used to determine whether a question is hidden. The JEXL expression can use the values of other questions (with a transform)

Archive forms

The user should be able to archive forms instead of deleting them. They should not appear in the list of forms (#2) per default but can be accessed by a special filter. Archived forms can not be edited anymore.

Create form

The mask from #3 should be used for the creation of a form aswell. However, the slug must be editable and should be a suggestion (slugified name of the form) per default.

Allow to set publish and archive flags

Archive and Publish used to be mutations. This has been removed and such are set as flags on save form and save question mutations.

Form Builder needs to be adjusted that such a flag can be set

Sort questions

The list of questions should be sortable per drag and drop

Merge acceptance tests

Currently we have one acceptance test file for every case. To increase the file count we should have a question test and a form test.

Copy form, question and option

See projectcaluma/caluma#255 for backend implementation.

A few things to note:

  • A copy of a form will reference the same questions as previous forms
  • Copy of questions will reference the same options as previous questions.

Both of this is important that jexl expression are still valid in a new form context.

After a copy has been made user interface has to guide user so it notices when a question resp. option is updated on all form copies or whether the question is only added to current form.

This is especially true for options as user interface looks at them as not global but in the backend they are because of keeping jexl expression valid and multi language support.

Identical slugs

At the moment, it could be possible that when creating a form / question the suggested slug is already taken. This should be checked beforehand..

Edit general form information

The general information (name and description) should be editable. The mask should appear if the user clicks on a row in the list of forms. Also it should contain a delete functionality

New question

The user should be able to create a new question

Add question

The user should be able to add an existing question to the form. The question must be searchable.

List of forms

The entrypoint of the form builder should be a list of all created forms. The list should display only the name of the form per default.

Hint

Maybe we should add a hint field for questions. Maybe markdown?

Improve navigation

We need to improve the navigation flow. The current system with "Back" does not work. Maybe a breadcrumb navigation would be the solution?

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.