0.1.5a - added sorting lists functionality, added few currency fields to items

This commit is contained in:
Elvanos 2021-04-20 13:58:13 +02:00
parent 2b8dd75d94
commit ab82bbfc74
13 changed files with 229 additions and 9 deletions

View file

@ -2,6 +2,7 @@
<q-dialog
v-model="dialogModel"
@hide="triggerDialogClose"
no-route-dismiss
>
<q-card dark class="documentCloseDialog">
<q-card-section class="row justify-center">

View file

@ -2,6 +2,7 @@
<q-dialog
v-model="dialogModel"
@hide="triggerDialogClose"
no-route-dismiss
>
<q-card dark class="documentCloseDialog">
<q-card-section class="row justify-center">

View file

@ -2,6 +2,7 @@
<q-dialog
v-model="dialogModel"
@hide="triggerDialogClose"
no-route-dismiss
>
<q-card dark class="newProjectCheckDialog">
<q-card-section class="row justify-center">

View file

@ -39,9 +39,52 @@
v-for="(singleInput,index) in localInput"
:key="index"
>
<div class="col-sm-12 col-md">
<div class="col-sm-12 col-md flex">
<q-btn
tabindex="-1"
round
flat
dense
:disable="index === 0"
icon="mdi-arrow-up-bold"
class="q-mr-xs self-center"
size="10px"
:color="(index !== 0) ? 'primary' : ''"
@click="moveItem(index, 'up')"
>
<q-tooltip
:delay="300"
anchor="center left"
self="center right"
>
Move the item one place up
</q-tooltip>
</q-btn>
<q-btn
tabindex="-1"
round
flat
dense
:disable="index === localInput.length - 1"
icon="mdi-arrow-down-bold"
class="q-mr-xs self-center"
size="10px"
:color="(index !== localInput.length - 1) ? 'primary' : ''"
@click="moveItem(index, 'down')"
>
<q-tooltip
:delay="300"
anchor="center left"
self="center right"
>
Move the item one place down
</q-tooltip>
</q-btn>
<q-input
v-model="localInput[index].value"
class="grow-1"
:class="`listField_input${index}_${inputDataBluePrint.id}`"
dense
@keyup="signalInput"
@ -203,6 +246,15 @@ export default class Field_List extends FieldBase {
this.signalInput()
}
moveItem (index: number, direction: "up" | "down") {
const to = (direction === "up") ? index - 1 : index + 1
const from = index
this.localInput.splice(to, 0, this.localInput.splice(from, 1)[0])
this.signalInput()
}
/**
* Signals the input change to the document body parent component
*/

View file

@ -356,7 +356,52 @@
:key="index"
>
<td>
{{stripTags(localInput[index].label)}}
<div class="flex">
<q-btn
tabindex="-1"
round
flat
dense
:disable="index === 0"
icon="mdi-arrow-up-bold"
class="q-mr-xs self-center"
size="10px"
:color="(index !== 0) ? 'primary' : ''"
@click="moveItem(index, 'up')"
>
<q-tooltip
:delay="300"
anchor="center left"
self="center right"
>
Move the item one place up
</q-tooltip>
</q-btn>
<q-btn
tabindex="-1"
round
flat
dense
:disable="index === localInput.length - 1"
icon="mdi-arrow-down-bold"
class="q-mr-xs self-center"
size="10px"
:color="(index !== localInput.length - 1) ? 'primary' : ''"
@click="moveItem(index, 'down')"
>
<q-tooltip
:delay="300"
anchor="center left"
self="center right"
>
Move the item one place down
</q-tooltip>
</q-btn>
<div class="grow-1">
{{stripTags(localInput[index].label)}}
</div>
</div>
</td>
<td>
<q-input
@ -652,6 +697,16 @@ export default class Field_MultiRelationship extends FieldBase {
await CurrentObjectDB.close()
}
moveItem (index: number, direction: "up" | "down") {
const to = (direction === "up") ? index - 1 : index + 1
const from = index
this.localInput.splice(to, 0, this.localInput.splice(from, 1)[0])
this.inputNotes.splice(to, 0, this.inputNotes.splice(from, 1)[0])
this.signalInput().catch(e => console.log(e))
}
/**
* Signals the input change to the document body parent component
*/

View file

@ -70,6 +70,63 @@
</q-select>
<table class="q-mt-sm">
<tr
v-for="(single,index) in localInput"
:key="index"
>
<td>
<div class="flex">
<q-btn
tabindex="-1"
round
flat
dense
:disable="index === 0"
icon="mdi-arrow-up-bold"
class="q-mr-xs self-center"
size="10px"
:color="(index !== 0) ? 'primary' : ''"
@click="moveItem(index, 'up')"
>
<q-tooltip
:delay="300"
anchor="center left"
self="center right"
>
Move the item one place up
</q-tooltip>
</q-btn>
<q-btn
tabindex="-1"
round
flat
dense
:disable="index === localInput.length - 1"
icon="mdi-arrow-down-bold"
class="q-mr-xs self-center"
size="10px"
:color="(index !== localInput.length - 1) ? 'primary' : ''"
@click="moveItem(index, 'down')"
>
<q-tooltip
:delay="300"
anchor="center left"
self="center right"
>
Move the item one place down
</q-tooltip>
</q-btn>
<div class="grow-1 q-mt-sm q-mb-sm">
{{stripTags(single)}}
</div>
</div>
</td>
</tr>
</table>
<div class="separatorWrapper">
<q-separator color="grey q-mt-md" />
</div>
@ -166,6 +223,15 @@ export default class Field_MultiSelect extends FieldBase {
})
}
moveItem (index: number, direction: "up" | "down") {
const to = (direction === "up") ? index - 1 : index + 1
const from = index
this.localInput.splice(to, 0, this.localInput.splice(from, 1)[0])
this.signalInput()
}
/**
* Signals the input change to the document body parent component
*/

