Feat: Assessment page complete and new Home page layout for marketing phase 1 of the customer acquisition plan and offering a demo and for trainers to join the alpha trials. Reporting images created for radar diagram of Command mastery by Command Category; line graph of single command progress measured by obedience level, response latency, and compliance duration over time; Calendar Entries page filtered to unpaid bill calendary entries created using dummy data created in web server as database implementation not yet started.

This commit is contained in:
2025-07-30 19:57:47 +01:00
parent d38bf51345
commit e1fedaf773
93 changed files with 2605 additions and 875 deletions

View File

@@ -0,0 +1,264 @@
SELECT *
FROM demo.DOG_Assessment A
WHERE A.id_assessment = 21
ORDER BY A.created_on DESC
;
SELECT *
FROM demo.DOG_Distraction D
INNER JOIN demo.DOG_Assessment A ON D.id_assessment = A.id_assessment
WHERE
D.id_distraction = 5
-- A.id_assessment = 21
ORDER BY A.created_on DESC, D.created_on DESC
;
SELECT *
FROM demo.DOG_Assessment_Command_Modality_Link ACML
INNER JOIN demo.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
WHERE
-- ACML.id_link = 5
A.id_assessment = 21
ORDER BY A.created_on DESC, ACML.created_on DESC
;
SELECT *
FROM demo.DOG_Assessment_Response AR
INNER JOIN demo.DOG_Assessment_Command_Modality_Link ACML ON AR.id_assessment_command_modality_link = ACML.id_link
INNER JOIN demo.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
WHERE
-- ACML.id_link = 5
A.id_assessment = 21
ORDER BY A.created_on DESC, ACML.created_on DESC
;
/*
INSERT INTO demo.DOG_Assessment_Command_Modality_Link (
id_assessment
, id_command
, id_command_modality
,id_bribe
,distance_from_handler_metres
,is_in_sight_of_handler
,is_in_scent_range_of_handler
,is_in_hearing_range_of_handler
,is_on_lead
,active
)
SELECT
21 -- id_assessment
, C.id_command
, 1 + (C.id_command % 3) -- id_command_modality
, 1 + ((1 + C.id_command) % 3) -- id_bribe
, 1 + ((2 + C.id_command) % 3) -- distance_from_handler_metres
, case when (C.id_command % 3) = 0 then 0 else 1 end -- is_in_sight_of_handler
,case when ((1 + C.id_command) % 3) = 0 then 0 else 1 end -- is_in_scent_range_of_handler
, case when ((2 + C.id_command) % 3) = 0 then 0 else 1 end -- is_in_hearing_range_of_handler
, case when (C.id_command % 17) = 0 then 1 else 0 end -- is_on_lead
, 1 -- active
FROM demo.DOG_Command C
-- INNER JOIN Filtered_Commands FC ON C.id_command = FC.id_command
-- WHERE FC.index_command_in_category % 3 =
WHERE (C.id_command % 7 = 0) or (C.id_command % 11 = 0) or (C.id_command % 13 = 0)
;
INSERT INTO demo.DOG_Assessment_Response (
id_assessment_command_modality_link
, id_response_quality_metric
, id_obedience_level
, value_measured
)
SELECT
ACML.id_link AS id_assessment_command_modality_link
, METRIC.id_response_quality_metric
, 1 + (ACML.id_command % 8) id_obedience_level
, 1 + ((METRIC.id_response_quality_metric * 3 + ACML.id_command) % 8) value_measured
FROM demo.DOG_Assessment_Command_Modality_Link ACML
INNER JOIN demo.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
CROSS JOIN (
SELECT 3 AS id_response_quality_metric
UNION
SELECT 1 AS id_response_quality_metric
) METRIC
WHERE
A.id_assessment = 21
AND ACML.id_link <> 5
;
WITH
ACML_Response_Count AS (
SELECT
ACML.id_link
, COUNT(*) AS response_count
FROM demo.DOG_Assessment_Command_Modality_Link ACML
INNER JOIN demo.DOG_Assessment_Response AR ON ACML.id_link = AR.id_assessment_command_modality_link
GROUP BY ACML.id_link
)
, ACML_With_Responses AS (
SELECT
ACML.id_link
, CASE WHEN IFNULL(ACML_RESPONSE_COUNT.response_count, 0) > 0 THEN 1 ELSE 0 END AS has_responses
FROM demo.DOG_Assessment_Command_Modality_Link ACML
LEFT JOIN ACML_Response_Count ACML_RESPONSE_COUNT ON ACML.id_link = ACML_RESPONSE_COUNT.id_link
)
, Category_Size_Known AS (
SELECT
CC.id_command_category
, COUNT(*) AS count_known_commands
FROM demo.DOG_Command_Category CC
INNER JOIN demo.DOG_Command C ON CC.id_command_category = C.id_command_category
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link ACML ON C.id_command = ACML.id_command
LEFT JOIN ACML_With_Responses ACML_WITH_RESPONSES ON ACML.id_link = ACML_WITH_RESPONSES.id_link
LEFT JOIN demo.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
-- LEFT JOIN demo.DOG_Assessment_Response AR ON ACML.id_link = AR.id_assessment_command_modality_link
WHERE
ACML_WITH_RESPONSES.has_responses = 1
AND CC.active = 1
AND C.active = 1
AND ACML.active = 1
AND A.active = 1
AND A.id_assessment = 21
GROUP BY CC.id_command_category
)
, Category_Size AS (
SELECT
CC.id_command_category
, COUNT(*) AS count_commands
FROM demo.DOG_Command_Category CC
INNER JOIN demo.DOG_Command C ON CC.id_command_category = C.id_command_category
WHERE
CC.active = 1
AND C.active = 1
GROUP BY CC.id_command_category
)
SELECT *
FROM demo.DOG_Command_Category CC
LEFT JOIN Category_Size_Known C_SIZE_KNOWN ON CC.id_command_category = C_SIZE_KNOWN.id_command_category
LEFT JOIN Category_Size C_SIZE ON CC.id_command_category = C_SIZE.id_command_category
WHERE CC.active = 1
;
INSERT INTO demo.DOG_Assessment (
id_temp
, id_weather
, id_lighting_level
, id_location
, id_user_handler
, notes
, temperature_celcius
, created_on
)
SELECT
A.id_assessment
, A.id_weather
, A.id_lighting_level
, A.id_location
, A.id_user_handler
, A.notes
, A.temperature_celcius
, DATE_SUB(A.created_on, INTERVAL 5 WEEK)
FROM demo.DOG_Assessment A
WHERE A.id_assessment <= 21
;
INSERT INTO demo.DOG_Distraction (
id_temp
, id_assessment
, id_distraction_type
, id_intensity_level_emotional
, id_intensity_level_scent
, id_intensity_level_sight
, id_intensity_level_sound
, id_intensity_level_touch
, quantity
, proximity_metres
, notes
)
SELECT
D.id_distraction
, D.id_assessment
, D.id_distraction_type
, D.id_intensity_level_emotional
, D.id_intensity_level_scent
, D.id_intensity_level_sight
, D.id_intensity_level_sound
, D.id_intensity_level_touch
, D.quantity
, D.proximity_metres
, D.notes
FROM demo.DOG_Distraction D
INNER JOIN demo.DOG_Assessment A
-- ON D.id_assessment = A.id_assessment
ON D.id_assessment = A.id_temp
AND A.id_assessment > 910
-- WHERE A.id_assessment <= 21
;
INSERT INTO demo.DOG_Assessment_Command_Modality_Link (
id_temp
, id_assessment
, id_command
, id_command_modality
, id_bribe
, distance_from_handler_metres
, is_in_sight_of_handler
, is_in_scent_range_of_handler
, is_in_hearing_range_of_handler
, is_on_lead
)
SELECT
ACML.id_link
, ACML.id_assessment
, ACML.id_command
, ACML.id_command_modality
, ACML.id_bribe
, ACML.distance_from_handler_metres
, ACML.is_in_sight_of_handler
, ACML.is_in_scent_range_of_handler
, ACML.is_in_hearing_range_of_handler
, ACML.is_on_lead
FROM demo.DOG_Assessment_Command_Modality_Link ACML
INNER JOIN demo.DOG_Assessment A
-- ON ACML.id_assessment = A.id_assessment
ON ACML.id_assessment = A.id_temp
AND A.id_assessment > 910
-- WHERE A.id_assessment <= 21
;
INSERT INTO demo.DOG_Assessment_Response (
id_temp
, id_assessment_command_modality_link
, id_response_quality_metric
, id_obedience_level
, value_measured
, notes
)
SELECT
AR.id_response
, ACML.id_link -- (SELECT ACML_NEW.id_assessment_command_modality_link FROM demo.DOG_Assessment_Command_Modality_Link ACML_NEW WHERE ACML_NEW.id_temp
, AR.id_response_quality_metric
, AR.id_obedience_level
, POWER(CASE WHEN AR.id_obedience_level = 3 THEN 0.9 ELSE 1.35 END, 6) * AR.value_measured
, AR.notes
FROM demo.DOG_Assessment_Response AR
INNER JOIN demo.DOG_Assessment_Command_Modality_Link ACML
-- ON AR.id_assessment_command_modality_link = ACML.id_link
ON AR.id_assessment_command_modality_link = ACML.id_temp
AND ACML.id_link > 3168
-- INNER JOIN demo.DOG_Assessment A ON AR.id_assessment = A.id_assessment
-- WHERE A.id_assessment <= 21
;
-- DELETE A FROM demo.DOG_Assessment A WHERE A.id_assessment > 21;
-- DELETE A FROM demo.DOG_Assessment A WHERE A.id_assessment > 21;
-- DELETE A FROM demo.DOG_Assessment A WHERE A.id_assessment > 21;
-- DELETE A FROM demo.DOG_Assessment A WHERE A.id_assessment > 21;
*/
SELECT *
FROM demo.DOG_Assessment_Response AR
INNER JOIN demo.DOG_Assessment_Command_Modality_Link ACML ON AR.id_assessment_command_modality_link = ACML.id_link
INNER JOIN demo.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
INNER JOIN demo.DOG_Command C ON ACML.id_command = C.id_command
WHERE C.name LIKE '%SIT%'
ORDER BY A.created_on, AR.id_response
;

