Calendar, Events
This commit is contained in:
@@ -28,7 +28,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-transform-runtime": "^7.4.0",
|
"@babel/plugin-transform-runtime": "^7.4.0",
|
||||||
"@babel/runtime": "^7.0.0",
|
"@babel/runtime": "^7.0.0",
|
||||||
"@quasar/extras": "^1.1.0",
|
"@quasar/extras": "^1.1.2",
|
||||||
"@types/vuelidate": "^0.7.0",
|
"@types/vuelidate": "^0.7.0",
|
||||||
"@vue/eslint-config-standard": "^4.0.0",
|
"@vue/eslint-config-standard": "^4.0.0",
|
||||||
"acorn": "^6.0.0",
|
"acorn": "^6.0.0",
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
"normalize.css": "^8.0.0",
|
"normalize.css": "^8.0.0",
|
||||||
"npm": "^6.9.0",
|
"npm": "^6.9.0",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"quasar": "^1.0.0-beta.17",
|
"quasar": "^1.0.0-beta.21",
|
||||||
"quasar-extras": "^2.0.8",
|
"quasar-extras": "^2.0.8",
|
||||||
"register-service-worker": "^1.0.0",
|
"register-service-worker": "^1.0.0",
|
||||||
"vee-validate": "^2.1.2",
|
"vee-validate": "^2.1.2",
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
|
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
|
||||||
"@babel/plugin-syntax-import-meta": "^7.2.0",
|
"@babel/plugin-syntax-import-meta": "^7.2.0",
|
||||||
"@babel/preset-env": "^7.4.2",
|
"@babel/preset-env": "^7.4.2",
|
||||||
"@quasar/app": "^1.0.0-beta.18",
|
"@quasar/app": "^1.0.0-beta.22",
|
||||||
"@quasar/quasar-app-extension-typescript": "^1.0.0-alpha.11",
|
"@quasar/quasar-app-extension-typescript": "^1.0.0-alpha.11",
|
||||||
"@types/dotenv": "^4.0.3",
|
"@types/dotenv": "^4.0.3",
|
||||||
"@types/jest": "^23.1.4",
|
"@types/jest": "^23.1.4",
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ module.exports = function (ctx) {
|
|||||||
},
|
},
|
||||||
devServer: {
|
devServer: {
|
||||||
https: false,
|
https: false,
|
||||||
port: 8080,
|
port: 8082,
|
||||||
open: false // opens browser window automatically
|
open: false // opens browser window automatically
|
||||||
},
|
},
|
||||||
// framework: 'all' --- includes everything; for dev only!
|
// framework: 'all' --- includes everything; for dev only!
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
// Questo è il swSrc
|
// Questo è il swSrc
|
||||||
|
|
||||||
console.log(' [ VER-0.0.61 ] _---------________------ PAO: this is my custom service worker');
|
console.log(' [ VER-0.0.63 ] _---------________------ PAO: this is my custom service worker');
|
||||||
|
|
||||||
importScripts('../statics/js/idb.js');
|
importScripts('../statics/js/idb.js');
|
||||||
importScripts('../statics/js/storage.js');
|
importScripts('../statics/js/storage.js');
|
||||||
|
|||||||
@@ -1,20 +1,5 @@
|
|||||||
$heightBtn: 100%;
|
$heightBtn: 100%;
|
||||||
|
|
||||||
.flex-item{
|
|
||||||
// background-color: #d5e2eb;
|
|
||||||
display: flex;
|
|
||||||
padding: 2px;
|
|
||||||
margin: 2px;
|
|
||||||
margin-left: 3px;
|
|
||||||
margin-right: 3px;
|
|
||||||
color: #000;
|
|
||||||
font-size: 1rem;
|
|
||||||
height: $heightBtn;
|
|
||||||
line-height: $heightBtn;
|
|
||||||
vertical-align: middle;
|
|
||||||
//flex: 0 0 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.progress-item {
|
.progress-item {
|
||||||
margin: 1px;
|
margin: 1px;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
|
|||||||
@@ -1,20 +1,5 @@
|
|||||||
$heightBtn: 100%;
|
$heightBtn: 100%;
|
||||||
|
|
||||||
.flex-item{
|
|
||||||
// background-color: #d5e2eb;
|
|
||||||
display: flex;
|
|
||||||
padding: 2px;
|
|
||||||
margin: 2px;
|
|
||||||
margin-left: 3px;
|
|
||||||
margin-right: 3px;
|
|
||||||
color: #000;
|
|
||||||
font-size: 1rem;
|
|
||||||
height: $heightBtn;
|
|
||||||
line-height: $heightBtn;
|
|
||||||
vertical-align: middle;
|
|
||||||
//flex: 0 0 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.progress-item {
|
.progress-item {
|
||||||
margin: 1px;
|
margin: 1px;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import { GlobalStore, UserStore } from '@modules'
|
|||||||
import { Watch } from 'vue-property-decorator'
|
import { Watch } from 'vue-property-decorator'
|
||||||
import { tools } from '../../store/Modules/tools'
|
import { tools } from '../../store/Modules/tools'
|
||||||
|
|
||||||
import Quasar from 'quasar'
|
import Quasar, { Screen } from 'quasar'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
name: 'Header',
|
name: 'Header',
|
||||||
@@ -43,6 +43,14 @@ export default class Header extends Vue {
|
|||||||
// { label: 'German', icon: 'fa-flag-de', value: 'de', image: '../statics/images/de.png', short: 'DE' },
|
// { label: 'German', icon: 'fa-flag-de', value: 'de', image: '../statics/images/de.png', short: 'DE' },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
get getappname(){
|
||||||
|
if (Screen.width < 400) {
|
||||||
|
return this.$t('msg.myAppNameShort')
|
||||||
|
} else {
|
||||||
|
return this.$t('msg.myAppName')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
get conn_changed() {
|
get conn_changed() {
|
||||||
return GlobalStore.state.stateConnection
|
return GlobalStore.state.stateConnection
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
<q-avatar>
|
<q-avatar>
|
||||||
<img :src="imglogo" height="27">
|
<img :src="imglogo" height="27">
|
||||||
</q-avatar>
|
</q-avatar>
|
||||||
{{$t('msg.myAppName')}}
|
{{getappname}}
|
||||||
<div slot="subtitle">{{$t('msg.myDescriz')}} {{ getAppVersion() }}</div>
|
<div slot="subtitle">{{$t('msg.myDescriz')}} {{ getAppVersion() }}</div>
|
||||||
</q-toolbar-title>
|
</q-toolbar-title>
|
||||||
|
|
||||||
|
|||||||
@@ -2,4 +2,7 @@ export * from '../views/categories'
|
|||||||
export * from './todos'
|
export * from './todos'
|
||||||
export * from './logo'
|
export * from './logo'
|
||||||
export * from './CProgress'
|
export * from './CProgress'
|
||||||
|
export * from './CCard'
|
||||||
|
export * from './CPage'
|
||||||
|
export * from './CTitle'
|
||||||
export * from './CDate'
|
export * from './CDate'
|
||||||
|
|||||||
@@ -7,25 +7,11 @@ $heightBtn: 100%;
|
|||||||
$heightcounter: 26px;
|
$heightcounter: 26px;
|
||||||
$heightdescr: 20px;
|
$heightdescr: 20px;
|
||||||
|
|
||||||
.flex-item{
|
|
||||||
// background-color: #d5e2eb;
|
|
||||||
padding: 2px;
|
|
||||||
margin: 2px;
|
|
||||||
margin-left: 3px;
|
|
||||||
margin-right: 3px;
|
|
||||||
color: #000;
|
|
||||||
font-size: 1rem;
|
|
||||||
height: $heightBtn;
|
|
||||||
line-height: $heightBtn;
|
|
||||||
vertical-align: middle;
|
|
||||||
//flex: 0 0 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.flex-container2 {
|
.flex-container2 {
|
||||||
flex-flow: row wrap;
|
flex-flow: row wrap;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin: 0px 1px 0px 1px; // top right bottom left
|
margin: 0px 10px 0px 10px; // top right bottom left
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set visibility: visible to the icon menu of pos-item-popover
|
// Set visibility: visible to the icon menu of pos-item-popover
|
||||||
|
|||||||
@@ -235,14 +235,14 @@ export default class SingleProject extends Vue {
|
|||||||
// if (!this.sel) {
|
// if (!this.sel) {
|
||||||
|
|
||||||
if (!this.inEdit) {
|
if (!this.inEdit) {
|
||||||
console.log('entrato...')
|
// console.log('entrato...')
|
||||||
// this.attivaEdit = true
|
|
||||||
this.$emit('deselectAllRowstodo', null, false)
|
this.$emit('deselectAllRowstodo', null, false)
|
||||||
this.$emit('deselectAllRowsproj', this.itemproject, true)
|
this.$emit('deselectAllRowsproj', this.itemproject, true)
|
||||||
|
|
||||||
if (!this.sel) {
|
if (!this.sel) {
|
||||||
this.selectRiga()
|
this.selectRiga()
|
||||||
} else {
|
} else {
|
||||||
|
this.$emit('deselectAllRowsproj', null, false, false, true)
|
||||||
this.deselectRiga()
|
this.deselectRiga()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -191,8 +191,8 @@ export default class CTodo extends Vue {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public deselectAllRowsproj(item: IProject, check, onlythis: boolean = false) {
|
public deselectAllRowsproj(item: IProject, check, onlythis: boolean = false, deselectRiga: boolean = false) {
|
||||||
this.$emit('deselectAllRowsproj', item, check, onlythis)
|
this.$emit('deselectAllRowsproj', item, check, onlythis, deselectRiga)
|
||||||
}
|
}
|
||||||
|
|
||||||
public setitemsel(item: ITodo) {
|
public setitemsel(item: ITodo) {
|
||||||
|
|||||||
@@ -7,25 +7,10 @@ $heightBtn: 100%;
|
|||||||
$heightcounter: 26px;
|
$heightcounter: 26px;
|
||||||
$heightdescr: 20px;
|
$heightdescr: 20px;
|
||||||
|
|
||||||
.flex-item{
|
|
||||||
// background-color: #d5e2eb;
|
|
||||||
padding: 0px;
|
|
||||||
margin: 1px;
|
|
||||||
margin-left: 3px;
|
|
||||||
margin-right: 3px;
|
|
||||||
color: #000;
|
|
||||||
font-size: 0.85rem;
|
|
||||||
height: $heightBtn;
|
|
||||||
line-height: $heightBtn;
|
|
||||||
vertical-align: middle;
|
|
||||||
//flex: 0 0 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.flex-container2 {
|
.flex-container2 {
|
||||||
flex-flow: row wrap;
|
flex-flow: row wrap;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin: 0px 1px 0px 1px; // top right bottom left
|
margin: 0px 10px 0px 10px; // top right bottom left
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set visibility: visible to the icon menu of pos-item-popover
|
// Set visibility: visible to the icon menu of pos-item-popover
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ export default class SingleTodo extends Vue {
|
|||||||
public itemtodoPrec: ITodo
|
public itemtodoPrec: ITodo
|
||||||
public clButtPopover: string = 'pos-item-popover'
|
public clButtPopover: string = 'pos-item-popover'
|
||||||
public numpos: number = 0
|
public numpos: number = 0
|
||||||
|
public attivaEdit: boolean = false
|
||||||
|
|
||||||
public $q: any
|
public $q: any
|
||||||
|
|
||||||
@@ -215,7 +216,6 @@ export default class SingleTodo extends Vue {
|
|||||||
public clickRiga(clickmenu: boolean = false) {
|
public clickRiga(clickmenu: boolean = false) {
|
||||||
// console.log('CLICK RIGA ************')
|
// console.log('CLICK RIGA ************')
|
||||||
|
|
||||||
if (!this.sel) {
|
|
||||||
if (!this.inEdit) {
|
if (!this.inEdit) {
|
||||||
this.$emit('deselectAllRowsproj', null, false, false)
|
this.$emit('deselectAllRowsproj', null, false, false)
|
||||||
this.$emit('deselectAllRowstodo', this.itemtodo, true)
|
this.$emit('deselectAllRowstodo', this.itemtodo, true)
|
||||||
@@ -223,11 +223,11 @@ export default class SingleTodo extends Vue {
|
|||||||
if (!this.sel) {
|
if (!this.sel) {
|
||||||
this.selectRiga()
|
this.selectRiga()
|
||||||
} else {
|
} else {
|
||||||
|
this.$emit('deselectAllRowsproj', null, false, false, true)
|
||||||
this.deselectRiga()
|
this.deselectRiga()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public selectRiga() {
|
public selectRiga() {
|
||||||
// console.log('selectRiga', this.itemtodo.descr)
|
// console.log('selectRiga', this.itemtodo.descr)
|
||||||
@@ -238,10 +238,11 @@ export default class SingleTodo extends Vue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public deselectRiga() {
|
public deselectRiga() {
|
||||||
// console.log('DeselectRiga', this.itemtodo.descr)
|
console.log('DeselectRiga', this.itemtodo.descr)
|
||||||
this.sel = false
|
this.sel = false
|
||||||
this.classRow = ''
|
this.classRow = ''
|
||||||
this.inEdit = false
|
this.inEdit = false
|
||||||
|
this.attivaEdit = false
|
||||||
this.updateClasses()
|
this.updateClasses()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -267,7 +268,8 @@ export default class SingleTodo extends Vue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public editTodo() {
|
public editTodo() {
|
||||||
if (this.itemtodo.statustodo !== tools.Status.COMPLETED) {
|
|
||||||
|
if (this.attivaEdit) {
|
||||||
// console.log('INIZIO - editTodo')
|
// console.log('INIZIO - editTodo')
|
||||||
this.$emit('click')
|
this.$emit('click')
|
||||||
this.precDescr = this.itemtodo.descr
|
this.precDescr = this.itemtodo.descr
|
||||||
@@ -299,7 +301,7 @@ export default class SingleTodo extends Vue {
|
|||||||
theField.focus()
|
theField.focus()
|
||||||
}
|
}
|
||||||
// console.log('focus()')
|
// console.log('focus()')
|
||||||
}, 300)
|
}, 400)
|
||||||
}
|
}
|
||||||
|
|
||||||
public exitEdit(singola: boolean = false) {
|
public exitEdit(singola: boolean = false) {
|
||||||
@@ -309,6 +311,7 @@ export default class SingleTodo extends Vue {
|
|||||||
}
|
}
|
||||||
// console.log('exitEdit')
|
// console.log('exitEdit')
|
||||||
this.inEdit = false
|
this.inEdit = false
|
||||||
|
this.attivaEdit = false
|
||||||
this.updateClasses()
|
this.updateClasses()
|
||||||
this.$emit('deselectAllRowsproj', null, false, false)
|
this.$emit('deselectAllRowsproj', null, false, false)
|
||||||
this.$emit('deselectAllRowstodo', this.itemtodo, false, singola)
|
this.$emit('deselectAllRowstodo', this.itemtodo, false, singola)
|
||||||
@@ -390,6 +393,7 @@ export default class SingleTodo extends Vue {
|
|||||||
|
|
||||||
this.watchupdate('descr')
|
this.watchupdate('descr')
|
||||||
this.inEdit = false
|
this.inEdit = false
|
||||||
|
this.attivaEdit = false
|
||||||
// this.precDescr = this.itemtodo.descr
|
// this.precDescr = this.itemtodo.descr
|
||||||
this.updateClasses()
|
this.updateClasses()
|
||||||
}
|
}
|
||||||
@@ -456,6 +460,12 @@ export default class SingleTodo extends Vue {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public activeEdit() {
|
||||||
|
console.log('Attiva Edit')
|
||||||
|
this.attivaEdit = true
|
||||||
|
this.editTodo()
|
||||||
|
}
|
||||||
|
|
||||||
public async clickMenu(action) {
|
public async clickMenu(action) {
|
||||||
console.log('click menu: ', action)
|
console.log('click menu: ', action)
|
||||||
if (action === lists.MenuAction.DELETE) {
|
if (action === lists.MenuAction.DELETE) {
|
||||||
@@ -464,6 +474,8 @@ export default class SingleTodo extends Vue {
|
|||||||
return await this.enableExpiring()
|
return await this.enableExpiring()
|
||||||
} else if (action === lists.MenuAction.COMPLETED) {
|
} else if (action === lists.MenuAction.COMPLETED) {
|
||||||
return await this.setCompleted()
|
return await this.setCompleted()
|
||||||
|
} else if (action === lists.MenuAction.EDIT) {
|
||||||
|
this.activeEdit()
|
||||||
} else if (action === lists.MenuAction.PROGRESS_BAR) {
|
} else if (action === lists.MenuAction.PROGRESS_BAR) {
|
||||||
return await this.updatedata('progress')
|
return await this.updatedata('progress')
|
||||||
} else if (action === lists.MenuAction.CUT) {
|
} else if (action === lists.MenuAction.CUT) {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex-item donotdrag divdescrTot">
|
<div class="flex-item donotdrag divdescrTot">
|
||||||
<q-input v-if="sel && itemtodo.statustodo !== tools.Status.COMPLETED" hide-underline type="textarea" ref="inputdescr"
|
<q-input v-if="sel && inEdit && itemtodo.statustodo !== tools.Status.COMPLETED" hide-underline type="textarea" ref="inputdescr"
|
||||||
v-model.trim="precDescr"
|
v-model.trim="precDescr"
|
||||||
autogrow
|
autogrow
|
||||||
borderless
|
borderless
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
data_class="data_string" :readonly="!CanIModifyTodo">
|
data_class="data_string" :readonly="!CanIModifyTodo">
|
||||||
</CDate>
|
</CDate>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="isTodo()" :class="classMenuBtn" @mousedown="clickRiga">
|
<div :class="classMenuBtn" @mousedown="clickRiga">
|
||||||
<q-btn flat
|
<q-btn flat
|
||||||
:class="clButtPopover"
|
:class="clButtPopover"
|
||||||
:readonly="!CanIModifyTodo"
|
:readonly="!CanIModifyTodo"
|
||||||
|
|||||||
@@ -66,6 +66,10 @@
|
|||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.clexpansion{
|
||||||
|
min-width: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
.my-menu-active {
|
.my-menu-active {
|
||||||
background-color: rgba(174, 189, 241, 0.71);
|
background-color: rgba(174, 189, 241, 0.71);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<q-expansion-item v-for="(child2, index) in myitemmenu.routes2"
|
<q-expansion-item v-for="(child2, index) in myitemmenu.routes2"
|
||||||
:key="index"
|
:key="index"
|
||||||
:to="child2.route"
|
:to="child2.route"
|
||||||
:header-inset-level="myitemmenu.level_child"
|
:header-inset-level="child2.level_child"
|
||||||
:duration="300"
|
:duration="300"
|
||||||
:icon="child2.materialIcon"
|
:icon="child2.materialIcon"
|
||||||
active-class="my-menu-active"
|
active-class="my-menu-active"
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
<q-expansion-item v-if="!!child2.routes2" v-for="(child3, index) in child2.routes2"
|
<q-expansion-item v-if="!!child2.routes2" v-for="(child3, index) in child2.routes2"
|
||||||
:key="index"
|
:key="index"
|
||||||
:to="child3.route"
|
:to="child3.route"
|
||||||
:header-inset-level="myitemmenu.level_child"
|
:header-inset-level="child3.level_child"
|
||||||
:duration="300"
|
:duration="300"
|
||||||
:icon="child3.materialIcon"
|
:icon="child3.materialIcon"
|
||||||
:expand-icon="child3.icon"
|
:expand-icon="child3.icon"
|
||||||
@@ -44,6 +44,19 @@
|
|||||||
<div v-else>
|
<div v-else>
|
||||||
<q-slide-transition :duration=200>
|
<q-slide-transition :duration=200>
|
||||||
<div v-show="true">
|
<div v-show="true">
|
||||||
|
<q-expansion-item
|
||||||
|
:to="myitemmenu.route"
|
||||||
|
:header-inset-level="myitemmenu.level_parent"
|
||||||
|
:content-inset-level="myitemmenu.level_parent"
|
||||||
|
:label="getLabelByItem(myitemmenu)"
|
||||||
|
:icon="myitemmenu.materialIcon"
|
||||||
|
expand-icon="none"
|
||||||
|
header-class="my-menu"
|
||||||
|
active-class="my-menu-active">
|
||||||
|
</q-expansion-item>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
<q-item
|
<q-item
|
||||||
clickable
|
clickable
|
||||||
v-ripple
|
v-ripple
|
||||||
@@ -58,7 +71,7 @@
|
|||||||
{{$t(myitemmenu.name)}}
|
{{$t(myitemmenu.name)}}
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
|
-->
|
||||||
</div>
|
</div>
|
||||||
</q-slide-transition>
|
</q-slide-transition>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,3 +8,5 @@ export * from './key-value'
|
|||||||
export * from './Categories'
|
export * from './Categories'
|
||||||
export * from './Todos'
|
export * from './Todos'
|
||||||
export * from './Projects'
|
export * from './Projects'
|
||||||
|
|
||||||
|
export * from './Calendar'
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ const msgglobal = {
|
|||||||
no: 'No',
|
no: 'No',
|
||||||
delete: 'Elimina',
|
delete: 'Elimina',
|
||||||
cancel: 'Annulla',
|
cancel: 'Annulla',
|
||||||
|
today: 'Oggi',
|
||||||
msg: {
|
msg: {
|
||||||
titledeleteTask: 'Elimina Task',
|
titledeleteTask: 'Elimina Task',
|
||||||
deleteTask: "Vuoi Eliminare {mytodo}?"
|
deleteTask: "Vuoi Eliminare {mytodo}?"
|
||||||
@@ -147,6 +148,20 @@ const msgglobal = {
|
|||||||
themecolor: 'Tema Colore',
|
themecolor: 'Tema Colore',
|
||||||
themebgcolor: 'Tema Colore Sfondo'
|
themebgcolor: 'Tema Colore Sfondo'
|
||||||
},
|
},
|
||||||
|
cal: {
|
||||||
|
starttime: 'Dalle',
|
||||||
|
endtime: 'alle',
|
||||||
|
duration: 'Durata',
|
||||||
|
hours: 'Orario',
|
||||||
|
where: 'Dove',
|
||||||
|
teacher: 'Insegnante',
|
||||||
|
enterdate: 'Inserisci data',
|
||||||
|
details: 'Dettagli',
|
||||||
|
infoextra: 'Date e Ora Extra:',
|
||||||
|
alldayevent: 'Tutto il giorno',
|
||||||
|
eventstartdatetime: 'Data e Ora Inizio Evento',
|
||||||
|
enterEndDateTime: 'Data e Ora Fine Evento'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
'es': {
|
'es': {
|
||||||
dialog: {
|
dialog: {
|
||||||
@@ -155,6 +170,7 @@ const msgglobal = {
|
|||||||
no: 'No',
|
no: 'No',
|
||||||
delete: 'Borrar',
|
delete: 'Borrar',
|
||||||
cancel: 'Cancelar',
|
cancel: 'Cancelar',
|
||||||
|
today: 'Hoy',
|
||||||
msg: {
|
msg: {
|
||||||
titledeleteTask: 'Borrar Tarea',
|
titledeleteTask: 'Borrar Tarea',
|
||||||
deleteTask: 'Quieres borrar {mytodo}?'
|
deleteTask: 'Quieres borrar {mytodo}?'
|
||||||
@@ -288,6 +304,20 @@ const msgglobal = {
|
|||||||
themecolor: 'Tema Colores',
|
themecolor: 'Tema Colores',
|
||||||
themebgcolor: 'Tema Colores Fondo'
|
themebgcolor: 'Tema Colores Fondo'
|
||||||
},
|
},
|
||||||
|
cal: {
|
||||||
|
starttime: 'Inicio',
|
||||||
|
endtime: 'fin',
|
||||||
|
duration: 'Duración',
|
||||||
|
hours: 'Tiempo',
|
||||||
|
where: 'Donde',
|
||||||
|
teacher: 'Maestro',
|
||||||
|
enterdate: 'Ingresar la fecha',
|
||||||
|
details: 'Detalles',
|
||||||
|
infoextra: 'Fecha y Hora Extras:',
|
||||||
|
alldayevent: 'Todo el dia',
|
||||||
|
eventstartdatetime: 'Evento de inicio de fecha y hora',
|
||||||
|
enterEndDateTime: 'Fecha y hora del evento final'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
'enUs': {
|
'enUs': {
|
||||||
dialog: {
|
dialog: {
|
||||||
@@ -296,6 +326,7 @@ const msgglobal = {
|
|||||||
no: 'No',
|
no: 'No',
|
||||||
delete: 'Delete',
|
delete: 'Delete',
|
||||||
cancel: 'Cancel',
|
cancel: 'Cancel',
|
||||||
|
today: 'Today',
|
||||||
msg: {
|
msg: {
|
||||||
titledeleteTask: 'Delete Task',
|
titledeleteTask: 'Delete Task',
|
||||||
deleteTask: 'Delete Task {mytodo}?'
|
deleteTask: 'Delete Task {mytodo}?'
|
||||||
@@ -429,6 +460,20 @@ const msgglobal = {
|
|||||||
themecolor: 'Theme Color',
|
themecolor: 'Theme Color',
|
||||||
themebgcolor: 'Theme Color Background'
|
themebgcolor: 'Theme Color Background'
|
||||||
},
|
},
|
||||||
|
cal: {
|
||||||
|
starttime: 'From',
|
||||||
|
endtime: 'to',
|
||||||
|
duration: 'Duration',
|
||||||
|
hours: 'Hours',
|
||||||
|
where: 'Where',
|
||||||
|
teacher: 'Teacher',
|
||||||
|
enterdate: 'Enter date',
|
||||||
|
details: 'Details',
|
||||||
|
infoextra: 'Extra Info DateTime',
|
||||||
|
alldayevent: 'All-Day event',
|
||||||
|
eventstartdatetime: 'Event start date and time',
|
||||||
|
enterEndDateTime: 'Event end date and time'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import { GlobalStore, Projects, Todos, UserStore } from '@store'
|
|||||||
import messages from '../../statics/i18n'
|
import messages from '../../statics/i18n'
|
||||||
import globalroutines from './../../globalroutines/index'
|
import globalroutines from './../../globalroutines/index'
|
||||||
|
|
||||||
|
|
||||||
import { cfgrouter } from '../../router/route-config'
|
import { cfgrouter } from '../../router/route-config'
|
||||||
|
|
||||||
let stateConnDefault = 'online'
|
let stateConnDefault = 'online'
|
||||||
|
|||||||
@@ -56,13 +56,14 @@ function updateDataCalculated(projout, projin) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getproj(projects, idproj, tipoproj: string) {
|
function getproj(projects, idproj, tipoproj: string) {
|
||||||
|
console.log('getproj', tipoproj)
|
||||||
|
|
||||||
if (tipoproj === RouteNames.myprojects)
|
if (tipoproj === RouteNames.myprojects)
|
||||||
return tools.mapSort(projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId === UserStore.state.userId) && (proj.privacyread === Privacy.onlyme)))
|
return projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId === UserStore.state.userId) && (proj.privacyread === Privacy.onlyme))
|
||||||
else if (tipoproj === RouteNames.projectsshared)
|
else if (tipoproj === RouteNames.projectsshared)
|
||||||
return tools.mapSort(projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId === UserStore.state.userId) && (proj.privacyread !== Privacy.onlyme)))
|
return projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId === UserStore.state.userId) && (proj.privacyread !== Privacy.onlyme))
|
||||||
else if (tipoproj === RouteNames.projectsall)
|
else if (tipoproj === RouteNames.projectsall)
|
||||||
return tools.mapSort(projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId !== UserStore.state.userId) ))
|
return projects.filter((proj) => (proj.id_parent === idproj) && (proj.userId !== UserStore.state.userId) )
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Getters {
|
namespace Getters {
|
||||||
@@ -110,7 +111,7 @@ namespace Getters {
|
|||||||
}, 'getRecordEmpty')
|
}, 'getRecordEmpty')
|
||||||
|
|
||||||
const projs_dacompletare = b.read((state: IProjectsState) => (id_parent: string, tipoproj: string): IProject[] => {
|
const projs_dacompletare = b.read((state: IProjectsState) => (id_parent: string, tipoproj: string): IProject[] => {
|
||||||
// console.log('projs_dacompletare', miei)
|
// console.log('projs_dacompletare')
|
||||||
if (state.projects) {
|
if (state.projects) {
|
||||||
// console.log('state.projects', state.projects)
|
// console.log('state.projects', state.projects)
|
||||||
return getproj(state.projects, id_parent, tipoproj)
|
return getproj(state.projects, id_parent, tipoproj)
|
||||||
@@ -121,7 +122,7 @@ namespace Getters {
|
|||||||
|
|
||||||
const listaprojects = b.read((state: IProjectsState) => (tipoproj: string): IMenuList[] => {
|
const listaprojects = b.read((state: IProjectsState) => (tipoproj: string): IMenuList[] => {
|
||||||
if (state.projects) {
|
if (state.projects) {
|
||||||
// console.log('state.projects', state.projects)
|
console.log('listaprojects')
|
||||||
const listaproj = getproj(state.projects, process.env.PROJECT_ID_MAIN, tipoproj)
|
const listaproj = getproj(state.projects, process.env.PROJECT_ID_MAIN, tipoproj)
|
||||||
const myarr: IMenuList[] = []
|
const myarr: IMenuList[] = []
|
||||||
for (const proj of listaproj) {
|
for (const proj of listaproj) {
|
||||||
|
|||||||
@@ -92,30 +92,41 @@ namespace Getters {
|
|||||||
return objtodo
|
return objtodo
|
||||||
}, 'getRecordEmpty')
|
}, 'getRecordEmpty')
|
||||||
const items_dacompletare = b.read((stateparam: ITodosState) => (cat: string): ITodo[] => {
|
const items_dacompletare = b.read((stateparam: ITodosState) => (cat: string): ITodo[] => {
|
||||||
|
// console.log('items_dacompletare')
|
||||||
const indcat = getindexbycategory(cat)
|
const indcat = getindexbycategory(cat)
|
||||||
|
let arrout = []
|
||||||
// console.log('items_dacompletare', 'indcat', indcat, stateparam.todos[indcat])
|
// console.log('items_dacompletare', 'indcat', indcat, stateparam.todos[indcat])
|
||||||
if (stateparam.todos[indcat]) {
|
if (stateparam.todos[indcat]) {
|
||||||
return stateparam.todos[indcat].filter((todo) => todo.statustodo !== tools.Status.COMPLETED)
|
arrout = stateparam.todos[indcat].filter((todo) => todo.statustodo !== tools.Status.COMPLETED)
|
||||||
} else {
|
} else {
|
||||||
return []
|
arrout = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// return tools.mapSort(arrout)
|
||||||
|
return arrout
|
||||||
}, 'items_dacompletare')
|
}, 'items_dacompletare')
|
||||||
|
|
||||||
const todos_completati = b.read((stateparam: ITodosState) => (cat: string): ITodo[] => {
|
const todos_completati = b.read((stateparam: ITodosState) => (cat: string): ITodo[] => {
|
||||||
|
console.log('todos_completati')
|
||||||
const indcat = getindexbycategory(cat)
|
const indcat = getindexbycategory(cat)
|
||||||
if (stateparam.todos[indcat]) {
|
if (stateparam.todos[indcat]) {
|
||||||
|
let arrout = []
|
||||||
if (stateparam.showtype === costanti.ShowTypeTask.SHOW_LAST_N_COMPLETED) { // Show only the first N completed
|
if (stateparam.showtype === costanti.ShowTypeTask.SHOW_LAST_N_COMPLETED) { // Show only the first N completed
|
||||||
return stateparam.todos[indcat].filter((todo) => todo.statustodo === tools.Status.COMPLETED).slice(0, stateparam.visuLastCompleted)
|
arrout = stateparam.todos[indcat].filter((todo) => todo.statustodo === tools.Status.COMPLETED).slice(0, stateparam.visuLastCompleted)
|
||||||
}
|
}
|
||||||
else if (stateparam.showtype === costanti.ShowTypeTask.SHOW_ONLY_TOCOMPLETE) {
|
else if (stateparam.showtype === costanti.ShowTypeTask.SHOW_ONLY_TOCOMPLETE) {
|
||||||
return []
|
arrout = []
|
||||||
}
|
}
|
||||||
else if (stateparam.showtype === costanti.ShowTypeTask.SHOW_ALL) {
|
else if (stateparam.showtype === costanti.ShowTypeTask.SHOW_ALL) {
|
||||||
return stateparam.todos[indcat].filter((todo) => todo.statustodo === tools.Status.COMPLETED)
|
arrout = stateparam.todos[indcat].filter((todo) => todo.statustodo === tools.Status.COMPLETED)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return []
|
arrout = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return arrout
|
||||||
|
// return tools.mapSort(arrout)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,3 +3,4 @@ export {default as GlobalStore} from './GlobalStore'
|
|||||||
export {default as UserStore} from './UserStore'
|
export {default as UserStore} from './UserStore'
|
||||||
export {default as Todos} from './Todos'
|
export {default as Todos} from './Todos'
|
||||||
export {default as Projects} from './Projects'
|
export {default as Projects} from './Projects'
|
||||||
|
export {default as CalendarStore} from './Store/calendar/CalendarStore'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { Todos, Projects, UserStore } from '@store'
|
|||||||
import globalroutines from './../../globalroutines/index'
|
import globalroutines from './../../globalroutines/index'
|
||||||
import { costanti } from './costanti'
|
import { costanti } from './costanti'
|
||||||
import { translation } from './translation'
|
import { translation } from './translation'
|
||||||
import Quasar, { date } from 'quasar'
|
import Quasar, { date, Screen } from 'quasar'
|
||||||
import { IListRoutes, IMenuList, IProject, ITodo, Privacy } from '@src/model'
|
import { IListRoutes, IMenuList, IProject, ITodo, Privacy } from '@src/model'
|
||||||
import * as ApiTables from '@src/store/Modules/ApiTables'
|
import * as ApiTables from '@src/store/Modules/ApiTables'
|
||||||
import translate from '@src/globalroutines/util'
|
import translate from '@src/globalroutines/util'
|
||||||
@@ -65,6 +65,14 @@ export const tools = {
|
|||||||
COMPLETED: 10
|
COMPLETED: 10
|
||||||
},
|
},
|
||||||
|
|
||||||
|
DateFormatter: new Intl.DateTimeFormat(this.getLocale() || void 0, {
|
||||||
|
weekday: 'long',
|
||||||
|
day: 'numeric',
|
||||||
|
month: 'long',
|
||||||
|
year: 'numeric'
|
||||||
|
// timeZone: 'UTC'
|
||||||
|
}),
|
||||||
|
|
||||||
selectPhase: {
|
selectPhase: {
|
||||||
it: [
|
it: [
|
||||||
{
|
{
|
||||||
@@ -285,6 +293,21 @@ export const tools = {
|
|||||||
{
|
{
|
||||||
id: 10,
|
id: 10,
|
||||||
disable: false,
|
disable: false,
|
||||||
|
label: 'Modifica',
|
||||||
|
value: lists.MenuAction.EDIT,
|
||||||
|
icon: 'create'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 11,
|
||||||
|
disable: false,
|
||||||
|
label: 'Elimina',
|
||||||
|
value: lists.MenuAction.DELETE,
|
||||||
|
icon: 'delete',
|
||||||
|
checked: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 12,
|
||||||
|
disable: false,
|
||||||
label: '',
|
label: '',
|
||||||
value: lists.MenuAction.PROGRESS_BAR,
|
value: lists.MenuAction.PROGRESS_BAR,
|
||||||
icon: 'rowing',
|
icon: 'rowing',
|
||||||
@@ -332,14 +355,6 @@ export const tools = {
|
|||||||
value: lists.MenuAction.TOGGLE_EXPIRING,
|
value: lists.MenuAction.TOGGLE_EXPIRING,
|
||||||
icon: 'date_range',
|
icon: 'date_range',
|
||||||
checked: true
|
checked: true
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 50,
|
|
||||||
disable: false,
|
|
||||||
label: 'Elimina',
|
|
||||||
value: lists.MenuAction.DELETE,
|
|
||||||
icon: 'delete',
|
|
||||||
checked: false
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
es:
|
es:
|
||||||
@@ -351,6 +366,21 @@ export const tools = {
|
|||||||
value: lists.MenuAction.CUT,
|
value: lists.MenuAction.CUT,
|
||||||
icon: 'undo'
|
icon: 'undo'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 7,
|
||||||
|
disable: false,
|
||||||
|
label: 'Editar',
|
||||||
|
value: lists.MenuAction.EDIT,
|
||||||
|
icon: 'create'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 8,
|
||||||
|
disable: false,
|
||||||
|
label: 'Borrar',
|
||||||
|
value: lists.MenuAction.DELETE,
|
||||||
|
icon: 'delete',
|
||||||
|
checked: false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 10,
|
id: 10,
|
||||||
disable: false,
|
disable: false,
|
||||||
@@ -401,14 +431,6 @@ export const tools = {
|
|||||||
value: lists.MenuAction.TOGGLE_EXPIRING,
|
value: lists.MenuAction.TOGGLE_EXPIRING,
|
||||||
icon: 'date_range',
|
icon: 'date_range',
|
||||||
checked: true
|
checked: true
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 50,
|
|
||||||
disable: false,
|
|
||||||
label: 'Borrar',
|
|
||||||
value: lists.MenuAction.DELETE,
|
|
||||||
icon: 'delete',
|
|
||||||
checked: false
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
enUs:
|
enUs:
|
||||||
@@ -420,6 +442,21 @@ export const tools = {
|
|||||||
value: lists.MenuAction.CUT,
|
value: lists.MenuAction.CUT,
|
||||||
icon: 'undo'
|
icon: 'undo'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 7,
|
||||||
|
disable: false,
|
||||||
|
label: 'Edit',
|
||||||
|
value: lists.MenuAction.EDIT,
|
||||||
|
icon: 'create'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 8,
|
||||||
|
disable: false,
|
||||||
|
label: 'Delete',
|
||||||
|
value: lists.MenuAction.DELETE,
|
||||||
|
icon: 'trash',
|
||||||
|
checked: false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 10,
|
id: 10,
|
||||||
disable: false,
|
disable: false,
|
||||||
@@ -470,14 +507,6 @@ export const tools = {
|
|||||||
value: lists.MenuAction.TOGGLE_EXPIRING,
|
value: lists.MenuAction.TOGGLE_EXPIRING,
|
||||||
icon: 'date_range',
|
icon: 'date_range',
|
||||||
checked: true
|
checked: true
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 50,
|
|
||||||
disable: false,
|
|
||||||
label: 'Delete',
|
|
||||||
value: lists.MenuAction.DELETE,
|
|
||||||
icon: 'trash',
|
|
||||||
checked: false
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -489,21 +518,29 @@ export const tools = {
|
|||||||
id: 5,
|
id: 5,
|
||||||
disable: false,
|
disable: false,
|
||||||
label: 'Taglia',
|
label: 'Taglia',
|
||||||
value: 71, // CUT
|
value: lists.MenuAction.CUT,
|
||||||
icon: 'undo'
|
icon: 'undo'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 10,
|
id: 10,
|
||||||
disable: false,
|
disable: false,
|
||||||
label: 'Modifica',
|
label: 'Modifica',
|
||||||
value: 160, // EDIT
|
value: lists.MenuAction.EDIT,
|
||||||
icon: 'create'
|
icon: 'create'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 11,
|
||||||
|
disable: false,
|
||||||
|
label: 'Elimina',
|
||||||
|
value: lists.MenuAction.DELETE,
|
||||||
|
icon: 'delete',
|
||||||
|
checked: false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 40,
|
id: 40,
|
||||||
disable: false,
|
disable: false,
|
||||||
label: 'Imposta Scadenza',
|
label: 'Imposta Scadenza',
|
||||||
value: 101, // TOGGLE_EXPIRING
|
value: lists.MenuAction.TOGGLE_EXPIRING,
|
||||||
icon: 'date_range',
|
icon: 'date_range',
|
||||||
checked: true
|
checked: true
|
||||||
},
|
},
|
||||||
@@ -524,14 +561,6 @@ export const tools = {
|
|||||||
icon: 'format_color_fill',
|
icon: 'format_color_fill',
|
||||||
checked: false,
|
checked: false,
|
||||||
arrlista: lists.selectTheme
|
arrlista: lists.selectTheme
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 50,
|
|
||||||
disable: false,
|
|
||||||
label: 'Elimina',
|
|
||||||
value: 100, // DELETE
|
|
||||||
icon: 'delete',
|
|
||||||
checked: false
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
es:
|
es:
|
||||||
@@ -540,21 +569,29 @@ export const tools = {
|
|||||||
id: 5,
|
id: 5,
|
||||||
disable: false,
|
disable: false,
|
||||||
label: 'Cortar',
|
label: 'Cortar',
|
||||||
value: 71, // CUT
|
value: lists.MenuAction.CUT,
|
||||||
icon: 'undo'
|
icon: 'undo'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 10,
|
id: 10,
|
||||||
disable: false,
|
disable: false,
|
||||||
label: 'Editar',
|
label: 'Editar',
|
||||||
value: 160, // EDIT
|
value: lists.MenuAction.EDIT,
|
||||||
icon: 'create'
|
icon: 'create'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 11,
|
||||||
|
disable: false,
|
||||||
|
label: 'Borrar',
|
||||||
|
value: 100, // DELETE
|
||||||
|
icon: 'delete',
|
||||||
|
checked: false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 40,
|
id: 40,
|
||||||
disable: false,
|
disable: false,
|
||||||
label: 'Establecer expiración',
|
label: 'Establecer expiración',
|
||||||
value: 101, // TOGGLE_EXPIRING
|
value: lists.MenuAction.TOGGLE_EXPIRING,
|
||||||
icon: 'date_range',
|
icon: 'date_range',
|
||||||
checked: true
|
checked: true
|
||||||
},
|
},
|
||||||
@@ -575,14 +612,6 @@ export const tools = {
|
|||||||
icon: 'format_color_fill',
|
icon: 'format_color_fill',
|
||||||
checked: false,
|
checked: false,
|
||||||
arrlista: lists.selectTheme
|
arrlista: lists.selectTheme
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 50,
|
|
||||||
disable: false,
|
|
||||||
label: 'Borrar',
|
|
||||||
value: 100, // DELETE
|
|
||||||
icon: 'delete',
|
|
||||||
checked: false
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
enUs:
|
enUs:
|
||||||
@@ -598,7 +627,7 @@ export const tools = {
|
|||||||
id: 10,
|
id: 10,
|
||||||
disable: false,
|
disable: false,
|
||||||
label: 'Edit',
|
label: 'Edit',
|
||||||
value: 160, // EDIT
|
value: lists.MenuAction.EDIT,
|
||||||
icon: 'create'
|
icon: 'create'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1205,6 +1234,7 @@ export const tools = {
|
|||||||
,
|
,
|
||||||
|
|
||||||
getLastListNotCompleted(nametable, cat, tipoproj: string) {
|
getLastListNotCompleted(nametable, cat, tipoproj: string) {
|
||||||
|
// console.log('getLastListNotCompleted')
|
||||||
// const module = tools.getModulesByTable(nametable)
|
// const module = tools.getModulesByTable(nametable)
|
||||||
let arr = []
|
let arr = []
|
||||||
if (nametable === 'projects')
|
if (nametable === 'projects')
|
||||||
@@ -1243,9 +1273,7 @@ export const tools = {
|
|||||||
}
|
}
|
||||||
,
|
,
|
||||||
|
|
||||||
showNotif(q
|
showNotif(q: any, msg, data ?: INotify | null
|
||||||
:
|
|
||||||
any, msg, data ?: INotify | null
|
|
||||||
) {
|
) {
|
||||||
let myicon = data ? data.icon : 'ion-add'
|
let myicon = data ? data.icon : 'ion-add'
|
||||||
if (!myicon) {
|
if (!myicon) {
|
||||||
@@ -1394,7 +1422,8 @@ export const tools = {
|
|||||||
,
|
,
|
||||||
|
|
||||||
mapSort(linkedList) {
|
mapSort(linkedList) {
|
||||||
const sortedList = []
|
console.log('mapSort')
|
||||||
|
let sortedList = []
|
||||||
const map = new Map()
|
const map = new Map()
|
||||||
let currentId = null
|
let currentId = null
|
||||||
|
|
||||||
@@ -1438,11 +1467,28 @@ export const tools = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// console.log('DOPO sortedList', sortedList);
|
// Now Order by Priority
|
||||||
|
if (!!sortedList) {
|
||||||
|
if (sortedList.length > 0) {
|
||||||
|
if (sortedList[0].priority !== undefined) {
|
||||||
|
const sortednew = []
|
||||||
|
let myarr = []
|
||||||
|
for (const priorelem of lists.selectPriority.it) {
|
||||||
|
const myprior = priorelem.value
|
||||||
|
myarr = sortedList.filter((item) => item.priority === myprior)
|
||||||
|
if (myarr !== undefined)
|
||||||
|
sortednew.push(...myarr)
|
||||||
|
}
|
||||||
|
|
||||||
|
sortedList = sortednew
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// console.log('DOPO sortedList', sortedList)
|
||||||
|
|
||||||
return sortedList
|
return sortedList
|
||||||
}
|
},
|
||||||
,
|
|
||||||
|
|
||||||
getProgressClassColor(progress) {
|
getProgressClassColor(progress) {
|
||||||
if (progress > 66) {
|
if (progress > 66) {
|
||||||
@@ -1509,6 +1555,13 @@ export const tools = {
|
|||||||
return value.charAt(0).toUpperCase() + value.slice(1)
|
return value.charAt(0).toUpperCase() + value.slice(1)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
firstchars(value, numchars = 200) {
|
||||||
|
if (!value) {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
return value.substring(0, numchars) + '...'
|
||||||
|
},
|
||||||
|
|
||||||
getDateNow() {
|
getDateNow() {
|
||||||
const mydate = new Date()
|
const mydate = new Date()
|
||||||
return mydate
|
return mydate
|
||||||
@@ -1593,7 +1646,7 @@ export const tools = {
|
|||||||
|
|
||||||
if ('serviceWorker' in navigator) {
|
if ('serviceWorker' in navigator) {
|
||||||
navigator.serviceWorker.ready
|
navigator.serviceWorker.ready
|
||||||
.then(function (swreg) {
|
.then((swreg) => {
|
||||||
swreg.showNotification('Successfully subscribed!', options)
|
swreg.showNotification('Successfully subscribed!', options)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -1633,12 +1686,16 @@ export const tools = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
navigator.serviceWorker.ready
|
navigator.serviceWorker.ready
|
||||||
.then(function (swreg) {
|
.then((swreg) => {
|
||||||
swreg.showNotification('aaa', options)
|
swreg.showNotification('aaa', options)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getemailto(text) {
|
||||||
|
return 'mailto:' + text
|
||||||
|
},
|
||||||
|
|
||||||
askfornotification() {
|
askfornotification() {
|
||||||
tools.showNotif(this.$q, this.$t('notification.waitingconfirm'), { color: 'positive', icon: 'notifications' })
|
tools.showNotif(this.$q, this.$t('notification.waitingconfirm'), { color: 'positive', icon: 'notifications' })
|
||||||
|
|
||||||
@@ -1653,5 +1710,129 @@ export const tools = {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
heightgallery() {
|
||||||
|
if (Screen.width < 400) {
|
||||||
|
return '200px'
|
||||||
|
} else if (Screen.width < 600) {
|
||||||
|
return '300px'
|
||||||
|
} else {
|
||||||
|
return '500px'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
myheight_imgtitle() {
|
||||||
|
if (Screen.width < 400) {
|
||||||
|
return '250'
|
||||||
|
} else if (Screen.width < 600) {
|
||||||
|
return '350'
|
||||||
|
} else {
|
||||||
|
return '350'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
myheight_dialog() {
|
||||||
|
if (Screen.width < 400) {
|
||||||
|
return '350'
|
||||||
|
} else if (Screen.width < 600) {
|
||||||
|
return '400'
|
||||||
|
} else {
|
||||||
|
return '500'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
styles_imgtitle() {
|
||||||
|
if (Screen.width < 400) {
|
||||||
|
return 'max-height: 250px'
|
||||||
|
} else {
|
||||||
|
return 'max-height: 350px'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
<q-img
|
||||||
|
src="https://cdn.quasar.dev/img/image-src.png"
|
||||||
|
srcset="https://cdn.quasar.dev/img/image-1x.png 400w,
|
||||||
|
https://cdn.quasar.dev/img/image-2x.png 800w,
|
||||||
|
https://cdn.quasar.dev/img/image-3x.png 1200w,
|
||||||
|
https://cdn.quasar.dev/img/image-4x.png 1600w"
|
||||||
|
sizes="(max-width: 400px) 400w,
|
||||||
|
(min-width: 400px) and (max-width: 800px) 800w,
|
||||||
|
(min-width: 800px) and (max-width: 1200px) 1200w,
|
||||||
|
(min-width: 1200px) 1600w"
|
||||||
|
style="height: 280px; max-width: 300px"
|
||||||
|
>
|
||||||
|
<div class="absolute-bottom text-body1 text-center">
|
||||||
|
With srcset & sizes
|
||||||
|
</div>
|
||||||
|
</q-img>
|
||||||
|
*/
|
||||||
|
|
||||||
|
getsizes() {
|
||||||
|
return '(max-width: 400px) 400w, ' +
|
||||||
|
'(min-width: 400px) and (max-width: 800px) 800w, ' +
|
||||||
|
'(min-width: 800px) and (max-width: 1200px) 1200w, ' +
|
||||||
|
'(min-width: 1200px) 1600w'
|
||||||
|
},
|
||||||
|
|
||||||
|
maxwidth_imgtitle() {
|
||||||
|
if (Screen.width < 400) {
|
||||||
|
return 'max-width: 250px'
|
||||||
|
} else {
|
||||||
|
return 'max-width: 350px'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
mywidth_imgtitle() {
|
||||||
|
if (Screen.width < 400) {
|
||||||
|
return '250'
|
||||||
|
} else if (Screen.width < 600) {
|
||||||
|
return '350'
|
||||||
|
} else {
|
||||||
|
return '350'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
mymargin_imgtitle() {
|
||||||
|
return 'auto'
|
||||||
|
},
|
||||||
|
|
||||||
|
showthumbnails() {
|
||||||
|
if (Screen.width < 400) {
|
||||||
|
return false
|
||||||
|
} else if (Screen.width < 600) {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
padTime(val) {
|
||||||
|
val = Math.floor(val)
|
||||||
|
if (val < 10) {
|
||||||
|
return '0' + val
|
||||||
|
}
|
||||||
|
return val + ''
|
||||||
|
},
|
||||||
|
|
||||||
|
getLocale() {
|
||||||
|
return UserStore.state.lang
|
||||||
|
},
|
||||||
|
|
||||||
|
getDateStr(mydate) {
|
||||||
|
if (this.DateFormatter && this.getLocale()) {
|
||||||
|
const date = new Date(mydate)
|
||||||
|
return this.titleFormatter.format(date)
|
||||||
|
}
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
|
||||||
|
// getLocale() {
|
||||||
|
// if (navigator.languages && navigator.languages.length > 0) {
|
||||||
|
// return navigator.languages[0]
|
||||||
|
// } else {
|
||||||
|
// return navigator.userLanguages || navigator.language || navigator.browserLanguages || 'it-IT'
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,20 +95,6 @@ $heightBtn: 100%;
|
|||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-item{
|
|
||||||
// background-color: #d5e2eb;
|
|
||||||
padding: 0px;
|
|
||||||
margin: 1px;
|
|
||||||
margin-left: 3px;
|
|
||||||
margin-right: 3px;
|
|
||||||
color: #000;
|
|
||||||
font-size: 0.85rem;
|
|
||||||
height: $heightBtn;
|
|
||||||
line-height: $heightBtn;
|
|
||||||
vertical-align: middle;
|
|
||||||
//flex: 0 0 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.itemdescr{
|
.itemdescr{
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ const namespace: string = 'Projects'
|
|||||||
export default class ProjList extends Vue {
|
export default class ProjList extends Vue {
|
||||||
public $q: any
|
public $q: any
|
||||||
public projbottom: string = ''
|
public projbottom: string = ''
|
||||||
|
public prova: string = ''
|
||||||
|
public provatr: string = ''
|
||||||
public polling = null
|
public polling = null
|
||||||
public service: any
|
public service: any
|
||||||
public scrollable = true
|
public scrollable = true
|
||||||
@@ -66,10 +68,10 @@ export default class ProjList extends Vue {
|
|||||||
@Getter('projs_dacompletare', { namespace })
|
@Getter('projs_dacompletare', { namespace })
|
||||||
public projs_dacompletare: (state: IProjectsState, id_parent: string, tipoproj: string) => IProject[]
|
public projs_dacompletare: (state: IProjectsState, id_parent: string, tipoproj: string) => IProject[]
|
||||||
|
|
||||||
@Watch('projs_dacompletare')
|
// @Watch('projs_dacompletare')
|
||||||
public changeitems() {
|
// public changeitems() {
|
||||||
this.updateindexProj()
|
// this.updateindexProj()
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Watch('$route.name')
|
@Watch('$route.name')
|
||||||
public changename() {
|
public changename() {
|
||||||
@@ -99,6 +101,10 @@ export default class ProjList extends Vue {
|
|||||||
// console.log('idproj', this.idProjAtt, 'params' , this.$route.params)
|
// console.log('idproj', this.idProjAtt, 'params' , this.$route.params)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public keyDownArea(e) {
|
||||||
|
console.log('keyDownArea')
|
||||||
|
}
|
||||||
|
|
||||||
get classTitle() {
|
get classTitle() {
|
||||||
let cl = 'flex-item categorytitle shadow-4'
|
let cl = 'flex-item categorytitle shadow-4'
|
||||||
if (!!this.itemprojparent) {
|
if (!!this.itemprojparent) {
|
||||||
@@ -400,6 +406,7 @@ export default class ProjList extends Vue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public dbInsert() {
|
public dbInsert() {
|
||||||
|
console.log('dbInsert')
|
||||||
const descr = this.projbottom.trim()
|
const descr = this.projbottom.trim()
|
||||||
|
|
||||||
this.projbottom = ''
|
this.projbottom = ''
|
||||||
@@ -432,6 +439,7 @@ export default class ProjList extends Vue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public getCompProjectById(id): SingleProject {
|
public getCompProjectById(id): SingleProject {
|
||||||
|
if (!!this.$refs.singleproject) {
|
||||||
console.log('this.$refs.singleproject', this.$refs.singleproject)
|
console.log('this.$refs.singleproject', this.$refs.singleproject)
|
||||||
for (const elem of this.$refs.singleproject) {
|
for (const elem of this.$refs.singleproject) {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@@ -440,6 +448,7 @@ export default class ProjList extends Vue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// const descr = this.$t('project.newproj').toString()
|
// const descr = this.$t('project.newproj').toString()
|
||||||
|
|
||||||
@@ -494,10 +503,32 @@ export default class ProjList extends Vue {
|
|||||||
this.whatisSel = tools.WHAT_NOTHING
|
this.whatisSel = tools.WHAT_NOTHING
|
||||||
// console.log('readonly = true')
|
// console.log('readonly = true')
|
||||||
this.readonly = true
|
this.readonly = true
|
||||||
|
|
||||||
|
this.checkiftoenable()
|
||||||
}
|
}
|
||||||
public setitemsel(item: ITodo) {
|
public setitemsel(item: ITodo) {
|
||||||
this.whatisSel = tools.WHAT_TODO
|
|
||||||
this.itemtodosel = item
|
this.itemtodosel = item
|
||||||
|
if (item !== null)
|
||||||
|
this.whatisSel = tools.WHAT_TODO
|
||||||
|
else
|
||||||
|
this.whatisSel = tools.WHAT_NOTHING
|
||||||
|
|
||||||
|
this.checkiftoenable()
|
||||||
|
}
|
||||||
|
|
||||||
|
public checkiftoenable() {
|
||||||
|
if (this.whatisSel === tools.WHAT_NOTHING)
|
||||||
|
this.splitterModel = 100
|
||||||
|
else
|
||||||
|
this.splitterModel = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
public setdeselectrow() {
|
||||||
|
console.log('setdeselectrow')
|
||||||
|
this.itemtodosel = null
|
||||||
|
this.itemselproj = null
|
||||||
|
this.whatisSel = tools.WHAT_NOTHING
|
||||||
|
this.checkiftoenable()
|
||||||
}
|
}
|
||||||
|
|
||||||
public cambiadata(value) {
|
public cambiadata(value) {
|
||||||
@@ -542,9 +573,14 @@ export default class ProjList extends Vue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public deselectAllRowsproj(item: IProject, check, onlythis: boolean = false) {
|
public deselectAllRowsproj(item: IProject, check, onlythis: boolean = false, deselectRiga: boolean = false) {
|
||||||
// console.log('deselectAllRowsproj: ', item)
|
// console.log('deselectAllRowsproj: ', item)
|
||||||
|
|
||||||
|
if (deselectRiga) {
|
||||||
|
this.setdeselectrow()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (!!item && check) {
|
if (!!item && check) {
|
||||||
// This is the new selected
|
// This is the new selected
|
||||||
// console.log('readonly = false')
|
// console.log('readonly = false')
|
||||||
@@ -552,6 +588,9 @@ export default class ProjList extends Vue {
|
|||||||
this.readonly = false
|
this.readonly = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.$refs.singleproject === undefined)
|
||||||
|
return
|
||||||
|
|
||||||
for (const i in this.$refs.singleproject) {
|
for (const i in this.$refs.singleproject) {
|
||||||
|
|
||||||
const contr = this.$refs.singleproject[i] as SingleProject
|
const contr = this.$refs.singleproject[i] as SingleProject
|
||||||
|
|||||||
@@ -100,12 +100,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<q-separator></q-separator>
|
<q-separator></q-separator>
|
||||||
|
|
||||||
<q-input v-if="CanIModifyPanelPrivacy" ref="insertProjBottom" v-model="projbottom"
|
<q-input v-model="projbottom"
|
||||||
style="margin-left: 6px;"
|
style="margin-left: 6px;"
|
||||||
color="blue-12"
|
color="blue-12"
|
||||||
:label="$t('proj.insertbottom')"
|
:label="$t('proj.insertbottom')"
|
||||||
:after="[{icon: 'arrow_forward', content: true, handler () {}}]"
|
:after="[{icon: 'arrow_forward', content: true, handler () {}}]"
|
||||||
v-on:keyup.enter="dbInsert()">
|
>
|
||||||
|
|
||||||
</q-input>
|
</q-input>
|
||||||
|
|
||||||
@@ -129,6 +129,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="(whatisSel === tools.WHAT_PROJECT) && (!!itemselproj.descr)" v-slot:after>
|
<template v-if="(whatisSel === tools.WHAT_PROJECT) && (!!itemselproj.descr)" v-slot:after>
|
||||||
|
|
||||||
<!--ID = {{itemselproj._id}}-->
|
<!--ID = {{itemselproj._id}}-->
|
||||||
<div class="q-pa-xs clMain">
|
<div class="q-pa-xs clMain">
|
||||||
<div class="flex-container clMain">
|
<div class="flex-container clMain">
|
||||||
|
|||||||
Reference in New Issue
Block a user