@intellias/menu 3.0.16 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/css/main.css CHANGED
@@ -2116,6 +2116,8 @@
2116
2116
  --spacing-240: 15rem;
2117
2117
  }
2118
2118
  .play-pause {
2119
+ display: flex;
2120
+ align-items: center;
2119
2121
  margin-left: var(--spacing-20);
2120
2122
  }
2121
2123
  .play-pause-btn {
@@ -2141,6 +2143,12 @@
2141
2143
  height: 20px;
2142
2144
  animation: spin 1s linear infinite;
2143
2145
  }
2146
+ .play-pause-time {
2147
+ margin-left: var(--spacing-10);
2148
+ color: var(--text-primary);
2149
+ font-size: var(--font-size-14);
2150
+ white-space: nowrap;
2151
+ }
2144
2152
  #modalTracked {
2145
2153
  color: var(--text-primary);
2146
2154
  }
package/dist/js/main.js CHANGED
@@ -708,7 +708,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
708
708
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
709
709
 
710
710
  "use strict";
711
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! moment-timezone */ \"./node_modules/moment-timezone/index.js\");\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobile_device_detect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobile-device-detect */ \"./node_modules/mobile-device-detect/dist/index.js\");\n/* harmony import */ var mobile_device_detect__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(mobile_device_detect__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _modal_Modal_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/Modal.vue */ \"./components/modal/Modal.vue\");\n/* harmony import */ var _helpers_response_ResponseState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../helpers/response/ResponseState */ \"./helpers/response/ResponseState.ts\");\n/* harmony import */ var _PlayPauseStatus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PlayPauseStatus */ \"./components/play-pause/PlayPauseStatus.ts\");\n/* harmony import */ var _models_TrackedTimeModel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../models/TrackedTimeModel */ \"./models/TrackedTimeModel.ts\");\n/* harmony import */ var _repositories_TrackedTimeRepository__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../repositories/TrackedTimeRepository */ \"./repositories/TrackedTimeRepository.ts\");\n/* harmony import */ var _helpers_TrackedTimeHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./helpers/TrackedTimeHelper */ \"./components/play-pause/helpers/TrackedTimeHelper.ts\");\n/* harmony import */ var _helpers_PauseHelper__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/PauseHelper */ \"./components/play-pause/helpers/PauseHelper.ts\");\n/* harmony import */ var _helpers_response_ResponseCode__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../helpers/response/ResponseCode */ \"./helpers/response/ResponseCode.ts\");\n/* harmony import */ var _helpers_response_ResponseHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../helpers/response/ResponseHelper */ \"./helpers/response/ResponseHelper.ts\");\n/* harmony import */ var _helpers_LatestTrackedTimeDurationHelper__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helpers/LatestTrackedTimeDurationHelper */ \"./components/play-pause/helpers/LatestTrackedTimeDurationHelper.ts\");\n/* harmony import */ var _buttons_action_button_ActionButton_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../buttons/action-button/ActionButton.vue */ \"./components/buttons/action-button/ActionButton.vue\");\n/* harmony import */ var _buttons_secondary_button_SecondaryButton_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../buttons/secondary-button/SecondaryButton.vue */ \"./components/buttons/secondary-button/SecondaryButton.vue\");\n/* harmony import */ var _main__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../main */ \"./main.ts\");\n/* harmony import */ var _models_MenuLayouts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/models/MenuLayouts */ \"./models/MenuLayouts.ts\");\n/* harmony import */ var _models_ThemeModel__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/models/ThemeModel */ \"./models/ThemeModel.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst groupedDataEndDate = moment_timezone__WEBPACK_IMPORTED_MODULE_1__().subtract(2, 'days');\nconst trackedTimeRepository = new _repositories_TrackedTimeRepository__WEBPACK_IMPORTED_MODULE_7__[\"default\"]();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'playPause',\n inject: ['storeAdapter', 'layout', 'analytics'],\n components: { modal: _modal_Modal_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"], ActionButton: _buttons_action_button_ActionButton_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"], SecondaryButton: _buttons_secondary_button_SecondaryButton_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"] },\n created() {\n return __awaiter(this, void 0, void 0, function* () {\n this.applyRepositorySubscribers();\n yield this.getTrackedTimes();\n this.isLoading = false;\n });\n },\n computed: Object.assign(Object.assign({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])('User', ['getUser'])), { status() {\n return this.storeAdapter.TrackedTime.getters.status;\n },\n iconClass() {\n return {\n 'spinner-solid sm': this.isLoading,\n original: !this.isLoading && this.isLiteDomain,\n 'pause-new': this.status === _PlayPauseStatus__WEBPACK_IMPORTED_MODULE_5__[\"Status\"].Play,\n 'play-new': this.status !== _PlayPauseStatus__WEBPACK_IMPORTED_MODULE_5__[\"Status\"].Play\n };\n },\n latestTrackedTime() {\n return this.storeAdapter.TrackedTime.getters.latest;\n },\n isMobile() {\n return mobile_device_detect__WEBPACK_IMPORTED_MODULE_2__[\"isMobile\"];\n },\n isLiteDomain() {\n return this.layout === _models_MenuLayouts__WEBPACK_IMPORTED_MODULE_16__[\"default\"].Lite;\n },\n intemsConfig() {\n return this.storeAdapter.Config.state.data;\n },\n darkTheme() {\n return !this.isLiteDomain && this.getUser.frontend_theme === _models_ThemeModel__WEBPACK_IMPORTED_MODULE_17__[\"default\"].Dark;\n } }),\n watch: {\n latestTrackedTime(trackedTime) {\n this.latestTrackedTimeDurationHelper.calculate(trackedTime, this.getUser.getTimezone());\n }\n },\n data() {\n return {\n trackedText: 'Default Text',\n duration: undefined,\n isLoading: true,\n latestTrackedTimeDurationHelper: new _helpers_LatestTrackedTimeDurationHelper__WEBPACK_IMPORTED_MODULE_12__[\"default\"]()\n };\n },\n methods: {\n addNow() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.isLiteDomain) {\n window.location.href = `${this.intemsConfig.liteSiteUrl}time`;\n }\n const timePagePath = _main__WEBPACK_IMPORTED_MODULE_15__[\"myOptions\"].helperFunctions.getUrlPathByName('Time');\n this.storeAdapter.TimePage.mutations.setAddNowMode(true);\n if (this.$router.currentRoute.path !== timePagePath) {\n yield this.$router.replace(timePagePath);\n }\n this.closeModalWindow();\n });\n },\n closeModalWindow() {\n this.$modal.hide('modalTracked');\n },\n handlePlayResolved(response) {\n const trackedTime = new _models_TrackedTimeModel__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n trackedTime.fill(response.data.data);\n this.storeAdapter.TrackedTime.mutations.addTrackedTime(trackedTime);\n this.storeAdapter.Toasts.mutations.addMessage('You have started tracking work time');\n },\n handlePauseResolved(response) {\n const trackedTimeHelper = new _helpers_TrackedTimeHelper__WEBPACK_IMPORTED_MODULE_8__[\"default\"](response.data.data);\n const pauseHelper = new _helpers_PauseHelper__WEBPACK_IMPORTED_MODULE_9__[\"default\"](trackedTimeHelper);\n const error = pauseHelper.getError();\n if (error) {\n this.storeAdapter.Toasts.mutations.addError(error);\n this.storeAdapter.TrackedTime.mutations.setLatestTrackedTime(undefined);\n return;\n }\n this.duration = trackedTimeHelper.today().duration;\n this.trackedText = pauseHelper.getTrackedText();\n if (pauseHelper.needOpenModalWindow()) {\n this.$modal.show('modalTracked');\n }\n this.storeAdapter.Toasts.mutations.addMessage(pauseHelper.getMessage());\n },\n handleRejected(error) {\n return __awaiter(this, void 0, void 0, function* () {\n if (error.response.status === _helpers_response_ResponseCode__WEBPACK_IMPORTED_MODULE_10__[\"ResponseCode\"].UnprocessableEntity) {\n const firstError = Object.values(error.response.data.errors)[0];\n this.storeAdapter.Toasts.mutations.addError(firstError[0]);\n yield this.getTrackedTimes();\n }\n });\n },\n applyRepositorySubscribers() {\n const responseHelper = trackedTimeRepository.getResponseHelper();\n responseHelper.subscribe(_helpers_response_ResponseState__WEBPACK_IMPORTED_MODULE_4__[\"ResponseState\"].Resolved, result => this.handlePlayResolved(result), _repositories_TrackedTimeRepository__WEBPACK_IMPORTED_MODULE_7__[\"PlayContext\"]);\n responseHelper.subscribe(_helpers_response_ResponseState__WEBPACK_IMPORTED_MODULE_4__[\"ResponseState\"].Resolved, result => this.handlePauseResolved(result), _repositories_TrackedTimeRepository__WEBPACK_IMPORTED_MODULE_7__[\"PauseContext\"]);\n responseHelper.subscribe(_helpers_response_ResponseState__WEBPACK_IMPORTED_MODULE_4__[\"ResponseState\"].Rejected, error => this.handleRejected(error), _helpers_response_ResponseHelper__WEBPACK_IMPORTED_MODULE_11__[\"DefaultContext\"]);\n },\n getTrackedTimes() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.storeAdapter.TrackedTime.actions.getTrackedTimes({\n day$gt: groupedDataEndDate.format('YYYY-MM-DD'),\n day$lte: moment_timezone__WEBPACK_IMPORTED_MODULE_1__[\"tz\"](this.getUser.getTimezone()).format('YYYY-MM-DD')\n });\n if (this.status === undefined) {\n yield this.storeAdapter.TrackedTime.actions.getLatestTrackedTime();\n }\n });\n },\n toggle() {\n return __awaiter(this, void 0, void 0, function* () {\n const { GoogleAnalyticsHelper, GoogleAnalyticsEvents } = this.analytics;\n this.isLoading = true;\n if (this.status === _PlayPauseStatus__WEBPACK_IMPORTED_MODULE_5__[\"Status\"].Play) {\n yield trackedTimeRepository.pause();\n GoogleAnalyticsHelper.event(GoogleAnalyticsEvents.TIME_PAUSE);\n }\n else {\n yield trackedTimeRepository.play();\n GoogleAnalyticsHelper.event(GoogleAnalyticsEvents.TIME_PLAY);\n }\n this.isLoading = false;\n });\n }\n }\n});\n\n\n//# sourceURL=webpack://MainMenu/./components/play-pause/PlayPause.ts?");
711
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! moment-timezone */ \"./node_modules/moment-timezone/index.js\");\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobile_device_detect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobile-device-detect */ \"./node_modules/mobile-device-detect/dist/index.js\");\n/* harmony import */ var mobile_device_detect__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(mobile_device_detect__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _modal_Modal_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/Modal.vue */ \"./components/modal/Modal.vue\");\n/* harmony import */ var _helpers_response_ResponseState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../helpers/response/ResponseState */ \"./helpers/response/ResponseState.ts\");\n/* harmony import */ var _PlayPauseStatus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PlayPauseStatus */ \"./components/play-pause/PlayPauseStatus.ts\");\n/* harmony import */ var _models_TrackedTimeModel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../models/TrackedTimeModel */ \"./models/TrackedTimeModel.ts\");\n/* harmony import */ var _repositories_TrackedTimeRepository__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../repositories/TrackedTimeRepository */ \"./repositories/TrackedTimeRepository.ts\");\n/* harmony import */ var _helpers_TrackedTimeHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./helpers/TrackedTimeHelper */ \"./components/play-pause/helpers/TrackedTimeHelper.ts\");\n/* harmony import */ var _helpers_PauseHelper__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/PauseHelper */ \"./components/play-pause/helpers/PauseHelper.ts\");\n/* harmony import */ var _helpers_response_ResponseCode__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../helpers/response/ResponseCode */ \"./helpers/response/ResponseCode.ts\");\n/* harmony import */ var _helpers_response_ResponseHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../helpers/response/ResponseHelper */ \"./helpers/response/ResponseHelper.ts\");\n/* harmony import */ var _helpers_LatestTrackedTimeDurationHelper__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helpers/LatestTrackedTimeDurationHelper */ \"./components/play-pause/helpers/LatestTrackedTimeDurationHelper.ts\");\n/* harmony import */ var _buttons_action_button_ActionButton_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../buttons/action-button/ActionButton.vue */ \"./components/buttons/action-button/ActionButton.vue\");\n/* harmony import */ var _buttons_secondary_button_SecondaryButton_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../buttons/secondary-button/SecondaryButton.vue */ \"./components/buttons/secondary-button/SecondaryButton.vue\");\n/* harmony import */ var _main__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../main */ \"./main.ts\");\n/* harmony import */ var _models_MenuLayouts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/models/MenuLayouts */ \"./models/MenuLayouts.ts\");\n/* harmony import */ var _models_ThemeModel__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/models/ThemeModel */ \"./models/ThemeModel.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst groupedDataEndDate = moment_timezone__WEBPACK_IMPORTED_MODULE_1__().subtract(2, 'days');\nconst trackedTimeRepository = new _repositories_TrackedTimeRepository__WEBPACK_IMPORTED_MODULE_7__[\"default\"]();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'playPause',\n inject: ['storeAdapter', 'layout', 'analytics'],\n components: { modal: _modal_Modal_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"], ActionButton: _buttons_action_button_ActionButton_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"], SecondaryButton: _buttons_secondary_button_SecondaryButton_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"] },\n created() {\n return __awaiter(this, void 0, void 0, function* () {\n this.applyRepositorySubscribers();\n yield this.getTrackedTimes();\n this.isLoading = false;\n this.startPolling();\n });\n },\n beforeDestroy() {\n this.stopPolling();\n },\n methods: {\n addNow() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.isLiteDomain) {\n window.location.href = `${this.intemsConfig.liteSiteUrl}time`;\n }\n const timePagePath = _main__WEBPACK_IMPORTED_MODULE_15__[\"myOptions\"].helperFunctions.getUrlPathByName('Time');\n this.storeAdapter.TimePage.mutations.setAddNowMode(true);\n if (this.$router.currentRoute.path !== timePagePath) {\n yield this.$router.replace(timePagePath);\n }\n this.closeModalWindow();\n });\n },\n closeModalWindow() {\n this.$modal.hide('modalTracked');\n },\n handlePlayResolved(response) {\n const trackedTime = new _models_TrackedTimeModel__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n trackedTime.fill(response.data.data);\n this.storeAdapter.TrackedTime.mutations.addTrackedTime(trackedTime);\n this.storeAdapter.Toasts.mutations.addMessage('You have started tracking work time');\n },\n handlePauseResolved(response) {\n const trackedTimeHelper = new _helpers_TrackedTimeHelper__WEBPACK_IMPORTED_MODULE_8__[\"default\"](response.data.data);\n const pauseHelper = new _helpers_PauseHelper__WEBPACK_IMPORTED_MODULE_9__[\"default\"](trackedTimeHelper);\n const error = pauseHelper.getError();\n if (error) {\n this.storeAdapter.Toasts.mutations.addError(error);\n this.storeAdapter.TrackedTime.mutations.setLatestTrackedTime(undefined);\n return;\n }\n this.duration = trackedTimeHelper.today().duration;\n this.trackedText = pauseHelper.getTrackedText();\n if (pauseHelper.needOpenModalWindow()) {\n this.$modal.show('modalTracked');\n }\n this.storeAdapter.Toasts.mutations.addMessage(pauseHelper.getMessage());\n },\n handleRejected(error) {\n return __awaiter(this, void 0, void 0, function* () {\n if (error.response.status === _helpers_response_ResponseCode__WEBPACK_IMPORTED_MODULE_10__[\"ResponseCode\"].UnprocessableEntity) {\n const firstError = Object.values(error.response.data.errors)[0];\n this.storeAdapter.Toasts.mutations.addError(firstError[0]);\n yield this.getTrackedTimes();\n }\n });\n },\n applyRepositorySubscribers() {\n const responseHelper = trackedTimeRepository.getResponseHelper();\n responseHelper.subscribe(_helpers_response_ResponseState__WEBPACK_IMPORTED_MODULE_4__[\"ResponseState\"].Resolved, result => this.handlePlayResolved(result), _repositories_TrackedTimeRepository__WEBPACK_IMPORTED_MODULE_7__[\"PlayContext\"]);\n responseHelper.subscribe(_helpers_response_ResponseState__WEBPACK_IMPORTED_MODULE_4__[\"ResponseState\"].Resolved, result => this.handlePauseResolved(result), _repositories_TrackedTimeRepository__WEBPACK_IMPORTED_MODULE_7__[\"PauseContext\"]);\n responseHelper.subscribe(_helpers_response_ResponseState__WEBPACK_IMPORTED_MODULE_4__[\"ResponseState\"].Rejected, error => this.handleRejected(error), _helpers_response_ResponseHelper__WEBPACK_IMPORTED_MODULE_11__[\"DefaultContext\"]);\n },\n getTrackedTimes() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.storeAdapter.TrackedTime.actions.getTrackedTimes({\n day$gt: groupedDataEndDate.format('YYYY-MM-DD'),\n day$lte: moment_timezone__WEBPACK_IMPORTED_MODULE_1__[\"tz\"](this.getUser.getTimezone()).format('YYYY-MM-DD')\n });\n if (this.status === undefined) {\n yield this.storeAdapter.TrackedTime.actions.getLatestTrackedTime();\n }\n });\n },\n fetchRoundedDuration() {\n return __awaiter(this, void 0, void 0, function* () {\n const trackedTime = yield trackedTimeRepository.latest();\n if (trackedTime) {\n this.roundedDuration = trackedTime.rounded_duration;\n }\n });\n },\n startPolling() {\n this.fetchRoundedDuration();\n this.pollingIntervalId = window.setInterval(() => {\n if (this.isStatusPlay) {\n this.fetchRoundedDuration();\n }\n }, 60000);\n },\n stopPolling() {\n if (this.pollingIntervalId !== null) {\n clearInterval(this.pollingIntervalId);\n this.pollingIntervalId = null;\n }\n },\n toggle() {\n return __awaiter(this, void 0, void 0, function* () {\n const { GoogleAnalyticsHelper, GoogleAnalyticsEvents } = this.analytics;\n this.isLoading = true;\n if (this.isStatusPlay) {\n yield trackedTimeRepository.pause();\n GoogleAnalyticsHelper.event(GoogleAnalyticsEvents.TIME_PAUSE);\n this.roundedDuration = null;\n }\n else {\n yield trackedTimeRepository.play();\n GoogleAnalyticsHelper.event(GoogleAnalyticsEvents.TIME_PLAY);\n this.fetchRoundedDuration();\n }\n this.isLoading = false;\n });\n }\n },\n computed: Object.assign(Object.assign({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])('User', ['getUser'])), { status() {\n return this.storeAdapter.TrackedTime.getters.status;\n },\n iconClass() {\n return {\n 'spinner-solid sm': this.isLoading,\n original: !this.isLoading,\n 'pause-new': this.isStatusPlay,\n 'play-new': !this.isStatusPlay\n };\n },\n latestTrackedTime() {\n return this.storeAdapter.TrackedTime.getters.latest;\n },\n isMobile() {\n return mobile_device_detect__WEBPACK_IMPORTED_MODULE_2__[\"isMobile\"];\n },\n isLiteDomain() {\n return this.layout === _models_MenuLayouts__WEBPACK_IMPORTED_MODULE_16__[\"default\"].Lite;\n },\n intemsConfig() {\n return this.storeAdapter.Config.state.data;\n },\n darkTheme() {\n return !this.isLiteDomain && this.getUser.frontend_theme === _models_ThemeModel__WEBPACK_IMPORTED_MODULE_17__[\"default\"].Dark;\n },\n timeLabel() {\n if (!this.isStatusPlay || this.roundedDuration === null) {\n return null;\n }\n const hours = Math.floor(this.roundedDuration / 60);\n const minutes = this.roundedDuration % 60;\n return `Time (${hours}:${String(minutes).padStart(2, '0')})`;\n },\n isStatusPlay() {\n return this.status === _PlayPauseStatus__WEBPACK_IMPORTED_MODULE_5__[\"Status\"].Play;\n } }),\n watch: {\n latestTrackedTime(trackedTime) {\n this.latestTrackedTimeDurationHelper.calculate(trackedTime, this.getUser.getTimezone());\n }\n },\n data() {\n return {\n trackedText: 'Default Text',\n duration: undefined,\n isLoading: true,\n latestTrackedTimeDurationHelper: new _helpers_LatestTrackedTimeDurationHelper__WEBPACK_IMPORTED_MODULE_12__[\"default\"](),\n roundedDuration: null,\n pollingIntervalId: null\n };\n }\n});\n\n\n//# sourceURL=webpack://MainMenu/./components/play-pause/PlayPause.ts?");
712
712
 
