mirror of
https://bitbucket.org/studiotem/jandl-taskmanager-app.git
synced 2026-10-21 14:29:34 +00:00
build(calendar): ensure timeblock creation is restricted to working hours
This commit is contained in:
1 parent
af6dcfe0b8
commit
7befa9a4ea
1 file changed
+2
-2
Vendored
+2
-2
@@ -433,7 +433,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cel
|
|||||||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _event_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./event.vue */ \"./src/plugins/app@vendor/vue-cal/event.vue\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n inject: ['vuecal', 'utils', 'modules', 'view', 'domEvents'],\n components: {\n Event: _event_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n props: {\n // Vue-cal main component options (props).\n options: {\n type: Object,\n default: () => ({})\n },\n editEvents: {\n type: Object,\n required: true\n },\n data: {\n type: Object,\n required: true\n },\n cellSplits: {\n type: Array,\n default: () => []\n },\n minTimestamp: {\n type: [Number, null],\n default: null\n },\n maxTimestamp: {\n type: [Number, null],\n default: null\n },\n cellWidth: {\n type: [Number, Boolean],\n default: false\n },\n allDay: {\n type: Boolean,\n default: false\n }\n },\n data: () => ({\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n cellOverlaps: {},\n cellOverlapsStreak: 1,\n // Largest amount of simultaneous events in cell.\n // On mouse down, save the time at cursor so it can be reused on cell focus event\n // where there is no cursor coords.\n timeAtCursor: null,\n highlighted: false,\n // On event drag over.\n highlightedSplit: null\n }),\n methods: {\n getSplitAtCursor({\n target\n }) {\n const targetIsSplit = target.classList.contains('vuecal__cell-split');\n let split = targetIsSplit ? target : this.vuecal.findAncestor(target, 'vuecal__cell-split');\n if (split) {\n split = split.attributes['data-split'].value;\n // Convert to a numeric value if split id is a number.\n if (parseInt(split).toString() === split.toString()) split = parseInt(split);\n }\n return split || null;\n },\n splitClasses(split) {\n return {\n 'vuecal__cell-split': true,\n 'vuecal__cell-split--highlighted': this.highlightedSplit === split.id,\n 'vuecal__cell-split--weekend': split.isWeekend,\n [split.class]: !!split.class\n };\n },\n checkCellOverlappingEvents() {\n // If splits, checkCellOverlappingEvents() is called from within computed splits.\n if (this.options.time && this.eventsCount && !this.splitsCount) {\n if (this.eventsCount === 1) {\n this.cellOverlaps = [];\n this.cellOverlapsStreak = 1;\n }\n // If only 1 event remains re-init the overlaps.\n else [this.cellOverlaps, this.cellOverlapsStreak] = this.utils.event.checkCellOverlappingEvents(this.events, this.options);\n }\n },\n isDOMElementAnEvent(el) {\n return this.vuecal.isDOMElementAnEvent(el);\n },\n /**\n * Select a cell and go to narrower view on double click or single click according to vuecalProps option.\n */\n selectCell(DOMEvent, force = false) {\n // If splitting days, also return the clicked split on cell click when emitting event.\n const split = this.splitsCount ? this.getSplitAtCursor(DOMEvent) : null;\n this.utils.cell.selectCell(force, this.timeAtCursor, split);\n this.timeAtCursor = null;\n },\n onCellkeyPressEnter(DOMEvent) {\n if (!this.isSelected) this.onCellFocus(DOMEvent);\n\n // If splitting days, also return the clicked split on cell keypress when emitting event.\n const split = this.splitsCount ? this.getSplitAtCursor(DOMEvent) : null;\n this.utils.cell.keyPressEnterCell(this.timeAtCursor, split);\n this.timeAtCursor = null;\n },\n /**\n * On cell focus, from tab key or from mousedown, highlight the cell and emit\n * the cell-focus event with the date of the cell start when focusing from tab or\n * the date & time at cursor i
Line truncated
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _event_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./event.vue */ \"./src/plugins/app@vendor/vue-cal/event.vue\");\n/* harmony import */ var _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/plugins/tm@_utils/tm.utils */ \"./src/plugins/tm@_utils/tm.utils.ts\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n inject: ['vuecal', 'utils', 'modules', 'view', 'domEvents'],\n components: {\n Event: _event_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n props: {\n // Vue-cal main component options (props).\n options: {\n type: Object,\n default: () => ({})\n },\n editEvents: {\n type: Object,\n required: true\n },\n data: {\n type: Object,\n required: true\n },\n cellSplits: {\n type: Array,\n default: () => []\n },\n minTimestamp: {\n type: [Number, null],\n default: null\n },\n maxTimestamp: {\n type: [Number, null],\n default: null\n },\n cellWidth: {\n type: [Number, Boolean],\n default: false\n },\n allDay: {\n type: Boolean,\n default: false\n }\n },\n data: () => ({\n tmUtils: _plugins_tm_utils_tm_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n cellOverlaps: {},\n cellOverlapsStreak: 1,\n // Largest amount of simultaneous events in cell.\n // On mouse down, save the time at cursor so it can be reused on cell focus event\n // where there is no cursor coords.\n timeAtCursor: null,\n highlighted: false,\n // On event drag over.\n highlightedSplit: null\n }),\n methods: {\n getSplitAtCursor({\n target\n }) {\n const targetIsSplit = target.classList.contains('vuecal__cell-split');\n let split = targetIsSplit ? target : this.vuecal.findAncestor(target, 'vuecal__cell-split');\n if (split) {\n split = split.attributes['data-split'].value;\n // Convert to a numeric value if split id is a number.\n if (parseInt(split).toString() === split.toString()) split = parseInt(split);\n }\n return split || null;\n },\n splitClasses(split) {\n return {\n 'vuecal__cell-split': true,\n 'vuecal__cell-split--highlighted': this.highlightedSplit === split.id,\n 'vuecal__cell-split--weekend': split.isWeekend,\n [split.class]: !!split.class\n };\n },\n checkCellOverlappingEvents() {\n // If splits, checkCellOverlappingEvents() is called from within computed splits.\n if (this.options.time && this.eventsCount && !this.splitsCount) {\n if (this.eventsCount === 1) {\n this.cellOverlaps = [];\n this.cellOverlapsStreak = 1;\n }\n // If only 1 event remains re-init the overlaps.\n else [this.cellOverlaps, this.cellOverlapsStreak] = this.utils.event.checkCellOverlappingEvents(this.events, this.options);\n }\n },\n isDOMElementAnEvent(el) {\n return this.vuecal.isDOMElementAnEvent(el);\n },\n /**\n * Select a cell and go to narrower view on double click or single click according to vuecalProps option.\n */\n selectCell(DOMEvent, force = false) {\n // If splitting days, also return the clicked split on cell click when emitting event.\n const split = this.splitsCount ? this.getSplitAtCursor(DOMEvent) : null;\n this.utils.cell.selectCell(force, this.timeAtCursor, split);\n this.timeAtCursor = null;\n },\n onCellkeyPressEnter(DOMEvent) {\n if (!this.isSelected) this.onCellFocus(DOMEvent);\n\n // If splitting days, also return the clicked split on cell keypress when emitting event.\n const split = this.splitsCount ? this.getSplitAtCursor(DOMEvent) : null;\n this.utils.cell.keyPressEnterCell(this.timeAtCursor, split);\n this.timeAtCursor = null;\n },\n /**\n * On cell focus, from tab key or from mousedown, highlight the cell and emit\n * the cell-focus event with the date of the cell start when focusing from tab or\n * the date & time at cursor i
Line truncated
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
@@ -972,7 +972,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|||||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".vuecal__cell {\\n position: relative;\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n text-align: center;\\n transition: 0.15s ease-in-out background-color;\\n}\\n.vuecal__cells.month-view .vuecal__cell, .vuecal__cells.week-view .vuecal__cell {\\n width: 14.2857%;\\n}\\n.vuecal--hide-weekends .vuecal__cells.month-view .vuecal__cell, .vuecal--hide-weekends .vuecal__cells.week-view .vuecal__cell {\\n width: 20%;\\n}\\n.vuecal__cells.years-view .vuecal__cell {\\n width: 20%;\\n}\\n.vuecal__cells.year-view .vuecal__cell {\\n width: 33.33%;\\n}\\n.vuecal__cells.day-view .vuecal__cell {\\n flex: 1;\\n}\\n.vuecal--overflow-x.vuecal--day-view .vuecal__cell {\\n width: auto;\\n}\\n.vuecal--click-to-navigate .vuecal__cell:not(.vuecal__cell--disabled) {\\n cursor: pointer;\\n}\\n.vuecal--view-with-time .vuecal__cell, .vuecal--week-view.vuecal--no-time .vuecal__cell:not(.vuecal__cell--has-splits), .vuecal--day-view.vuecal--no-time .vuecal__cell:not(.vuecal__cell--has-splits) {\\n display: block;\\n}\\n.vuecal__cell.vuecal__cell--has-splits {\\n flex-direction: row;\\n display: flex;\\n}\\n.vuecal__cell:before {\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 0;\\n top: 0;\\n left: 0;\\n right: -1px;\\n bottom: -1px;\\n border: 1px solid rgba(196, 196, 196, 0.25);\\n}\\n.vuecal--overflow-x.vuecal--day-view .vuecal__cell:before {\\n bottom: 0;\\n}\\n.vuecal__cell--today, .vuecal__cell--current {\\n background-color: rgba(240, 240, 255, 0.4);\\n z-index: 1;\\n}\\n.vuecal__cell--selected {\\n background-color: rgba(235, 255, 245, 0.4);\\n z-index: 2;\\n}\\n.vuecal--day-view .vuecal__cell--selected {\\n background: none;\\n}\\n.vuecal__cell--out-of-scope {\\n color: rgba(0, 0, 0, 0.25);\\n}\\n.vuecal__cell--disabled {\\n color: rgba(0, 0, 0, 0.25);\\n cursor: not-allowed;\\n}\\n.vuecal__cell--highlighted:not(.vuecal__cell--has-splits), .vuecal__cell-split.vuecal__cell-split--highlighted {\\n background-color: rgba(0, 0, 0, 0.04);\\n transition-duration: 5ms;\\n}\\n.vuecal__cell-content {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n outline: none;\\n}\\n.vuecal--years-view .vuecal__cell-content, .vuecal--year-view .vuecal__cell-content, .vuecal--month-view .vuecal__cell-content {\\n justify-content: center;\\n}\\n.vuecal__cell .cell-time-labels {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n display: flex;\\n flex-direction: column;\\n}\\n.vuecal__cell .cell-time-label {\\n flex-grow: 1;\\n font-size: 0.8em;\\n opacity: 0.3;\\n line-height: 1.7;\\n}\\n.vuecal__cell-split {\\n display: flex;\\n flex-grow: 1;\\n flex-direction: column;\\n height: 100%;\\n position: relative;\\n transition: 0.15s ease-in-out background-color;\\n}\\n.vuecal__cell-events {\\n width: 100%;\\n}\\n.vuecal__cell-events-count {\\n position: absolute;\\n left: 50%;\\n top: 65%;\\n transform: translateX(-50%);\\n min-width: 12px;\\n height: 12px;\\n line-height: 12px;\\n padding: 0 3px;\\n background: #999;\\n color: #fff;\\n border-radius: 12px;\\n font-size: 10px;\\n box-sizing: border-box;\\n}\\n.vuecal__cell .vuecal__special-hours {\\n position: absolute;\\n left: 0;\\n right: 0;\\n box-sizing: border-box;\\n}\\n.vuecal--overflow-x.vuecal--week-view .vuecal__cell, .vuecal__cell-split {\\n overflow: hidden;\\n}\\n.vuecal__no-event {\\n padding-top: 1em;\\n color: #aaa;\\n justify-self: flex-start;\\n margin-bottom: auto;\\n}\\n.vuecal__all-day .vuecal__no-event {\\n display: none;\\n}\\n.vuecal__now-line {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n height: 0;\\n color: red;\\n border-top: 1
Line truncated
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".vuecal__cell {\\n position: relative;\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n text-align: center;\\n transition: 0.15s ease-in-out background-color;\\n}\\n.vuecal__cells.month-view .vuecal__cell, .vuecal__cells.week-view .vuecal__cell {\\n width: 14.2857%;\\n}\\n.vuecal--hide-weekends .vuecal__cells.month-view .vuecal__cell, .vuecal--hide-weekends .vuecal__cells.week-view .vuecal__cell {\\n width: 20%;\\n}\\n.vuecal__cells.years-view .vuecal__cell {\\n width: 20%;\\n}\\n.vuecal__cells.year-view .vuecal__cell {\\n width: 33.33%;\\n}\\n.vuecal__cells.day-view .vuecal__cell {\\n flex: 1;\\n}\\n.vuecal--overflow-x.vuecal--day-view .vuecal__cell {\\n width: auto;\\n}\\n.vuecal--click-to-navigate .vuecal__cell:not(.vuecal__cell--disabled) {\\n cursor: pointer;\\n}\\n.vuecal--view-with-time .vuecal__cell, .vuecal--week-view.vuecal--no-time .vuecal__cell:not(.vuecal__cell--has-splits), .vuecal--day-view.vuecal--no-time .vuecal__cell:not(.vuecal__cell--has-splits) {\\n display: block;\\n}\\n.vuecal__cell.vuecal__cell--has-splits {\\n flex-direction: row;\\n display: flex;\\n}\\n.vuecal__cell:before {\\n content: \\\"\\\";\\n position: absolute;\\n z-index: 0;\\n top: 0;\\n left: 0;\\n right: -1px;\\n bottom: -1px;\\n border: 1px solid rgba(196, 196, 196, 0.25);\\n}\\n.vuecal--overflow-x.vuecal--day-view .vuecal__cell:before {\\n bottom: 0;\\n}\\n.vuecal__cell--today, .vuecal__cell--current {\\n background-color: rgba(240, 240, 255, 0.4);\\n z-index: 1;\\n}\\n.vuecal__cell--selected {\\n background-color: rgba(235, 255, 245, 0.4);\\n z-index: 2;\\n}\\n.vuecal--day-view .vuecal__cell--selected {\\n background: none;\\n}\\n.vuecal__cell--out-of-scope {\\n color: rgba(0, 0, 0, 0.25);\\n}\\n.vuecal__cell--disabled {\\n color: rgba(0, 0, 0, 0.25);\\n cursor: not-allowed;\\n}\\n.vuecal__cell--highlighted:not(.vuecal__cell--has-splits), .vuecal__cell-split.vuecal__cell-split--highlighted {\\n background-color: rgba(0, 0, 0, 0.04);\\n transition-duration: 5ms;\\n}\\n.vuecal__cell-content {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n outline: none;\\n}\\n.vuecal--years-view .vuecal__cell-content, .vuecal--year-view .vuecal__cell-content, .vuecal--month-view .vuecal__cell-content {\\n justify-content: center;\\n}\\n.vuecal__cell .cell-time-labels {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n display: flex;\\n flex-direction: column;\\n}\\n.vuecal__cell .cell-time-label {\\n flex-grow: 1;\\n font-size: 0.8em;\\n opacity: 0.3;\\n line-height: 1.7;\\n}\\n.vuecal__cell-split {\\n display: flex;\\n flex-grow: 1;\\n flex-direction: column;\\n height: 100%;\\n position: relative;\\n transition: 0.15s ease-in-out background-color;\\n}\\n.vuecal__cell-events {\\n width: 100%;\\n}\\n.vuecal__cell-events-count {\\n position: absolute;\\n left: 50%;\\n top: 65%;\\n transform: translateX(-50%);\\n min-width: 12px;\\n height: 12px;\\n line-height: 12px;\\n padding: 0 3px;\\n background: #999;\\n color: #fff;\\n border-radius: 12px;\\n font-size: 10px;\\n box-sizing: border-box;\\n}\\n.vuecal__cell .vuecal__special-hours {\\n position: absolute;\\n left: 0;\\n right: 0;\\n box-sizing: border-box;\\n}\\n.vuecal--overflow-x.vuecal--week-view .vuecal__cell,\\n.vuecal__cell-split {\\n overflow: hidden;\\n}\\n.vuecal__no-event {\\n padding-top: 1em;\\n color: #aaa;\\n justify-self: flex-start;\\n margin-bottom: auto;\\n}\\n.vuecal__all-day .vuecal__no-event {\\n display: none;\\n}\\n.vuecal__now-line {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n height: 0;\\n color: red;\\n border-top:
Line truncated
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user