View File

@@ -14,16 +14,21 @@
height: 15vh;
align-items: flex-start;
}
.topnav a, .topnav label, .topnav p, .topnav h1 {
.topnav a,
.topnav label,
.topnav p,
.topnav h1 {
float: left;
display: flex;
text-align: center;
text-decoration: none;
width: 100%;
max-height: 15vh;
font-weight: normal;
justify-content: center;
}
.topnav h1 {
color: var(--colour-text-link-visited);
}
.topnav a:hover {
background-color: var(--colour-page-background);
}
@@ -35,7 +40,7 @@
align-self: center;
display: flex;
}
.topnav > .container.header-logo {
.topnav > .container.logo {
min-width: 15vh;
max-width: 15vh;
}

View File

@@ -100,11 +100,11 @@ script, link {
}
/* header image */
img.header-logo {
img.logo {
max-height: 15vh;
max-width: 15vh;
cursor: pointer;
border-radius: 3vh;
/* border-radius: 3vh; */
}
/* icon images */
@@ -236,10 +236,10 @@ input.dirty, textarea.dirty, select.dirty {
@media screen and (max-width: 400px) {
img.header-logo {
/*
img.logo {
border-radius: 3vh;
}
/*
.company-name {
font-size: 14px;
}

View File

@@ -15,12 +15,12 @@ ul li {
}
section.benefits,
section.solution {
section.social-proof {
padding: 4rem 0;
background: var(--colour-text-background);
}
section.benefits .card.benefits,
section.solution .card.solution {
section.social-proof .card.social-proof {
padding: 2rem;
background: var(--colour-page-background);
border-radius: 8px;
@@ -29,12 +29,14 @@ section.solution .card.solution {
}
section.problem,
section.early-access {
section.solution,
section.testimonial {
padding: 4rem 0;
background: var(--colour-page-background-1);
}
section.problem .card.problem,
section.early-access .card.early-access {
section.solution .card.solution,
section.testimonial .card.testimonial {
background: var(--colour-text-background);
padding: 2rem;
border-radius: 8px;
@@ -44,9 +46,7 @@ section.early-access .card.early-access {
}
section.benefits ul li,
section.solution ul li,
section.early-access ul li {
section.problem ul li {
list-style: none;
}
@@ -73,6 +73,10 @@ section.early-access ul li {
color: var(--colour-secondary);
}
section.hero .button {
margin: 1vh auto;
display: block;
}
/* Problem Section */
@@ -87,8 +91,17 @@ section.problem .section-subtitle {
/* font-size: 18px; */
font-weight: bold;
}
/*
section.problem ul li::before {
content: "😤";
position: absolute;
left: 0;
}
*/
section.problem ul li {
list-style: none;
}
/* Solution Section */
/* Benefits Section * /
section.benefits .section-subtitle {
@@ -97,6 +110,25 @@ section.benefits .section-subtitle {
}
*/
section.benefits .container .card .container {
min-width: 250px;
}
/* Solution Section */
section.solution .container .card {
margin-top: 1vh;
max-width: min(2000px, 90vw);
}
section.benefits .card.benefits .container,
section.solution .container .card .container {
padding: 1vh 2vw;
}
section.solution .project-thumbnail img {
max-width: 500px;
max-height: 500px;
}
/* Social Proof Section * /
section.social-proof {
padding: 6rem 0;
@@ -121,10 +153,23 @@ section.social-proof ul {
section.social-proof .section-subtitle {
font-size: 16px;
}
*/
section.social-proof ul li {
font-size: 14px;
}
*/
section.benefits .card.benefits,
section.social-proof .card.social-proof {
display: flex;
}
section.social-proof .section-title {
font-weight: bold;
color: var(--colour-text-link-visited);
margin-bottom: 0.25vh;
}
section.social-proof .container {
max-width: min(600px, 90vw);
width: fit-content;
}
/* Early Access Section * /
section.early-access {
@@ -164,12 +209,32 @@ section.features .button {
text-align: center;
}
section.cta-2 .button {
margin: 2vh 1vw;
}
section.cta-2 .card {
background-color: transparent;
}
section.cta-2 .card .container {
background-color: var(--colour-page-background);
color: var(--colour-primary);
border-radius: 1vh;
padding: 2vh 1vw;
margin: 1vh;
}
/* FAQs * /
section.faq .button {
margin-bottom: 0.25rem;
}
*/
@media screen and (max-width: 640px) {
header .navbar .nav-links {
display: none;
}
}
/* Animations */
/* Fallback styles to ensure content is visible without JS */
.reveal {

View File

@@ -0,0 +1,40 @@
#formFilters .container.save.button-cancel {
display: none;
}
#tableMain tbody > div {
width: 49vh;
}
/*
#tableMain tbody tr td.date_from.date_to div {
height: 3vh;
}
*/
#tableMain thead tr th.name,
#tableMain tbody tr td.name {
min-width: 43vw;
max-width: 43vw;
}
#tableMain thead tr th.is-calendar-entry-type-bill,
#tableMain tbody tr td.is-calendar-entry-type-bill {
display: none;
}
@media screen and (max-width: 450px) {
#tableMain {
max-width: 90vw;
}
#tableMain thead tr th.date_from,
#tableMain tbody tr td.date_from {
min-width: 20vw;
max-width: 20vw;
}
#tableMain thead tr th.price,
#tableMain tbody tr td.price {
min-width: 12vw;
max-width: 12vw;
}
}

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -172,12 +172,12 @@ ul li {
}
section.benefits,
section.solution {
section.social-proof {
padding: 4rem 0;
background: var(--colour-text-background);
}
section.benefits .card.benefits,
section.solution .card.solution {
section.social-proof .card.social-proof {
padding: 2rem;
background: var(--colour-page-background);
border-radius: 8px;
@@ -186,12 +186,14 @@ section.solution .card.solution {
}
section.problem,
section.early-access {
section.solution,
section.testimonial {
padding: 4rem 0;
background: var(--colour-page-background-1);
}
section.problem .card.problem,
section.early-access .card.early-access {
section.solution .card.solution,
section.testimonial .card.testimonial {
background: var(--colour-text-background);
padding: 2rem;
border-radius: 8px;
@@ -201,9 +203,7 @@ section.early-access .card.early-access {
}
section.benefits ul li,
section.solution ul li,
section.early-access ul li {
section.problem ul li {
list-style: none;
}
@@ -230,6 +230,10 @@ section.early-access ul li {
color: var(--colour-secondary);
}
section.hero .button {
margin: 1vh auto;
display: block;
}
/* Problem Section */
@@ -244,8 +248,17 @@ section.problem .section-subtitle {
/* font-size: 18px; */
font-weight: bold;
}
/*
section.problem ul li::before {
content: "😤";
position: absolute;
left: 0;
}
*/
section.problem ul li {
list-style: none;
}
/* Solution Section */
/* Benefits Section * /
section.benefits .section-subtitle {
@@ -254,6 +267,25 @@ section.benefits .section-subtitle {
}
*/
section.benefits .container .card .container {
min-width: 250px;
}
/* Solution Section */
section.solution .container .card {
margin-top: 1vh;
max-width: min(2000px, 90vw);
}
section.benefits .card.benefits .container,
section.solution .container .card .container {
padding: 1vh 2vw;
}
section.solution .project-thumbnail img {
max-width: 500px;
max-height: 500px;
}
/* Social Proof Section * /
section.social-proof {
padding: 6rem 0;
@@ -278,10 +310,23 @@ section.social-proof ul {
section.social-proof .section-subtitle {
font-size: 16px;
}
*/
section.social-proof ul li {
font-size: 14px;
}
*/
section.benefits .card.benefits,
section.social-proof .card.social-proof {
display: flex;
}
section.social-proof .section-title {
font-weight: bold;
color: var(--colour-text-link-visited);
margin-bottom: 0.25vh;
}
section.social-proof .container {
max-width: min(600px, 90vw);
width: fit-content;
}
/* Early Access Section * /
section.early-access {
@@ -321,12 +366,32 @@ section.features .button {
text-align: center;
}
section.cta-2 .button {
margin: 2vh 1vw;
}
section.cta-2 .card {
background-color: transparent;
}
section.cta-2 .card .container {
background-color: var(--colour-page-background);
color: var(--colour-primary);
border-radius: 1vh;
padding: 2vh 1vw;
margin: 1vh;
}
/* FAQs * /
section.faq .button {
margin-bottom: 0.25rem;
}
*/
@media screen and (max-width: 640px) {
header .navbar .nav-links {
display: none;
}
}
/* Animations */
/* Fallback styles to ensure content is visible without JS */
.reveal {

File diff suppressed because one or more lines are too long

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

File diff suppressed because one or more lines are too long

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -1 +1 @@
{"version":3,"file":"css/dog_assessments.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C","sources":["webpack://app/./static/css/sections/dog.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}"],"names":[],"sourceRoot":""}
{"version":3,"file":"css/dog_assessments.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C","sources":["webpack://app/./static/css/sections/dog.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}"],"names":[],"sourceRoot":""}

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -1 +1 @@
{"version":3,"file":"css/dog_button_icons.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;;ACxEA;IACI,WAAW;AACf","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/button_icons.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n\n#tableMain tbody > div {\n width: 49vh;\n}\n"],"names":[],"sourceRoot":""}
{"version":3,"file":"css/dog_button_icons.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;;ACxEA;IACI,WAAW;AACf","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/button_icons.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n\n#tableMain tbody > div {\n width: 49vh;\n}\n"],"names":[],"sourceRoot":""}

View File

@@ -0,0 +1,118 @@
.container-input > input {
padding: 0vh 1vh;
border-radius: 0.5vh;
max-width: 7vh;
}
#basket {
max-width: 100%;
}
/* Right column */
.rightcolumn {
min-width: fit-content;
}
/* Main Table */
#pageBody {
/* height: 69vh !important; */
max-height: 79vh;
padding: 0 5vw;
margin: 0;
border: 0;
align-content: center;
justify-content: flex-start;
display: flex;
flex-direction: column;
align-items: flex-start;
overflow-y: auto;
overflow-x: hidden;
position: absolute;
width: 90vw;
color: var(--colour-text);
}
/* Footer */
.footer {
padding: 1vh 1vw;
text-align: center;
margin: 0;
max-height: 5vh;
overflow-y: auto;
background-color: var(--colour-accent);
position: absolute;
bottom: 0;
width: 98vw;
}
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;
}
.footer > h4 {
font-size: 10px;
}
.footer > h5 {
font-size: 9px;
}
}
.footer > h4, h5 {
padding: 0;
margin: 0;
}
#formFilters .container.save.button-cancel {
display: none;
}
#tableMain tbody > div {
width: 49vh;
}
/*
#tableMain tbody tr td.date_from.date_to div {
height: 3vh;
}
*/
#tableMain thead tr th.name,
#tableMain tbody tr td.name {
min-width: 43vw;
max-width: 43vw;
}
#tableMain thead tr th.is-calendar-entry-type-bill,
#tableMain tbody tr td.is-calendar-entry-type-bill {
display: none;
}
@media screen and (max-width: 450px) {
#tableMain {
max-width: 90vw;
}
#tableMain thead tr th.date_from,
#tableMain tbody tr td.date_from {
min-width: 20vw;
max-width: 20vw;
}
#tableMain thead tr th.price,
#tableMain tbody tr td.price {
min-width: 12vw;
max-width: 12vw;
}
}
/*# sourceMappingURL=dog_calendar_entries.bundle.css.map*/