713
713
  /***/ }),
714
714
 
@@ -1356,7 +1356,7 @@ eval("__webpack_require__.r(__webpack_exports__);\nvar Themes;\n(function (Theme
1356
1356
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1357
1357
 
1358
1358
  "use strict";
1359
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _helpers_TimeHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/TimeHelper */ \"./helpers/TimeHelper.ts\");\n/* harmony import */ var _helpers_model_decorators_DateTime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/model/decorators/DateTime */ \"./helpers/model/decorators/DateTime.ts\");\n/* harmony import */ var _helpers_model_decorators_TimeDuration__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/model/decorators/TimeDuration */ \"./helpers/model/decorators/TimeDuration.ts\");\n/* harmony import */ var _Model__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Model */ \"./models/Model.ts\");\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nlet TrackedTimeModel = class TrackedTimeModel extends _Model__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor() {\n super(...arguments);\n this.id = undefined;\n this.day = undefined;\n this.employee_id = undefined;\n this.start = undefined;\n this.end = undefined;\n this.duration = 0;\n this.timezone = undefined;\n }\n calculateDuration() {\n return _helpers_TimeHelper__WEBPACK_IMPORTED_MODULE_1__[\"moment\"].duration(Object(_helpers_TimeHelper__WEBPACK_IMPORTED_MODULE_1__[\"diffMinutes\"])(this.start, this.end), 'minutes');\n }\n isToday(timezone) {\n return this.day === moment__WEBPACK_IMPORTED_MODULE_0__[\"tz\"](timezone).format('YYYY-MM-DD');\n }\n isFinished() {\n return this.end !== null;\n }\n};\nTrackedTimeModel = __decorate([\n Object(_helpers_model_decorators_DateTime__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('start'),\n Object(_helpers_model_decorators_DateTime__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('end'),\n Object(_helpers_model_decorators_TimeDuration__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('duration')\n], TrackedTimeModel);\n/* harmony default export */ __webpack_exports__[\"default\"] = (TrackedTimeModel);\n\n\n//# sourceURL=webpack://MainMenu/./models/TrackedTimeModel.ts?");
1359
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _helpers_TimeHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/TimeHelper */ \"./helpers/TimeHelper.ts\");\n/* harmony import */ var _helpers_model_decorators_DateTime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/model/decorators/DateTime */ \"./helpers/model/decorators/DateTime.ts\");\n/* harmony import */ var _helpers_model_decorators_TimeDuration__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/model/decorators/TimeDuration */ \"./helpers/model/decorators/TimeDuration.ts\");\n/* harmony import */ var _Model__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Model */ \"./models/Model.ts\");\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nlet TrackedTimeModel = class TrackedTimeModel extends _Model__WEBPACK_IMPORTED_MODULE_4__[\"default\"] {\n constructor() {\n super(...arguments);\n this.id = undefined;\n this.day = undefined;\n this.employee_id = undefined;\n this.start = undefined;\n this.end = undefined;\n this.duration = 0;\n this.timezone = undefined;\n this.rounded_duration = undefined;\n }\n calculateDuration() {\n return _helpers_TimeHelper__WEBPACK_IMPORTED_MODULE_1__[\"moment\"].duration(Object(_helpers_TimeHelper__WEBPACK_IMPORTED_MODULE_1__[\"diffMinutes\"])(this.start, this.end), 'minutes');\n }\n isToday(timezone) {\n return this.day === moment__WEBPACK_IMPORTED_MODULE_0__[\"tz\"](timezone).format('YYYY-MM-DD');\n }\n isFinished() {\n return this.end !== null;\n }\n};\nTrackedTimeModel = __decorate([\n Object(_helpers_model_decorators_DateTime__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('start'),\n Object(_helpers_model_decorators_DateTime__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('end'),\n Object(_helpers_model_decorators_TimeDuration__WEBPACK_IMPORTED_MODULE_3__[\"default\"])('duration')\n], TrackedTimeModel);\n/* harmony default export */ __webpack_exports__[\"default\"] = (TrackedTimeModel);\n\n\n//# sourceURL=webpack://MainMenu/./models/TrackedTimeModel.ts?");
1360
1360
 
