Fixes coflicts and Merge branch 'develop' of https://github.com/tainacan/tainacan into develop

This commit is contained in:
weryques 2018-08-01 21:03:06 -03:00
commit 11a28b188d
18 changed files with 266 additions and 192 deletions

View File

@ -18,6 +18,7 @@
"vue": "^2.5.17",
"vue-router": "^3.0.1",
"vue-the-mask": "^0.11.1",
"vue2-hammer": "^1.0.7",
"vuedraggable": "^2.16.0",
"vuex": "^3.0.1"
},

View File

@ -642,4 +642,47 @@
}
.advanced-search-header-dropdown {
height: 27px !important;
.dropdown-content {
width: 800px !important;
}
.dropdown-item:hover {
background-color: unset !important;
}
@media screen and (min-width: 1087px) {
.dropdown-menu {
top: 0 !important;
}
}
.dropdown-item {
span.icon:not(.is-right) {
position: relative !important;
}
}
.advanced-search-text {
margin: 0 12px;
font-size: 12px;
color: $blue5;
}
.advanced-search-text-di {
font-size: 14px;
font-weight: 500;
color: #01295c;
margin-top: 4px;
}
.advanced-search-hr {
height: 1px;
margin: 8px 0;
background-color: #298596;
}
}
</style>

View File

@ -908,6 +908,9 @@ export default {
padding: 4px 6px;
.icon { font-size: 20px; }
&.disabled {
pointer-events: none;
cursor: not-allowed;
.icon { color: $gray2; }
}
}

View File

