かっこいいミニカレンダー①

  • URLをコピーしました!

こんにちはジョージです。日本の狭小住宅にもジャストフィットしそうなミニカレンダーを紹介します。

mini-calendar.gif (271.8 kB)
目次

V-Calendar

Claris FileMaker では標準でカレンダーアドオンが提供されていますが、画面の端にすこしだけ表示しておくにはサイズがアメリカンです。

そして、カレンダー(日付ピッカー等)は、その使い勝手や FileMaker カスタム App との連携などを考えると、我々じぇねんちゅでも自作するのは敬遠したくなる部品のひとつです。

今回は V-Calendar という Vue.js で動作する、素晴らしいカレンダープラグインを見つけたので FileMaker カスタム App で使えるようにしてみましょう。

An elegant calendar and datepicker plugin for Vuejs.
V-Calendar は Vuejs で利用できる、エレガントなカレンダー兼日付ピッカーです。
https://vcalendar.io

Vue.js

Vue.js についてはもはや説明の必要はないでしょう。他にも有名なフレームワークとしては Angular、React などがありますが、過去にじぇねんちゅの同志が Angular との連携に成功しています。

そして V-Calendar は Vue.js のプラグインなので、まずは開発環境から準備する必要があります。

VSCode (Remote Containar Plugin) + Docker Desktop

Vue.js の開発環境は VSCode の Docker コンテナで提供されています。VSCode (Remote Containar Plugin) + Docker Desktop がインストールされていれば数クリックで開発環境が完成します。
今回は Node.js バージョン16 で開発環境を準備しました。

2023030901.001.png (272.0 kB)
2023030901.002.png (206.0 kB)
2023030901.003.png (117.5 kB)
2023030901.004.png (131.3 kB)
2023030901.005.png (136.7 kB)
2023030901.006.png (191.4 kB)

Vue.js の開発環境が完成しました。

2023030901.007.png (105.2 kB)

Vue CLI あらため Vite

VSCode のコンテナから用意した開発環境には Vue CLI が含まれておりコマンドラインから Vue.js のプロジェクトの作成が可能なのですが、最近では Vite でプロジェクトを作成するのが一般的らしいので最先端の流れにのります。
https://ja.vitejs.dev/

2023030901.009.png (314.7 kB)

ターミナルが起動します。

2023030901.010.png (122.7 kB)

新規プロジェクトを作成します。

npm init vite-app v-calendar
2023030901.011.png (129.9 kB)
2023030901.012.png (149.0 kB)

新規プロジェクトが作成されました。

2023030901.013.png (354.6 kB)

プロジェクトフォルダに移動します。

2023030901.014.png (213.7 kB)

プロジェクトの準備

プロジェクトに必要なパッケージをインストールします。

npm install
2023030901.015.png (150.3 kB)
2023030901.016.png (267.3 kB)

パッケージがインストールされました。

v-calendar のインストール

v-calendar をインストールします。

npm install v-calendar@next
2023030901.017.png (164.4 kB)
2023030901.018.png (224.6 kB)

v-calendar がインストールされました。

main.js

main.js を書き換えて V-Calendar を組み込みます。

import { createApp } from 'vue'
import { SetupCalendar, Calendar, DatePicker } from 'v-calendar';
import App from './App.vue'
import 'v-calendar/dist/style.css';

createApp(App)
.use(SetupCalendar, {})
// .component("Calendar", Calendar)
.component("DatePicker", DatePicker)
.mount("#app");
2023030901.019.png (255.6 kB)

App.vue

App.vue を書き換えます。

<template>
  <div id="app">
    <div class="container">
      <Calendar />
      <DatePicker v-model="date" is-inline />
    </div>
  </div>
</template>

<script>
export default {
  name: "App",
  data() {
    return {
      date: null,
      mode: "datetime",
    };
  },
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>
2023030901.020.png (309.0 kB)

ブラウザで動作チェックします。

npm run dev
2023030901.021.png (244.4 kB)

ブラウザーで開くボタンをクリックします。

2023030901.022.png (297.7 kB)

カレンダーが表示されます。

2023030901.023.png (98.5 kB)

次回は、こちらのカレンダーを FileMaker カスタム App に埋め込みます!お楽しみに。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次