Fix: Hamburger menu styles.

This commit is contained in:
2025-08-07 10:39:04 +01:00
parent 3d2b753b79
commit e87490c3de
62 changed files with 3113 additions and 941 deletions

View File

@@ -32,6 +32,7 @@ from business_objects.dog.command import Command
from business_objects.dog.command_button_link import Command_Button_Link
from business_objects.dog.command_category import Command_Category
from business_objects.dog.command_modality import Command_Modality
from business_objects.dog.company import Company
from business_objects.dog.distraction import Distraction
from business_objects.dog.distraction_intensity_level import Distraction_Intensity_Level
from business_objects.dog.distraction_type import Distraction_Type
@@ -42,6 +43,7 @@ from business_objects.dog.lighting_level import Lighting_Level
from business_objects.dog.location import Location
from business_objects.dog.obedience_level import Obedience_Level
from business_objects.dog.response_quality_metric import Response_Quality_Metric
from business_objects.dog.role import Role
from business_objects.dog.user import User
from business_objects.dog.weather import Weather
from datastores.datastore_base import DataStore_Base
@@ -71,6 +73,7 @@ class Model_View_Base(BaseModel, ABC):
ATTR_ID_COMMAND_BUTTON_LINK: ClassVar[str] = Command_Button_Link.ATTR_ID_COMMAND_BUTTON_LINK
ATTR_ID_COMMAND_CATEGORY: ClassVar[str] = Command_Category.ATTR_ID_COMMAND_CATEGORY
ATTR_ID_COMMAND_MODALITY: ClassVar[str] = Command_Modality.ATTR_ID_COMMAND_MODALITY
ATTR_ID_COMPANY: ClassVar[str] = Company.ATTR_ID_COMPANY
ATTR_ID_DISTRACTION: ClassVar[str] = Distraction.ATTR_ID_DISTRACTION
ATTR_ID_DISTRACTION_INTENSITY_LEVEL: ClassVar[str] = Distraction_Intensity_Level.ATTR_ID_DISTRACTION_INTENSITY_LEVEL
ATTR_ID_DISTRACTION_TYPE: ClassVar[str] = Distraction_Type.ATTR_ID_DISTRACTION_TYPE
@@ -82,6 +85,9 @@ class Model_View_Base(BaseModel, ABC):
ATTR_ID_LOCATION: ClassVar[str] = Location.ATTR_ID_LOCATION
ATTR_ID_OBEDIENCE_LEVEL: ClassVar[str] = Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL
ATTR_ID_RESPONSE_QUALITY_METRIC: ClassVar[str] = Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC
ATTR_ID_ROLE: ClassVar[str] = Role.ATTR_ID_ROLE
ATTR_ID_USER: ClassVar[str] = User.ATTR_ID_USER
ATTR_ID_USER_AUTH0: ClassVar[str] = User.ATTR_ID_USER_AUTH0
ATTR_ID_WEATHER: ClassVar[str] = Weather.ATTR_ID_WEATHER
ATTR_TEXT_COLLAPSED: ClassVar[str] = 'textCollapsed'
ATTR_TEXT_EXPANDED: ClassVar[str] = 'textExpanded'
@@ -141,12 +147,13 @@ class Model_View_Base(BaseModel, ABC):
FLAG_CODE: ClassVar[str] = Base.FLAG_CODE
FLAG_COLLAPSIBLE: ClassVar[str] = 'collapsible'
FLAG_COLOUR: ClassVar[str] = Colour.FLAG_COLOUR
FLAG_COLUMN: ClassVar[str] = 'column'
FLAG_COMMAND: ClassVar[str] = Command.FLAG_COMMAND
FLAG_COMMAND_BUTTON_LINK: ClassVar[str] = Command_Button_Link.FLAG_COMMAND_BUTTON_LINK
FLAG_COMMAND_CATEGORY: ClassVar[str] = Command_Category.FLAG_COMMAND_CATEGORY
FLAG_COMMAND_MODALITY: ClassVar[str] = Command_Modality.FLAG_COMMAND_MODALITY
FLAG_COLUMN: ClassVar[str] = 'column'
FLAG_COMMENT: ClassVar[str] = 'comment'
FLAG_COMPANY: ClassVar[str] = Company.FLAG_COMPANY
FLAG_CONTAINER: ClassVar[str] = 'container'
FLAG_CONTAINER_ICON_AND_LABEL: ClassVar[str] = 'container-icon-label'
FLAG_CONTAINER_INPUT: ClassVar[str] = 'container-input'
@@ -176,6 +183,7 @@ class Model_View_Base(BaseModel, ABC):
FLAG_FAQ: ClassVar[str] = 'faq'
FLAG_FEATURES: ClassVar[str] = 'features'
FLAG_FILTER: ClassVar[str] = 'filter'
FLAG_FIRSTNAME: ClassVar[str] = Base.FLAG_FIRSTNAME
FLAG_FORM: ClassVar[str] = 'form'
FLAG_FORM_FILTERS: ClassVar[str] = 'form-filters'
FLAG_HAMBURGER: ClassVar[str] = 'hamburger'
@@ -215,7 +223,7 @@ class Model_View_Base(BaseModel, ABC):
FLAG_NAV_DOG_LOCATIONS: ClassVar[str] = 'navDogLocations'
FLAG_NAV_HOME: ClassVar[str] = 'navHome'
FLAG_NAV_USER_ACCOUNT: ClassVar[str] = 'navUserAccount'
FLAG_NAV_USER_ADMIN: ClassVar[str] = 'navUserAdmin'
FLAG_NAV_USER_ACCOUNT: ClassVar[str] = 'navUserAccounts'
FLAG_NAV_USER_LOGIN: ClassVar[str] = 'navUserLogin'
FLAG_NAV_USER_LOGOUT: ClassVar[str] = 'navUserLogout'
FLAG_NOTES: ClassVar[str] = "notes"
@@ -227,6 +235,7 @@ class Model_View_Base(BaseModel, ABC):
FLAG_QUANTITY: ClassVar[str] = 'quantity'
FLAG_RESPONSE_QUALITY_METRIC: ClassVar[str] = Response_Quality_Metric.FLAG_RESPONSE_QUALITY_METRIC
FLAG_RIGHT_HAND_SIDE: ClassVar[str] = 'rhs'
FLAG_ROLE: ClassVar[str] = Role.FLAG_ROLE
FLAG_ROW: ClassVar[str] = 'row'
FLAG_ROW_NEW: ClassVar[str] = 'row-new'
FLAG_ROWS: ClassVar[str] = Base.FLAG_ROWS
@@ -237,6 +246,7 @@ class Model_View_Base(BaseModel, ABC):
FLAG_STATUS: ClassVar[str] = 'status'
FLAG_SUBMIT: ClassVar[str] = 'submit'
FLAG_SUCCESS: ClassVar[str] = 'success'
FLAG_SURNAME: ClassVar[str] = Base.FLAG_SURNAME
FLAG_TABLE_MAIN: ClassVar[str] = 'table-main'
FLAG_TEMPORARY_ELEMENT: ClassVar[str] = 'temporary-element'
FLAG_TESTIMONIAL: ClassVar[str] = 'testimonial'
@@ -270,6 +280,7 @@ class Model_View_Base(BaseModel, ABC):
HASH_PAGE_LICENSE: ClassVar[str] = '/license'
HASH_PAGE_PRIVACY_POLICY: ClassVar[str] = '/privacy-policy'
HASH_PAGE_USER_ACCOUNT: ClassVar[str] = '/user'
HASH_PAGE_USER_ACCOUNTS: ClassVar[str] = '/users'
HASH_PAGE_USER_LOGIN: ClassVar[str] = '/login'
HASH_PAGE_USER_LOGOUT: ClassVar[str] = '/logout'
# HASH_SAVE_DOG_ASSESSMENT: ClassVar[str] = '/dog/save-assessment'
@@ -281,6 +292,7 @@ class Model_View_Base(BaseModel, ABC):
HASH_SAVE_DOG_COMMAND_CATEGORY: ClassVar[str] = '/dog/save-command-category'
HASH_SAVE_DOG_DOG_COMMAND_LINK: ClassVar[str] = '/dog/save-dog-command-link'
HASH_SAVE_DOG_LOCATION: ClassVar[str] = '/dog/save-location'
HASH_SAVE_DOG_USER: ClassVar[str] = '/dog/save-user'
ID_BUTTON_ADD: ClassVar[str] = 'buttonAdd'
ID_BUTTON_APPLY_FILTERS: ClassVar[str] = 'buttonApplyFilters'
ID_BUTTON_CANCEL: ClassVar[str] = 'buttonCancel'
@@ -347,23 +359,27 @@ class Model_View_Base(BaseModel, ABC):
self.user = datastore_base.get_user_session()
self.is_user_logged_in = self.user.get_is_logged_in()
# Helper_App.console_log(f'model_view_base init end - model.user: {self.user}')
def output_bool(self, boolean):
return str(boolean).lower()
def get_url_host(self):
return self.app.config['URL_HOST']
@staticmethod
def output_bool(boolean):
return str(boolean).lower()
def get_user_session(self):
@staticmethod
def get_user_session():
datastore_user = DataStore_User()
return datastore_user.get_user_session()
def get_many_access_level(self, filters=None):
@staticmethod
def get_many_access_level(filters=None):
_m = 'Model_View_Store.get_many_access_level'
# av.val_instance(filters, 'filters', _m, Filters_Access_Level)
access_levels, errors = DataStore_Base.get_many_access_level(filters)
return access_levels
def get_many_unit_measurement(self, filters=None):
@staticmethod
def get_many_unit_measurement(filters=None):
_m = 'Model_View_Store.get_many_unit_measurement'
# av.val_instance(filters, 'filters', _m, Filters_Unit_Measurement)
units_measurement, errors = DataStore_Base.get_many_unit_measurement(filters)