remove v-calendar use v-date-picker

This commit is contained in:
les
2020-10-25 00:34:22 +02:00
parent 743c8729d8
commit 767d7d5ffc
7 changed files with 799 additions and 1876 deletions

View File

@@ -41,8 +41,8 @@ module.exports = {
'@/plugins/vue-clipboard', // vuetify '@/plugins/vue-clipboard', // vuetify
'@/plugins/axios', // axios baseurl configuration '@/plugins/axios', // axios baseurl configuration
'@/plugins/validators', // inject validators '@/plugins/validators', // inject validators
'@/plugins/api', // api helpers '@/plugins/api' // api helpers
{ src: '@/plugins/v-calendar', ssr: false } // calendar, fix ssr // { src: '@/plugins/v-calendar', ssr: false } // calendar, fix ssr
], ],
render: { render: {

View File

@@ -39,9 +39,9 @@
"cors": "^2.8.5", "cors": "^2.8.5",
"cross-env": "^7.0.2", "cross-env": "^7.0.2",
"date-fns": "^2.16.1", "date-fns": "^2.16.1",
"dayjs": "^1.9.1", "dayjs": "^1.9.4",
"dompurify": "^2.1.1", "dompurify": "^2.2.0",
"email-templates": "^7.1.1", "email-templates": "^7.1.2",
"express": "^4.17.1", "express": "^4.17.1",
"express-oauth-server": "^2.0.0", "express-oauth-server": "^2.0.0",
"fs": "^0.0.1-security", "fs": "^0.0.1-security",
@@ -59,47 +59,47 @@
"moment-timezone": "^0.5.31", "moment-timezone": "^0.5.31",
"morgan": "^1.10.0", "morgan": "^1.10.0",
"multer": "^1.4.2", "multer": "^1.4.2",
"nuxt": "^2.14.6", "nuxt": "^2.14.7",
"nuxt-express-module": "^0.0.11", "nuxt-express-module": "^0.0.11",
"pg": "^8.4.1", "pg": "^8.4.1",
"sequelize": "^6.3.5", "sequelize": "^6.3.5",
"sequelize-cli": "^6.2.0", "sequelize-cli": "^6.2.0",
"sharp": "^0.26.1", "sharp": "^0.26.2",
"sqlite3": "^5.0.0", "sqlite3": "^5.0.0",
"tiptap": "^1.30.0", "tiptap": "^1.30.0",
"tiptap-extensions": "^1.33.1", "tiptap-extensions": "^1.33.2",
"to-ico": "^1.1.5", "to-ico": "^1.1.5",
"url": "^0.11.0", "url": "^0.11.0",
"v-calendar": "^1.0.8", "v-calendar": "^1.1.1",
"vue-clipboard2": "^0.3.1", "vue-clipboard2": "^0.3.1",
"vue-i18n": "^8.22.0", "vue-i18n": "^8.22.1",
"yargs": "^16.0.3" "yargs": "^16.1.0"
}, },
"devDependencies": { "devDependencies": {
"@mdi/font": "^5.6.55", "@mdi/font": "^5.7.55",
"@nuxtjs/eslint-config": "^3.1.0", "@nuxtjs/eslint-config": "^4.0.0",
"@nuxtjs/vuetify": "^1.11.2", "@nuxtjs/vuetify": "^1.11.2",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"eslint": "^7.11.0", "eslint": "^7.11.0",
"eslint-config-prettier": "^6.12.0", "eslint-config-prettier": "^6.14.0",
"eslint-config-standard": ">=14.1.1", "eslint-config-standard": "^15.0.0",
"eslint-loader": "^4.0.2", "eslint-loader": "^4.0.2",
"eslint-plugin-import": "^2.22.1", "eslint-plugin-import": "^2.22.1",
"eslint-plugin-node": ">=11.1.0", "eslint-plugin-node": ">=11.1.0",
"eslint-plugin-nuxt": "^1.0.0", "eslint-plugin-nuxt": "^1.0.0",
"eslint-plugin-prettier": "^3.1.4", "eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-promise": ">=4.0.1", "eslint-plugin-promise": ">=4.0.1",
"eslint-plugin-standard": ">=4.0.1", "eslint-plugin-standard": "^4.0.2",
"eslint-plugin-vue": "^7.0.1", "eslint-plugin-vue": "^7.1.0",
"less-loader": "^7.0.2", "less-loader": "^7.0.2",
"nodemon": "^2.0.4", "nodemon": "^2.0.6",
"prettier": "^2.1.2", "prettier": "^2.1.2",
"pug-plain-loader": "^1.0.0", "pug-plain-loader": "^1.0.0",
"sass": "^1.27.0", "sass": "^1.27.0",
"sass-loader": "^10.0.3", "sass-loader": "^10.0.4",
"vue-cli-plugin-vuetify": "~2.0.7", "vue-cli-plugin-vuetify": "~2.0.7",
"vuetify-loader": "^1.3.0", "vuetify-loader": "^1.3.0",
"webpack-cli": "^4.0.0" "webpack-cli": "^4.1.0"
}, },
"resolutions": { "resolutions": {
"prosemirror-model": "1.11.2" "prosemirror-model": "1.11.2"

View File

@@ -1,7 +1,7 @@
import Vue from 'vue' // import Vue from 'vue'
import VCalendar from 'v-calendar' // import VCalendar from 'v-calendar'
export default () => { // export default () => {
Vue.use(VCalendar, { // Vue.use(VCalendar, {
firstDayOfWeek: 2 // firstDayOfWeek: 2
}) // })
} // }

View File

@@ -1,5 +1,5 @@
const crypto = require('crypto') const crypto = require('crypto')
const moment = require('moment-timezone') // const moment = require('moment-timezone')
const path = require('path') const path = require('path')
const config = require('config') const config = require('config')
const fs = require('fs') const fs = require('fs')
@@ -8,6 +8,7 @@ const _ = require('lodash')
const helpers = require('../../helpers') const helpers = require('../../helpers')
const linkifyHtml = require('linkifyjs/html') const linkifyHtml = require('linkifyjs/html')
const Sequelize = require('sequelize') const Sequelize = require('sequelize')
const dayjs = require('dayjs')
const Event = require('../models/event') const Event = require('../models/event')
const Resource = require('../models/resource') const Resource = require('../models/resource')
@@ -217,7 +218,7 @@ const eventController = {
where: { where: {
parentId: null, parentId: null,
is_visible: false, is_visible: false,
start_datetime: { [Op.gt]: moment().unix() } start_datetime: { [Op.gt]: dayjs().unix() }
}, },
order: [['start_datetime', 'ASC']], order: [['start_datetime', 'ASC']],
include: [{ model: Tag, required: false }, Place] include: [{ model: Tag, required: false }, Place]
@@ -417,19 +418,19 @@ const eventController = {
} }
}, },
async _select ({ start, end, tags, places}) { async _select ({ start, end, tags, places }) {
debug('_select start: %s, end: %s, tags: %s', dayjs.unix(start), end, tags)
const where = { const where = {
// confirmed event only // confirmed event only
recurrent: null, recurrent: null,
is_visible: true, is_visible: true,
start_datetime: { [Op.gt]: start }, end_datetime: { [Op.gt]: start }
} }
if (end) { if (end) {
where['end_datetime'] = { [Op.lt]: end } where.end_datetime = { [Op.lt]: end }
} }
if (places) { if (places) {
where.placeId = places.split(',') where.placeId = places.split(',')
} }
@@ -448,7 +449,7 @@ const eventController = {
order: ['start_datetime', [Tag, 'weigth', 'DESC']], order: ['start_datetime', [Tag, 'weigth', 'DESC']],
include: [ include: [
{ model: Resource, required: false, attributes: ['id'] }, { model: Resource, required: false, attributes: ['id'] },
{ model: Tag, attributes: ['tag'], required: tags ? true : false, ...where_tags, through: { attributes: [] } }, { model: Tag, attributes: ['tag'], required: !!tags, ...where_tags, through: { attributes: [] } },
{ model: Place, required: false, attributes: ['id', 'name', 'address'] } { model: Place, required: false, attributes: ['id', 'name', 'address'] }
] ]
}) })
@@ -489,10 +490,10 @@ const eventController = {
} }
const recurrent = e.recurrent const recurrent = e.recurrent
const cursor = moment() const cursor = dayjs()
// let cursor = start.startOf('week') // let cursor = start.startOf('week')
const start_date = moment.unix(e.start_datetime) const start_date = dayjs.unix(e.start_datetime)
const duration = moment.unix(e.end_datetime).diff(start_date, 's') const duration = dayjs.unix(e.end_datetime).diff(start_date, 's')
const frequency = recurrent.frequency const frequency = recurrent.frequency
const days = recurrent.days const days = recurrent.days
const type = recurrent.type const type = recurrent.type
@@ -532,7 +533,7 @@ const eventController = {
cursor.date(d) cursor.date(d)
} else { } else {
cursor.day(d - 1) cursor.day(d - 1)
if (cursor.isBefore(moment())) { if (cursor.isBefore(dayjs())) {
cursor.day(d - 1 + 7) cursor.day(d - 1 + 7)
} }
} }
@@ -547,7 +548,7 @@ const eventController = {
/** /**
* Create instances of recurrent events * Create instances of recurrent events
*/ */
async _createRecurrent (start_datetime = moment().unix()) { async _createRecurrent (start_datetime = dayjs().unix()) {
// select recurrent events // select recurrent events
const events = await Event.findAll({ const events = await Event.findAll({
where: { is_visible: true, recurrent: { [Op.ne]: null } }, where: { is_visible: true, recurrent: { [Op.ne]: null } },

View File

@@ -15,7 +15,6 @@ const eventController = require('./api/controller/event')
const announceController = require('./api/controller/announce') const announceController = require('./api/controller/announce')
const helpers = require('./helpers') const helpers = require('./helpers')
const { startOfMonth, startOfWeek, getUnixTime } = require('date-fns')
const app = express() const app = express()
// ignore unimplemented ping url from fediverse // ignore unimplemented ping url from fediverse

View File

@@ -1,6 +1,3 @@
import dayjs from 'dayjs'
import intersection from 'lodash/intersection'
export const state = () => ({ export const state = () => ({
locale: '', locale: '',
user_locale: {}, user_locale: {},
@@ -81,7 +78,7 @@ export const actions = {
async updateEvent ({ commit }, formData) { async updateEvent ({ commit }, formData) {
await this.$axios.$put('/event', formData) await this.$axios.$put('/event', formData)
}, },
setFilters({ commit }, filters) { setFilters ({ commit }, filters) {
commit('setFilters', filters) commit('setFilters', filters)
}, },
setAnnouncements ({ commit }, announcements) { setAnnouncements ({ commit }, announcements) {

2588
yarn.lock

File diff suppressed because it is too large Load Diff