View file

@ -257,7 +257,7 @@ a {
.isDead {
text-decoration: line-through;
text-decoration-color: #fff;
}
}
.q-icon::after,
.q-icon::before {
@ -268,6 +268,10 @@ a {
flex-grow: 0;
}
.grow-1 {
flex-grow: 1;
}
.q-notification__message {
font-size: 16px;
font-weight: 500;

View file

@ -3,21 +3,28 @@
---
## 0.1.6
## 0.1.5a
### Known issues
- When creating a brand new project, Fantasia Archive sometimes doesn't load the default categories in the left hierarchical tree. A temporary workaround before the issue is fixed is restarting the program - the project stays intact, can be normally edited and no data loss occurs.
- Some users report that dialog (popups) don't function the very first time you start FA. This is solved by restarting the application. The bug doesn't seem to appear again once FA has been started at least once before.
- POSSIBLY FIXED: When creating a brand new project, Fantasia Archive sometimes doesn't load the default categories in the left hierarchical tree. A temporary workaround before the issue is fixed is restarting the program - the project stays intact, can be normally edited and no data loss occurs.
- POSSIBLY FIXED: Some users report that dialog (popups) don't function the very first time you start FA. This is solved by restarting the application. The bug doesn't seem to appear again once FA has been started at least once before.
- Overusing Tags currently causes app crashes on some PCs. If you suffer from this issue, reduce the number of tags in your project below 10.
### Bugfixes & Optimizations
- Fixed a bug of edit mode "Open in new window" buttons being on higher level than the document control bar and rendering over it
- Fixed non-working edit button inthe hierarchical tree on already opened documents
- Attempted to fixed ocasionally buggy functionality regarding known issues of the non-functional new project and importing/merging
### New features
- Added project merge functionality to the app
- Added arrows to move `List` field items up and down
- Added a new `Cost in different Currencies` one-way relationship field to `Items` document type
- Added a new `Connected to Currencies` two-way relationship field to `Items` document type
- Added a new `Connected to Items` two-way relationship field to `Currencies` document type
### QoL adjustments
- Multiple small field name changes to unify meanings across app

View file

@ -390,7 +390,7 @@ export const charactersBlueprint: I_Blueprint = {
"Benevolent",
"Bewildered",
"Big-thinking",
"Biosterous",
"Boisterous",
"Bizarre",
"Bland",
"Blunt",
@ -722,7 +722,7 @@ export const charactersBlueprint: I_Blueprint = {
"Obvious",
"Odd",
"Offhand",
"Old-fashined",
"Old-fashioned",
"One-dimensional",
"One-sided",
"Open",

View file

@ -159,6 +159,17 @@ export const currenciesBlueprint: I_Blueprint = {
icon: "fas fa-coins",
sizing: 6
},
{
id: "pairedItems",
name: "Connected to Items",
type: "manyToManyRelationship",
icon: "mdi-sword-cross",
sizing: 12,
relationshipSettings: {
connectedObjectType: "items",
connectedField: "pairedCurrencies"
}
},
{
id: "description",
name: "Description & History",

View file

@ -250,6 +250,27 @@ export const itemsBlueprint: I_Blueprint = {
connectedField: "pairedItems"
}
},
{
id: "priceInCurrencies",
name: "Cost in different Currencies",
type: "manyToNoneRelationship",
icon: "fas fa-coins",
sizing: 6,
relationshipSettings: {
connectedObjectType: "currencies"
}
},
{
id: "pairedCurrencies",
name: "Connected to Currencies",
type: "manyToManyRelationship",
icon: "fas fa-coins",
sizing: 6,
relationshipSettings: {
connectedObjectType: "currencies",
connectedField: "pairedItems"
}
},
{
id: "description",
name: "Description & History",

View file

@ -263,7 +263,7 @@ export const mergeExistingProject = (vueRouter: any, Loading: any, loadingSetup:
quasar.notify({
type: 'positive',
message: `Project succesfully imported`
message: `Data successfully merged into the project`
})
vueInstance.SSET_resetDocuments()

View file

@ -18,6 +18,7 @@
- Add "Open app folder" to help menu
- Try to get field titles to show in full-screen edit of text editor fields
- Consider adding some kind of "Follower name" to different group types
- Consider reworking the save document mechanic (save doesnt close, open/exit edit mode instead)
- Add color support (text and background) to view and edit mode of document display
- Add a toggle option for it (default off)