View File

@@ -0,0 +1 @@
{"version":3,"file":"css/dog_calendar_entries.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;;ACxEA;IACI,aAAa;AACjB;;AAEA;IACI,WAAW;AACf;;AAEA;;;;CAIC;AACD;;IAEI,eAAe;IACf,eAAe;AACnB;AACA;;IAEI,aAAa;AACjB;;AAEA;IACI;QACI,eAAe;IACnB;IACA;;QAEI,eAAe;QACf,eAAe;IACnB;IACA;;QAEI,eAAe;QACf,eAAe;IACnB;AACJ","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/calendar_entries.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n\n#formFilters .container.save.button-cancel {\n display: none;\n}\n\n#tableMain tbody > div {\n width: 49vh;\n}\n\n/*\n#tableMain tbody tr td.date_from.date_to div {\n height: 3vh;\n}\n*/\n#tableMain thead tr th.name,\n#tableMain tbody tr td.name {\n min-width: 43vw;\n max-width: 43vw;\n}\n#tableMain thead tr th.is-calendar-entry-type-bill,\n#tableMain tbody tr td.is-calendar-entry-type-bill {\n display: none;\n}\n\n@media screen and (max-width: 450px) {\n #tableMain {\n max-width: 90vw;\n }\n #tableMain thead tr th.date_from,\n #tableMain tbody tr td.date_from {\n min-width: 20vw;\n max-width: 20vw;\n }\n #tableMain thead tr th.price,\n #tableMain tbody tr td.price {\n min-width: 12vw;\n max-width: 12vw;\n }\n}\n"],"names":[],"sourceRoot":""}

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -1 +1 @@
{"version":3,"file":"css/dog_command_button_links.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;ACzEA;;;CAGC;;;AAGD;IACI,YAAY;AAChB;;AAEA;;;;;;;CAOC;AACD;;;;;;IAMI,eAAe;IACf,eAAe;AACnB;;AAEA;;;;CAIC;;AAED;IACI;;QAEI,eAAe;QACf,eAAe;IACnB;AACJ","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/command_button_links.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n/*\n#formFilters .container-input.filter.active_only {\n}\n*/\n\n\n#tableMain tbody > div {\n width: 113vh;\n}\n\n/*\n#tableMain tbody tr td table thead tr th.id_variation_type,\n#tableMain tbody tr td table tbody tr td.id_variation_type,\n#tableMain tbody tr td table thead tr th.id_variation, \n#tableMain tbody tr td table tbody tr td.id_variation {\n width: 47.5%;\n}\n*/\n#tableMain tbody tr td table thead tr th.button_shape, \n#tableMain tbody tr td table tbody tr td.button_shape,\n#tableMain tbody tr td table thead tr th.colour, \n#tableMain tbody tr td table tbody tr td.colour,\n#tableMain tbody tr td table thead tr th.button_icon, \n#tableMain tbody tr td table tbody tr td.button_icon {\n max-width: 12vh;\n max-width: 12vh;\n}\n\n/*\nselect.id_variation, select.id_variation_type {\n max-width: 40% !important;\n}\n*/\n\n@media screen and (max-width: 850px) {\n #formFilters input,\n #formFilters select {\n max-width: 12vh;\n min-width: 12vh;\n }\n}\n"],"names":[],"sourceRoot":""}
{"version":3,"file":"css/dog_command_button_links.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;ACzEA;;;CAGC;;;AAGD;IACI,YAAY;AAChB;;AAEA;;;;;;;CAOC;AACD;;;;;;IAMI,eAAe;IACf,eAAe;AACnB;;AAEA;;;;CAIC;;AAED;IACI;;QAEI,eAAe;QACf,eAAe;IACnB;AACJ","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/command_button_links.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n/*\n#formFilters .container-input.filter.active_only {\n}\n*/\n\n\n#tableMain tbody > div {\n width: 113vh;\n}\n\n/*\n#tableMain tbody tr td table thead tr th.id_variation_type,\n#tableMain tbody tr td table tbody tr td.id_variation_type,\n#tableMain tbody tr td table thead tr th.id_variation, \n#tableMain tbody tr td table tbody tr td.id_variation {\n width: 47.5%;\n}\n*/\n#tableMain tbody tr td table thead tr th.button_shape, \n#tableMain tbody tr td table tbody tr td.button_shape,\n#tableMain tbody tr td table thead tr th.colour, \n#tableMain tbody tr td table tbody tr td.colour,\n#tableMain tbody tr td table thead tr th.button_icon, \n#tableMain tbody tr td table tbody tr td.button_icon {\n max-width: 12vh;\n max-width: 12vh;\n}\n\n/*\nselect.id_variation, select.id_variation_type {\n max-width: 40% !important;\n}\n*/\n\n@media screen and (max-width: 850px) {\n #formFilters input,\n #formFilters select {\n max-width: 12vh;\n min-width: 12vh;\n }\n}\n"],"names":[],"sourceRoot":""}

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -1 +1 @@
{"version":3,"file":"css/dog_command_categories.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;ACzEA;IACI,eAAe;IACf,eAAe;AACnB;;AAEA;IACI,eAAe;AACnB;AACA;;IAEI,WAAW;AACf;AACA;IACI,sCAAsC;AAC1C;AACA;;;CAGC;AACD;;IAEI,eAAe;IACf,eAAe;AACnB;;AAEA;IACI;;QAEI,eAAe;QACf,eAAe;IACnB;IACA;;QAEI,cAAc;QACd,cAAc;IAClB;AACJ,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/command_categories.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n#formFilters #search {\n max-width: 20vh;\n min-width: 20vh;\n}\n\n#tableMain tbody > div {\n max-width: 58vh;\n}\n#tableMain thead tr th,\n#tableMain tbody tr td {\n height: 3vh;\n}\n#tableMain tbody tr td.name .name {\n border: 1px solid var(--colour-accent);\n}\n/*\n#tableMain thead tr th.code,\n#tableMain tbody tr td.code,\n*/\n#tableMain thead tr th.name ,\n#tableMain tbody tr td.name {\n max-width: 50vh;\n min-width: 50vh;\n}\n\n@media screen and (max-width: 800px) {\n #tableMain thead tr th.name ,\n #tableMain tbody tr td.name {\n max-width: 63vw;\n min-width: 63vw;\n }\n #tableMain thead tr th.active ,\n #tableMain tbody tr td.active {\n max-width: 3vw;\n min-width: 3vw;\n }\n}"],"names":[],"sourceRoot":""}
{"version":3,"file":"css/dog_command_categories.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;ACzEA;IACI,eAAe;IACf,eAAe;AACnB;;AAEA;IACI,eAAe;AACnB;AACA;;IAEI,WAAW;AACf;AACA;IACI,sCAAsC;AAC1C;AACA;;;CAGC;AACD;;IAEI,eAAe;IACf,eAAe;AACnB;;AAEA;IACI;;QAEI,eAAe;QACf,eAAe;IACnB;IACA;;QAEI,cAAc;QACd,cAAc;IAClB;AACJ,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/command_categories.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n#formFilters #search {\n max-width: 20vh;\n min-width: 20vh;\n}\n\n#tableMain tbody > div {\n max-width: 58vh;\n}\n#tableMain thead tr th,\n#tableMain tbody tr td {\n height: 3vh;\n}\n#tableMain tbody tr td.name .name {\n border: 1px solid var(--colour-accent);\n}\n/*\n#tableMain thead tr th.code,\n#tableMain tbody tr td.code,\n*/\n#tableMain thead tr th.name ,\n#tableMain tbody tr td.name {\n max-width: 50vh;\n min-width: 50vh;\n}\n\n@media screen and (max-width: 800px) {\n #tableMain thead tr th.name ,\n #tableMain tbody tr td.name {\n max-width: 63vw;\n min-width: 63vw;\n }\n #tableMain thead tr th.active ,\n #tableMain tbody tr td.active {\n max-width: 3vw;\n min-width: 3vw;\n }\n}"],"names":[],"sourceRoot":""}

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -1 +1 @@
{"version":3,"file":"css/dog_commands.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;ACzEA;;;;CAIC;;AAED;IACI,WAAW;AACf;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;;AAEA;;;;;;;;CAQC,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/commands.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n/*\n#formFilters .container {\n max-width: fit-content;\n}\n*/\n\n#tableMain tbody > div {\n width: 99vh;\n}\n#tableMain thead tr th.can-have-button, \n#tableMain tbody tr td.can-have-button {\n max-width: 6vh;\n min-width: 6vh;\n}\n\n/*\n@media screen and (max-width: 600px) {\n #formFilters input,\n #formFilters select {\n width: 12vh;\n min-width: 12vh;\n }\n}\n*/"],"names":[],"sourceRoot":""}
{"version":3,"file":"css/dog_commands.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;ACzEA;;;;CAIC;;AAED;IACI,WAAW;AACf;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;;AAEA;;;;;;;;CAQC,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/commands.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n/*\n#formFilters .container {\n max-width: fit-content;\n}\n*/\n\n#tableMain tbody > div {\n width: 99vh;\n}\n#tableMain thead tr th.can-have-button, \n#tableMain tbody tr td.can-have-button {\n max-width: 6vh;\n min-width: 6vh;\n}\n\n/*\n@media screen and (max-width: 600px) {\n #formFilters input,\n #formFilters select {\n width: 12vh;\n min-width: 12vh;\n }\n}\n*/"],"names":[],"sourceRoot":""}

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -1 +1 @@
{"version":3,"file":"css/dog_dog_command_links.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;ACzEA;;;CAGC;;;AAGD;IACI,YAAY;AAChB;AACA;IACI,eAAe;AACnB;;AAEA;;;;;;IAMI,uCAAuC;IACvC,oBAAoB;AACxB;;AAEA;;;;IAII,YAAY;AAChB;;AAEA;;;;CAIC;;AAED;IACI;;QAEI,eAAe;QACf,eAAe;IACnB;AACJ","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/dog_command_links.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n/*\n#formFilters .container-input.filter.active_only {\n}\n*/\n\n\n#tableMain tbody > div {\n width: 113vh;\n}\n#tableMain {\n max-width: 90vw;\n}\n\ntd > input,\ntd > select,\ntd > textarea,\n.container-input > input,\n.container-input > select,\n.container-input > textarea {\n border: 2px solid var(--colour-primary);\n border-radius: 0.5vh;\n}\n\n#tableMain tbody tr td table thead tr th.id_variation_type,\n#tableMain tbody tr td table tbody tr td.id_variation_type,\n#tableMain tbody tr td table thead tr th.id_variation, \n#tableMain tbody tr td table tbody tr td.id_variation {\n width: 47.5%;\n}\n\n/*\nselect.id_variation, select.id_variation_type {\n max-width: 40% !important;\n}\n*/\n\n@media screen and (max-width: 850px) {\n #formFilters input,\n #formFilters select {\n max-width: 12vh;\n min-width: 12vh;\n }\n}\n"],"names":[],"sourceRoot":""}
{"version":3,"file":"css/dog_dog_command_links.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;ACzEA;;;CAGC;;;AAGD;IACI,YAAY;AAChB;AACA;IACI,eAAe;AACnB;;AAEA;;;;;;IAMI,uCAAuC;IACvC,oBAAoB;AACxB;;AAEA;;;;IAII,YAAY;AAChB;;AAEA;;;;CAIC;;AAED;IACI;;QAEI,eAAe;QACf,eAAe;IACnB;AACJ","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/dog_command_links.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n/*\n#formFilters .container-input.filter.active_only {\n}\n*/\n\n\n#tableMain tbody > div {\n width: 113vh;\n}\n#tableMain {\n max-width: 90vw;\n}\n\ntd > input,\ntd > select,\ntd > textarea,\n.container-input > input,\n.container-input > select,\n.container-input > textarea {\n border: 2px solid var(--colour-primary);\n border-radius: 0.5vh;\n}\n\n#tableMain tbody tr td table thead tr th.id_variation_type,\n#tableMain tbody tr td table tbody tr td.id_variation_type,\n#tableMain tbody tr td table thead tr th.id_variation, \n#tableMain tbody tr td table tbody tr td.id_variation {\n width: 47.5%;\n}\n\n/*\nselect.id_variation, select.id_variation_type {\n max-width: 40% !important;\n}\n*/\n\n@media screen and (max-width: 850px) {\n #formFilters input,\n #formFilters select {\n max-width: 12vh;\n min-width: 12vh;\n }\n}\n"],"names":[],"sourceRoot":""}

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -1 +1 @@
{"version":3,"file":"css/dog_dogs.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C","sources":["webpack://app/./static/css/sections/dog.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}"],"names":[],"sourceRoot":""}
{"version":3,"file":"css/dog_dogs.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C","sources":["webpack://app/./static/css/sections/dog.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}"],"names":[],"sourceRoot":""}

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -1 +1 @@
{"version":3,"file":"css/dog_home.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;AC1EA;IACI,iBAAiB;AACrB;AACA;IACI,iBAAiB;IACjB,kBAAkB;AACtB,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/home.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","#pageBody .column .row {\n margin-top: 0.5vh;\n}\n#pageBody .column .row .button {\n margin-left: auto;\n margin-right: auto;\n}"],"names":[],"sourceRoot":""}
{"version":3,"file":"css/dog_home.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;AC1EA;IACI,iBAAiB;AACrB;AACA;IACI,iBAAiB;IACjB,kBAAkB;AACtB,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/home.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","#pageBody .column .row {\n margin-top: 0.5vh;\n}\n#pageBody .column .row .button {\n margin-left: auto;\n margin-right: auto;\n}"],"names":[],"sourceRoot":""}

View File

@@ -56,7 +56,7 @@
@media screen and (max-width: 400px) {
.footer {
max-height: 8vh;
padding: 0 2vw;
padding: 0.75vh 2vw;
font-size: 10px;
width: 96vw;
max-width: 96vw;

View File

@@ -1 +1 @@
{"version":3,"file":"css/dog_locations.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;;ACxEA;IACI,WAAW;AACf","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/locations.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n\n#tableMain tbody > div {\n width: 49vh;\n}\n"],"names":[],"sourceRoot":""}
{"version":3,"file":"css/dog_locations.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;;ACxEA;IACI,WAAW;AACf","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/locations.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n\n#tableMain tbody > div {\n width: 49vh;\n}\n"],"names":[],"sourceRoot":""}

View File

@@ -100,11 +100,11 @@ script, link {
}
/* header image */
img.header-logo {
img.logo {
max-height: 15vh;
max-width: 15vh;
cursor: pointer;
border-radius: 3vh;
/* border-radius: 3vh; */
}
/* icon images */
@@ -236,10 +236,10 @@ input.dirty, textarea.dirty, select.dirty {
@media screen and (max-width: 400px) {
img.header-logo {
/*
img.logo {
border-radius: 3vh;
}
/*
.company-name {
font-size: 14px;
}
@@ -540,16 +540,21 @@ table div {
height: 15vh;
align-items: flex-start;
}
.topnav a, .topnav label, .topnav p, .topnav h1 {
.topnav a,
.topnav label,
.topnav p,
.topnav h1 {
float: left;
display: flex;
text-align: center;
text-decoration: none;
width: 100%;
max-height: 15vh;
font-weight: normal;
justify-content: center;
}
.topnav h1 {
color: var(--colour-text-link-visited);
}
.topnav a:hover {
background-color: var(--colour-page-background);
}
@@ -561,7 +566,7 @@ table div {
align-self: center;
display: flex;
}
.topnav > .container.header-logo {
.topnav > .container.logo {
min-width: 15vh;
max-width: 15vh;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,17 @@
/******/ (() => { // webpackBootstrap
/******/ "use strict";
// This entry needs to be wrapped in an IIFE because it needs to be isolated against other entry modules.
(() => {
// extracted by mini-css-extract-plugin
})();
// This entry needs to be wrapped in an IIFE because it needs to be isolated against other entry modules.
(() => {
// extracted by mini-css-extract-plugin
})();
/******/ })()
;
//# sourceMappingURL=dog_calendar_entries.bundle.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"js/dog_calendar_entries.bundle.js","mappings":";;;;AAAA;;;;;;ACAA","sources":["webpack://app/./static/css/sections/dog.css?a9d0","webpack://app/./static/css/pages/dog/calendar_entries.css?080f"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};"],"names":[],"sourceRoot":""}

View File

@@ -1039,6 +1039,25 @@ var BasePage = /*#__PURE__*/function () {
this.hookupNavigation();
this.hookupOverlays();
}
}, {
key: "hookupLogos",
value: function hookupLogos() {
var _this = this;
Events.hookupEventHandler("click", "." + flagImageLogo + "," + "." + flagLogo, function (event, element) {
utils_Utils.consoleLogIfNotProductionEnvironment('clicking logo');
_this.router.navigateToHash(hashPageHome);
});
}
/*
hookupEventHandler(eventType, selector, callback) {
Events.initialiseEventHandler(selector, flagInitialised, (element) => {
element.addEventListener(eventType, (event) => {
event.stopPropagation();
callback(event, element);
});
});
}
*/
}, {
key: "hookupNavigation",
value: function hookupNavigation() {
@@ -1070,16 +1089,7 @@ var BasePage = /*#__PURE__*/function () {
this.hookupButtonsNavDogButtonIcons();
this.hookupButtonsNavDogCommandButtonLinks();
this.hookupButtonsNavDogAssessments();
}
}, {
key: "hookupEventHandler",
value: function hookupEventHandler(eventType, selector, callback) {
Events.initialiseEventHandler(selector, flagInitialised, function (element) {
element.addEventListener(eventType, function (event) {
event.stopPropagation();
callback(event, element);
});
});
this.hookupButtonsNavDogCalendarEntries();
}
}, {
key: "hookupButtonsNavHome",
@@ -1089,9 +1099,9 @@ var BasePage = /*#__PURE__*/function () {
}, {
key: "hookupButtonsNav",
value: function hookupButtonsNav(buttonSelector, hashPageNav) {
var _this = this;
var _this2 = this;
Events.hookupEventHandler("click", buttonSelector, function (event, button) {
_this.router.navigateToHash(hashPageNav);
_this2.router.navigateToHash(hashPageNav);
});
}
}, {
@@ -1120,10 +1130,10 @@ var BasePage = /*#__PURE__*/function () {
}, {
key: "hookupButtonsNavUserLogin",
value: function hookupButtonsNavUserLogin() {
var _this2 = this;
var _this3 = this;
Events.hookupEventHandler("click", '.' + flagNavUserLogin, function (event, navigator) {
event.stopPropagation();
_this2.leave();
_this3.leave();
API.loginUser().then(function (response) {
if (response.Success) {
window.location.href = response[flagCallback];
@@ -1179,13 +1189,9 @@ var BasePage = /*#__PURE__*/function () {
this.hookupButtonsNav('.' + flagNavDogAssessments, hashPageDogAssessments);
}
}, {
key: "hookupLogos",
value: function hookupLogos() {
var _this3 = this;
Events.hookupEventHandler("click", "." + flagImageLogo + "," + "." + flagLogo, function (event, element) {
utils_Utils.consoleLogIfNotProductionEnvironment('clicking logo');
_this3.router.navigateToHash(hashPageHome);
});
key: "hookupButtonsNavDogCalendarEntries",
value: function hookupButtonsNavDogCalendarEntries() {
this.hookupButtonsNav('.' + flagNavDogCalendarEntries, hashPageDogCalendarEntries);
}
}, {
key: "hookupOverlays",
@@ -7972,6 +7978,136 @@ var PageDogAssessments = /*#__PURE__*/function (_TableBasePage) {
assessments_defineProperty(PageDogAssessments, "hash", hashPageDogAssessments);
assessments_defineProperty(PageDogAssessments, "attrIdRowObject", attrIdAssessment);
;// ./static/js/pages/dog/calendar_entries.js
function calendar_entries_typeof(o) { "@babel/helpers - typeof"; return calendar_entries_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, calendar_entries_typeof(o); }
function calendar_entries_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function calendar_entries_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, calendar_entries_toPropertyKey(o.key), o); } }
function calendar_entries_createClass(e, r, t) { return r && calendar_entries_defineProperties(e.prototype, r), t && calendar_entries_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function calendar_entries_callSuper(t, o, e) { return o = calendar_entries_getPrototypeOf(o), calendar_entries_possibleConstructorReturn(t, calendar_entries_isNativeReflectConstruct() ? Reflect.construct(o, e || [], calendar_entries_getPrototypeOf(t).constructor) : o.apply(t, e)); }
function calendar_entries_possibleConstructorReturn(t, e) { if (e && ("object" == calendar_entries_typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return calendar_entries_assertThisInitialized(t); }
function calendar_entries_assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
function calendar_entries_isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (calendar_entries_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function calendar_entries_superPropGet(t, o, e, r) { var p = calendar_entries_get(calendar_entries_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
function calendar_entries_get() { return calendar_entries_get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = calendar_entries_superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, calendar_entries_get.apply(null, arguments); }
function calendar_entries_superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = calendar_entries_getPrototypeOf(t));); return t; }
function calendar_entries_getPrototypeOf(t) { return calendar_entries_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, calendar_entries_getPrototypeOf(t); }
function calendar_entries_inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && calendar_entries_setPrototypeOf(t, e); }
function calendar_entries_setPrototypeOf(t, e) { return calendar_entries_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, calendar_entries_setPrototypeOf(t, e); }
function calendar_entries_defineProperty(e, r, t) { return (r = calendar_entries_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function calendar_entries_toPropertyKey(t) { var i = calendar_entries_toPrimitive(t, "string"); return "symbol" == calendar_entries_typeof(i) ? i : i + ""; }
function calendar_entries_toPrimitive(t, r) { if ("object" != calendar_entries_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != calendar_entries_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var PageDogCalendarEntries = /*#__PURE__*/function (_TableBasePage) {
function PageDogCalendarEntries(router) {
var _this;
calendar_entries_classCallCheck(this, PageDogCalendarEntries);
_this = calendar_entries_callSuper(this, PageDogCalendarEntries, [router]);
calendar_entries_defineProperty(_this, "callSaveTableContent", API.saveCalendarEntries);
_this.dogMixin = new DogTableMixinPage(_this);
return _this;
}
calendar_entries_inherits(PageDogCalendarEntries, _TableBasePage);
return calendar_entries_createClass(PageDogCalendarEntries, [{
key: "initialize",
value: function initialize() {
this.sharedInitialize();
}
}, {
key: "hookupFilters",
value: function hookupFilters() {
this.sharedHookupFilters();
// this.hookupFilterCalendarEntryType();
this.hookupFilterActive();
}
/*
hookupFilterCalendarEntryType() {
let filterSelector = idFormFilters + ' #' + attrIdCalendarEntryType;
let filterCalendarEntryTypeOld = document.querySelector(filterSelector);
filterCalendarEntryTypeOld.removeAttribute('id');
let parentDiv = filterCalendarEntryTypeOld.parentElement;
let isChecked = (DOM.getElementAttributeValuePrevious(parentDiv) == "True");
let filterCalendarEntryTypeNew = document.querySelector(idFormFilters + ' div.' + flagCalendarEntryTypeOnly + '.' + flagContainerInput + ' svg.' + flagCalendarEntryTypeOnly);
filterCalendarEntryTypeNew.setAttribute('id', flagCalendarEntryTypeOnly);
if (isChecked) filterCalendarEntryTypeNew.classList.add(flagIsChecked);
Events.hookupEventHandler("click", filterSelector, (event, filterCalendarEntryType) => {
Utils.consoleLogIfNotProductionEnvironment({ filterCalendarEntryType });
Utils.consoleLogIfNotProductionEnvironment({ [filterCalendarEntryType.tagName]: filterCalendarEntryType.tagName });
let svgElement = (filterCalendarEntryType.tagName.toUpperCase() == 'SVG') ? filterCalendarEntryType : filterCalendarEntryType.parentElement;
let wasChecked = svgElement.classList.contains(flagIsChecked);
if (wasChecked) {
svgElement.classList.remove(flagIsChecked);
}
else {
svgElement.classList.add(flagIsChecked);
}
return this.handleChangeFilter(event, filterCalendarEntryType);
});
let filter = document.querySelector(filterSelector);
let filterValuePrevious = DOM.getElementValueCurrent(filter);
filter.setAttribute(attrValueCurrent, filterValuePrevious);
filter.setAttribute(attrValuePrevious, filterValuePrevious);
}
*/
}, {
key: "loadRowTable",
value: function loadRowTable(rowJson) {
if (rowJson == null) return;
if (_verbose) {
utils_Utils.consoleLogIfNotProductionEnvironment("applying data row: ", rowJson);
}
}
}, {
key: "getJsonRow",
value: function getJsonRow(row) {
utils_Utils.consoleLogIfNotProductionEnvironment({
row: row
});
if (row == null) return;
var inputCode = row.querySelector('td.' + flagCode + ' .' + flagCode);
var inputName = row.querySelector('td.' + flagName + ' .' + flagName);
var buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);
console.log("inputCode");
console.log(inputCode);
var jsonRow = {};
jsonRow[attrIdCalendarEntry] = row.getAttribute(attrIdCalendarEntry);
jsonRow[flagCode] = DOM.getElementAttributeValueCurrent(inputCode);
jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);
jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);
return jsonRow;
}
}, {
key: "initialiseRowNew",
value: function initialiseRowNew(tbody, row) {}
}, {
key: "postInitialiseRowNewCallback",
value: function postInitialiseRowNewCallback(tbody) {
// let newRows = tbody.querySelectorAll('tr.' + flagRowNew);
}
}, {
key: "hookupTableMain",
value: function hookupTableMain() {
calendar_entries_superPropGet(PageDogCalendarEntries, "hookupTableMain", this, 3)([]);
this.hookupFieldsCodeTable();
this.hookupFieldsNameTable();
this.hookupFieldsActive();
}
}, {
key: "leave",
value: function leave() {
calendar_entries_superPropGet(PageDogCalendarEntries, "leave", this, 3)([]);
}
}]);
}(TableBasePage);
calendar_entries_defineProperty(PageDogCalendarEntries, "hash", hashPageDogCalendarEntries);
calendar_entries_defineProperty(PageDogCalendarEntries, "attrIdRowObject", attrIdCalendarEntry);
;// ./static/js/pages/legal/accessibility_report.js
function accessibility_report_typeof(o) { "@babel/helpers - typeof"; return accessibility_report_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, accessibility_report_typeof(o); }
function accessibility_report_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
@@ -8190,6 +8326,7 @@ function router_toPrimitive(t, r) { if ("object" != router_typeof(t) || !t) retu
// Legal
@@ -8261,6 +8398,10 @@ var Router = /*#__PURE__*/function () {
name: 'PageDogAssessments',
module: PageDogAssessments
};
this.pages[hashPageDogCalendarEntries] = {
name: 'PageDogCalendarEntries',
module: PageDogCalendarEntries
};
// Legal
this.pages[hashPageAccessibilityStatement] = {
name: 'PageAccessibilityStatement',
@@ -8335,6 +8476,10 @@ var Router = /*#__PURE__*/function () {
var isPopState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
return _this.navigateToHash(hashPageDogAssessments, isPopState);
};
this.routes[hashPageDogCalendarEntries] = function () {
var isPopState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
return _this.navigateToHash(hashPageDogCalendarEntries, isPopState);
};
// Legal
this.routes[hashPageAccessibilityStatement] = function () {
var isPopState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,423 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dog Training Progress - Sit Command</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>
<!--
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/2.29.3/index.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-adapter-date-fns/2.0.0/chartjs-adapter-date-fns.bundle.min.js"></script>
-->
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
margin: 0;
padding: 20px;
background-color: #f8fafc;
}
.container {
max-width: 1200px;
margin: 0 auto;
background: white;
border-radius: 12px;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
padding: 24px;
}
.header {
margin-bottom: 24px;
border-bottom: 1px solid #e2e8f0;
padding-bottom: 16px;
}
.header h1 {
margin: 0 0 8px 0;
color: #1e293b;
font-size: 24px;
font-weight: 600;
}
.header p {
margin: 0;
color: #64748b;
font-size: 14px;
}
.chart-container {
position: relative;
height: 500px;
margin-bottom: 24px;
}
.legend-container {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 16px;
padding: 16px;
background-color: #f8fafc;
border-radius: 8px;
}
.legend-item {
display: flex;
align-items: center;
gap: 6px;
font-size: 12px;
color: #475569;
}
.legend-color {
width: 12px;
height: 12px;
border-radius: 2px;
}
.metrics-summary {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 16px;
margin-top: 24px;
}
.metric-card {
background: #f8fafc;
padding: 16px;
border-radius: 8px;
border-left: 4px solid #3b82f6;
}
.metric-label {
font-size: 12px;
color: #64748b;
margin-bottom: 4px;
}
.metric-value {
font-size: 20px;
font-weight: 600;
color: #1e293b;
}
.metric-change {
font-size: 12px;
margin-top: 4px;
}
.positive { color: #059669; }
.negative { color: #dc2626; }
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>Training Progress Report - "Sit" Command</h1>
<p>Tracking compliance duration and response time from April 1st - July 30th, 2025</p>
</div>
<div class="chart-container">
<canvas id="trainingChart"></canvas>
</div>
<div class="legend-container" id="obedienceLegend">
<!-- Legend will be populated by JavaScript -->
</div>
<div class="metrics-summary">
<div class="metric-card">
<div class="metric-label">Average Compliance Duration</div>
<div class="metric-value">65.2s</div>
<div class="metric-change positive">+450% from start</div>
</div>
<div class="metric-card">
<div class="metric-label">Average Response Time</div>
<div class="metric-value">4.3s</div>
<div class="metric-change positive">-64% from start</div>
</div>
<div class="metric-card">
<div class="metric-label">Most Common Obedience Level</div>
<div class="metric-value">After Firm Look</div>
<div class="metric-change">Recent sessions</div>
</div>
<div class="metric-card">
<div class="metric-label">Training Sessions</div>
<div class="metric-value">32</div>
<div class="metric-change">4 months period</div>
</div>
</div>
</div>
<script>
// Define obedience levels and their corresponding colors
const obedienceLevels = [
{ name: "Eager", color: "#16a34a", value: 15 },
{ name: "After Firm Look", color: "#22c55e", value: 14 },
{ name: "After Power Pose", color: "#65a30d", value: 13 },
{ name: "After Threatening to Approach", color: "#84cc16", value: 12 },
{ name: "After Moving a Few Steps", color: "#eab308", value: 11 },
{ name: "After Moving Half Way", color: "#f59e0b", value: 10 },
{ name: "After Approaching Most of The Way", color: "#f97316", value: 9 },
{ name: "After Touching Collar", color: "#ea580c", value: 8 },
{ name: "After Running Away And Returning", color: "#dc2626", value: 7 },
{ name: "After Being Lead by Collar or Lead", color: "#b91c1c", value: 6 },
{ name: "After Check or Bribe", color: "#991b1b", value: 5 },
{ name: "After Multiple Checks and/or Bribes", color: "#7f1d1d", value: 4 },
{ name: "None - Refusal", color: "#6b7280", value: 3 },
{ name: "Refused and Ran Away", color: "#4b5563", value: 2 },
{ name: "Refusing to Return", color: "#374151", value: 1 }
];
// Generate training data from April 1st to July 30th, 2025
function generateTrainingData() {
const data = [];
const startDate = new Date('2025-04-01');
const endDate = new Date('2025-07-30');
let currentDate = new Date(startDate);
let complianceDuration = 10; // Starting at 10 seconds
let responseTime = 12; // Starting at 12 seconds
while (currentDate <= endDate) {
// Add some volatility and general improvement trend
const volatility = (Math.random() - 0.5) * 0.3;
const progressFactor = (currentDate - startDate) / (endDate - startDate);
// Compliance duration: improve from 10s to 120s with volatility
const targetCompliance = 10 + (110 * progressFactor);
complianceDuration = Math.max(5, Math.min(120,
complianceDuration + (targetCompliance - complianceDuration) * 0.1 +
volatility * 15 + (Math.random() - 0.5) * 10
));
// Response time: improve from 12s to 2s with volatility
const targetResponse = 12 - (10 * progressFactor);
responseTime = Math.max(1, Math.min(15,
responseTime + (targetResponse - responseTime) * 0.1 +
volatility * 2 + (Math.random() - 0.5) * 2
));
// Determine obedience level based on performance
let obedienceLevel;
if (complianceDuration > 90 && responseTime < 3) {
obedienceLevel = obedienceLevels[0]; // Eager
} else if (complianceDuration > 70 && responseTime < 4) {
obedienceLevel = obedienceLevels[1]; // After Firm Look
} else if (complianceDuration > 50 && responseTime < 5) {
obedienceLevel = obedienceLevels[2]; // After Power Pose
} else if (complianceDuration > 40 && responseTime < 6) {
obedienceLevel = obedienceLevels[3]; // After Threatening to Approach
} else if (complianceDuration > 30 && responseTime < 7) {
obedienceLevel = obedienceLevels[4]; // After Moving a Few Steps
} else if (complianceDuration > 25 && responseTime < 8) {
obedienceLevel = obedienceLevels[5]; // After Moving Half Way
} else if (complianceDuration > 20 && responseTime < 9) {
obedienceLevel = obedienceLevels[6]; // After Approaching Most of The Way
} else if (complianceDuration > 15 && responseTime < 10) {
obedienceLevel = obedienceLevels[7]; // After Touching Collar
} else if (complianceDuration > 10 && responseTime < 11) {
obedienceLevel = obedienceLevels[8]; // After Running Away And Returning
} else if (complianceDuration > 8) {
obedienceLevel = obedienceLevels[9]; // After Being Lead by Collar or Lead
} else if (complianceDuration > 5) {
obedienceLevel = obedienceLevels[10]; // After Check or Bribe
} else if (complianceDuration > 3) {
obedienceLevel = obedienceLevels[11]; // After Multiple Checks and/or Bribes
} else if (complianceDuration > 1) {
obedienceLevel = obedienceLevels[12]; // None - Refusal
} else if (responseTime > 12) {
obedienceLevel = obedienceLevels[13]; // Refused and Ran Away
} else {
obedienceLevel = obedienceLevels[14]; // Refusing to Return
}
data.push({
date: new Date(currentDate),
complianceDuration: Math.round(complianceDuration * 10) / 10,
responseTime: Math.round(responseTime * 10) / 10,
obedienceLevel: obedienceLevel
});
// Advance date by 2-4 days randomly
const daysToAdd = Math.floor(Math.random() * 3) + 2;
currentDate.setDate(currentDate.getDate() + daysToAdd);
}
return data;
}
// Generate the training data
const trainingData = generateTrainingData();
// Create legend
function createLegend() {
const legendContainer = document.getElementById('obedienceLegend');
obedienceLevels.forEach(level => {
const legendItem = document.createElement('div');
legendItem.className = 'legend-item';
legendItem.innerHTML = `
<div class="legend-color" style="background-color: ${level.color}"></div>
<span>${level.name}</span>
`;
legendContainer.appendChild(legendItem);
});
}
// Wait for Chart.js to load and initialize
function initializeChart() {
if (typeof Chart === 'undefined') {
console.error('Chart.js not loaded');
document.querySelector('.chart-container').innerHTML = '<p style="text-align: center; color: #dc2626; padding: 50px;">Error loading Chart.js library. Please refresh the page.</p>';
return;
}
const ctx = document.getElementById('trainingChart').getContext('2d');
const chart = new Chart(ctx, {
type: 'line',
data: {
datasets: [
{
label: 'Compliance Duration (seconds)',
data: trainingData.map(d => ({
x: d.date,
y: d.complianceDuration
})),
pointBackgroundColor: trainingData.map(d => d.obedienceLevel.color),
pointBorderColor: trainingData.map(d => d.obedienceLevel.color),
backgroundColor: 'rgba(59, 130, 246, 0.1)',
borderColor: '#3b82f6',
borderWidth: 2,
pointRadius: 6,
pointHoverRadius: 8,
yAxisID: 'y',
tension: 0.1
},
{
label: 'Response Time (seconds)',
data: trainingData.map(d => ({
x: d.date,
y: d.responseTime
})),
pointBackgroundColor: trainingData.map(d => d.obedienceLevel.color),
pointBorderColor: trainingData.map(d => d.obedienceLevel.color),
backgroundColor: 'rgba(239, 68, 68, 0.1)',
borderColor: '#ef4444',
borderWidth: 2,
pointRadius: 6,
pointHoverRadius: 8,
yAxisID: 'y1',
tension: 0.1
}
]
},
options: {
responsive: true,
maintainAspectRatio: false,
interaction: {
mode: 'index',
intersect: false,
},
plugins: {
title: {
display: true,
text: 'Sit Command Training Progress Over Time',
font: {
size: 16,
weight: 'bold'
},
padding: 20
},
legend: {
display: true,
position: 'top',
labels: {
usePointStyle: true,
padding: 20
}
},
tooltip: {
callbacks: {
afterBody: function(context) {
const dataIndex = context[0].dataIndex;
const obedienceLevel = trainingData[dataIndex].obedienceLevel.name;
return `Obedience Level: ${obedienceLevel}`;
}
}
}
},
scales: {
x: {
type: 'linear',
ticks: {
callback: function(value, index) {
const date = trainingData[index]?.date;
if (date) {
return date.toLocaleDateString('en-GB', {
day: 'numeric',
month: 'short'
});
}
return value;
}
},
title: {
display: true,
text: 'Training Session',
font: {
weight: 'bold'
}
},
grid: {
color: '#e2e8f0'
}
},
y: {
type: 'linear',
display: true,
position: 'left',
title: {
display: true,
text: 'Compliance Duration (seconds)',
color: '#3b82f6',
font: {
weight: 'bold'
}
},
grid: {
color: '#f1f5f9'
},
ticks: {
color: '#3b82f6'
}
},
y1: {
type: 'linear',
display: true,
position: 'right',
title: {
display: true,
text: 'Response Time (seconds)',
color: '#ef4444',
font: {
weight: 'bold'
}
},
grid: {
drawOnChartArea: false,
},
ticks: {
color: '#ef4444'
}
}
}
}
});
}
// Create the legend
createLegend();
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -48,7 +48,22 @@ export default class BasePage {
this.hookupNavigation();
this.hookupOverlays();
}
hookupLogos() {
Events.hookupEventHandler("click", "." + flagImageLogo + "," + "." + flagLogo, (event, element) => {
Utils.consoleLogIfNotProductionEnvironment('clicking logo');
this.router.navigateToHash(hashPageHome);
});
}
/*
hookupEventHandler(eventType, selector, callback) {
Events.initialiseEventHandler(selector, flagInitialised, (element) => {
element.addEventListener(eventType, (event) => {
event.stopPropagation();
callback(event, element);
});
});
}
*/
hookupNavigation() {
Events.hookupEventHandler("click", idButtonHamburger, (event, element) => {
let overlayHamburger = document.querySelector(idOverlayHamburger);
@@ -79,14 +94,7 @@ export default class BasePage {
this.hookupButtonsNavDogButtonIcons();
this.hookupButtonsNavDogCommandButtonLinks();
this.hookupButtonsNavDogAssessments();
}
hookupEventHandler(eventType, selector, callback) {
Events.initialiseEventHandler(selector, flagInitialised, (element) => {
element.addEventListener(eventType, (event) => {
event.stopPropagation();
callback(event, element);
});
});
this.hookupButtonsNavDogCalendarEntries();
}
hookupButtonsNavHome() {
this.hookupButtonsNav('.' + flagNavHome, hashPageHome);
@@ -154,12 +162,8 @@ export default class BasePage {
hookupButtonsNavDogAssessments() {
this.hookupButtonsNav('.' + flagNavDogAssessments, hashPageDogAssessments);
}
hookupLogos() {
Events.hookupEventHandler("click", "." + flagImageLogo + "," + "." + flagLogo, (event, element) => {
Utils.consoleLogIfNotProductionEnvironment('clicking logo');
this.router.navigateToHash(hashPageHome);
});
hookupButtonsNavDogCalendarEntries() {
this.hookupButtonsNav('.' + flagNavDogCalendarEntries, hashPageDogCalendarEntries);
}
hookupOverlays() {

View File

@@ -0,0 +1,100 @@
import API from "../../api.js";
import BusinessObjects from "../../lib/business_objects/business_objects.js";
import DOM from "../../dom.js";
import Events from "../../lib/events.js";
import TableBasePage from "../base_table.js";
import Utils from "../../lib/utils.js";
import Validation from "../../lib/validation.js";
import DogTableMixinPage from "./mixin_table.js";
export default class PageDogCalendarEntries extends TableBasePage {
static hash = hashPageDogCalendarEntries;
static attrIdRowObject = attrIdCalendarEntry;
callSaveTableContent = API.saveCalendarEntries;
constructor(router) {
super(router);
this.dogMixin = new DogTableMixinPage(this);
}
initialize() {
this.sharedInitialize();
}
hookupFilters() {
this.sharedHookupFilters();
// this.hookupFilterCalendarEntryType();
this.hookupFilterActive();
}
/*
hookupFilterCalendarEntryType() {
let filterSelector = idFormFilters + ' #' + attrIdCalendarEntryType;
let filterCalendarEntryTypeOld = document.querySelector(filterSelector);
filterCalendarEntryTypeOld.removeAttribute('id');
let parentDiv = filterCalendarEntryTypeOld.parentElement;
let isChecked = (DOM.getElementAttributeValuePrevious(parentDiv) == "True");
let filterCalendarEntryTypeNew = document.querySelector(idFormFilters + ' div.' + flagCalendarEntryTypeOnly + '.' + flagContainerInput + ' svg.' + flagCalendarEntryTypeOnly);
filterCalendarEntryTypeNew.setAttribute('id', flagCalendarEntryTypeOnly);
if (isChecked) filterCalendarEntryTypeNew.classList.add(flagIsChecked);
Events.hookupEventHandler("click", filterSelector, (event, filterCalendarEntryType) => {
Utils.consoleLogIfNotProductionEnvironment({ filterCalendarEntryType });
Utils.consoleLogIfNotProductionEnvironment({ [filterCalendarEntryType.tagName]: filterCalendarEntryType.tagName });
let svgElement = (filterCalendarEntryType.tagName.toUpperCase() == 'SVG') ? filterCalendarEntryType : filterCalendarEntryType.parentElement;
let wasChecked = svgElement.classList.contains(flagIsChecked);
if (wasChecked) {
svgElement.classList.remove(flagIsChecked);
}
else {
svgElement.classList.add(flagIsChecked);
}
return this.handleChangeFilter(event, filterCalendarEntryType);
});
let filter = document.querySelector(filterSelector);
let filterValuePrevious = DOM.getElementValueCurrent(filter);
filter.setAttribute(attrValueCurrent, filterValuePrevious);
filter.setAttribute(attrValuePrevious, filterValuePrevious);
}
*/
loadRowTable(rowJson) {
if (rowJson == null) return;
if (_verbose) { Utils.consoleLogIfNotProductionEnvironment("applying data row: ", rowJson); }
}
getJsonRow(row) {
Utils.consoleLogIfNotProductionEnvironment({ row });
if (row == null) return;
let inputCode = row.querySelector('td.' + flagCode + ' .' + flagCode);
let inputName = row.querySelector('td.' + flagName + ' .' + flagName);
let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);
console.log("inputCode");
console.log(inputCode);
let jsonRow = {};
jsonRow[attrIdCalendarEntry] = row.getAttribute(attrIdCalendarEntry);
jsonRow[flagCode] = DOM.getElementAttributeValueCurrent(inputCode);
jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);
jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);
return jsonRow;
}
initialiseRowNew(tbody, row) {
}
postInitialiseRowNewCallback(tbody) {
// let newRows = tbody.querySelectorAll('tr.' + flagRowNew);
}
hookupTableMain() {
super.hookupTableMain();
this.hookupFieldsCodeTable();
this.hookupFieldsNameTable();
this.hookupFieldsActive();
}
leave() {
super.leave();
}
}

View File

@@ -15,6 +15,7 @@ import PageDogButtonIcons from './pages/dog/button_icons.js';
import PageDogCommandButtonLinks from './pages/dog/command_button_links.js';
import PageDogAssessment from './pages/dog/assessment.js';
import PageDogAssessments from './pages/dog/assessments.js';
import PageDogCalendarEntries from './pages/dog/calendar_entries.js'
// Legal
import PageAccessibilityReport from './pages/legal/accessibility_report.js';
import PageAccessibilityStatement from './pages/legal/accessibility_statement.js';
@@ -50,6 +51,7 @@ export default class Router {
this.pages[hashPageDogCommandButtonLinks] = { name: 'PageDogCommandButtonLinks', module: PageDogCommandButtonLinks };
this.pages[hashPageDogAssessment] = { name: 'PageDogAssessment', module: PageDogAssessment };
this.pages[hashPageDogAssessments] = { name: 'PageDogAssessments', module: PageDogAssessments };
this.pages[hashPageDogCalendarEntries] = { name: 'PageDogCalendarEntries', module: PageDogCalendarEntries };
// Legal
this.pages[hashPageAccessibilityStatement] = { name: 'PageAccessibilityStatement', module: PageAccessibilityStatement };
this.pages[hashPageDataRetentionSchedule] = { name: 'PageDataRetentionSchedule', module: PageRetentionSchedule };
@@ -76,6 +78,7 @@ export default class Router {
this.routes[hashPageDogCommandButtonLinks] = (isPopState = false) => this.navigateToHash(hashPageDogCommandButtonLinks, isPopState);
this.routes[hashPageDogAssessment] = (isPopState = false) => this.navigateToHash(hashPageDogAssessment, isPopState);
this.routes[hashPageDogAssessments] = (isPopState = false) => this.navigateToHash(hashPageDogAssessments, isPopState);
this.routes[hashPageDogCalendarEntries] = (isPopState = false) => this.navigateToHash(hashPageDogCalendarEntries, isPopState);
// Legal
this.routes[hashPageAccessibilityStatement] = (isPopState = false) => this.navigateToHash(hashPageAccessibilityStatement, isPopState);
this.routes[hashPageDataRetentionSchedule] = (isPopState = false) => this.navigateToHash(hashPageDataRetentionSchedule, isPopState);