2
0
mirror of https://github.com/tenrok/vue-cron-editor-bootstrap.git synced 2026-06-11 18:12:27 +03:00

remove BRow, BCol, BFormCheckbox

This commit is contained in:
2023-10-12 17:45:01 +03:00
parent 5d7e42ab90
commit 265f507e33
3 changed files with 49 additions and 61 deletions
+39 -35
View File
@@ -1,77 +1,83 @@
<template>
<b-tabs v-model="activeTabIndex" content-class="p-2" @input="reset">
<b-tab :value="0" :title="translate('minutes')" class="minutes-tab">
<b-row>
<b-col class="d-flex align-items-center">
<div class="row">
<div class="col d-flex align-items-center">
<span class="mr-1">{{ translate('every') }}</span>
<b-form-input v-model="editorData.minuteInterval" type="number" min="1" max="59" class="mr-1" style="width: 80px" />
<span>{{ translate('mminutes') }}</span>
</b-col>
</b-row>
</div>
</div>
</b-tab>
<b-tab :value="1" :title="translate('hourly')" class="hourly-tab">
<b-row>
<b-col class="d-flex align-items-center">
<div class="row">
<div class="col d-flex align-items-center">
<span class="mr-1">{{ translate('every') }}</span>
<b-form-input v-model="editorData.hourInterval" type="number" min="1" max="24" class="mr-1" style="width: 80px" />
<span class="mr-1">{{ translate('hoursOnMinute') }}</span>
<b-form-input v-model="editorData.minutes" type="number" min="0" max="59" style="width: 80px" />
</b-col>
</b-row>
</div>
</div>
</b-tab>
<b-tab :value="2" :title="translate('daily')" class="daily-tab">
<b-row>
<b-col class="d-flex align-items-center">
<div class="row">
<div class="col d-flex align-items-center">
<span class="mr-1">{{ translate('every') }}</span>
<b-form-input v-model="editorData.dayInterval" type="number" class="mr-1" style="width: 80px" />
<span class="mr-1">{{ translate('daysAt') }}</span>
<b-form-timepicker :value="dateTime" :hour12="false" now-button style="width: auto" @input="setDateTime" />
</b-col>
</b-row>
</div>
</div>
</b-tab>
<b-tab :value="3" :title="translate('weekly')" class="weekly-tab">
<b-row>
<b-col class="d-flex align-items-center">
<div class="row">
<div class="col d-flex align-items-center">
<span class="mr-3">{{ translate('onlyOn') }}</span>
<b-form-checkbox v-model="editorData.days" value="1" class="mr-3">{{ translate('mon') }}</b-form-checkbox>
<b-form-checkbox v-model="editorData.days" value="2" class="mr-3">{{ translate('tue') }}</b-form-checkbox>
<b-form-checkbox v-model="editorData.days" value="3" class="mr-3">{{ translate('wed') }}</b-form-checkbox>
<b-form-checkbox v-model="editorData.days" value="4" class="mr-3">{{ translate('thu') }}</b-form-checkbox>
<b-form-checkbox v-model="editorData.days" value="5" class="mr-3">{{ translate('fri') }}</b-form-checkbox>
<b-form-checkbox v-model="editorData.days" value="6" class="mr-3">{{ translate('sat') }}</b-form-checkbox>
<b-form-checkbox v-model="editorData.days" value="0" class="mr-3">{{ translate('sun') }}</b-form-checkbox>
<!-- <b-form-checkbox v-model="editorData.days" value="0" class="mr-3">{{ translate('sun') }}</b-form-checkbox> -->
<!-- <b-form-checkbox v-model="editorData.days" value="1" class="mr-3">{{ translate('mon') }}</b-form-checkbox> -->
<!-- <b-form-checkbox v-model="editorData.days" value="2" class="mr-3">{{ translate('tue') }}</b-form-checkbox> -->
<!-- <b-form-checkbox v-model="editorData.days" value="3" class="mr-3">{{ translate('wed') }}</b-form-checkbox> -->
<!-- <b-form-checkbox v-model="editorData.days" value="4" class="mr-3">{{ translate('thu') }}</b-form-checkbox> -->
<!-- <b-form-checkbox v-model="editorData.days" value="5" class="mr-3">{{ translate('fri') }}</b-form-checkbox> -->
<!-- <b-form-checkbox v-model="editorData.days" value="6" class="mr-3">{{ translate('sat') }}</b-form-checkbox> -->
<div v-for="(a, idx) in uids" :key="`${a[0]}`" class="mr-3 custom-control custom-checkbox">
<input :id="`${a[1]}`" v-model="editorData.days" type="checkbox" class="custom-control-input" :value="`${idx}`" />
<label class="custom-control-label" :for="`${a[1]}`">{{ translate(a[0]) }}</label>
</div>
<span class="mr-1">{{ translate('at') }}</span>
<b-form-timepicker :value="dateTime" :hour12="false" now-button style="width: auto" @input="setDateTime" />
</b-col>
</b-row>
</div>
</div>
</b-tab>
<b-tab :value="4" :title="translate('monthly')" class="monthly-tab">
<b-row>
<b-col class="d-flex align-items-center">
<div class="row">
<div class="col d-flex align-items-center">
<span class="mr-1">{{ translate('onThe') }}</span>
<b-form-input v-model="editorData.day" type="number" min="1" max="31" class="mr-1" style="width: 80px" />
<span class="mr-1">{{ translate('dayOfEvery') }}</span>
<b-form-input v-model="editorData.monthInterval" type="number" min="1" class="mr-1" style="width: 80px" />
<span class="mr-1">{{ translate('monthsAt') }}</span>
<b-form-timepicker :value="dateTime" :hour12="false" now-button style="width: auto" @input="setDateTime" />
</b-col>
</b-row>
</div>
</div>
</b-tab>
<b-tab :value="5" :title="translate('advanced')" class="advanced-tab">
<b-row>
<b-col class="d-flex" style="align-items: center">
<div class="row">
<div class="col d-flex align-items-center">
<span class="mr-2">{{ translate('cronExpression') }}</span>
<b-form-input v-model="editorData.cronExpression" class="mr-2" style="width: auto" />
<span>{{ explanation }}</span>
</b-col>
</b-row>
</div>
</div>
</b-tab>
</b-tabs>
</template>
<script>
import vueCronEditorMixin from '../core/vueCronEditorMixin'
import { BTabs, BTab, BRow, BCol, BFormCheckbox, BFormInput, BFormTimepicker } from '@tenrok/bootstrap-vue'
import { BTabs, BTab, BFormInput, BFormTimepicker } from '@tenrok/bootstrap-vue'
export default {
name: 'VueCronEditorBootstrap',
@@ -79,9 +85,6 @@ export default {
components: {
BTabs,
BTab,
BRow,
BCol,
BFormCheckbox,
BFormInput,
BFormTimepicker,
},
@@ -98,6 +101,7 @@ export default {
{ idx: 4, key: 'monthly' },
{ idx: 5, key: 'advanced' },
],
uids: ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'].map(x => [x, crypto.randomUUID()]),
}),
computed: {
+6 -20
View File
@@ -9,6 +9,7 @@
"version": "0.2.2",
"license": "MIT",
"dependencies": {
"@tenrok/bootstrap-vue": "^2.23.2",
"bootstrap": "^4.6.0",
"core-js": "^3.29.0",
"cron-validator": "^1.3.1",
@@ -30,9 +31,6 @@
"prettier": "^2.8.8",
"typescript": "^4.9.5",
"vue-template-compiler": "^2.7.14"
},
"peerDependencies": {
"@tenrok/bootstrap-vue": "^2.23.2"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -2245,7 +2243,6 @@
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.3.3.tgz",
"integrity": "sha512-6IKCd+gP0HliixqZT/p8nW3tucD6Sv/u/eR2A9X4rxT/6hXlMzA4GZQzq4d2qnBAwSwGpmKyzkyTjNjrhaA25A==",
"peer": true,
"dependencies": {
"chalk": "^4.1.0",
"consola": "^2.15.0",
@@ -2328,7 +2325,6 @@
"resolved": "https://registry.npmjs.org/@tenrok/bootstrap-vue/-/bootstrap-vue-2.23.2.tgz",
"integrity": "sha512-xwCgToSE+/f05wru/+fk3stjZO2dQUCeBeFyg/fDmNVPh1T7sMBm+eldRhqxIH48ZyFM/PRi2RdZUxtS+GFKfg==",
"hasInstallScript": true,
"peer": true,
"dependencies": {
"@nuxt/opencollective": "^0.3.2",
"bootstrap": "^4.6.1",
@@ -4515,8 +4511,7 @@
"node_modules/consola": {
"version": "2.15.3",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
"integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
"peer": true
"integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw=="
},
"node_modules/consolidate": {
"version": "0.15.1",
@@ -8520,7 +8515,6 @@
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
"deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1",
"peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
@@ -8530,7 +8524,6 @@
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.7.tgz",
"integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==",
"peer": true,
"peerDependencies": {
"vue": "^2.5.18"
}
@@ -10850,8 +10843,7 @@
"node_modules/vue-functional-data-merge": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
"integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA==",
"peer": true
"integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
},
"node_modules/vue-hot-reload-api": {
"version": "2.3.4",
@@ -13177,7 +13169,6 @@
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.3.3.tgz",
"integrity": "sha512-6IKCd+gP0HliixqZT/p8nW3tucD6Sv/u/eR2A9X4rxT/6hXlMzA4GZQzq4d2qnBAwSwGpmKyzkyTjNjrhaA25A==",
"peer": true,
"requires": {
"chalk": "^4.1.0",
"consola": "^2.15.0",
@@ -13245,7 +13236,6 @@
"version": "2.23.2",
"resolved": "https://registry.npmjs.org/@tenrok/bootstrap-vue/-/bootstrap-vue-2.23.2.tgz",
"integrity": "sha512-xwCgToSE+/f05wru/+fk3stjZO2dQUCeBeFyg/fDmNVPh1T7sMBm+eldRhqxIH48ZyFM/PRi2RdZUxtS+GFKfg==",
"peer": true,
"requires": {
"@nuxt/opencollective": "^0.3.2",
"bootstrap": "^4.6.1",
@@ -14903,8 +14893,7 @@
"consola": {
"version": "2.15.3",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
"integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
"peer": true
"integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw=="
},
"consolidate": {
"version": "0.15.1",
@@ -17882,14 +17871,12 @@
"popper.js": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
"peer": true
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
},
"portal-vue": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.7.tgz",
"integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==",
"peer": true,
"requires": {}
},
"portfinder": {
@@ -19560,8 +19547,7 @@
"vue-functional-data-merge": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
"integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA==",
"peer": true
"integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
},
"vue-hot-reload-api": {
"version": "2.3.4",
+4 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@tenrok/vue-cron-editor-bootstrap",
"version": "0.2.2",
"version": "0.2.3",
"homepage": "https://github.com/tenrok/vue-cron-editor-bootstrap",
"bugs": {
"url": "https://github.com/tenrok/vue-cron-editor-bootstrap/issues"
@@ -20,7 +20,7 @@
"url": "https://github.com/solodyagin"
}
],
"main": "dist/vue-cron-editor-bootstrap.common.js",
"main": "dist/vue-cron-editor-bootstrap.umd.min.js",
"files": [
"dist/vue-cron-editor-bootstrap.*"
],
@@ -35,7 +35,8 @@
"core-js": "^3.29.0",
"cron-validator": "^1.3.1",
"cronstrue": "^2.14.0",
"vue": "^2.7.14"
"vue": "^2.7.14",
"@tenrok/bootstrap-vue": "^2.23.2"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.50.0",
@@ -52,8 +53,5 @@
"prettier": "^2.8.8",
"typescript": "^4.9.5",
"vue-template-compiler": "^2.7.14"
},
"peerDependencies": {
"@tenrok/bootstrap-vue": "^2.23.2"
}
}