@ -694,7 +694,7 @@ export default {
font-weight: bold;
margin-left: 0.4em;
display: inline-block;
max-width: 200px;
max-width: 180px;
}
&:after,
&:before {

View File

@ -1,32 +1,50 @@
<template>
<div>
<div class="terms-list-header">
<button
class="button is-secondary"
type="button"
@click="addNewTerm()">
{{ $i18n.get('label_new_term') }}
</button>
<b-field class="order-area">
<button
:disabled="orderedTermsList.length <= 0 || isLoadingTerms || isEditingTerm || order == 'asc'"
class="button is-white is-small"
@click="onChangeOrder('asc')">
<b-icon
class="gray-icon"
icon="sort-ascending"/>
</button>
<button
:disabled="orderedTermsList.length <= 0 || isLoadingTerms || isEditingTerm || order == 'desc'"
class="button is-white is-small"
@click="onChangeOrder('desc')">
<b-icon
class="gray-icon"
icon="sort-descending"/>
</button>
</b-field>
<div class="search-area is-hidden-mobile">
<div class="control has-icons-right is-small is-clearfix">
<input
class="input is-small"
:placeholder="$i18n.get('instruction_search')"
type="search"
autocomplete="on"
v-model="searchQuery"
@keyup.enter="loadTerms(0)"
:disabled="isEditingTerm">
<span
@click="loadTerms(0)"
class="icon is-right">
<i class="mdi mdi-magnify" />
</span>
</div>
</div>
</div>
<div class="columns">
<div class="column">
<button
class="button is-secondary"
type="button"
@click="addNewTerm()">
{{ $i18n.get('label_new_term') }}
</button>
<b-field class="order-area">
<button
:disabled="orderedTermsList.length <= 0 || isLoadingTerms || isEditingTerm || order == 'asc'"
class="button is-white is-small"
@click="onChangeOrder('asc')">
<b-icon
class="gray-icon"
icon="sort-ascending"/>
</button>
<button
:disabled="orderedTermsList.length <= 0 || isLoadingTerms || isEditingTerm || order == 'desc'"
class="button is-white is-small"
@click="onChangeOrder('desc')">
<b-icon
class="gray-icon"
icon="sort-descending"/>
</button>
</b-field>
<br>
<br>
<div
class="term-item"
@ -107,6 +125,7 @@
:active.sync="isLoadingTerms"
:can-cancel="false"/>
</div>
</div>
</template>
<script>
@ -123,7 +142,8 @@ export default {
formWithErrors: '',
orderedTermsList: [],
order: 'asc',
termEditionFormTop: 0
termEditionFormTop: 0,
searchQuery: ''
}
},
props: {
@ -371,7 +391,8 @@ export default {
loadTerms(parentId) {
this.isLoadingTerms = true;
this.fetchChildTerms({ parentId: parentId, taxonomyId: this.taxonomyId, fetchOnly: '', search: '', all: '', order: this.order})
let search = (this.searchQuery != undefined && this.searchQuery != '') ? { searchterm: this.searchQuery } : '';
this.fetchChildTerms({ parentId: parentId, taxonomyId: this.taxonomyId, fetchOnly: '', search: search, all: '', order: this.order})
.then(() => {
// Fill this.form data with current data.
this.isLoadingTerms = false;
@ -395,19 +416,51 @@ export default {
@import "../../scss/_variables.scss";
.order-area {
display: inline-flex !important;
padding: 4px;
margin-left: 30px;
.terms-list-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
.gray-icon, .gray-icon .icon {
color: $gray4 !important;
.order-area {
display: inline-flex !important;
padding: 4px;
margin-left: auto;
.gray-icon, .gray-icon .icon {
color: $gray4 !important;
}
.gray-icon .icon i::before, .gray-icon i::before {
font-size: 21px !important;
}
}
.gray-icon .icon i::before, .gray-icon i::before {
font-size: 21px !important;
.search-area {
display: inline-flex;
align-items: center;
.input {
border: 1px solid $gray2;
}
.control {
width: 100%;
.icon {
pointer-events: all;
cursor: pointer;
color: $blue5;
height: 27px;
font-size: 18px !important;
height: 2rem !important;
}
}
a {
margin-left: 12px;
white-space: nowrap;
}
}
}
.term-item {
font-size: 14px;
padding: 0.7em 0.9em;

View File

@ -148,7 +148,7 @@
}
</script>
<style lang="scss">
<style lang="scss" scoped>
@import "../../scss/_variables.scss";
@ -219,49 +219,6 @@
width: 30px !important;
}
}
.advanced-search-header-dropdown {
height: 27px !important;
.dropdown-content {
width: 800px !important;
}
.dropdown-item:hover {
background-color: unset;
}
@media screen and (min-width: 1087px) {
.dropdown-menu {
top: 0 !important;
}
}
.dropdown-item {
span.icon:not(.is-right) {
position: relative !important;
}
}
.advanced-search-text {
margin: 0 12px;
font-size: 12px;
color: $blue5;
}
.advanced-search-text-di {
font-size: 14px;
font-weight: 500;
color: #01295c;
margin-top: 4px;
}
.advanced-search-hr {
height: 1px;
margin: 8px 0;
background-color: #298596;
}
}
}
}

View File

@ -5,7 +5,8 @@
// Main imports
import Vue from 'vue';
import Buefy from 'buefy';
import VTooltip from 'v-tooltip'
import VTooltip from 'v-tooltip';
import { VueHammer } from 'vue2-hammer';
// Custom elements
import Text from '../../classes/metadata-types/text/Text.vue';
@ -47,6 +48,7 @@ import VueTheMask from 'vue-the-mask';
// Configure and Register Plugins
Vue.use(Buefy);
Vue.use(VTooltip);
Vue.use(VueHammer);
Vue.use(I18NPlugin);
Vue.use(UserPrefsPlugin);
Vue.use(RouterHelperPlugin);

View File

@ -1,7 +1,8 @@
// Main imports
import Vue from 'vue';
import Buefy from 'buefy';
import VTooltip from 'v-tooltip'
import VTooltip from 'v-tooltip';
import { VueHammer } from 'vue2-hammer';
// Custom elements
import Text from '../../classes/metadata-types/text/Text.vue';
@ -43,7 +44,8 @@ import { I18NPlugin, UserPrefsPlugin, RouterHelperPlugin, ConsolePlugin } from '
// Configure and Register Plugins
Vue.use(Buefy);
Vue.use(VTooltip)
Vue.use(VTooltip);
Vue.use(VueHammer);
Vue.use(I18NPlugin);
Vue.use(UserPrefsPlugin);
Vue.use(RouterHelperPlugin);

View File

@ -1,5 +1,6 @@
<template>
<div
v-hammer:swipe.right="onSwipeFiltersMenuRight"
:class="{'repository-level-page': isRepositoryLevel}">
<!-- SEARCH AND FILTERS --------------------- -->
@ -575,11 +576,15 @@
!openAdvancedSearch"/>
</div>
</div>
<b-modal
id="filters-mobile-modal"
ref="filters-mobile-modal"
class="tainacan-form is-hidden-tablet"
:active.sync="isFilterModalActive"
:width="736">
:width="736"
animation="slide-menu"
v-hammer:swipe.left="onSwipeFiltersMenuLeft">
<div class="modal-inner-content">
<h3 class="has-text-weight-semibold">{{ $i18n.get('filters') }}</h3>
<a
@ -750,6 +755,16 @@
'getTotalItems',
'getAdminViewMode'
]),
onSwipeFiltersMenuRight() {
let screenWidth = 400;//window.screen.width;
if (!this.isFilterModalActive && screenWidth <= 768)
this.isFilterModalActive = true;
},
onSwipeFiltersMenuLeft() {
if (this.isFilterModalActive)
this.isFilterModalActive = false;
},
onOpenImportersModal() {
this.$modal.open({
parent: this,
@ -1250,9 +1265,11 @@
.search-control-item {
display: inline-block;
margin-bottom: 12px;
&:last-child {
flex-grow: 1;
flex-basis: 100%;
}
.button {
@ -1362,7 +1379,7 @@
.table-container {
padding-left: 4.166666667%;
padding-right: 4.166666667%;
min-height: 500px;
min-height: 50vh;
//height: calc(100% - 82px);
}

View File

@ -35,6 +35,7 @@
}
}
}
.taginput-container {
padding: 0 !important;
background-color: white !important;
@ -42,7 +43,10 @@
&:focus, &:active {
border: none !important;
}
.input { margin-bottom: 0px !important; }
.input {
margin-bottom: 0px !important;
height: 1.85rem !important;
}
.input.has-selected, .input:focus, .input:active {
background-color: white;
border: 1px solid $gray2 !important;

View File

@ -1,38 +1,4 @@
#filters-mobile-modal {
// top: 95px;
@keyframes slide-menu {
from {
-ms-transform: translate(-100%, 0); /* IE 9 */
-webkit-transform: translate(-100%, 0); /* Safari */
transform: translate(-100%, 0);
}
to {
-ms-transform: translate(0, 0); /* IE 9 */
-webkit-transform: translate(0, 0); /* Safari */
transform: translate(0, 0);
}
}
animation-name: slide-menu;
animation-duration: 0.3s;
animation-timing-function: ease-out;
@keyframes appear {
from {
opacity: 0.0;
visibility: hidden;
}
to {
opacity: 1.0;
visibility: visible;
}
}
.modal-background {
animation-name: appear;
animation-duration: 0.6s;
animation-timing-function: ease-in;
}
#filters-mobile-modal {
.modal-close {
right: calc(8.3333333% + 20px);

View File

@ -7,8 +7,8 @@
max-width: 100%;
overflow: hidden;
&:hover{
background-color: $gray2;
&:hover, &:hover .tag {
background-color: $gray1;
}
.tag {
@ -20,5 +20,14 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
&.is-delete {
border-radius: 50px !important;
border-radius: 50px !important;
&:hover {
background-color: white !important;
}
}
}
}

View File

@ -151,4 +151,77 @@ $table-cell-padding: 1.0em 0.75em;
$family-sans-serif: 'Roboto', sans-serif;
// Bulma's modal (needs to be greather than taincan-admin-app)
$modal-z: 9999999;
$modal-z: 9999999;
// Animations for Slide Menu
@keyframes slide-menu-in {
from {
-ms-transform: translate(-100%, 0); /* IE 9 */
-webkit-transform: translate(-100%, 0); /* Safari */
transform: translate(-100%, 0);
}
to {
-ms-transform: translate(0, 0); /* IE 9 */
-webkit-transform: translate(0, 0); /* Safari */
transform: translate(0, 0);
}
}
@keyframes slide-menu-out {
from {
-ms-transform: translate(0, 0); /* IE 9 */
-webkit-transform: translate(0, 0); /* Safari */
transform: translate(0, 0);
}
to {
-ms-transform: translate(-100%, 0); /* IE 9 */
-webkit-transform: translate(-100%, 0); /* Safari */
transform: translate(-100%, 0);
}
}
@keyframes appear {
from {
opacity: 0.0;
visibility: hidden;
}
to {
opacity: 1.0;
visibility: visible;
}
}
@keyframes disappear {
from {
opacity: 0.3;
visibility: visible;
}
to {
opacity: 0.0;
visibility: hidden;
}
}
.slide-menu-enter-active {
animation-name: slide-menu-in;
animation-duration: 0.3s;
animation-timing-function: ease-out;
.modal-background {
animation-name: appear;
animation-duration: 0.6s;
animation-timing-function: ease-out;
}
}
.slide-menu-leave-active {
animation-name: slide-menu-out;
animation-duration: 0.3s;
animation-timing-function: ease-in;
.modal-background {
opacity: 0.0;
animation-name: disappear;
animation-duration: 0.2s;
animation-timing-function: ease-in;
}
}

View File

@ -1,5 +1,5 @@
.tainacan-cards-container {
min-height: 200px;
min-height: 50vh;
padding: 0;
display: flex;
flex-wrap: wrap;

View File

@ -1,5 +1,5 @@
.tainacan-grid-container {
min-height: 200px;
min-height: 50vh;
padding: 0;
display: flex;
flex-wrap: wrap;

View File

@ -1,5 +1,5 @@
.tainacan-records-container {
min-height: 200px;
min-height: 50vh;
padding: 0;
display: flex;
flex-wrap: wrap;

View File

@ -186,66 +186,5 @@ export default {
}
}
#filters-mobile-modal {
// top: 95px;
@keyframes slide-menu {
from {
-ms-transform: translate(-100%, 0); /* IE 9 */
-webkit-transform: translate(-100%, 0); /* Safari */
transform: translate(-100%, 0);
}
to {
-ms-transform: translate(0, 0); /* IE 9 */
-webkit-transform: translate(0, 0); /* Safari */
transform: translate(0, 0);
}
}
animation-name: slide-menu;
animation-duration: 0.3s;
animation-timing-function: ease-out;
@keyframes appear {
from {
opacity: 0.0;
visibility: hidden;
}
to {
opacity: 1.0;
visibility: visible;
}
}
.modal-background {
animation-name: appear;
animation-duration: 0.6s;
animation-timing-function: ease-in;
}
.modal-close {
right: calc(8.3333333% + 20px);
background-color: $gray1;
&:hover {
background-color: $gray1;
}
&::before, &::after {
background-color: $secondary;
}
}
.modal-content {
margin: 0 8.3333333% 0 0;
padding: 24px $page-side-padding;
border-radius: 0;
height: 100%;
max-height: 100%;
overflow-y: auto;
h3 {
font-size: 100%;
}
}
}
}
</style>

View File

@ -181,6 +181,8 @@ export const fetchTerms = ({ commit }, {taxonomyId, fetchOnly, search, all, orde
query = `?order=${order}&${qs.stringify(fetchOnly)}&${qs.stringify(search)}`;
} else if(fetchOnly && search && all ){
query = `?hideempty=0&order=${order}&${qs.stringify(fetchOnly)}&${qs.stringify(search)}`;
} else if(search && !all && !fetchOnly){
query = `?hideempty=0&order=${order}&${qs.stringify(search)}`;
} else {
query =`?hideempty=0&order=${order}`;
}
@ -205,12 +207,15 @@ export const fetchChildTerms = ({ commit }, { parentId, taxonomyId, fetchOnly, s
order = 'asc';
}
if (fetchOnly && search && !all) {
if(fetchOnly && search && !all ){
query = `?order=${order}&${qs.stringify(fetchOnly)}&${qs.stringify(search)}`;
} else if (fetchOnly && search && all) {
} else if(fetchOnly && search && all ){
query = `?hideempty=0&order=${order}&${qs.stringify(fetchOnly)}&${qs.stringify(search)}`;
} else if(search && !all && !fetchOnly){
console.log(search)
query = `?hideempty=0&order=${order}&${qs.stringify(search)}`;
} else {
query = `?hideempty=0&order=${order}`;
query =`?hideempty=0&order=${order}`;
}
query += '&parent=' + parentId;