1361
1361
  /***/ }),
1362
1362
 
@@ -2079,7 +2079,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
2079
2079
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2080
2080
 
2081
2081
  "use strict";
2082
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c,\n _setup = _vm._self._setupProxy;\n return _c(\"div\", {\n staticClass: \"play-pause\"\n }, [_c(\"a\", {\n staticClass: \"play-pause-btn\",\n class: {\n disabled: _vm.isLoading\n },\n on: {\n click: _vm.toggle\n }\n }, [_c(\"i\", {\n staticClass: \"icon\",\n class: _vm.iconClass\n })]), _vm._v(\" \"), _c(\"modal\", {\n attrs: {\n id: \"modalTracked\",\n name: \"modalTracked\",\n size: _vm.isMobile ? \"lg\" : \"md\"\n },\n scopedSlots: _vm._u([{\n key: \"header\",\n fn: function () {\n return [_vm._v(\"Tracked time\")];\n },\n proxy: true\n }, {\n key: \"footer\",\n fn: function () {\n return [_c(\"secondary-button\", {\n nativeOn: {\n click: function ($event) {\n return _vm.closeModalWindow.apply(null, arguments);\n }\n }\n }, [_vm._v(\" Later \")]), _vm._v(\" \"), _c(\"action-button\", {\n nativeOn: {\n click: function ($event) {\n return _vm.addNow.apply(null, arguments);\n }\n }\n }, [_vm._v(\"Add now\")])];\n },\n proxy: true\n }])\n }, [_vm._v(\" \"), _c(\"div\", {\n attrs: {\n slot: \"content\",\n id: \"tracked-content\"\n },\n slot: \"content\"\n }, [_c(\"span\", {\n attrs: {\n id: \"span-clock\"\n }\n }, [_c(\"i\", {\n staticClass: \"icon menu-icon\",\n class: {\n \"time-white\": _vm.darkTheme,\n \"icon-time\": !_vm.darkTheme\n }\n })]), _vm._v(\" \"), _c(\"div\", {\n domProps: {\n innerHTML: _vm._s(_vm.trackedText)\n }\n })])])], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://MainMenu/./components/play-pause/PlayPause.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options");
2082
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c,\n _setup = _vm._self._setupProxy;\n return _c(\"div\", {\n staticClass: \"play-pause\"\n }, [_c(\"a\", {\n staticClass: \"play-pause-btn\",\n class: {\n disabled: _vm.isLoading\n },\n on: {\n click: _vm.toggle\n }\n }, [_c(\"i\", {\n staticClass: \"icon\",\n class: _vm.iconClass\n })]), _vm._v(\" \"), _vm.timeLabel ? _c(\"span\", {\n staticClass: \"play-pause-time\"\n }, [_vm._v(_vm._s(_vm.timeLabel))]) : _vm._e(), _vm._v(\" \"), _c(\"modal\", {\n attrs: {\n id: \"modalTracked\",\n name: \"modalTracked\",\n size: _vm.isMobile ? \"lg\" : \"md\"\n },\n scopedSlots: _vm._u([{\n key: \"header\",\n fn: function () {\n return [_vm._v(\"Tracked time\")];\n },\n proxy: true\n }, {\n key: \"footer\",\n fn: function () {\n return [_c(\"secondary-button\", {\n nativeOn: {\n click: function ($event) {\n return _vm.closeModalWindow.apply(null, arguments);\n }\n }\n }, [_vm._v(\" Later \")]), _vm._v(\" \"), _c(\"action-button\", {\n nativeOn: {\n click: function ($event) {\n return _vm.addNow.apply(null, arguments);\n }\n }\n }, [_vm._v(\"Add now\")])];\n },\n proxy: true\n }])\n }, [_vm._v(\" \"), _c(\"div\", {\n attrs: {\n slot: \"content\",\n id: \"tracked-content\"\n },\n slot: \"content\"\n }, [_c(\"span\", {\n attrs: {\n id: \"span-clock\"\n }\n }, [_c(\"i\", {\n staticClass: \"icon menu-icon\",\n class: {\n \"time-white\": _vm.darkTheme,\n \"icon-time\": !_vm.darkTheme\n }\n })]), _vm._v(\" \"), _c(\"div\", {\n domProps: {\n innerHTML: _vm._s(_vm.trackedText)\n }\n })])])], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack://MainMenu/./components/play-pause/PlayPause.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options");
2083
2083
 
2084
2084
  /***/ }),
2085
2085
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intellias/menu",
3
- "version": "3.0.16",
3
+ "version": "3.1.0",
4
4
  "description": "Menu for intems project.",
5
5
  "author": "Intems",
6
6
  "scripts": {