1.2.1 • Published 2 years ago

credence-filter-modal-v1 v1.2.1

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

Filter Modal Component for Credence Projects

 version: 1.2.1

Installation

npm i credence-modal-filter-v1

Features

  • Lorem ipsum

Dependencies

Usage

    <div>
        ...
        <filter-modal :filterModal="propObject" />
        ...
    </div>

Prop Object Data

NameDescriptionTypeSyntax
IDModal IDStringid: "myModalID"
TitleModal TitleStringtitle: "Filter By"
Cancel TitleValue of the cancel buttonStringcancelTitle: "Clear All"
Ok TitleValue of the ok buttonStringtitle: "Apply Filters"
FormForm input field dataObjectform: {...}
Responsesv-model data for each input fieldObjectresponses: {}

Form Object Data

NameDescriptionTypeSyntaxVariants
AutocompleteForm autocomplete attr.Stringautocomplete: "off"'on', 'off'
FieldsInput fields dataObjectfields: {...}----------

Fields Array Object Data

Data for each field(s) row in the the form | Name | Description | Type | Syntax | Variants | ------ | ------ | ------ | ------ | ------ | | ID | Field ID | String | id: "fieldId1" | id: String, String | | Label | Field Label | String | label: "First Name" | ------- | Type | Field Type | String, String | type: "single", "date" | type: "paired", "date" | Ok Handler | Handler func. for ok button | Function(event) | okHandler(event){...} | ----- | Cancel Handler | Handler func. for cancel button | Function(event) | cancelHandler(event){...} | ----- | Submit Handler | Handler func. for form submit | Function(event) | submitHandler(event){...} | -----

For List Type Field | Name | Description | Type | Syntax | Variants | ------ | ------ | ------ | ------ | ------ | | List Options | Values for the select input field | Array | listOptions: ["val1", "val2",] | listOptions: ["val1", "val2", "valA", "valB",]

Sample Usage

<template>
  <filter-modal :filterModal="filterModal" />
</template>

<script>
import FilterModal from "credence-filter-modal-v1/src/FilterModal.vue";

export default {
  name: "ContainerComponent",
  components: { FilterModal },
  data() {
    return {
      filterModal: {
        id: "filter-modal-1",
        title: "Filter By",
        cancelTitle: "Clear All",
        okTitle: "Apply",
        form: {
          autocomplete: "off",
          fields: [
            { id: ["fieldId1"], label: "Date", type: ["single", "date"] },
            { id: ["fieldId2"], label: "Text", type: ["single", "text"] },
            { id: ["fieldId3"], label: "Number", type: ["single", "number"] },
            // prettier-ignore
            { id: ["fieldId4"], label: "Select", type: ["single", "list"], listOptions: [["USD/INR", "INR/AUD"]] },
            { id: ["fieldId5", "fieldId6"], label: "Paired Date", type: ["paired", "date"] },
          ],
        },
        responses: {},
        okHandler(event) {
          event.preventDefault();
          console.log("Apply");
        },
        cancelHandler(event) {
          event.preventDefault();
          console.log("Close");
        },
        submitHandler() {
          console.log("Submit");
        },
      },
    };
  },
};
</script>
1.2.1

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago