From 65bbbe5b47e328ff73700eafff37747e8437a810 Mon Sep 17 00:00:00 2001 From: Elvanos Date: Thu, 13 May 2021 19:51:35 +0200 Subject: [PATCH] 0.1.7 - added new document types, reworked old types --- src/App.vue | 2 +- src/BaseClass.ts | 19 + src/components/DocumentPreview.vue | 13 + src/components/ObjectTree.vue | 92 ++- src/components/appHeader/TopTabs.vue | 6 +- src/components/fields/Field_Break.vue | 9 +- src/components/fields/Field_ColorPicker.vue | 21 +- src/components/fields/Field_List.vue | 44 +- .../fields/Field_MultiRelationship.vue | 14 +- src/components/fields/Field_MultiSelect.vue | 18 +- src/components/fields/Field_Number.vue | 18 +- .../fields/Field_SingleRelationship.vue | 41 +- src/components/fields/Field_SingleSelect.vue | 19 +- src/components/fields/Field_Switch.vue | 18 +- src/components/fields/Field_Tags.vue | 18 +- src/components/fields/Field_Text.vue | 19 +- src/components/fields/Field_Wysiwyg.vue | 3 +- src/css/app.scss | 33 + src/css/app/customColors.scss | 8 + src/css/quasar.variables.scss | 2 + src/documents/changeLog.md | 20 +- src/interfaces/I_Blueprint.ts | 4 +- src/layouts/DocumentLayout.vue | 15 +- src/pages/DocumentDisplay.vue | 8 + src/pages/ProjectScreen.vue | 16 +- .../databaseManager/blueprintManager.ts | 18 +- .../databaseManager/blueprints/chapters.ts | 3 +- .../databaseManager/blueprints/characters.ts | 456 +++++++++---- .../databaseManager/blueprints/conditions.ts | 636 ++++++++++++++++++ .../databaseManager/blueprints/culture.ts | 384 +++++++++++ .../databaseManager/blueprints/currencies.ts | 62 +- .../databaseManager/blueprints/events.ts | 152 +++-- .../databaseManager/blueprints/guilds.ts | 179 +++-- .../databaseManager/blueprints/items.ts | 277 ++++++-- .../databaseManager/blueprints/languages.ts | 82 ++- .../databaseManager/blueprints/locations.ts | 246 ++++--- .../databaseManager/blueprints/loreNotes.ts | 130 +++- .../databaseManager/blueprints/magic.ts | 235 ++++--- .../databaseManager/blueprints/myths.ts | 206 ++++-- .../blueprints/politicalGroups.ts | 176 +++-- .../databaseManager/blueprints/professions.ts | 463 +++++++++++++ .../databaseManager/blueprints/races.ts | 394 ++++++----- .../databaseManager/blueprints/religions.ts | 172 +++-- .../databaseManager/blueprints/resources.ts | 580 ++++++++++++++++ .../blueprints/scienceTechnology.ts | 202 ++++-- .../databaseManager/blueprints/skills.ts | 568 ++++++++++++++++ .../databaseManager/documentManager.ts | 329 +++++---- .../databaseManager/relationshipManager.ts | 58 +- suggestionList.md | 28 +- 49 files changed, 5280 insertions(+), 1236 deletions(-) create mode 100644 src/scripts/databaseManager/blueprints/conditions.ts create mode 100644 src/scripts/databaseManager/blueprints/culture.ts create mode 100644 src/scripts/databaseManager/blueprints/professions.ts create mode 100644 src/scripts/databaseManager/blueprints/resources.ts create mode 100644 src/scripts/databaseManager/blueprints/skills.ts diff --git a/src/App.vue b/src/App.vue index 4838948..cce01a2 100644 --- a/src/App.vue +++ b/src/App.vue @@ -94,7 +94,7 @@ export default class App extends BaseClass { await this.loadCorkboardCotent() - // Load the popup hint on start + // Load the popup hint on this.loadHintPopup() // React to keybind presses diff --git a/src/BaseClass.ts b/src/BaseClass.ts index 4f08093..93ac21c 100644 --- a/src/BaseClass.ts +++ b/src/BaseClass.ts @@ -437,6 +437,25 @@ export default class BaseClass extends Vue { return fieldValue } + /** + * Retrieves value of requested field. If the field doesn't exist, returns false instead + * @param document - Document object that is expected to contain the field + * @param fieldID - ID of the field to check + */ + retrieveFieldType (document: I_OpenedDocument| I_ShortenedDocument, fieldID: string) : string | number | [] | false | I_FieldRelationship { + const fieldData = document?.extraFields + + // Fizzle if field doesnt exist + if (!fieldData) { + return false + } + + const documentBlueprint = this.SGET_blueprint(document.type) + + const fieldType = documentBlueprint.extraFields.find(f => f.id === fieldID)?.type as unknown as string + return fieldType + } + /** * Retrieves array length of requested field. If the field doesn't exist or isn't array, returns false instead * @param document - Document object that is expected to contain the field diff --git a/src/components/DocumentPreview.vue b/src/components/DocumentPreview.vue index b8ce7f9..e0dda2e 100644 --- a/src/components/DocumentPreview.vue +++ b/src/components/DocumentPreview.vue @@ -265,6 +265,10 @@ export default class DocumentPreview extends BaseClass { * Checks if the field in question */ hasValueFieldFilter (field: any) { + if (this.retrieveFieldType(this.localDocument, field.id) === "break") { + return true + } + const value = this.retrieveFieldValue(this.localDocument, field.id) if (!value || @@ -430,6 +434,15 @@ export default class DocumentPreview extends BaseClass { background-color: map-get($customColors, 'gunmetal-lighter') !important; color: #fff; + .inputWrapper { + display: flex; + flex-direction: column; + } + + h5 { + font-size: 19px; + } + .text-primary { color: #ffd673 !important; } diff --git a/src/components/ObjectTree.vue b/src/components/ObjectTree.vue index d625f89..0db2d76 100644 --- a/src/components/ObjectTree.vue +++ b/src/components/ObjectTree.vue @@ -68,7 +68,7 @@ @mouseleave="setDocumentPreviewClose" >
@@ -120,7 +121,7 @@
-