Commit 66b9ce3d authored by ZeMKI's avatar ZeMKI
Browse files

Latest UI updates

* forgot password page
* now study is project. the only thing that remains (for now) are links.
* optimized imports in app.js
* better profile
parent d78b312a
......@@ -13,10 +13,10 @@ If you don't see the button, please copy and paste this link:
",
'emailFeedbackText' => 'mailto:gitlab-incoming+zemki-gitlab-mesort-17188-6siyqlb3eanagb4fgcmza0g4e-issue@informatik.uni-bremen.de?subject=feedback from website&body=Issue: %0A%0A Description: %0A%0A Steps to reproduce:',
'dummyStudy1' => array(
'name' => 'Study with Classifiers',
'name' => 'Project with Classifiers',
'author' => 'A Responsible Researcher(s)
Another Responsible Researcher(s)',
'description' => 'a Short description of study',
'description' => 'a Short description of project',
'sorting' =>
array(
'id' => 1,
......@@ -122,6 +122,6 @@ Another Responsible Researcher(s)',
),
),
),
"countries" => array("Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegowina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", "Congo, the Democratic Republic of the", "Cook Islands", "Costa Rica", "Cote d'Ivoire", "Croatia (Hrvatska)", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands (Malvinas)", "Faroe Islands", "Fiji", "Finland", "France", "France Metropolitan", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard and Mc Donald Islands", "Holy See (Vatican City State)", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran (Islamic Republic of)", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea, Democratic People's Republic of", "Korea, Republic of", "Kuwait", "Kyrgyzstan", "Lao, People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libyan Arab Jamahiriya", "Liechtenstein", "Lithuania", "Luxembourg", "Macau", "Macedonia, The Former Yugoslav Republic of", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia, Federated States of", "Moldova, Republic of", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romania", "Russian Federation", "Rwanda", "Saint Kitts and Nevis", "Saint Lucia", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Seychelles", "Sierra Leone", "Singapore", "Slovakia (Slovak Republic)", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "Spain", "Sri Lanka", "St. Helena", "St. Pierre and Miquelon", "Sudan", "Suriname", "Svalbard and Jan Mayen Islands", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic", "Taiwan, Province of China", "Tajikistan", "Tanzania, United Republic of", "Thailand", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela", "Vietnam", "Virgin Islands (British)", "Virgin Islands (U.S.)", "Wallis and Futuna Islands", "Western Sahara", "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"),
"countries" => array("","Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegowina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", "Congo, the Democratic Republic of the", "Cook Islands", "Costa Rica", "Cote d'Ivoire", "Croatia (Hrvatska)", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands (Malvinas)", "Faroe Islands", "Fiji", "Finland", "France", "France Metropolitan", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard and Mc Donald Islands", "Vatican City State", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran (Islamic Republic of)", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea, Democratic People's Republic of", "Korea, Republic of", "Kuwait", "Kyrgyzstan", "Lao, People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libyan Arab Jamahiriya", "Liechtenstein", "Lithuania", "Luxembourg", "Macau", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia, Federated States of", "Moldova, Republic of", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romania", "Russian Federation", "Rwanda", "Saint Kitts and Nevis", "Saint Lucia", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "Spain", "Sri Lanka", "St. Helena", "St. Pierre and Miquelon", "Sudan", "Suriname", "Svalbard and Jan Mayen Islands", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic", "Taiwan", "Tajikistan", "Tanzania, United Republic of", "Thailand", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela", "Vietnam", "Virgin Islands (British)", "Virgin Islands (U.S.)", "Wallis and Futuna Islands", "Western Sahara", "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"),
'maxNumberOfStudies' => 15,
];
This diff is collapsed.
......@@ -38,7 +38,9 @@
"sass-loader": "^8.0.2",
"tailwindcss": "^3.0.23",
"vue": "^2.6.14",
"vue-loader": "^15.9.7"
"vue-loader": "^15.9.7",
"@vue/runtime-dom": "latest"
},
"dependencies": {
"@babel/runtime": "^7.17.2",
......
import Buefy from "buefy";
import "vue-material-design-icons/styles.css";
import PlusIcon from "vue-material-design-icons/Plus.vue";
import ArrowLeft from "vue-material-design-icons/ArrowLeft.vue";
import ArrowRight from "vue-material-design-icons/ArrowRight.vue";
import Caret from "vue-material-design-icons/ChevronDown.vue";
import homeicon from "vue-material-design-icons/Home.vue";
import Read from "vue-material-design-icons/Read.vue";
import "alpinejs";
import Vue from "vue";
import Vuex, { mapState } from "vuex";
import store from "./store";
import { RayPlugin } from "vue-ray/vue2";
import moment from "moment";
require("./bootstrap");
......@@ -52,6 +47,7 @@ Vue.use(RayPlugin, {
interceptConsoleLog: false,
},
});
Vue.use(moment);
require("./components");
......@@ -173,14 +169,6 @@ Vue.mixin({
window.app = new Vue({
el: "#app",
components: {
PlusIcon,
ArrowRight,
ArrowLeft,
Caret,
homeicon,
Read,
},
store,
computed: {
...mapState({
......@@ -200,6 +188,7 @@ window.app = new Vue({
}),
},
data: {
moment: moment,
newstudy: {},
users: {},
newuser: {
......
......@@ -194,105 +194,6 @@
</div>
</div>
</div>
<!-- <form
enctype="multipart/form-data"
:key="'modal' + newinterview.sorting"
>
<div class="modal-card" style="width: auto">
<header class="modal-card-head">
<p class="modal-card-title">
{{ trans("Create new token") }}
</p>
</header>
<section class="modal-card-body modal-newtoken">
<div
:class="
Object.keys(newinterview.newtoken).length !== 0
? 'token-img-newtokenInterview m-auto w-auto h-auto'
: 'token-img-newtokenInterview m-auto'
"
>
<img
:id="'tokenImage' + newinterview.sorting"
:class="
Object.keys(newinterview.newtoken).length !== 0
? 'w-full h-full'
: ''
"
:src="tokenimage"
alt=""
style="vertical-align: bottom"
/>
</div>
<div class="card-content">
<label class="label">{{ trans("Token name") }}</label>
<input
class="bg-gray-200 border-transparent input focus:bg-white focus:border-blue-400"
type="text"
v-model="newinterview.newtoken.name"
/>
<label class="mt-5 label">{{
trans("Preset tokens")
}}</label>
<v-select
class=""
:options="newinterview.imagepreset"
label="basename"
v-model="newinterview.newtoken.file"
>
<template slot="label" slot-scope="label">
{ option.basename }}
</template>
<template slot="option" slot-scope="option">
<img
:src="option.dirname"
style="
max-width: 25px;
padding: 0px;
margin: 0 auto;
display: inline;
"
/>
<span class="fa" :value="option.dirname"></span>
{{ option.basename }}
</template>
</v-select>
</div>
<b-field class="block file has-text-centered">
<b-upload
v-model="newinterview.newtoken.file"
accept="image/*"
>
<a class="button is-danger">
<div class="md:text-sm">
{{ trans("Click to upload") }}
</div>
</a>
<br />
</b-upload>
</b-field>
<div class="flex">
<a
:disabled="
newinterview.newtoken.name == null ||
newinterview.newtoken.name == ''
"
:class="
newinterview.newtoken.name != null ||
newinterview.newtoken.name == ''
? 'button is-primary text-2xl m-auto w-auto'
: 'button is-primary text-2xl opacity-50 cursor-not-allowed m-auto w-auto'
"
@click.prevent="saveToken"
>
{{ trans("Save") }}
</a>
</div>
</section>
</div>
</form> -->
</section>
</template>
<style scoped>
......
......@@ -269,7 +269,7 @@ export default {
},
squareCss: function () {
return (
"bg-gradient-to-r from-gray-900 via-blue-500 to-white text-white border border-solid border-white qsortlg:w-" +
"bg-gradient-to-r from-gray-900 to-white text-white border border-solid border-white qsortlg:w-" +
this.sizes[this.qsortSizeIndex] +
" qsortmd:w-16 qsortsm:w-12 qsortlg:h-" +
this.sizes[this.qsortSizeIndex] +
......
......@@ -18,11 +18,11 @@
<form
enctype="multipart/form-data">
<h1 class="text-4xl font-extrabold tracking-tight text-blue-500 uppercase md:text-5xl lg:text-6xl" v-text="isedit ? trans('Edit Study') : trans('Create Study')">
<h1 class="text-4xl font-extrabold tracking-tight text-blue-500 uppercase md:text-5xl lg:text-6xl" v-text="isedit ? trans('Edit Project') : trans('Create Project')">
</h1>
<h6 class="my-6 text-xl text-red-600">
{{
trans('To create a new study, you should provide some general information, choose a sorting scheme you wish to use and add additional questions for your interviewees. To navigate between these options please use the three tabs provided below.')
trans('To create a new project, you should provide some general information, choose a sorting scheme you wish to use and add additional questions for your interviewees. To navigate between these options please use the three tabs provided below.')
}}</h6>
<div class="w-full p-4 rounded-md bg-yellow-50" v-show="response.length > 0">
<div class="flex">
......@@ -55,7 +55,7 @@
>Step 1</span>
<span class="text-sm font-medium">
{{
trans('Study Details')
trans('Project Details')
}}
</span>
......@@ -113,7 +113,7 @@
<h6 class="mt-2 subtitle has-text-danger">
{{
trans('Please give your study a name, assign one or more responsible researchers and add a short description. All information is mandatory to successful save the study.')
trans('Please give your project a name, assign one or more responsible researchers and add a short description. All information is mandatory to successful save the project.')
}}
</h6>
<div
......@@ -126,7 +126,7 @@
:class="response.indexOf(errormessages.studyname) > -1 ? 'is-red text-uppercase': 'text-uppercase'"
class="block text-base font-bold text-gray-700">
{{
trans('Study Name')
trans('Project Name')
}}
</label>
<div
......@@ -190,7 +190,7 @@
class="field">
<label
class="block text-base font-bold text-gray-700">{{
trans('Short description of study')
trans('Short description of project')
}}</label>
<div
class="control">
......@@ -218,7 +218,7 @@
:class="{'hidden': openTab !== 2, 'block': openTab === 2}">
<h6 class="mt-2 subtitle has-text-danger">
{{
trans('Please provide your study with instructions for the interviewee, select a sorting scheme and define sorting tokens according to your needs, or use preset tokens.')
trans('Please provide your project with instructions for the interviewee, select a sorting scheme and define sorting tokens according to your needs, or use preset tokens.')
}}
</h6>
<div
......@@ -259,44 +259,52 @@
class="flex w-full h-auto">
<div
class="w-1/3">
<label
class="label">
{{
trans('Choose Sorting Scheme')
}}
</label>
<div
class="p-5 text-center bg-gray-900">
<div
class="block w-full mx-auto text-white">
{{
sortingname
}}
</div>
<div
class="block w-full mx-auto">
<span
class="inline hover:bg-blue-500 md:text-2xl sm:text-xs md:p-2 sm:mb-4 md:mt-0 sm:p-0"
@click="selectedSorting > 1 ? selectedSorting-- : false">
<arrow-left
class="items-center text-white"/>
</span>
<img
:src="baseUrl+productionUrl+'/images/sorting'+selectedSorting+'.png'"
<div>
<label id="listbox-label" class="sr-only"> Choose Sorting </label>
<div class="relative">
<div class="inline-flex divide-x divide-blue-600 rounded-md shadow-sm">
<div class="relative z-0 inline-flex divide-x divide-blue-600 rounded-md shadow-sm">
<div class="relative inline-flex items-center py-2 pl-3 pr-4 text-white bg-blue-500 border border-transparent shadow-sm rounded-l-md">
<!-- Heroicon name: solid/check -->
<svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd" />
</svg>
<p class="ml-2.5 text-sm font-medium" v-html="sortingTypes[selectedSorting-1]"></p>
</div>
<button @click="showSelectSorting = !showSelectSorting" type="button" class="relative inline-flex items-center p-2 text-sm font-medium text-white bg-blue-500 rounded-l-none rounded-r-md hover:bg-blue-600 focus:outline-none focus:z-10 focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-50 focus:ring-blue-500" aria-haspopup="listbox" aria-expanded="true" aria-labelledby="listbox-label">
<span class="sr-only">Choose Sorting</span>
<!-- Heroicon name: solid/chevron-down -->
<svg class="w-5 h-5 text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
</svg>
</button>
</div>
</div>
<ul v-show="showSelectSorting" class="absolute right-0 z-10 mt-2 overflow-hidden origin-top-right bg-white divide-y divide-gray-200 rounded-md shadow-lg w-72 ring-1 ring-black ring-opacity-5 focus:outline-none" tabindex="-1" role="listbox" aria-labelledby="listbox-label" aria-activedescendant="listbox-option-0">
<li @click="hideAndAssignSorting(sindex)" class="relative p-4 text-sm text-gray-900 cursor-default select-none hover:bg-blue-200" v-for="(sortingType,sindex) in sortingTypes" :key="sindex" :id="'listbox-option-'+sindex" role="option" >
<div class="flex flex-col">
<div class="flex justify-between">
<p class="font-normal" v-html="sortingType"></p>
<img :src="baseUrl+productionUrl+'/images/sorting'+(sindex+1)+'.png'"
alt="circle sorting"
class="inline w-40 h-40 rounded-full ">
<span
class="inline hover:bg-blue-500 md:text-2xl sm:text-xs md:p-2 sm:p-0 sm:mt-4 md:mt-0"
@click="selectedSorting < 3 ? selectedSorting++ : false">
<arrow-right
class="items-center text-white"/>
</span>
</div>
<p v-if="selectedSorting === 1" class="text-white">{{ trans('Circle Sorting') }}</p>
<p v-else-if="selectedSorting === 2" class="text-white">{{ trans('Network Sorting') }}</p>
<p v-else-if="selectedSorting === 3" class="text-white">{{ trans('Q Sort') }}</p>
</div>
class="z-10 bg-gray-100 rounded-full w-9 h-9">
</div>
<p class="mt-2 text-gray-500">{{sortingsDescription[sindex]}}</p>
</div>
</li>
</ul>
</div>
</div>
<div
v-if="selectedSorting !== 3"
......@@ -675,6 +683,7 @@
class="block max-w-full overflow-x-scroll">
<div
v-for="(column,index) in sorting.qsort"
:key="index"
class="relative flex flex-row w-auto h-10 mt-1 bg-transparent">
<div
class="flex shrink">
......@@ -898,6 +907,7 @@
</div>
<div
v-for="(q,index) in presort.questions"
:key="index"
class="field">
<div class="relative px-3 py-2 my-4 border border-gray-300 rounded-md shadow-sm focus-within:ring-1 focus-within:ring-blue-500 focus-within:border-blue-700">
<label for="name" class="absolute inline-block px-1 -mt-px text-xs font-medium text-gray-900 bg-white -top-2 left-2">{{trans('Question')}}</label>
......@@ -1278,14 +1288,14 @@
<input
v-if="!isedit"
:class="{'is-loading' : loading}"
:value="trans('Create new study')"
:value="trans('Create new project')"
class="px-4 py-2 font-bold text-white bg-green-500 hover:bg-green-700 focus:outline-none"
type="submit"
@click.prevent="savestudy()">
<input
v-if="isedit"
:class="{'is-loading' : loading}"
:value="trans('Edit current study')"
:value="trans('Edit current project')"
class="px-4 py-2 font-bold text-white bg-green-500 hover:bg-green-700 focus:outline-none"
type="submit"
@click.prevent="editstudy()">
......@@ -1307,6 +1317,9 @@ export default {
}, data() {
return {
showSelectSorting: false,
sortingTypes:["Circle Sorting","Network Sorting","Q-Sort"],
sortingsDescription: ["For researching media repertoires or repertoires of other kinds of objects.","For social network analysis and other personal network reconstructions.","For Q-methodology research."],
tokenhistory: 0,
colors: [
'#CC1F1A', '#DE751F', '#F2D024', '#1F9D55', '#38A89D', '#2779BD', '#5661B3', '#794ACF', '#EB5286',
......@@ -1372,7 +1385,7 @@ export default {
],
}, response: '', errormessages: {
studyname: this.trans('Name of the Study required.') + '<br>', author: this.trans('Author\'s name required.') + '<br>', short_description: this.trans('Study description required required.') + '<br>', tokens: this.trans('Please fill all the Tokens\'s names.') + '<br>', answertype: this.trans('Please check that all the answer have a type.') + '<br>', question: this.trans('Please check all the questions.') + '<br>', multipleanswer: this.trans('One of your Multiple Choice is empty.') + '<br>', centerLabel: this.trans('Select a label for the center of the sorting.') + '<br>', sections: this.trans('Please fill all the sections names.') + '<br>', colors: this.trans('Please select all the section\'s label colors or select casual colors.') + '<br>',qsortextremequestion: this.trans('Please insert a question for the extremes')
studyname: this.trans('Name of the Project required.') + '<br>', author: this.trans('Author\'s name required.') + '<br>', short_description: this.trans('Project description required required.') + '<br>', tokens: this.trans('Please fill all the Tokens\'s names.') + '<br>', answertype: this.trans('Please check that all the answer have a type.') + '<br>', question: this.trans('Please check all the questions.') + '<br>', multipleanswer: this.trans('One of your Multiple Choice is empty.') + '<br>', centerLabel: this.trans('Select a label for the center of the sorting.') + '<br>', sections: this.trans('Please fill all the sections names.') + '<br>', colors: this.trans('Please select all the section\'s label colors or select casual colors.') + '<br>',qsortextremequestion: this.trans('Please insert a question for the extremes')
},
};
}, computed: {
......@@ -1633,6 +1646,10 @@ export default {
},
}, methods: {
hideAndAssignSorting(sortingId){
this.selectedSorting = sortingId+1;
this.showSelectSorting = false;
},
activatecombo: function(index){
this.sorting.tokens[index].showCombobox = !this.sorting.tokens[index].showCombobox;
this.$forceUpdate()
......
This diff is collapsed.
......@@ -91,14 +91,11 @@
</template>
<script>
import Pencil from "vue-material-design-icons/Pencil.vue";
import moment from "moment";
export default {
props: ["urls"],
components: {
Pencil,
},
data() {
return {
moment: moment,
......
......@@ -118,7 +118,7 @@
>
<div class="flex items-start">
<h1 class="flex-1 text-lg font-medium">
{{ trans("Studies") }}
{{ trans("Projects") }}
</h1>
<div class="flex justify-center flex-1">
<div
......@@ -170,11 +170,11 @@
<input
type="search"
id="search"
name="search studies"
name="search projects"
v-model="search"
autocomplete="off"
class="block w-full py-2 pl-10 pr-3 leading-5 text-white placeholder-blue-200 bg-white border border-blue-100 rounded-md focus:outline-none focus:bg-white focus:ring-0 focus:placeholder-gray-400 focus:text-gray-900 sm:text-sm"
:placeholder="trans('Search Studies')"
:placeholder="trans('Search Projects')"
/>
</div>
</div>
......@@ -257,7 +257,7 @@
:href="productionUrl + 'studies/' + study.id"
class="inline-flex items-center justify-center px-4 py-2 text-sm font-medium text-white bg-blue-500 border border-transparent rounded-md shadow-sm cursor-pointer hover:bg-blue-700 hover:text-indigo-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 xl:w-full"
>
{{ trans("Manage Study") }}
{{ trans("Manage Project") }}
</a>
<a
title="new interview"
......
<?php
return array (
'E-Mail Address' => 'E-Mail Addresse',
'Language' => 'Sprache',
'New Study' => 'Neue Studie',
'Create Study' => 'Studie Erstellen',
'new study text' => 'boh',
'To create a new study, you should provide some general information, choose a sorting scheme you wish to use and can add additional questions for your interviewees. To navigate between these options please use the three tabs provided below.' => 'si dai',
'Choose Sorting Scheme' => 'Wählen Sie Sortierschema',
'Click to upload' => 'Klicken Sie zum Hochladen',
'Add attributes to tokens? Choose from a set:' => 'sì madre',
);
<?php
return array (
'throttle' => 'testasd',
);
<?php
return array (
'previous' => '« Previous',
'next' => 'Next »',
);
<?php
return array (
'reset' => 'Your password has been reset!',
'sent' => 'We have e-mailed your password reset link!',
'token' => 'This password reset token is invalid.',
'user' => 'We can\'t find a user with that e-mail address.',
);
......@@ -79,7 +79,7 @@
<a :class="url == '' ? 'text-blue-400' :'text-gray-500'" href="{{url('admin/studies')}}"
target="_blank"
class="block py-1 pl-1 no-underline align-middle border-b-2 border-gray-900 md:py-3 hover:text-gray-100 hover:border-purple-400">
<i class="mr-3 fa fa-envelope fa-fw"></i><span class="pb-1 text-sm md:pb-0">Studies</span>
<i class="mr-3 fa fa-envelope fa-fw"></i><span class="pb-1 text-sm md:pb-0">Projects</span>
</a>
</li>
<li class="my-2 mr-6 md:my-0">
......
@extends('auth.layouts.app')
@section('content')
@if(session()->has('message') || !empty($message))
<div class="p-4 rounded-md bg-red-50">
<div class="flex">
<div class="flex-shrink-0">
<!-- Heroicon name: solid/x-circle -->
<svg class="w-5 h-5 text-red-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"
aria-hidden="true">
<path fill-rule="evenodd"
d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z"
clip-rule="evenodd" />
</svg>
<div class="flex sm:items-start md:items-center md:justify-center h-screen">
<div class="bg-white p-4 rounded overflow-hidden shadow-lg sm:w-full md:w-1/2 lg:w-1/3">
@if (session('status'))
<div class="flex relative px-3 py-3 mb-4 border text-green-800 bg-green-200">
{{ session('status') }}
</div>
@endif
@if(session()->has('message') || !empty($message))
<div class="bg-blue-100 border-t border-b border-blue-500 text-blue-700 px-4 py-3" role="alert">
<p class="font-bold">{{session()->get('message') ? session()->get('message') : $message}}</p>
</div>
@endif
<div class="text-center">
<h1 class="text-4xl pb-2 m-auto max-w-full font-extrabold">
Mesort</h1>
<h4> {{ __('Reset Password') }} </h4>
<div class="py-4 w-full text-center">
<a class="text-blue-500 hover:text-red-600 block"
href="{{url('login')}}">{{__("Return to login")}}</a>
</div>
</div>
<div class="ml-3">
<div class="mt-2 text-sm text-red-700">
{{session()->get('message') ? session()->get('message') : $message}}
</div>
<form method="POST" action="{{ route('password.email') }}">
@csrf
<div class="mb-4 flex flex-wrap">
<label for="email"
class="w-full mr-2 pl-1 pt-2 pb-2 mb-0 leading-normal">{{ __('E-Mail Address') }}</label>
</div>
</div>
</div>
@endif
<input id="email" type="email"
class="block appearance-none w-full py-1 px-2 mb-1 text-base leading-normal bg-white text-grey-darker border border-grey rounded{{ $errors->has('email') ? ' bg-red-dark' : '' }}"
name="email" value="{{ old('email') }}" required>
<div class="flex items-center justify-center min-h-full px-4 py-12 sm:px-6 lg:px-8">
<div class="w-full max-w-md space-y-8">
@if (session('status'))
<div class="py-2 pl-2 my-2 font-bold text-white bg-blue-500 rounded-none appearance-none ">
{{session('status')}}
</div>
@endif
<div>
<img class="w-auto h-24 mx-auto" src="{{config('utilities.base64logo')}}" alt="Mesort Logo">
<h1 class="mt-6 text-3xl font-extrabold text-center text-gray-900">{{__('Reset Password')}}</h1>
<p class="mt-2 text-sm text-center text-gray-600">
Or
<a href="{{url('login')}}" class="font-medium text-blue-500 hover:text-blue-700"> {{__('Login')}}
</a>
</p>
</div>
<form class="mt-8 space-y-6" action="{{ route('password.email') }}" method="POST">
<input type="hidden" name="remember" value="true">
@csrf
<div class="-space-y-px rounded-md shadow-sm">
<div>