0.7.1 • Published 1 year ago

vue-form-producer v0.7.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

vue-form-producer

By linking form creation required for business applications, input screens using forms, and data display screens with JSON data, Vue.js / Bootstrap-Vue the productivity of form development in front-end development. It is a component that improves in terms of productivity.

業務アプリケーションに必要とされるフォームの作成から、フォームを使った入力画面、データ表示画面までをJSONデータで連携し、Vue.js / Bootstrap-Vue でのフロントエンド開発におけるフォーム開発の生産性を飛躍的に向上するコンポーネントです。

DEMO

vue-form-producer

デモサイトはこちら

Install

npm install vue-form-producer

BootstrapVue Setup

Register BootstrapVue in your app entry point (typically app.js or main.js):

import Vue from 'vue'
import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'

// Import Bootstrap and BootstrapVue CSS files (order is important)
import 'bootstrap/dist/css/bootstrap.css'
import 'bootstrap-vue/dist/bootstrap-vue.css'

// Make BootstrapVue available throughout your project
Vue.use(BootstrapVue)
// Optionally install the BootstrapVue icon components plugin
Vue.use(IconsPlugin)

詳しくは BootstrapVue のサイトを参照ください

Setup

import { swFormEditor, swFormInputter, swFormViewer } from 'vue-form-producer'

Usage

vue-form-producer は、以下の3つのコンポーネントで構成されています。

  • フォーム作成コンポーネント / sw-form-editor
  • 入力フォームコンポーネント / sw-form-inputter
  • データ表示コンポーネント / sw-form-viewer

vue-form-producer

フォーム作成コンポーネント / sw-form-editor

<template>
  <div>
    <sw-form-editor type_info="ALL" item_key_option="false" v-model="form_info" />
  </div>
</template>

<script>
  import { swFormEditor } from 'vue-form-producer'

  export default {
    data() {
      return {
        form_info: null
      }
    }
  }
</script>

Properties

PropertyTypeDefaultDescription
form_infoObjectnullnull の時は、新規作成。v-model で取得した "フォーム定義 JSON Object" をセットすると、編集モードとなる。
type_infoString"basic"[追加する項目]に表示する項目を指定。複数の場合は、カンマ区切りで指定。※別表を参照
type_optionString"list"[追加する項目タイプ]の表示方法を指定する。"list":リスト形式 or "tile":タイル形式 を指定する。
item_key_optionString"false"[項目キー]の入力フィールドの使用/不使用を指定する。"true":使用 or "false":不使用 を指定すること。
item_condition_optionString"false"[条件付き表示]の入力フィールドの使用/不使用を指定する。"true":使用 or "false":不使用 を指定すること。
font_infoString"small"項目名のフォント情報を指定する。"small","font-weight-bold" など

v-model

PropertyEventDescription
valueupdateフォームが定義された "フォーム定義 JSON Object" が出力される。データフォーマットはデモページを参照ください。

type-info

ValueDescription
"all"全てを表示する
"text"短いテキスト
"texts"長いテキスト
"number"数値
"radio"ラジオボタン
"checkbox"チェックボックス
"toggle"スイッチ
"date"日付
"time"時刻
"datetime"日時
"image"写真
"password"パスワード
"name"氏名
"telephone"電話番号
"email"メールアドレス
"pulldown"プルダウン
"label"ラベル
"table"
"markdown"マークダウン
"basic""text","texts","number","radio", "checkbox","toggle","date","time","datetime" のセット
"standard""basic" + "image","password","name","telephone","email" のセット
"pro""standard" + "pulldown","label","table","markdown" のセット

入力フォームコンポーネント / sw-form-inputter

<template>
  <div>
    <sw-form-inputter :form_info="form_info" v-model="form_data"" />
  </div>
</template>

<script>
  import { swFormInputter } from 'vue-form-producer'

  export default {
    data() {
      return {
        form_info: null,
        form_data: null
      }
    }
  }
</script>

Properties

PropertyTypeDefaultDescription
form_infoObjectnullフォーム作成コンポーネントで取得した "フォーム定義 JSON Object" を指定する。データフォーマットはデモページを参照ください。
form_dataObjectnull新規の場合は、null。編集時には、フォーム入力コンポーネントで取得した "データ入力 JSON Object" を指定する。データフォーマットはデモページを参照ください。
form_list_infoArraynull[プルダウン]項目で[動的]を選択した時に選択肢のデータを指定する。
line_spaceNumber0項目の行間調整(0-5)

form_list_info

[ 
  {
    item_key: "select-1";
    item_options: [
      { value: 'value1', text: 'text 1' },
      { value: 'value2', text: 'text 2' },...,{}
    ]
  },...,{}
]

v-model

PropertyEventDescription
valueupdateフォームで入力された "データ入力 JSON Object" が出力される。データフォーマットはデモページを参照ください。

データ表示コンポーネント / sw-form-viewer

<template>
  <div>
    <sw-form-viewer :form_data="form_data" 
          pdf_output pdf_output_button="PDF出力" pdf_output_placement="top" />
  </div>
</template>

<script>
  import { swFormViewer } from 'vue-form-producer'
  
  export default {
    data() {
      return {
        form_data: null
      }
    }
  }
</script>

Properties

PropertyTypeDefaultDescription
form_dataObjectnullフォーム入力コンポーネントで取得した "データ入力 JSON Object" を指定する。
pdf_outputtogglefalsetrue:PDF出力ボタンを表示する / false:PDF出力ボタンを表示しない
pdf_output_buttonString"PDF出力"PDF出力ボタンの名称
pdf_output_placementString"top"PDF出力ボタンの表示位置 "top":先頭 "bottom":最後尾
line_spaceNumber0項目の行間調整(0-5)

0.7.1

1 year ago

0.7.0

1 year ago

0.6.2

2 years ago

0.6.1

2 years ago

0.5.7

2 years ago

0.5.6

2 years ago

0.5.1

2 years ago

0.4.0

2 years ago

0.3.1

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago