Merge remote-tracking branch 'origin/main' into main

This commit is contained in:
Marek Fraczyk
2021-02-16 17:43:35 +02:00
6 changed files with 5 additions and 242 deletions

12
package-lock.json generated
View File

@ -3143,8 +3143,7 @@
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true,
"optional": true
"dev": true
},
"coa": {
"version": "2.0.2",
@ -7381,7 +7380,8 @@
"lodash": {
"version": "4.17.20",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
"dev": true
},
"lodash.defaultsdeep": {
"version": "4.6.1",
@ -8822,8 +8822,7 @@
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
"dev": true,
"optional": true
"dev": true
},
"pify": {
"version": "4.0.1",
@ -10348,8 +10347,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
"dev": true,
"optional": true
"dev": true
},
"rx-lite-aggregates": {
"version": "4.0.8",

View File

@ -16,7 +16,6 @@
"dayjs": "^1.10.3",
"es6-promise": "^4.2.6",
"localforage": "^1.9.0",
"lodash": "^4.17.20",
"vue": "^2.6.10",
"vue-autosuggest": "^2.2.0",
"vue-multiselect": "^2.1.6",

View File

@ -1,19 +0,0 @@
<template>
<div class="col-12 text-secondary text-center epmty-state">
<div class="empty-state__task mt-5 mb-3 p-3 d-flex flex-column justify-content-between">
<div class="empty-state__text"></div>
<div class="col-4 p-0 d-flex flex-row align-items-center">
<div class="empty-state__text"></div>
<i class="material-icons md-10 text-caption ml-2">lens</i>
</div>
</div>
<p class="mb-1">Drop Tasks here</p>
<p>
<small>Overdue and unscheduled tasks<br> end up in backlog</small>
</p>
</div>
</template>
<script>
export default {};
</script>

View File

@ -1,69 +0,0 @@
<template>
<div class="form-group color-picker">
<label :for="field" v-if="label">{{ label }}</label>
<b-dropdown variant="outline-secondary"
right
:disabled="disabled"
class="w-100">
<template slot="button-content">
<i class="material-icons" v-if="value" :style="{ color: value }">lens</i>
<!-- <span v-else>Choose color</span>-->
</template>
<b-dropdown-item-button v-for="color in colors"
:key="color"
@click="$emit('input', color)">
<i class="material-icons" :style="{ color }">lens</i>
</b-dropdown-item-button>
</b-dropdown>
<slot/>
<AppError v-if="errors" :errors="errors" :field="field"/>
</div>
</template>
<script>
import { BDropdown, BDropdownItemButton } from 'bootstrap-vue';
import AppError from '@/components/form/AppError';
import _ from 'lodash';
export default {
components: {
AppError,
BDropdown,
BDropdownItemButton,
},
props: ['errors', 'label', 'value', 'field', 'disabled'],
data() {
return {
colors: [
'rgb(6, 170, 245)',
'rgb(0, 0, 0)',
'rgb(234, 70, 141)',
'rgb(251, 139, 20)',
'rgb(199, 116, 28)',
'rgb(75, 200, 0)',
'rgb(137, 0, 0)',
'rgb(225, 154, 134)',
'rgb(197, 107, 255)',
'rgb(32, 85, 0)',
'rgb(55, 80, 181)',
'rgb(160, 26, 165)',
'rgb(241, 195, 63)',
'rgb(226, 5, 5)',
'rgb(4, 187, 155)',
],
};
},
mounted() {
this.selectRandom();
},
methods: {
selectRandom() {
if (!this.value) {
this.$emit('input', _.sample(this.colors));
}
},
},
};
</script>

View File

@ -1,61 +0,0 @@
<template>
<div class="form-group">
<label :for="field" v-if="label" :class="labelClasses">{{ label }}</label>
<div :class="containerClasses">
<textarea :disabled="disabled"
:id="field"
:placeholder="placeholder"
class="form-control"
:rows="rows"
:class="[
errors && errors.has(field) ? 'is-invalid' : '',
size ? 'form-control-' + size : '',
...inputClasses,
]"
:autocomplete="autocomplete"
:maxlength="max"
:value="value"
@input="$emit('input', $event.target.value)"
@change="$emit('change', $event.target.value)"
@keydown.self.enter.exact="$emit('submit', $event.target.value)"
:ref="field"
>
</textarea>
</div>
<slot></slot>
<AppError v-if="errors" :errors="errors" :field="field"/>
</div>
</template>
<script>
import AppError from '@/components/form/AppError';
export default {
components: {
AppError,
},
props: {
errors: {},
label: {},
value: {},
field: {},
type: {},
max: {},
rows: {},
disabled: {},
placeholder: {},
size: {},
labelClasses: {},
inputClasses: {},
containerClasses: {},
autocomplete: {
default: 'on',
},
},
methods: {
focus() {
this.$refs[this.field].focus();
},
},
};
</script>

View File

@ -1,85 +0,0 @@
<template>
<div class="form-group typeahead">
<VueAutosuggest
ref="suggest"
:input-props="{placeholder: placeholder, class: 'form-control form-control-sm tracker__input'}"
:section-configs="config"
:suggestions="suggestions"
:value="value"
:get-suggestion-value="getSuggestionValue"
:should-render-suggestions="(size, loading) => size >= 0 && !loading && !closed"
@input="onInput"
@change="onChange"
@blur="onBlur"
@focus="onFocus"
@selected="onSelected"
>
<template v-for="(_, name) in $scopedSlots" :slot="name" slot-scope="slotData">
<slot :name="name" v-bind="slotData"/>
</template>
</VueAutosuggest>
</div>
</template>
<script>
import { VueAutosuggest } from 'vue-autosuggest';
export default {
components: {
VueAutosuggest,
},
props: {
value: {},
placeholder: {},
options: {},
labelField: {},
sectionConfigs: {},
filter: { default: (option, query) => (option[this.labelField].toLowerCase().indexOf(query.toLowerCase()) > -1) },
},
data() {
return {
closed: true,
};
},
computed: {
suggestions() {
return this.options.map(group => ({
...group,
data: group.data.filter(option => this.filter(option, this.value)),
}))
.filter(group => group.data.length > 0);
},
config() {
return {
default: { onSelected: this.onSelected },
...this.sectionConfigs,
};
},
},
methods: {
getSuggestionValue(suggestion) {
return suggestion.item[this.labelField];
},
onInput(query) {
this.$emit('input', query);
},
onChange(event) {
this.$emit('change', event.target.value);
},
onFocus() {
this.closed = false;
},
onBlur() {
this.closed = true;
},
onSelected(suggestion) {
if (!suggestion) {
this.$refs.suggest.$el.querySelector('input').blur();
return false;
}
// Enter on no suggestion returns null
this.$emit('selected', suggestion);
},
},
};
</script>