From 2523726731857363dcbf49d5b86fbcd44d2a5ee8 Mon Sep 17 00:00:00 2001 From: nearbeach Date: Fri, 5 Apr 2024 21:11:28 +1100 Subject: [PATCH 1/8] Bugfix - nearbeach-1314 RFC - Start/End dates are not connected to the change task dates --- NearBeach/forms.py | 3 - NearBeach/views/change_task_views.py | 7 + NearBeach/views/request_for_change_views.py | 61 +++++- .../components/change_task/NewChangeTask.vue | 25 ++- .../NewRequestForChange.vue | 15 -- .../request_for_change/RfcInformation.vue | 111 +++-------- .../modules/ChangeTaskList.vue | 39 ++++ .../request_for_change/tabs/RfcDetails.vue | 183 +----------------- src/js/mixins/datetimeMixin.js | 11 ++ src/js/vuex/rfcVueX.js | 5 +- 10 files changed, 158 insertions(+), 302 deletions(-) diff --git a/NearBeach/forms.py b/NearBeach/forms.py index 1a71fbf72..3e14e0587 100644 --- a/NearBeach/forms.py +++ b/NearBeach/forms.py @@ -664,9 +664,6 @@ class Meta: "rfc_title", "rfc_summary", "rfc_type", - "rfc_implementation_start_date", - "rfc_implementation_end_date", - "rfc_implementation_release_date", "rfc_version_number", "rfc_lead", "rfc_priority", diff --git a/NearBeach/views/change_task_views.py b/NearBeach/views/change_task_views.py index fcdfdc662..c83a41ab6 100644 --- a/NearBeach/views/change_task_views.py +++ b/NearBeach/views/change_task_views.py @@ -8,6 +8,7 @@ from NearBeach.forms import ChangeTaskIsDowntimeForm, ChangeTaskStatusForm, ChangeTaskForm, ChangeTaskDescriptionForm, ChangeTaskRequiredByForm from NearBeach.models import ChangeTask, RequestForChange, User +from NearBeach.views.request_for_change_views import update_rfc_dates from NearBeach.views.theme_views import get_theme from NearBeach.decorators.check_user_permissions.object_permissions import check_specific_object_permissions @@ -79,6 +80,9 @@ def change_task_delete(request, change_task_id, *args, **kwargs): change_task_update.is_deleted = True change_task_update.save() + # Update the rfc dates based off the change tasks + update_rfc_dates(change_task_update.request_for_change_id) + # Send back success return HttpResponse("") @@ -114,6 +118,9 @@ def change_task_save(request, change_task_id, *args, **kwargs): change_task_update.save() + # Update the rfc start and end dates based off the change tasks + update_rfc_dates(change_task_update.request_for_change_id) + # Send back empty but successful data return HttpResponse("") diff --git a/NearBeach/views/request_for_change_views.py b/NearBeach/views/request_for_change_views.py index f4e5adaef..981ae0af3 100644 --- a/NearBeach/views/request_for_change_views.py +++ b/NearBeach/views/request_for_change_views.py @@ -1,6 +1,7 @@ -import json, uuid +import json, uuid, datetime from django.shortcuts import get_object_or_404 +from django.db.models import Max, Min from NearBeach.forms import ( NewRequestForChangeForm, @@ -176,6 +177,12 @@ def new_request_for_change_save(request, *args, **kwargs): if not form.is_valid(): return HttpResponseBadRequest(form.errors) + # Setup the default dates for two weeks + default_date = datetime.datetime.now().replace(hour=0, minute=0, second=0, microsecond=0) + + # Add two weeks onto each date + default_date = default_date + datetime.timedelta(weeks=2) + # Save the data rfc_submit = RequestForChange( change_user=request.user, @@ -184,13 +191,9 @@ def new_request_for_change_save(request, *args, **kwargs): rfc_title=form.cleaned_data["rfc_title"], rfc_summary=form.cleaned_data["rfc_summary"], rfc_type=form.cleaned_data["rfc_type"], - rfc_implementation_start_date=form.cleaned_data[ - "rfc_implementation_start_date" - ], - rfc_implementation_end_date=form.cleaned_data["rfc_implementation_end_date"], - rfc_implementation_release_date=form.cleaned_data[ - "rfc_implementation_release_date" - ], + rfc_implementation_start_date=default_date, + rfc_implementation_end_date=default_date, + rfc_implementation_release_date=default_date, rfc_version_number=form.cleaned_data["rfc_version_number"], rfc_lead=form.cleaned_data["rfc_lead"], rfc_priority=form.cleaned_data["rfc_priority"], @@ -300,8 +303,6 @@ def rfc_new_change_task(request, rfc_id, *args, **kwargs): :param rfc_id: :return: """ - # ADD IN USER PERMISSIONS - # Place data into forms for validation form = NewChangeTaskForm(request.POST) if not form.is_valid(): @@ -323,6 +324,9 @@ def rfc_new_change_task(request, rfc_id, *args, **kwargs): ) submit_change_task.save() + # Update the RFC's start and end date, based off the change tasks + update_rfc_dates(rfc_id) + # # Get all the change task results and send it back return get_rfc_change_task(rfc_id) @@ -742,3 +746,40 @@ def rfc_update_status(request, rfc_id, *args, **kwargs): rfc_status_rejected(rfc_id, rfc_update) return HttpResponse("") + + +# Internal function +def update_rfc_dates(rfc_id): + """ + Will look up all the change tasks associated with this rfc, and update the start and end date using the min and max + from the change tasks. + """ + rfc_results = RequestForChange.objects.get(rfc_id=rfc_id) + + # Obtain the delta between the end date and the release date + delta = abs(rfc_results.rfc_implementation_release_date - rfc_results.rfc_implementation_end_date) + + # Obtain all the change tasks and find the min and max date of all + change_task_results = ChangeTask.objects.filter( + is_deleted=False, + request_for_change_id=rfc_id + ) + + start_date = change_task_results.aggregate( + Min("change_task_start_date") + )["change_task_start_date__min"] + + end_date = change_task_results.aggregate( + Max("change_task_end_date") + )["change_task_end_date__max"] + + release_date = end_date + delta + + # Update the RFC + rfc_results.rfc_implementation_start_date=start_date + rfc_results.rfc_implementation_end_date=end_date + rfc_results.rfc_implementation_release_date=release_date + + rfc_results.save() + + return diff --git a/src/js/components/change_task/NewChangeTask.vue b/src/js/components/change_task/NewChangeTask.vue index cf328a2c1..53e3c045f 100644 --- a/src/js/components/change_task/NewChangeTask.vue +++ b/src/js/components/change_task/NewChangeTask.vue @@ -69,9 +69,9 @@ Between Dates

Choose the start and end date of the Change Task. Please - note the end date can not be earlier than the start date and - the start time has to be between the RFC's start and end date. - This information is show below the dates + note the end date can not be earlier than the start date. + The release date is the datetime where users now have + access to what you just released.

@@ -111,9 +111,9 @@ class="row" >
-
- The Start date can not be earlier than the start date of the RFC - - {{ formatDate(rfcStartDate) }} +
+ Saving this change task will automatically update the start date for the RFC. The + RFC's new date will reflect this current date time.
- The End date when saved will automatically update the End Date for the RFC - - {{ formatDate(rfcEndDate) }} + Saving this change task will automatically update the end date for the RFC. The + RFC's new date will reflect this current date time.
@@ -212,6 +212,7 @@ import useVuelidate from "@vuelidate/core"; import {required, numeric} from "@vuelidate/validators"; import ValidationRendering from "../validation/ValidationRendering.vue"; + export default { name: "NewChangeTask", setup() { @@ -358,6 +359,10 @@ export default { this.assignedUserModel = ""; this.qaUserModel = ""; + //Adjust the times + this.changeStartDateModel = this.changeEndDateModel; + this.changeEndDateModel = this.changeEndDateModel + (15 * 1000 * 60); + //Set the current status back to ready this.currentStatus = 'ready'; }).catch((error) => { @@ -396,8 +401,8 @@ export default { }); //Update Times - this.changeEndDateModel = this.rfcStartDate + (15 * 1000 * 60); - this.changeStartDateModel = this.rfcStartDate; + this.changeEndDateModel = this.rfcEndDate + (15 * 1000 * 60); + this.changeStartDateModel = this.rfcEndDate; }, }; diff --git a/src/js/components/request_for_change/NewRequestForChange.vue b/src/js/components/request_for_change/NewRequestForChange.vue index 227e879f3..038a6da11 100644 --- a/src/js/components/request_for_change/NewRequestForChange.vue +++ b/src/js/components/request_for_change/NewRequestForChange.vue @@ -155,11 +155,8 @@ export default { rfcBackoutPlan: "", rfcChangeLeadModel: {}, rfcImpactModel: {}, - rfcImplementationEndModel: "", rfcImplementationPlanModel: "", - rfcImplementationStartModel: "", rfcPriorityModel: {}, - rfcReleaseModel: "", rfcRiskModel: {}, rfcRiskSummaryModel: "", rfcSummaryModel: "", @@ -246,18 +243,6 @@ export default { this.replaceIncorrectImageUrl(data.rfcSummaryModel) ); data_to_send.set("rfc_type", data.rfcTypeModel); - data_to_send.set( - "rfc_implementation_start_date", - new Date(data.rfcImplementationStartModel).toISOString() - ); - data_to_send.set( - "rfc_implementation_end_date", - new Date(data.rfcImplementationEndModel).toISOString() - ); - data_to_send.set( - "rfc_implementation_release_date", - new Date(data.rfcReleaseModel).toISOString() - ); data_to_send.set("rfc_version_number", data.rfcVersionModel); data_to_send.set("rfc_lead", data.rfcChangeLeadModel); data_to_send.set("rfc_priority", data.rfcPriorityModel); diff --git a/src/js/components/request_for_change/RfcInformation.vue b/src/js/components/request_for_change/RfcInformation.vue index 31be4bcfb..085df7a07 100644 --- a/src/js/components/request_for_change/RfcInformation.vue +++ b/src/js/components/request_for_change/RfcInformation.vue @@ -58,12 +58,20 @@

Important Dates

- Please supply the implementation start and end dates. - Please also suply the release date of the change to the - general consumer. + Start and End date are automatically calculated from the change tasks. +

+

+ The release date can only be equal or greater than the end date. By default it will equal + the end date. Changing the release date will obey the time delta if the end date changes.

+ +
+ Start Date: {{getNiceDatetimeFromInt(rfcImplementationStartModel)}}
+ End Date: {{getNiceDatetimeFromInt(rfcImplementationEndModel)}} +
+
-
-
- - -
-
-
-
- - -
-
@@ -354,20 +340,6 @@ export default { }, }, watch: { - localEndDate() { - //If startDate > endDate - update endDate to the start date - if (this.localStartDate > this.localEndDate) { - this.localEndDate = this.localStartDate; - } - - //If endDate > releaseDate - update the releaseDate to the end date - if (this.localEndDate > this.localReleaseDate) { - this.localReleaseDate = this.localEndDate; - } - - //Update State Management - this.updateStateManagement(); - }, localReleaseDate() { //If endDate > releaseDate - update the releaseDate to the end date if (this.localEndDate > this.localReleaseDate) { @@ -375,16 +347,7 @@ export default { } //Update State Management - this.updateStateManagement(); - }, - localStartDate() { - //If startDate > endDate - update endDate to the start date - if (this.localStartDate > this.localEndDate) { - this.localEndDate = this.localStartDate; - } - - //Update State Management - this.updateStateManagement(); + this.updateReleaseDate(); }, }, computed: { @@ -392,22 +355,12 @@ export default { changeTaskCount: "getChangeTaskCount", rfcImplementationEndModel: "getEndDate", rfcImplementationStartModel: "getStartDate", - rfcReleaseModel: "getReleaseDateModel", + rfcReleaseModel: "getReleaseDate", }), checkDateValidation() { //Check the validation for each date - const start_date = - !this.v$.rfcImplementationStartModel.required && - this.v$.rfcImplementationStartModel.$dirty, - end_date = - !this.v$.rfcImplementationEndModel.required && - this.v$.rfcImplementationEndModel.$dirty, - release_date = - !this.v$.rfcReleaseModel.required && + return !this.v$.rfcReleaseModel.required && this.v$.rfcReleaseModel.$dirty; - - //If there is ONE invalidation, we send back true => invalid - return start_date || end_date || release_date; }, }, mixins: [datetimeMixin, getThemeMixin], @@ -415,9 +368,7 @@ export default { return { approvalUsersList: [], localChangeLead: this.rfcChangeLead, - localEndDate: 0, localReleaseDate: 0, - localStartDate: 0, rfcChangeLeadFixList: [], rfcChangeLeadModel: "", rfcTitleModel: this.rfcResults[0].fields.rfc_title, @@ -456,12 +407,6 @@ export default { required, maxLength: maxLength(630000), }, - rfcImplementationStartModel: { - required, - }, - rfcImplementationEndModel: { - required, - }, rfcReleaseModel: { required, }, @@ -568,6 +513,13 @@ export default { updateChangeLead(new_change_lead) { this.localChangeLead = new_change_lead; }, + updateReleaseDate() { + //Update the vuex + this.$store.commit({ + type: "updateRfcReleaseDate", + releaseDateModel: this.localReleaseDate, + }); + }, updateRFC: async function () { //Check form validation const validation_results = await this.v$.$validate(); @@ -629,15 +581,6 @@ export default { this.sendUpdate(data_to_send); }, - updateStateManagement() { - //Update the vuex - this.$store.commit({ - type: "updateRfcDates", - endDateModel: this.localEndDate, - releaseDateModel: this.localReleaseDate, - startDateModel: this.localStartDate, - }); - }, updateValues(data) { //Update the value this[data.modelName] = data.modelValue; @@ -676,12 +619,16 @@ export default { this.rfcResults[0].fields.rfc_implementation_start_date ); - this.localEndDate = end_date.getTime(); + //Update the local release date :) this.localReleaseDate = release_date.getTime(); - this.localStartDate = start_date.getTime(); - //Update State Management - this.updateStateManagement(); + //Update the VueX datetimes :) + this.$store.commit({ + type: "updateRfcDates", + endDateModel: end_date.getTime(), + releaseDateModel: release_date.getTime(), + startDateModel: start_date.getTime(), + }) //Get the list of users who can approve this.getApprovalUserList(); diff --git a/src/js/components/request_for_change/modules/ChangeTaskList.vue b/src/js/components/request_for_change/modules/ChangeTaskList.vue index 4e7c8ed33..30a144c9f 100644 --- a/src/js/components/request_for_change/modules/ChangeTaskList.vue +++ b/src/js/components/request_for_change/modules/ChangeTaskList.vue @@ -225,6 +225,8 @@ export default { computed: { ...mapGetters({ userLevel: "getUserLevel", + rfcEndDate: "getEndDate", + rfcReleaseDate: "getReleaseDate", rootUrl: "getRootUrl", }), isCompleted() { @@ -425,6 +427,9 @@ export default { type: "updateChangeTaskCount", changeTaskCount: data.change_tasks.length, }); + + //Update the rfc start/end/release dates based off the data + this.updateRfcDates(); }, updateChangeTaskStatus( change_task_id, @@ -465,6 +470,40 @@ export default { }); }); }, + updateRfcDates() { + //If there is no data - do nothing + if (this.changeTaskList.length === 0) return; + + //Get the delta between the end and release date + const delta = this.rfcReleaseDate - this.rfcEndDate; + + //Get the minimum start date from the change task list + const start_object = this.changeTaskList.reduce((a, b) => { + const a_date = new Date(a.change_task_start_date); + const b_date = new Date(b.change_task_start_date); + + return a_date < b_date ? a : b; + }); + const start_date = new Date(start_object.change_task_start_date); + + //Get the maximum end date from the change task list + const end_object = this.changeTaskList.reduce((a, b) => { + const a_date = new Date(a.change_task_end_date); + const b_date = new Date(b.change_task_end_date); + + return a_date > b_date ? a : b; + }); + const end_date = new Date(end_object.change_task_end_date); + + const release_date = end_date.getTime() + delta; + + this.$store.commit({ + type: "updateRfcDates", + endDateModel: end_date.getTime(), + releaseDateModel: release_date, + startDateModel: start_date.getTime(), + }); + }, }, mounted() { // Get the run sheet list diff --git a/src/js/components/request_for_change/tabs/RfcDetails.vue b/src/js/components/request_for_change/tabs/RfcDetails.vue index e12153de1..7ce6ad183 100644 --- a/src/js/components/request_for_change/tabs/RfcDetails.vue +++ b/src/js/components/request_for_change/tabs/RfcDetails.vue @@ -42,65 +42,6 @@
- -
-
-
-

Important Dates

-

- Please supply the implementation start and end dates. Please - also suply the release date of the change to the general - consumer. -

-
-
- -
- - Please select an appropriate date for ALL fields. -
- - -
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
-
@@ -143,11 +84,11 @@ From 680a782cada69a9a83335c73ca11efbbd1ca5f40 Mon Sep 17 00:00:00 2001 From: nearbeach Date: Fri, 5 Apr 2024 22:36:42 +1100 Subject: [PATCH 7/8] Bugfixes - nearbeach-1312 RFC - testplan - has not validation text || nearbeach-1311 RFC - Backout Plan has not validation red text || nearbeach-1310 RFC - Implementation plan - not showing validation issues --- .../tabs/RfcBackoutPlan.vue | 3 +++ .../tabs/RfcDescription.vue | 20 ++++++++++--------- .../tabs/RfcImplementationPlan.vue | 3 +++ .../request_for_change/tabs/RfcRisk.vue | 1 + .../request_for_change/tabs/RfcTestPlan.vue | 3 +++ 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/js/components/request_for_change/tabs/RfcBackoutPlan.vue b/src/js/components/request_for_change/tabs/RfcBackoutPlan.vue index 0021820ee..fd7c0e0c1 100644 --- a/src/js/components/request_for_change/tabs/RfcBackoutPlan.vue +++ b/src/js/components/request_for_change/tabs/RfcBackoutPlan.vue @@ -131,6 +131,9 @@ export default { this.rfcBackoutPlanModel = this.rfcResults[0].fields.rfc_backout_plan; } + + //Just run the validations to show the error messages + this.v$.$touch(); }, }; diff --git a/src/js/components/request_for_change/tabs/RfcDescription.vue b/src/js/components/request_for_change/tabs/RfcDescription.vue index 009a5fe8a..ee019acb2 100644 --- a/src/js/components/request_for_change/tabs/RfcDescription.vue +++ b/src/js/components/request_for_change/tabs/RfcDescription.vue @@ -32,7 +32,7 @@
@@ -132,6 +132,14 @@ export default { if (this.uuid === "") return this.uploadImage(blobInfo, progress); return this.newObjectUploadImage(blobInfo, progress) }, + updateValidation() { + this.v$.$touch(); + + this.$emit("update_validation", { + tab: "tab_0", + value: !this.v$.$invalid, + }); + }, updateValues(modelName, modelValue) { this.$emit("update_values", { modelName: modelName, @@ -142,19 +150,13 @@ export default { watch: { rfcSummaryModel() { this.updateValues("rfcSummaryModel", this.rfcSummaryModel); + this.updateValidation(); }, rfcTitleModel() { this.updateValues("rfcTitleModel", this.rfcTitleModel); + this.updateValidation(); }, }, - updated() { - this.v$.$touch(); - - this.$emit("update_validation", { - tab: "tab_0", - value: !this.v$.$invalid, - }); - }, mounted() { //If there is data in the rfcResults - we will update the rfcSummary and rfcTitle if (this.rfcResults.length > 0) { diff --git a/src/js/components/request_for_change/tabs/RfcImplementationPlan.vue b/src/js/components/request_for_change/tabs/RfcImplementationPlan.vue index 89a0885af..810d4d18b 100644 --- a/src/js/components/request_for_change/tabs/RfcImplementationPlan.vue +++ b/src/js/components/request_for_change/tabs/RfcImplementationPlan.vue @@ -133,6 +133,9 @@ export default { this.rfcImplementationPlanModel = this.rfcResults[0].fields.rfc_implementation_plan; } + + //Just run the validations to show the error messages + this.v$.$touch(); }, }; diff --git a/src/js/components/request_for_change/tabs/RfcRisk.vue b/src/js/components/request_for_change/tabs/RfcRisk.vue index 7fdf56c62..103b1026e 100644 --- a/src/js/components/request_for_change/tabs/RfcRisk.vue +++ b/src/js/components/request_for_change/tabs/RfcRisk.vue @@ -181,6 +181,7 @@ export default { return this.newObjectUploadImage(blobInfo, progress) }, updateValidation() { + console.log("VALIDATING RISK"); this.v$.$touch(); this.$emit("update_validation", { diff --git a/src/js/components/request_for_change/tabs/RfcTestPlan.vue b/src/js/components/request_for_change/tabs/RfcTestPlan.vue index 7964de2fb..939196a73 100644 --- a/src/js/components/request_for_change/tabs/RfcTestPlan.vue +++ b/src/js/components/request_for_change/tabs/RfcTestPlan.vue @@ -129,6 +129,9 @@ export default { if (this.rfcResults.length > 0) { this.rfcTestPlanModel = this.rfcResults[0].fields.rfc_test_plan; } + + //Just run the validations to show the error messages + this.v$.$touch(); }, }; From e5c83137179155a2370f48c6190956045fcd90a8 Mon Sep 17 00:00:00 2001 From: nearbeach Date: Fri, 5 Apr 2024 22:41:22 +1100 Subject: [PATCH 8/8] release 0.31.12 --- NearBeach/static/NearBeach/3150.min.js | 1 + NearBeach/static/NearBeach/3150.min.js.gz | Bin 0 -> 2448 bytes NearBeach/static/NearBeach/3399.min.js | 2 +- NearBeach/static/NearBeach/3399.min.js.gz | Bin 6661 -> 6668 bytes NearBeach/static/NearBeach/NearBeach.min.js | 2 +- .../static/NearBeach/NearBeach.min.js.gz | Bin 132701 -> 133008 bytes .../NearBeach/change-task-information.min.js | 2 +- .../change-task-information.min.js.gz | Bin 3434 -> 3856 bytes .../NearBeach/dashboard-kanban-list.min.js | 2 +- .../NearBeach/dashboard-kanban-list.min.js.gz | Bin 1223 -> 1227 bytes .../NearBeach/dashboard-my-objects.min.js | 2 +- .../NearBeach/dashboard-my-objects.min.js.gz | Bin 1567 -> 1579 bytes .../NearBeach/dashboard-rfc-approvals.min.js | 2 +- .../dashboard-rfc-approvals.min.js.gz | Bin 1282 -> 1294 bytes .../dashboard-unassigned-objects.min.js | 2 +- .../dashboard-unassigned-objects.min.js.gz | Bin 1521 -> 1528 bytes .../NearBeach/list-search-results.min.js | 2 +- .../NearBeach/list-search-results.min.js.gz | Bin 943 -> 958 bytes .../static/NearBeach/new-notification.min.js | 2 +- .../NearBeach/new-notification.min.js.gz | Bin 2388 -> 2404 bytes NearBeach/static/NearBeach/new-project.min.js | 2 +- .../static/NearBeach/new-project.min.js.gz | Bin 2891 -> 2905 bytes .../NearBeach/new-request-for-change.min.js | 2 +- .../new-request-for-change.min.js.gz | Bin 5141 -> 4484 bytes NearBeach/static/NearBeach/new-task.min.js | 2 +- NearBeach/static/NearBeach/new-task.min.js.gz | Bin 2852 -> 2864 bytes .../NearBeach/notification-information.min.js | 2 +- .../notification-information.min.js.gz | Bin 2522 -> 2541 bytes .../NearBeach/project-information.min.js | 2 +- .../NearBeach/project-information.min.js.gz | Bin 4107 -> 4115 bytes .../public-requirement-item-list.min.js | 2 +- .../public-requirement-item-list.min.js.gz | Bin 2955 -> 2972 bytes .../static/NearBeach/rfc-Information.min.js | 2 +- .../NearBeach/rfc-Information.min.js.gz | Bin 5950 -> 5899 bytes NearBeach/static/NearBeach/rfc-modules.min.js | 2 +- .../static/NearBeach/rfc-modules.min.js.gz | Bin 6247 -> 6555 bytes .../static/NearBeach/search-objects.min.js | 2 +- .../static/NearBeach/search-objects.min.js.gz | Bin 2057 -> 2077 bytes .../static/NearBeach/search-sprints.min.js | 2 +- .../static/NearBeach/search-sprints.min.js.gz | Bin 1780 -> 1787 bytes ..._vue-src_js_mixins_getThemeMixin_js.min.js | 13 +- ...e-src_js_mixins_getThemeMixin_js.min.js.gz | Bin 9493 -> 9692 bytes ..._js_components_kanban_KanbanRow_vue.min.js | 2 +- ..._components_kanban_KanbanRow_vue.min.js.gz | Bin 19982 -> 20082 bytes ...components_modules_sub_modul-f023aa.min.js | 13 +- ...ponents_modules_sub_modul-f023aa.min.js.gz | Bin 39120 -> 39358 bytes ...js_components_request_for_ch-d33824.min.js | 1376 +++++++++++++++++ ...components_request_for_ch-d33824.min.js.gz | Bin 0 -> 17949 bytes .../static/NearBeach/task-information.min.js | 2 +- .../NearBeach/task-information.min.js.gz | Bin 4186 -> 4199 bytes .../request_for_change/tabs/RfcTestPlan.vue | 2 +- 51 files changed, 1423 insertions(+), 24 deletions(-) create mode 100644 NearBeach/static/NearBeach/3150.min.js create mode 100644 NearBeach/static/NearBeach/3150.min.js.gz create mode 100644 NearBeach/static/NearBeach/src_js_components_request_for_change_tabs_RfcBackoutPlan_vue-src_js_components_request_for_ch-d33824.min.js create mode 100644 NearBeach/static/NearBeach/src_js_components_request_for_change_tabs_RfcBackoutPlan_vue-src_js_components_request_for_ch-d33824.min.js.gz diff --git a/NearBeach/static/NearBeach/3150.min.js b/NearBeach/static/NearBeach/3150.min.js new file mode 100644 index 000000000..ccb45b3a7 --- /dev/null +++ b/NearBeach/static/NearBeach/3150.min.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknearbeach=self.webpackChunknearbeach||[]).push([[3150],{1077:(e,t,a)=>{a.d(t,{A:()=>g});var l=a(641);const i={class:"row"},s=(0,l.Lk)("div",{class:"col-md-4"},[(0,l.Lk)("h2",null,"Backout Plan"),(0,l.Lk)("p",{class:"text-instructions"}," Please outline the backout plan that will be implemented, and when it will be implemented, when something goes wrong with the Request for Change. ")],-1),o={class:"col-md-8",style:{"min-height":"610px"}},n=(0,l.Lk)("br",null,null,-1);var r=a(9639),d=a(3855),u=a(404),c=a(8838),m=a(379),p=a(3396),h=a(2124);const f={name:"RfcBackoutPlan",setup:()=>({v$:(0,r.Ay)()}),components:{editor:c.A,ValidationRendering:u.A},props:{isReadOnly:{type:Boolean,default:!1},rfcResults:{type:Array,default:()=>[]},uuid:{type:String,default:""}},computed:{...(0,h.L8)({contentCss:"getContentCss",skin:"getSkin"})},mixins:[m.A,p.A],data:()=>({rfcBackoutPlanModel:""}),validations:{rfcBackoutPlanModel:{required:d.mw,maxLength:(0,d.Ru)(63e4)}},methods:{handleUploadImage(e,t){return""===this.uuid?this.uploadImage(e,t):this.newObjectUploadImage(e,t)},updateValidation(){this.v$.$touch(),this.$emit("update_validation",{tab:"tab_4",value:!this.v$.$invalid})},updateValues(e,t){this.$emit("update_values",{modelName:e,modelValue:t})}},watch:{rfcBackoutPlanModel(){this.updateValues("rfcBackoutPlan",this.rfcBackoutPlanModel),this.updateValidation()}},mounted(){this.rfcResults.length>0&&(this.rfcBackoutPlanModel=this.rfcResults[0].fields.rfc_backout_plan),this.v$.$touch()}},g=(0,a(6262).A)(f,[["render",function(e,t,a,r,d,u){const c=(0,l.g2)("validation-rendering"),m=(0,l.g2)("editor");return(0,l.uX)(),(0,l.CE)("div",i,[s,(0,l.Lk)("div",o,[(0,l.Lk)("label",null,[(0,l.eW)(" Backout Plan: "),(0,l.bF)(c,{"error-list":r.v$.rfcBackoutPlanModel.$errors},null,8,["error-list"])]),n,(0,l.bF)(m,{init:{file_picker_types:"image",height:500,images_upload_handler:u.handleUploadImage,menubar:!1,paste_data_images:!0,plugins:["lists","image","codesample","table"],toolbar:"undo redo | blocks | bold italic strikethrough underline backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | table image codesample",skin:`${this.skin}`,content_css:`${this.contentCss}`},disabled:a.isReadOnly,modelValue:e.rfcBackoutPlanModel,"onUpdate:modelValue":t[0]||(t[0]=t=>e.rfcBackoutPlanModel=t)},null,8,["init","disabled","modelValue"])])])}]])},4846:(e,t,a)=>{a.d(t,{A:()=>g});var l=a(641);const i={class:"row"},s=(0,l.Lk)("div",{class:"col-md-4"},[(0,l.Lk)("h2",null,"Implementation Plan"),(0,l.Lk)("p",{class:"text-instructions"}," Please outline your implementation plan for this request for change. ")],-1),o={class:"col-md-8",style:{"min-height":"610px"}},n=(0,l.Lk)("br",null,null,-1);var r=a(9639),d=a(3855),u=a(404),c=a(8838),m=a(379),p=a(3396),h=a(2124);const f={name:"RfcImplementationPlan",setup:()=>({v$:(0,r.Ay)()}),components:{editor:c.A,ValidationRendering:u.A},props:{isReadOnly:{type:Boolean,default:!1},rfcResults:{type:Array,default:()=>[]},uuid:{type:String,default:""}},computed:{...(0,h.L8)({contentCss:"getContentCss",skin:"getSkin"})},mixins:[m.A,p.A],data:()=>({rfcImplementationPlanModel:""}),validations:{rfcImplementationPlanModel:{required:d.mw,maxLength:(0,d.Ru)(63e4)}},methods:{handleUploadImage(e,t){return""===this.uuid?this.uploadImage(e,t):this.newObjectUploadImage(e,t)},updateValidation(){this.v$.$touch(),this.$emit("update_validation",{tab:"tab_3",value:!this.v$.$invalid})},updateValues(e,t){this.$emit("update_values",{modelName:e,modelValue:t})}},watch:{rfcImplementationPlanModel(){this.updateValues("rfcImplementationPlanModel",this.rfcImplementationPlanModel),this.updateValidation()}},mounted(){this.rfcResults.length>0&&(this.rfcImplementationPlanModel=this.rfcResults[0].fields.rfc_implementation_plan),this.v$.$touch()}},g=(0,a(6262).A)(f,[["render",function(e,t,a,r,d,u){const c=(0,l.g2)("validation-rendering"),m=(0,l.g2)("editor");return(0,l.uX)(),(0,l.CE)("div",i,[s,(0,l.Lk)("div",o,[(0,l.Lk)("label",null,[(0,l.eW)(" Implementation Plan: "),(0,l.bF)(c,{"error-list":r.v$.rfcImplementationPlanModel.$errors},null,8,["error-list"])]),n,(0,l.bF)(m,{init:{file_picker_types:"image",height:500,images_upload_handler:u.handleUploadImage,menubar:!1,paste_data_images:!0,plugins:["lists","image","codesample","table"],toolbar:"undo redo | blocks | bold italic strikethrough underline backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | table image codesample",skin:`${this.skin}`,content_css:`${this.contentCss}`},disabled:a.isReadOnly,modelValue:e.rfcImplementationPlanModel,"onUpdate:modelValue":t[0]||(t[0]=t=>e.rfcImplementationPlanModel=t)},null,8,["init","disabled","modelValue"])])])}]])},3425:(e,t,a)=>{a.d(t,{A:()=>$});var l=a(641);const i={class:"row"},s=(0,l.Lk)("div",{class:"col-md-4"},[(0,l.Lk)("h2",null,"Risk"),(0,l.Lk)("p",{class:"text-instructions"}," Please outline all risks associated with this Request for Change. A detail list of all risks should be noted. ")],-1),o={class:"col-md-8",style:{"min-height":"610px"}},n={class:"row"},r={class:"col-md-4"},d={class:"col-md-4"},u={class:"col-md-4"},c=(0,l.Lk)("br",null,null,-1),m=(0,l.Lk)("br",null,null,-1);var p=a(9639),h=a(3855),f=a(404),g=a(1080),b=a(8838),k=a(379),v=a(3396),y=a(2124);const R={name:"RfcRisk",setup:()=>({v$:(0,p.Ay)()}),components:{editor:b.A,NSelect:g.A,ValidationRendering:f.A},props:{isReadOnly:{type:Boolean,default:!1},rfcResults:{type:Array,default:()=>[]},uuid:{type:String,default:""}},computed:{...(0,y.L8)({contentCss:"getContentCss",skin:"getSkin"})},mixins:[k.A,v.A],data:()=>({rfcPriority:[{label:"Critical",value:4},{label:"High",value:3},{label:"Medium",value:2},{label:"Low",value:1}],rfcPriorityModel:"",rfcRisk:[{label:"Very High",value:5},{label:"High",value:4},{label:"Moderate",value:3},{label:"Low",value:2},{label:"None",value:1}],rfcRiskModel:"",rfcRiskSummaryModel:"",rfcImpact:[{label:"High",value:3},{label:"Medium",value:2},{label:"Low",value:1}],rfcImpactModel:""}),validations:{rfcPriorityModel:{required:h.mw},rfcRiskModel:{required:h.mw},rfcRiskSummaryModel:{required:h.mw,maxLength:(0,h.Ru)(63e4)},rfcImpactModel:{required:h.mw}},methods:{handleUploadImage(e,t){return""===this.uuid?this.uploadImage(e,t):this.newObjectUploadImage(e,t)},updateValidation(){console.log("VALIDATING RISK"),this.v$.$touch(),this.$emit("update_validation",{tab:"tab_2",value:!this.v$.$invalid})},updateValues(e,t){this.$emit("update_values",{modelName:e,modelValue:t})}},watch:{rfcPriority(){this.updateValues("rfcPriority",this.rfcPriority),this.updateValidation()},rfcPriorityModel(){this.updateValues("rfcPriorityModel",this.rfcPriorityModel),this.updateValidation()},rfcRisk(){this.updateValues("rfcRisk",this.rfcRisk),this.updateValidation()},rfcRiskModel(){this.updateValues("rfcRiskModel",this.rfcRiskModel),this.updateValidation()},rfcRiskSummaryModel(){this.updateValues("rfcRiskSummaryModel",this.rfcRiskSummaryModel),this.updateValidation()},rfcImpact(){this.updateValues("rfcImpact",this.rfcImpact),this.updateValidation()},rfcImpactModel(){this.updateValues("rfcImpactModel",this.rfcImpactModel),this.updateValidation()}},mounted(){this.rfcResults.length>0&&(this.rfcPriorityModel=this.rfcResults[0].fields.rfc_priority,this.rfcRiskModel=this.rfcResults[0].fields.rfc_risk,this.rfcRiskSummaryModel=this.rfcResults[0].fields.rfc_risk_and_impact_analysis,this.rfcImpactModel=this.rfcResults[0].fields.rfc_impact),this.v$.$touch()}},$=(0,a(6262).A)(R,[["render",function(e,t,a,p,h,f){const g=(0,l.g2)("validation-rendering"),b=(0,l.g2)("n-select"),k=(0,l.g2)("editor");return(0,l.uX)(),(0,l.CE)("div",i,[s,(0,l.Lk)("div",o,[(0,l.Lk)("div",n,[(0,l.Lk)("div",r,[(0,l.Lk)("label",null,[(0,l.eW)(" Priority of Change "),(0,l.bF)(g,{"error-list":p.v$.rfcPriorityModel.$errors},null,8,["error-list"])]),(0,l.bF)(b,{options:e.rfcPriority,disabled:a.isReadOnly,value:e.rfcPriorityModel,"onUpdate:value":t[0]||(t[0]=t=>e.rfcPriorityModel=t)},null,8,["options","disabled","value"])]),(0,l.Lk)("div",d,[(0,l.Lk)("label",null,[(0,l.eW)(" Risk of Change "),(0,l.bF)(g,{"error-list":p.v$.rfcRiskModel.$errors},null,8,["error-list"])]),(0,l.bF)(b,{options:e.rfcRisk,disabled:a.isReadOnly,value:e.rfcRiskModel,"onUpdate:value":t[1]||(t[1]=t=>e.rfcRiskModel=t)},null,8,["options","disabled","value"])]),(0,l.Lk)("div",u,[(0,l.Lk)("label",null,[(0,l.eW)(" Impact of Change "),(0,l.bF)(g,{"error-list":p.v$.rfcImpactModel.$errors},null,8,["error-list"])]),(0,l.bF)(b,{options:e.rfcImpact,disabled:a.isReadOnly,value:e.rfcImpactModel,"onUpdate:value":t[2]||(t[2]=t=>e.rfcImpactModel=t)},null,8,["options","disabled","value"])])]),c,(0,l.Q3)(" RFC SUMMARY "),(0,l.Lk)("label",null,[(0,l.eW)(" Risk Association: "),(0,l.bF)(g,{"error-list":p.v$.rfcRiskSummaryModel.$errors},null,8,["error-list"])]),m,(0,l.bF)(k,{init:{file_picker_types:"image",height:500,images_upload_handler:f.handleUploadImage,menubar:!1,paste_data_images:!0,plugins:["lists","image","codesample","table"],toolbar:"undo redo | blocks | bold italic strikethrough underline backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | table image codesample",skin:`${this.skin}`,content_css:`${this.contentCss}`},disabled:a.isReadOnly,modelValue:e.rfcRiskSummaryModel,"onUpdate:modelValue":t[3]||(t[3]=t=>e.rfcRiskSummaryModel=t)},null,8,["init","disabled","modelValue"])])])}]])},1717:(e,t,a)=>{a.d(t,{A:()=>g});var l=a(641);const i={class:"row"},s=(0,l.Lk)("div",{class:"col-md-4"},[(0,l.Lk)("h2",null,"Test Plan"),(0,l.Lk)("p",{class:"text-instructions"}," Outline your test plan. How will you test the Request for Change once it has been implemented. ")],-1),o={class:"col-md-8",style:{"min-height":"610px"}},n=(0,l.Lk)("br",null,null,-1);var r=a(9639),d=a(3855),u=a(404),c=a(8838),m=a(379),p=a(3396),h=a(2124);const f={name:"RfcTestPlan",setup:()=>({v$:(0,r.Ay)()}),components:{editor:c.A,ValidationRendering:u.A},props:{isReadOnly:{type:Boolean,default:!1},rfcResults:{type:Array,default:()=>[]},uuid:{type:String,default:""}},computed:{...(0,h.L8)({contentCss:"getContentCss",skin:"getSkin"})},mixins:[m.A,p.A],data:()=>({rfcTestPlanModel:""}),validations:{rfcTestPlanModel:{required:d.mw,maxLength:(0,d.Ru)(63e4)}},methods:{handleUploadImage(e,t){return""===this.uuid?this.uploadImage(e,t):this.newObjectUploadImage(e,t)},updateValidation(){this.v$.$touch(),this.$emit("update_validation",{tab:"tab_5",value:!this.v$.$invalid})},updateValues(e,t){this.$emit("update_values",{modelName:e,modelValue:t})}},watch:{rfcTestPlanModel(){this.updateValues("rfcTestPlanModel",this.rfcTestPlanModel),this.updateValidation()}},mounted(){this.rfcResults.length>0&&(this.rfcTestPlanModel=this.rfcResults[0].fields.rfc_test_plan),this.v$.$touch()}},g=(0,a(6262).A)(f,[["render",function(e,t,a,r,d,u){const c=(0,l.g2)("validation-rendering"),m=(0,l.g2)("editor");return(0,l.uX)(),(0,l.CE)("div",i,[s,(0,l.Lk)("div",o,[(0,l.Lk)("label",null,[(0,l.eW)(" Test Plan: "),(0,l.bF)(c,{"error-list":r.v$.rfcTestPlanModel.$errors},null,8,["error-list"])]),n,(0,l.bF)(m,{init:{file_picker_types:"image",height:500,images_upload_handler:u.handleUploadImage,menubar:!1,paste_data_images:!0,plugins:["lists","image","codesample","table"],toolbar:"undo redo | blocks | bold italic strikethrough underline backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | table image codesample",skin:`${this.skin}`,content_css:`${this.contentCss}`},disabled:a.isReadOnly,modelValue:e.rfcTestPlanModel,"onUpdate:modelValue":t[0]||(t[0]=t=>e.rfcTestPlanModel=t)},null,8,["init","disabled","modelValue"])])])}]])},404:(e,t,a)=>{a.d(t,{A:()=>o});var l=a(641),i=a(33);const s={name:"ValidationRendering",props:{errorList:{type:Array,default:()=>[]}}},o=(0,a(6262).A)(s,[["render",function(e,t,a,s,o,n){return(0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(a.errorList,(e=>((0,l.uX)(),(0,l.CE)("span",{class:"error",key:e.$uid},(0,i.toDisplayString)(e.$message),1)))),128)}]])},9827:(e,t,a)=>{a.d(t,{A:()=>i});var l=a(7413);const i={data:()=>({darkTheme:l.a}),methods:{getTheme:e=>"dark"===e?l.a:null}}},3396:(e,t,a)=>{a.d(t,{A:()=>l});const l={methods:{newObjectUploadImage(e,t){const a=new FormData;a.set("document",e.blob(),e.filename()),a.set("document_description",e.filename()),a.set("uuid",this.uuid);const l={onUploadProgress:e=>{parseFloat(e.loaded),parseFloat(e.total)}};return this.axios.post(`${this.rootUrl}documentation/new_object_upload/`,a,l).then((e=>`/private/${e.data[0].document_key_id}`)).catch((e=>{this.$store.dispatch("newToast",{header:"Error uploading image",message:`Error uploading image. Error -> ${e}`,extra_classes:"bg-danger",delay:0})}))},replaceIncorrectImageUrl:e=>e.replace(new RegExp(''),(e=>e.replace("../","/")))}}},379:(e,t,a)=>{a.d(t,{A:()=>i});var l=a(6266);const i={computed:{...(0,a(2124).L8)({destination:"getDestination",locationId:"getLocationId",rootUrl:"getRootUrl"})},methods:{uploadImage(e,t){const a=new FormData;a.set("document",e.blob(),e.filename()),a.set("document_description",e.filename());const l={onUploadProgress:e=>{parseFloat(e.loaded),parseFloat(e.total)}};return this.axios.post(`${this.rootUrl}documentation/${this.destination}/${this.locationId}/upload/`,a,l).then((e=>`/private/${e.data[0].document_key_id}`)).catch((e=>{this.$store.dispatch("newToast",{header:"Failed to upload image",message:`Sorry, could not upload image. Error -> ${e}`,extra_classes:"bg-danger",delay:0})}))},newObjectUploadImage(e,t){const a=new FormData;a.set("document",e.blob(),e.filename()),a.set("document_description",e.filename()),a.set("uuid",this.uuid);const i={onUploadProgress:e=>{parseFloat(e.loaded),parseFloat(e.total)}};return l.A.post(`${this.rootUrl}documentation/new_object_upload/`,a,i).then((e=>`/private/${e.data[0].document_key_id}`)).catch((e=>{this.$store.dispatch("newToast",{header:"Failed to upload image",message:`Sorry, could not upload image. Error -> ${e}`,extra_classes:"bg-danger",delay:0})}))}}}}}]); \ No newline at end of file diff --git a/NearBeach/static/NearBeach/3150.min.js.gz b/NearBeach/static/NearBeach/3150.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d52b5b92f9f9d7ff2a81feb1421d1d2e53891066 GIT binary patch literal 2448 zcmV;B32*irRW|?}1@4}Q0p%pd_OtcP-+p20h8uzdefm|G>bS6Qp{@G6U)I-e`{D;C zNb9t-2OGP`b+{7-79GUo{X6e{!93wfJW)-Oc2XrI4l$`l3kj1k&CdA}h7rP1 z0oOkyrGSeNy>27iNkG%F6E+>b;q!g62aD4Cx$Uf!u`Ea`+j%Sf;3W@ zKXyklMgDYpI!PPV3GsB9+oX-lj<|#W64s15q=Y1H7m!SU3v`%3Dxw&vauTjL(&Wi|zxoiEAaP z8BL@JJl+EY#mUzJ>u8o+)aj_yAkVda0hc=z`<6Dj=g*c~63OS2uv9gOp-6%d%9SRDS5;LJ z2Cyad_%De(IaLNMp2U%8nqQ(t>xTj1a}AFf%Y^8dmW@`wqcBhQpUo zY>B)Y&zI&DwI#2cts6)fx+T(ZBniMI86j2)IMTmS^CTW;CZQaS<}`OhxrKWp@6C}c z$^`0OnK5850TQ-E^RWa+&uaH^UBvLMRr(-aN4bs)X(6;4#9nee0UeO&g~J0SNhJ9F zX+}ru8se34AevF)dn4+pqA5QiJ=IE;_WnxiapMXfRF8!i$W*w_LLoU+Y)gMgDvx{q zQnsH?(>hRjU*}#J@2LwZwd3!)g|HvT7pJ!7RoK!A;=e>ue`bDqK1A}f$TCVl%odD& za4OS!k(CwJ+*vYgK9M2N9IgV)X~@J+Z);pwavC zjr4q33g*b8xcO3;F^ezP0;2<7L$#?HHYOk*SNJFZP{U_wK_=JdkgReGkIF6XatFl2 zACQpZ(bAOK#kkK1Wq7}1fIq^tMe;7&2f|gnDKw-`2qe^=KsVS?NG8n^*fcz8CL7w& z7PZ}{?us8G5{Fjka{LWL>m(AV{%saYpvB~QQ|UWLv>_;K5_$H#XVB*`E?Hzz7Vx); zUSTE$XDddm;pFSXjJ4kXcjW6?JYuzbhRE971A!Nr0>CAQ12D6&@}BQH{g<{KiIIds zfK`S{h;4;*1&sa8s3^9&*!yiWQLm~A45Haf((hO z4~C-cu*XD#aC+;3Mgp%Yg^&cz?{tBZ=p!nLmt<3_3Y$i26F8spO9O=ytA~>UY0MyI zaX1W~qksNMJ{F*)aG>Nms9S#Ts&5`yYejyx_l~iK)`eRg8fKCTLdh&pi^-nt zJf?V9TU0uS93s53$5f8U^Bq?F1fO0>UV^r&@(~TP;~`R-@vq5ThFYr2yIv<1qAU4O z8msysqwF3;YxZb@3#6%%4?LyXQ}OG@W0hV#|EJQ$v%OE$XEWFGB1>s|zSazynA+N-w7mG%BwZjSg54EdDmJ`Z_IM01=`nD9)@eFTcQH_2B7h0gWN z<$7MFH}0T0;N{!!06Aor`CvFCdutl__L*Hb%w~&38dFLSPpSG3(PZn*zfZ)F!wC3N znJ2RG-R|>9|G;oYy;Xkhm&U%U-y$8ka)jCvq9Vi$M26_?p)yM2XzoNUCj)vK1_$b> zl|u3E%k?QV?A3dQsB7E!cD!WnxnfGN+KuoJ`TsRIg}SZ{4tU|nvZU2aK1;LcichFW zIiC*-${s&GSMu8|C7R2p^srF}_jjy3{>HQ(4MPzDtW5MG+%P#O;vDEPs*Od`#I=XG zGLMfp3C;juE`T8;7dSu4&Y1BGHj73{>gHud1=S`&eW05?k}O~(G`8}W4zk9$hA?EE zHfZI5goCzT)Rbg!f%twri28N+`p&wKt1bl|w4HI|fUk^`kvvOnY|oqm7K50Qw?$dd z`1$gzU04))9FDK*or^!cnafNpTvtt}pcUSZNtZ`hrE7L9?I z8sqrh$*XFp*^K@F&yN1TZd#;@@>g?=lx}jT|`^Op!P-+xSxh@j*?+d OCGFRY_6zVfY2^-{o.d(t,{A:()=>I});var n=o(641),i=o(33);const d={class:"text-instructions"},s={key:0,class:"module-spacer"},a=[(0,n.Lk)("div",{class:"alert alert-dark"}," Sorry - there are no documents or folders uploaded. ",-1)],l={key:1,class:"document--widget"},r=(0,n.Lk)("p",{class:"text-instructions"},"Go to Parent Directory...",-1),c=["onClick"],u={class:"text-instructions"},m={key:0,class:"document--remove"},p=["href"],h={class:"text-instructions"},g={key:0,class:"document--remove"},b=(0,n.Lk)("hr",null,null,-1),k={key:2,class:"btn-group save-changes"},L={key:0,class:"btn btn-primary dropdown-toggle",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},y={class:"dropdown-menu"};var f=o(9336),v=o(2321),D=o(2243),F=o(2124);const C={name:"DocumentsModule",components:{Icon:v.In},props:{overrideDestination:{type:String,default:""},overrideLocationId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},mixins:[D.A],computed:{...(0,F.L8)({currentFolder:"getCurrentFolder",destination:"getDestination",documentFilteredList:"getDocumentFilteredList",documentObjectCount:"getDocumentObjectCount",folderFilteredList:"getFolderFilteredList",locationId:"getLocationId",userLevel:"getUserLevel",rootUrl:"getRootUrl"})},watch:{overrideLocationId(){this.getDocumentList(),this.getFolderList()}},methods:{addFolder(){const e=document.getElementById("cardInformationModalCloseButton");null!==e&&e.click(),new f.aF(document.getElementById("addFolderModal")).show()},addLink(){const e=document.getElementById("cardInformationModalCloseButton");null!==e&&e.click(),new f.aF(document.getElementById("addLinkModal")).show()},confirmFileDelete(e){this.$store.commit({type:"updateDocumentRemoveKey",documentRemoveKey:e});const t=document.getElementById("cardInformationModalCloseButton");null!==t&&t.click(),new f.aF(document.getElementById("confirmFileDeleteModal")).show()},confirmFolderDelete(e){this.$store.commit({type:"updateFolderRemoveId",folderRemoveId:e});const t=document.getElementById("cardInformationModalCloseButton");null!==t&&t.click(),new f.aF(document.getElementById("confirmFolderDeleteModal")).show()},getDestination(){return""!==this.overrideDestination?this.overrideDestination:this.destination},getDocumentList(){0!==this.getLocationId()&&this.axios.post(`${this.rootUrl}documentation/${this.getDestination()}/${this.getLocationId()}/list/files/`).then((e=>{this.$store.commit({type:"updateDocumentList",documentList:e.data})})).catch((e=>{this.$store.dispatch("newToast",{header:"Error getting Document List",message:`Can not retrieve document list. Error -> ${e}`,extra_classes:"bg-danger",delay:0})}))},getFolderList(){0!==this.getLocationId()&&this.axios.post(`${this.rootUrl}documentation/${this.getDestination()}/${this.getLocationId()}/list/folders/`).then((e=>{this.$store.commit({type:"updateFolderList",folderList:e.data})}))},getIcon(e){if(""!==e.document_key__document_url_location&&null!==e.document_key__document_url_location)return this.icons.linkOut;const t=e.document_key__document.split(".");switch(t[t.length-1]){case"jpg":case"png":case"bmp":return this.icons.imageIcon;case"doc":case"docx":return this.icons.microsoftWord;case"xls":case"xlsx":return this.icons.microsoftExcel;case"ppt":case"pptx":return this.icons.microsoftPowerpoint;case"pdf":return this.icons.documentPdf;default:return this.icons.documentText}},getLocationId(){return""!==this.overrideDestination?this.overrideLocationId:this.locationId},goToParentDirectory(){this.$store.dispatch("goToParentDirectory",{})},shortName:e=>e.length<=50?e:`${e.substring(0,47)}...`,updateCurrentFolder(e){this.$store.commit({type:"updateCurrentFolder",currentFolder:e})},uploadDocument(){const e=document.getElementById("cardInformationModalCloseButton");null!==e&&e.click(),new f.aF(document.getElementById("uploadDocumentModal")).show()}},mounted(){this.$nextTick((()=>{this.getDocumentList(),this.getFolderList()}))}},I=(0,o(6262).A)(C,[["render",function(e,t,o,f,v,D){const F=(0,n.g2)("Icon");return(0,n.uX)(),(0,n.CE)("div",null,[(0,n.Lk)("h2",null,[(0,n.bF)(F,{icon:e.icons.bxBriefcase},null,8,["icon"]),(0,n.eW)(" Documents ")]),(0,n.Lk)("p",d," The following is a folder structure of all documents uploaded to this "+(0,i.toDisplayString)(this.getDestination()),1),(0,n.Q3)(" DOCUMENT FOLDER TREE "),0===parseInt(e.documentObjectCount)?((0,n.uX)(),(0,n.CE)("div",s,a)):((0,n.uX)(),(0,n.CE)("div",l,[(0,n.Q3)(" GO TO PARENT DIRECTORY "),0!==this.currentFolder?((0,n.uX)(),(0,n.CE)("div",{key:0,onClick:t[0]||(t[0]=e=>D.goToParentDirectory()),class:"document--child"},[(0,n.bF)(F,{icon:e.icons.arrowUp,width:"80px",height:"80px"},null,8,["icon"]),r])):(0,n.Q3)("v-if",!0),(0,n.Q3)(" RENDER THE FOLDERS "),((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.folderFilteredList,(t=>((0,n.uX)(),(0,n.CE)("div",{key:t.pk,class:"document--child"},[(0,n.Lk)("a",{href:"javascript:void(0)",onClick:e=>D.updateCurrentFolder(t.pk)},[(0,n.bF)(F,{icon:e.icons.folderIcon,width:"80px",height:"80px"},null,8,["icon"]),(0,n.Lk)("p",u,(0,i.toDisplayString)(D.shortName(t.fields.folder_description)),1)],8,c),(0,n.Q3)(" REMOVE FOLDER "),e.userLevel>=2?((0,n.uX)(),(0,n.CE)("div",m,[(0,n.bF)(F,{icon:e.icons.trashCan,onClick:e=>D.confirmFolderDelete(t.pk)},null,8,["icon","onClick"])])):(0,n.Q3)("v-if",!0)])))),128)),(0,n.Q3)(" RENDER THE FILES "),((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.documentFilteredList,(t=>((0,n.uX)(),(0,n.CE)("div",{key:t.document_key_id,class:"document--child"},[(0,n.Lk)("a",{href:`/private/${t.document_key_id}/`,rel:"noopener noreferrer",target:"_blank"},[(0,n.bF)(F,{icon:D.getIcon(t),width:"80px",height:"80px"},null,8,["icon"]),(0,n.Lk)("p",h,(0,i.toDisplayString)(D.shortName(t.document_key__document_description)),1)],8,p),(0,n.Q3)(" REMOVE DOCUMENT "),e.userLevel>=2?((0,n.uX)(),(0,n.CE)("div",g,[(0,n.bF)(F,{icon:e.icons.trashCan,onClick:e=>D.confirmFileDelete(t.document_key_id)},null,8,["icon","onClick"])])):(0,n.Q3)("v-if",!0)])))),128))])),(0,n.Q3)(" ADD DOCUMENTS AND FOLDER BUTTON "),b,!1===o.readOnly?((0,n.uX)(),(0,n.CE)("div",k,[e.userLevel>1?((0,n.uX)(),(0,n.CE)("button",L," New Document/File ")):(0,n.Q3)("v-if",!0),(0,n.Lk)("ul",y,[(0,n.Lk)("li",null,[(0,n.Lk)("a",{class:"dropdown-item",href:"javascript:void(0)",onClick:t[1]||(t[1]=(...e)=>D.uploadDocument&&D.uploadDocument(...e))}," Upload Document ")]),(0,n.Lk)("li",null,[(0,n.Lk)("a",{class:"dropdown-item",href:"javascript:void(0)",onClick:t[2]||(t[2]=(...e)=>D.addLink&&D.addLink(...e))}," Add Link ")]),(0,n.Lk)("li",null,[(0,n.Lk)("a",{class:"dropdown-item",href:"javascript:void(0)",onClick:t[3]||(t[3]=(...e)=>D.addFolder&&D.addFolder(...e))}," Add Folder ")])])])):(0,n.Q3)("v-if",!0)])}]])},6449:(e,t,o)=>{o.d(t,{A:()=>v});var n=o(641),i=o(33);const d={key:0,class:"module-spacer"},s={class:"alert alert-dark"},a={key:1,class:"note-history"},l={class:"note-history--profile"},r=["src"],c={class:"note-history--username"},u={class:"note-history--date"},m={key:0,class:"note-history--edit-button"},p=["onClick"],h=["onClick"],g={class:"note-history--note"};var b=o(8838),k=o(9336),L=o(2124),y=o(8083);const f={name:"ListNotes",components:{editor:b.A},mixins:[y.A],props:{destination:{type:String,default:""}},computed:{...(0,L.L8)({contentCss:"getContentCss",noteList:"getNoteList",rootUrl:"getRootUrl",staticUrl:"getStaticUrl",skin:"getSkin"})},methods:{deleteNote(e){if(this.$store.dispatch({type:"updateNoteId",noteId:e}),new k.aF(document.getElementById("confirmNoteDeleteModal")).show(),"card"===this.destination){const e=document.getElementById("cardInformationModalCloseButton");void 0!==e&&e.click()}},editNote(e){if(this.$store.dispatch({type:"updateNoteId",noteId:e}),new k.aF(document.getElementById("editNoteModal")).show(),"card"===this.destination){const e=document.getElementById("cardInformationModalCloseButton");void 0!==e&&e.click()}},profilePicture(e){return null!==e&&""!==e?`${this.rootUrl}private/${e}/`:`${this.staticUrl}NearBeach/images/placeholder/people_tax.svg`}}},v=(0,o(6262).A)(f,[["render",function(e,t,o,b,k,L){const y=(0,n.g2)("editor");return(0,n.uX)(),(0,n.CE)("div",null,[(0,n.Q3)(" NOTE HISTORY "),0===e.noteList.length?((0,n.uX)(),(0,n.CE)("div",d,[(0,n.Lk)("div",s," Sorry - but there are no notes for this "+(0,i.toDisplayString)(o.destination)+". ",1)])):((0,n.uX)(),(0,n.CE)("div",a,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.noteList,(t=>((0,n.uX)(),(0,n.CE)("div",{class:"note-history--row",key:t.object_note_id},[(0,n.Lk)("div",l,[(0,n.Lk)("img",{src:L.profilePicture(t.profile_picture),alt:"default profile",class:"note-history--profile-picture"},null,8,r),(0,n.Lk)("div",c,(0,i.toDisplayString)(t.first_name)+" "+(0,i.toDisplayString)(t.last_name),1),(0,n.Lk)("div",u,(0,i.toDisplayString)(e.getNiceDatetime(t.date_modified)),1),"true"===t.can_edit?((0,n.uX)(),(0,n.CE)("div",m,[(0,n.Lk)("button",{type:"button",class:"btn btn-outline-secondary",onClick:e=>L.editNote(t.object_note_id)}," Edit Note ",8,p),(0,n.Lk)("button",{type:"button",class:"btn btn-outline-danger",onClick:e=>L.deleteNote(t.object_note_id)}," Delete Note ",8,h)])):(0,n.Q3)("v-if",!0)]),(0,n.Lk)("div",g,[(0,n.bF)(y,{init:{height:250,menubar:!1,plugins:["lists","image","codesample","table"],toolbar:[],skin:`${this.skin}`,content_css:`${this.contentCss}`},modelValue:t.object_note,"onUpdate:modelValue":e=>t.object_note=e,disabled:!0},null,8,["init","modelValue","onUpdate:modelValue"])])])))),128))]))])}]])},3762:(e,t,o)=>{o.d(t,{A:()=>C});var n=o(641),i=o(3751);const d={class:"modal fade",id:"addFolderModal",tabindex:"-1","aria-labelledby":"exampleModalLabel","aria-hidden":"true"},s={class:"modal-dialog modal-lg"},a={class:"modal-content"},l={class:"modal-header"},r=(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"addFolderCloseButton"},[(0,n.Lk)("span",{"aria-hidden":"true"})],-1),c={class:"modal-body"},u={class:"row"},m=(0,n.Lk)("div",{class:"col-md-4"},[(0,n.Lk)("strong",null,"Creating a folder"),(0,n.Lk)("p",{class:"text-instructions"},' Give the folder an appropriate name. When done, click on the "Save" button. It will be added to the current folder. ')],-1),p={class:"col-md-8"},h={class:"form-group"},g=(0,n.Lk)("label",{for:"folder_description"},"Folder Name",-1),b={class:"modal-footer"},k=(0,n.Lk)("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"}," Close ",-1),L=["disabled"];var y=o(2321),f=(o(9336),o(2124)),v=o(2243),D=o(9022);const F={name:"AddFolderWizard",components:{Icon:y.In},props:{destination:{type:String,default:"/"},locationId:{type:Number,default:0}},mixins:[v.A,D.A],data:()=>({disableAddFolderButton:!0,folderDescriptionModel:""}),computed:{...(0,f.L8)({existingFolders:"getFolderFilteredList",currentFolder:"getCurrentFolder",rootUrl:"getRootUrl"})},methods:{addFolder(){const e=new FormData;e.set("folder_description",this.folderDescriptionModel),this.currentFolder>0&&e.set("parent_folder",this.currentFolder),this.axios.post(`${this.rootUrl}documentation/${this.destination}/${this.locationId}/add_folder/`,e).then((e=>{this.$store.dispatch("appendFolderList",{folderList:e.data[0]}),this.folderDescriptionModel="",document.getElementById("addFolderCloseButton").click(),this.reopenCardInformation()})).catch((e=>{this.$store.dispatch("newToast",{header:"Failed to add folder",message:`Failed to add folder. Error -> ${e}`,extra_classes:"bg-danger",delay:0})}))}},updated(){const e=this.existingFolders.filter((e=>e.fields.folder_description===this.folderDescriptionModel));this.disableAddFolderButton=e.length>0||""===this.folderDescriptionModel||null===this.folderDescriptionModel}},C=(0,o(6262).A)(F,[["render",function(e,t,o,y,f,v){const D=(0,n.g2)("Icon");return(0,n.uX)(),(0,n.CE)("div",d,[(0,n.Lk)("div",s,[(0,n.Lk)("div",a,[(0,n.Lk)("div",l,[(0,n.Lk)("h2",null,[(0,n.bF)(D,{icon:e.icons.userIcon},null,8,["icon"]),(0,n.eW)(" Add Folder Wizard ")]),r]),(0,n.Lk)("div",c,[(0,n.Lk)("div",u,[m,(0,n.Lk)("div",p,[(0,n.Lk)("div",h,[g,(0,n.bo)((0,n.Lk)("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=e=>f.folderDescriptionModel=e),class:"form-control",id:"folder_description",maxlength:"50"},null,512),[[i.vModelText,f.folderDescriptionModel]])])])])]),(0,n.Lk)("div",b,[k,(0,n.Lk)("button",{type:"button",class:"btn btn-primary",disabled:f.disableAddFolderButton,onClick:t[1]||(t[1]=(...e)=>v.addFolder&&v.addFolder(...e))}," Add Folder ",8,L)])])])])}]])},3046:(e,t,o)=>{o.d(t,{A:()=>A});var n=o(641),i=o(3751);const d={class:"modal fade",id:"addLinkModal",tabindex:"-1","aria-labelledby":"exampleModalLabel","aria-hidden":"true"},s={class:"modal-dialog modal-lg"},a={class:"modal-content"},l={class:"modal-header"},r=(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"addLinkCloseButton"},[(0,n.Lk)("span",{"aria-hidden":"true"})],-1),c={class:"modal-body"},u={class:"row"},m=(0,n.Lk)("div",{class:"col-md-4"},[(0,n.Lk)("strong",null,"Add Link"),(0,n.Lk)("p",{class:"text-instruction"}," Add hyperlinks to other documents and sources located in on the internet/cloud. ")],-1),p={class:"col-md-8"},h={class:"form-group"},g={for:"document_description"},b={key:0,class:"error"},k={class:"form-group"},L={for:"document_url_location"},y={class:"modal-footer"},f=(0,n.Lk)("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"}," Close ",-1),v=["disabled"];var D=o(2321),F=o(2124),C=o(2243),I=o(9022),E=o(9639),x=o(3855),M=o(404);o(9336);const _={name:"AddLinkWizard",setup:()=>({v$:(0,E.Ay)()}),components:{Icon:D.In,ValidationRendering:M.A},props:{destination:{type:String,default:"/"},locationId:{type:Number,default:0}},mixins:[C.A,I.A],data:()=>({linkModel:"",disableAddButton:!0,documentDescriptionModel:"",documentUrlLocationModel:"",duplicateDescription:!1}),validations:{documentDescriptionModel:{required:x.mw},documentUrlLocationModel:{required:x.mw,url:x.OZ}},computed:{...(0,F.L8)({currentFolder:"getCurrentFolder",excludeDocuments:"getDocumentFilteredList",rootUrl:"getRootUrl"})},methods:{addLink(){const e=new FormData;e.set("document_description",this.documentDescriptionModel),e.set("document_url_location",this.documentUrlLocationModel),this.currentFolder>0&&e.set("parent_folder",this.currentFolder),this.axios.post(`${this.rootUrl}documentation/${this.destination}/${this.locationId}/add_link/`,e).then((e=>{this.$store.dispatch("appendDocumentList",{documentList:e.data[0]}),this.documentDescriptionModel="",this.documentUrlLocationModel="",document.getElementById("addLinkCloseButton").click(),this.reopenCardInformation()})).catch((e=>{this.$store.dispatch("newToast",{header:"Error Adding Link",message:`Sorry, could not add the link for you. Error - ${e}`,extra_classes:"bg-danger",delay:0})}))}},updated(){const e=this.excludeDocuments.filter((e=>e.document_key__document_description===this.documentDescriptionModel));this.duplicateDescription=e.length>0,this.v$.$touch(),this.disableAddButton=this.v$.$invalid||e.length>0}},A=(0,o(6262).A)(_,[["render",function(e,t,o,D,F,C){const I=(0,n.g2)("Icon"),E=(0,n.g2)("validation-rendering");return(0,n.uX)(),(0,n.CE)("div",d,[(0,n.Lk)("div",s,[(0,n.Lk)("div",a,[(0,n.Lk)("div",l,[(0,n.Lk)("h2",null,[(0,n.bF)(I,{icon:e.icons.userIcon},null,8,["icon"]),(0,n.eW)(" Add Link Wizard ")]),r]),(0,n.Lk)("div",c,[(0,n.Lk)("div",u,[m,(0,n.Lk)("div",p,[(0,n.Lk)("div",h,[(0,n.Lk)("label",g,[(0,n.eW)(" Document Description "),(0,n.bF)(E,{"error-list":D.v$.documentDescriptionModel.$errors},null,8,["error-list"]),F.duplicateDescription?((0,n.uX)(),(0,n.CE)("span",b," Sorry - but this is a duplicated description.")):(0,n.Q3)("v-if",!0)]),(0,n.bo)((0,n.Lk)("input",{id:"document_description","onUpdate:modelValue":t[0]||(t[0]=e=>F.documentDescriptionModel=e),class:"form-control",maxlength:"50",placeholder:"NearBeach Homepage"},null,512),[[i.vModelText,F.documentDescriptionModel]])]),(0,n.Lk)("div",k,[(0,n.Lk)("label",L,[(0,n.eW)(" Document URL "),(0,n.bF)(E,{"error-list":D.v$.documentUrlLocationModel.$errors},null,8,["error-list"])]),(0,n.bo)((0,n.Lk)("input",{id:"document_url_location","onUpdate:modelValue":t[1]||(t[1]=e=>F.documentUrlLocationModel=e),class:"form-control",placeholder:"https://nearbeach.org"},null,512),[[i.vModelText,F.documentUrlLocationModel]])])])])]),(0,n.Lk)("div",y,[f,(0,n.Lk)("button",{type:"button",class:"btn btn-primary",onClick:t[2]||(t[2]=(...e)=>C.addLink&&C.addLink(...e)),disabled:F.disableAddButton}," Add Link ",8,v)])])])])}]])},8875:(e,t,o)=>{o.d(t,{A:()=>m});var n=o(641);const i={class:"modal fade",id:"confirmFileDeleteModal",tabindex:"-1","data-bs-backdrop":"static","data-bs-keyboard":"false","aria-labelledby":"confirmFileDelete","aria-hidden":"true"},d={class:"modal-dialog"},s={class:"modal-content"},a=(0,n.Lk)("div",{class:"modal-header"},[(0,n.Lk)("h5",{class:"modal-title",id:"confirmFileDelete"}," Please confirm File Deletion "),(0,n.Q3)(" TASK INFORMATION "),(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"confirmFileDeleteButton"})],-1),l=(0,n.Lk)("div",{class:"modal-body"}," Are you sure you want to delete the file? ",-1),r={class:"modal-footer"};var c=o(2124);o(9336);const u={name:"ConfirmFileDelete",mixins:[o(9022).A],computed:{...(0,c.L8)({destination:"getDestination",documentRemoveKey:"getDocumentRemoveKey",locationId:"getLocationId",rootUrl:"getRootUrl"})},methods:{deleteFile(){if(""===this.documentRemoveKey)return;const e=this.documentRemoveKey,t=new FormData;t.set("document_key",this.documentRemoveKey),this.axios.post(`${this.rootUrl}documentation/${this.destination}/${this.locationId}/remove/`,t).then((()=>{this.$store.dispatch("removeDocument",{document_key:e}),this.closeModal()})).catch((e=>{this.$store.dispatch("newToast",{header:"Error removing file",message:`We could not remove your file. Error - ${e}`,extra_classes:"bg-danger",delay:0})})),this.closeModal()},closeModal(){this.$store.commit({type:"updateDocumentRemoveKey",documentRemoveKey:""}),document.getElementById("confirmFileDeleteButton").click(),this.reopenCardInformation()}}},m=(0,o(6262).A)(u,[["render",function(e,t,o,c,u,m){return(0,n.uX)(),(0,n.CE)("div",i,[(0,n.Lk)("div",d,[(0,n.Lk)("div",s,[a,l,(0,n.Lk)("div",r,[(0,n.Lk)("button",{type:"button",class:"btn btn-secondary",onClick:t[0]||(t[0]=(...e)=>m.closeModal&&m.closeModal(...e))}," No "),(0,n.Lk)("button",{type:"button",class:"btn btn-primary",onClick:t[1]||(t[1]=(...e)=>m.deleteFile&&m.deleteFile(...e))}," Yes ")])])])])}]])},5319:(e,t,o)=>{o.d(t,{A:()=>y});var n=o(641);const i={class:"modal fade",id:"newNoteModal",tabindex:"-1",role:"dialog","aria-labelledby":"exampleModalLabel","aria-hidden":"true"},d={class:"modal-dialog modal-lg",role:"document"},s={class:"modal-content"},a={class:"modal-header"},l=(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"newNoteCloseButton"},[(0,n.Lk)("span",{"aria-hidden":"true"})],-1),r={class:"modal-body"},c=(0,n.Lk)("p",{class:"text-instructions"}," Use the text editor to type out your note. Click on the submit button to submit the note. ",-1),u={class:"modal-footer"},m=["disabled"],p=(0,n.Lk)("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"}," Close ",-1);var h=o(2243),g=o(2321),b=o(8838),k=o(2124);const L={name:"NewHistoryNoteWizard",components:{editor:b.A,Icon:g.In},props:{destination:{type:String,default:""},locationId:{type:Number,default:0}},mixins:[h.A],data:()=>({newNoteModel:""}),computed:{...(0,k.L8)({contentCss:"getContentCss",rootUrl:"getRootUrl",skin:"getSkin"})},methods:{submitNote(){this.$store.dispatch("newToast",{header:"Submitting new note",message:"Please wait. Submitting new note",extra_classes:"bg-warning text-dark",delay:0,unique_type:"submit_note"});const e=new FormData;e.set("destination",this.destination),e.set("location_id",`${this.locationId}`),e.set("note",this.newNoteModel);let t="add_notes";"organisation"===this.destination&&(t="organisation_add_notes"),this.axios.post(`${this.rootUrl}object_data/${this.destination}/${this.locationId}/${t}/`,e).then((e=>{this.$store.dispatch("newToast",{header:"New Note Submitted",message:"The new note submitted successfully.",extra_classes:"bg-success",unique_type:"submit_note"}),this.$store.commit({type:"addNote",newNote:e.data[0]}),this.newNoteModel="",document.getElementById("newNoteCloseButton").click()})).catch((e=>{this.$store.dispatch("newToast",{header:"Error Submitting Note",message:`Sorry, the note did not submit. Error -> ${e}`,extra_classes:"bg-danger",delay:0,unique_type:"submit_note"})}))}}},y=(0,o(6262).A)(L,[["render",function(e,t,o,h,g,b){const k=(0,n.g2)("Icon"),L=(0,n.g2)("editor");return(0,n.uX)(),(0,n.CE)(n.FK,null,[(0,n.Q3)(" NEW HISTORY NOTE "),(0,n.Lk)("div",i,[(0,n.Lk)("div",d,[(0,n.Lk)("div",s,[(0,n.Lk)("div",a,[(0,n.Lk)("h2",null,[(0,n.bF)(k,{icon:e.icons.noteAdd},null,8,["icon"]),(0,n.eW)(" New Note ")]),l]),(0,n.Lk)("div",r,[c,(0,n.bF)(L,{init:{height:300,menubar:!1,plugins:["lists","codesample","table"],toolbar:"undo redo | blocks | bold italic strikethrough underline backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | table image codesample",skin:`${this.skin}`,content_css:`${this.contentCss}`},modelValue:g.newNoteModel,"onUpdate:modelValue":t[0]||(t[0]=e=>g.newNoteModel=e)},null,8,["init","modelValue"])]),(0,n.Lk)("div",u,[(0,n.Lk)("button",{type:"button",class:"btn btn-primary",disabled:""==g.newNoteModel,onClick:t[1]||(t[1]=(...e)=>b.submitNote&&b.submitNote(...e))}," Submit Note ",8,m),p])])])])],2112)}]])},253:(e,t,o)=>{o.d(t,{A:()=>Q});var n=o(641),i=o(33),d=o(3751);const s={class:"modal fade",id:"uploadDocumentModal","data-bs-backdrop":"static","data-bs-keyboard":"false",tabindex:"-1","aria-labelledby":"exampleModalLabel","aria-hidden":"true"},a={class:"modal-dialog modal-lg"},l={class:"modal-content"},r={class:"modal-header"},c=(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"uploadDocumentCloseButton"},[(0,n.Lk)("span",{"aria-hidden":"true"})],-1),u={class:"modal-body"},m={class:"row"},p={class:"col-md-4"},h=(0,n.Lk)("strong",null,"Uploading File",-1),g={class:"text-instructions"},b={key:0},k={key:1},L={key:2},y={class:"col-md-8"},f={key:0,class:"form-file"},v={class:"mb-3"},D={for:"document",class:"form-label"},F=(0,n.Lk)("br",null,null,-1),C={key:0,class:"alert alert-warning"},I=["accept"],E={key:1,class:"form-group"},x={class:"form-group"},M=(0,n.Lk)("label",{for:"documentDescription"},"Document Description",-1),_=(0,n.Lk)("br",null,null,-1),A={class:"form-row"},w={key:2},U={key:0,class:"alert alert-warning"},$=(0,n.Lk)("div",{class:"spinner-border text-primary",role:"status"},[(0,n.Lk)("span",{class:"sr-only"},"Loading...")],-1),N=(0,n.Lk)("div",{class:"alert alert-success"}," The document has been uploaded. The server is currently writing the file to disk. Please be patient - this modal will close automatically. Thank you ",-1),B={class:"modal-footer"},S=(0,n.Lk)("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"}," Close ",-1),T=["disabled"];var R=o(2321),O=(o(9336),o(2124)),X=o(2243),P=o(9022);const W={name:"UploadDocumentWizard",components:{Icon:R.In},props:{overrideDestination:{type:String,default:""},overrideLocationId:{type:Number,default:0}},mixins:[X.A,P.A],data:()=>({disableUploadButton:!0,documentModel:[],documentDescriptionModel:"",uploadPercentage:"",maxUploadSize:0,maxUploadString:"No Upload Limit",maxUploadWarning:!1}),computed:{...(0,O.L8)({acceptedDocuments:"getAcceptedDocuments",currentFolder:"getCurrentFolder",destination:"getDestination",excludeDocuments:"getDocumentFilteredList",locationId:"getLocationId",staticUrl:"getStaticUrl",rootUrl:"getRootUrl"})},methods:{getDestination(){return""!==this.overrideDestination?this.overrideDestination:this.destination},getLocationId(){return""!==this.overrideDestination?this.overrideLocationId:this.locationId},handleFileUploads(e){e[0].size*(0!==this.maxUploadSize)>this.maxUploadSize?this.maxUploadWarning=!0:(this.maxUploadWarning=!1,this.documentModel=e[0],this.documentDescriptionModel=e[0].name)},resetForm(){this.documentModel="",this.documentDescriptionModel="",this.uploadPercentage=""},uploadFile(){const e=new FormData;e.set("document",this.documentModel,this.documentDescriptionModel),e.set("document_description",this.documentDescriptionModel),this.currentFolder>0&&e.set("parent_folder",this.currentFolder);const t={onUploadProgress:e=>{this.uploadPercentage=parseFloat(e.loaded)/parseFloat(e.total)}};this.axios.post(`${this.rootUrl}documentation/${this.getDestination()}/${this.getLocationId()}/upload/`,e,t).then((e=>{this.$store.dispatch("appendDocumentList",{documentList:e.data[0]}),document.getElementById("uploadDocumentCloseButton").click(),this.resetForm(),this.reopenCardInformation()})).catch((e=>{this.$store.dispatch("newToast",{header:"Failed to upload documentation",message:`Can not upload the documentation. ${e}`,extra_classes:"bg-danger",delay:0})}))}},watch:{maxUploadSize(){if(0===this.maxUploadSize)return"No Upload Limit";const e=Math.floor(Math.log(this.maxUploadSize)/Math.log(1024));this.maxUploadString=`Max Upload Size: ${parseFloat((this.maxUploadSize/Math.pow(1024,e)).toFixed(2))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][e]}`}},updated(){const e=this.excludeDocuments.filter((e=>e.document_key__document_description===this.documentDescriptionModel));this.disableUploadButton=""===this.documentModel||0===this.documentDescriptionModel.length||e.length>0},mounted(){this.$nextTick((()=>{this.axios.post(`${this.rootUrl}documentation/get/max_upload/`).then((e=>{this.maxUploadSize=e.data.max_upload_size})).catch((()=>{this.$store.dispatch("newToast",{header:"Failed to get the max upload size",message:`Had an issue getting data from backend. ${this.maxUploadString}`,extra_classes:"bg-danger",delay:0})}))}))}},Q=(0,o(6262).A)(W,[["render",function(e,t,o,R,O,X){const P=(0,n.g2)("Icon");return(0,n.uX)(),(0,n.CE)("div",s,[(0,n.Lk)("div",a,[(0,n.Lk)("div",l,[(0,n.Lk)("div",r,[(0,n.Lk)("h2",null,[(0,n.bF)(P,{icon:e.icons.userIcon},null,8,["icon"]),(0,n.eW)(" Upload Document Wizard ")]),c]),(0,n.Lk)("div",u,[(0,n.Lk)("div",m,[(0,n.Lk)("div",p,[h,(0,n.Lk)("p",g," You will be able to upload a file against this "+(0,i.toDisplayString)(X.getDestination)+". It will appear in the current folder. ",1),0===O.documentModel.length?((0,n.uX)(),(0,n.CE)("p",b,' 1. Please click on "Upload File" button to upload a file ')):""===O.uploadPercentage?((0,n.uX)(),(0,n.CE)("p",k,' 2. Please modify the document descript to be more human readable. Or click the "Reset" button to remove the uploaded file. ')):((0,n.uX)(),(0,n.CE)("p",L," 3. Document is currently uploading. Please be patient. "))]),(0,n.Lk)("div",y,[0===O.documentModel.length?((0,n.uX)(),(0,n.CE)("div",f,[(0,n.Lk)("div",v,[(0,n.Lk)("label",D,[(0,n.eW)(" Please upload a file"),F,(0,n.eW)(" "+(0,i.toDisplayString)(O.maxUploadString)+" ",1),O.maxUploadWarning?((0,n.uX)(),(0,n.CE)("div",C," Sorry - file too large ")):(0,n.Q3)("v-if",!0)]),(0,n.Lk)("input",{type:"file",class:"form-control",id:"document",accept:e.acceptedDocuments,onChange:t[0]||(t[0]=e=>X.handleFileUploads(e.target.files))},null,40,I)])])):""==O.uploadPercentage?((0,n.uX)(),(0,n.CE)("div",E,[(0,n.Q3)(" DOCUMENT DESCRIPTION "),(0,n.Lk)("div",x,[M,(0,n.bo)((0,n.Lk)("input",{id:"documentDescription","onUpdate:modelValue":t[1]||(t[1]=e=>O.documentDescriptionModel=e),type:"text",class:"form-control"},null,512),[[d.vModelText,O.documentDescriptionModel]])]),(0,n.Q3)(" RESET FORM BUTTON "),_,(0,n.Lk)("div",A,[(0,n.Lk)("button",{onClick:t[2]||(t[2]=(...e)=>X.resetForm&&X.resetForm(...e)),class:"btn btn-warning"}," Reset Form ")])])):((0,n.uX)(),(0,n.CE)("div",w,[(0,n.Q3)(" THE UPLOAD SPINNER "),parseFloat(O.uploadPercentage).toFixed(0)<1?((0,n.uX)(),(0,n.CE)("div",U,[(0,n.eW)(" Uploading "+(0,i.toDisplayString)((100*parseFloat(O.uploadPercentage)).toFixed(2))+"% ",1),$])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.Q3)(" THE FINAL WRITING "),N],2112))]))])])]),(0,n.Lk)("div",B,[S,(0,n.Lk)("button",{type:"button",class:"btn btn-primary",disabled:O.disableUploadButton,onClick:t[3]||(t[3]=(...e)=>X.uploadFile&&X.uploadFile(...e))}," Upload File ",8,T)])])])])}]])},404:(e,t,o)=>{o.d(t,{A:()=>s});var n=o(641),i=o(33);const d={name:"ValidationRendering",props:{errorList:{type:Array,default:()=>[]}}},s=(0,o(6262).A)(d,[["render",function(e,t,o,d,s,a){return(0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(o.errorList,(e=>((0,n.uX)(),(0,n.CE)("span",{class:"error",key:e.$uid},(0,i.toDisplayString)(e.$message),1)))),128)}]])},8083:(e,t,o)=>{o.d(t,{A:()=>i});var n=o(6285);const i={methods:{getNiceDatetime:e=>""===e||null==e?"":n.c9.fromISO(e).toLocaleString(n.c9.DATETIME_MED),getNiceDate:e=>""===e||null==e?"":n.c9.fromISO(e).toLocaleString(n.c9.DATE_MED_WITH_WEEKDAY),disableDate(e){const t=new Date;return t.setMilliseconds(0),t.setSeconds(0),t.setHours(0),e<=t.getTime()-36e5}}}},9827:(e,t,o)=>{o.d(t,{A:()=>i});var n=o(7413);const i={data:()=>({darkTheme:n.a}),methods:{getTheme:e=>"dark"===e?n.a:null}}},2243:(e,t,o)=>{o.d(t,{A:()=>M});var n=o(8998),i=o(102),d=o(9394),s=o(2438),a=o(9605),l=o(3438),r=o(5666),c=o(6375),u=o(1647),m=o(7066),p=o(4397),h=o(4603),g=o(7432),b=o(1758),k=o(8959),L=o(9587),y=o(9675),f=o(386),v=o(6120),D=o(8086),F=o(5617),C=o(6325),I=o(6500),E=o(5707),x=o(1511);const M={data:()=>({icons:{arrowUp:n.A,bugIcon:i.A,bxBriefcase:d.A,cardChecklist:s.A,clipboardIcon:a.A,documentPdf:l.A,documentText:r.A,folderIcon:c.A,groupPresentation:u.A,imageIcon:m.A,infoCircle:p.A,linkIcon:h.A,linkIcon2:g.A,linkOut:b.A,mailIcon:k.A,microsoftExcel:L.A,microsoftPowerpoint:y.A,microsoftWord:f.A,noteAdd:v.A,objectStorage:D.A,passwordIcon:F.A,trashCan:C.A,userIcon:I.A,usersIcon:E.A,xCircle:x.A}})}},9022:(e,t,o)=>{o.d(t,{A:()=>i});var n=o(9336);const i={methods:{reopenCardInformation(){let e=document.getElementById("cardInformationModal");null!==e&&(e=new n.aF(e),e.show()),setTimeout((()=>{const e=document.getElementsByClassName("modal-backdrop fade show");e.length>1&&e[0].remove()}),200)}}}}}]); \ No newline at end of file +"use strict";(self.webpackChunknearbeach=self.webpackChunknearbeach||[]).push([[3399],{8947:(e,t,o)=>{o.d(t,{A:()=>I});var n=o(641),i=o(33);const d={class:"text-instructions"},s={key:0,class:"module-spacer"},a=[(0,n.Lk)("div",{class:"alert alert-dark"}," Sorry - there are no documents or folders uploaded. ",-1)],l={key:1,class:"document--widget"},r=(0,n.Lk)("p",{class:"text-instructions"},"Go to Parent Directory...",-1),c=["onClick"],u={class:"text-instructions"},m={key:0,class:"document--remove"},p=["href"],h={class:"text-instructions"},g={key:0,class:"document--remove"},b=(0,n.Lk)("hr",null,null,-1),k={key:2,class:"btn-group save-changes"},L={key:0,class:"btn btn-primary dropdown-toggle",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},y={class:"dropdown-menu"};var f=o(9336),v=o(2321),D=o(2243),F=o(2124);const C={name:"DocumentsModule",components:{Icon:v.In},props:{overrideDestination:{type:String,default:""},overrideLocationId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},mixins:[D.A],computed:{...(0,F.L8)({currentFolder:"getCurrentFolder",destination:"getDestination",documentFilteredList:"getDocumentFilteredList",documentObjectCount:"getDocumentObjectCount",folderFilteredList:"getFolderFilteredList",locationId:"getLocationId",userLevel:"getUserLevel",rootUrl:"getRootUrl"})},watch:{overrideLocationId(){this.getDocumentList(),this.getFolderList()}},methods:{addFolder(){const e=document.getElementById("cardInformationModalCloseButton");null!==e&&e.click(),new f.aF(document.getElementById("addFolderModal")).show()},addLink(){const e=document.getElementById("cardInformationModalCloseButton");null!==e&&e.click(),new f.aF(document.getElementById("addLinkModal")).show()},confirmFileDelete(e){this.$store.commit({type:"updateDocumentRemoveKey",documentRemoveKey:e});const t=document.getElementById("cardInformationModalCloseButton");null!==t&&t.click(),new f.aF(document.getElementById("confirmFileDeleteModal")).show()},confirmFolderDelete(e){this.$store.commit({type:"updateFolderRemoveId",folderRemoveId:e});const t=document.getElementById("cardInformationModalCloseButton");null!==t&&t.click(),new f.aF(document.getElementById("confirmFolderDeleteModal")).show()},getDestination(){return""!==this.overrideDestination?this.overrideDestination:this.destination},getDocumentList(){0!==this.getLocationId()&&this.axios.post(`${this.rootUrl}documentation/${this.getDestination()}/${this.getLocationId()}/list/files/`).then((e=>{this.$store.commit({type:"updateDocumentList",documentList:e.data})})).catch((e=>{this.$store.dispatch("newToast",{header:"Error getting Document List",message:`Can not retrieve document list. Error -> ${e}`,extra_classes:"bg-danger",delay:0})}))},getFolderList(){0!==this.getLocationId()&&this.axios.post(`${this.rootUrl}documentation/${this.getDestination()}/${this.getLocationId()}/list/folders/`).then((e=>{this.$store.commit({type:"updateFolderList",folderList:e.data})}))},getIcon(e){if(""!==e.document_key__document_url_location&&null!==e.document_key__document_url_location)return this.icons.linkOut;const t=e.document_key__document.split(".");switch(t[t.length-1]){case"jpg":case"png":case"bmp":return this.icons.imageIcon;case"doc":case"docx":return this.icons.microsoftWord;case"xls":case"xlsx":return this.icons.microsoftExcel;case"ppt":case"pptx":return this.icons.microsoftPowerpoint;case"pdf":return this.icons.documentPdf;default:return this.icons.documentText}},getLocationId(){return""!==this.overrideDestination?this.overrideLocationId:this.locationId},goToParentDirectory(){this.$store.dispatch("goToParentDirectory",{})},shortName:e=>e.length<=50?e:`${e.substring(0,47)}...`,updateCurrentFolder(e){this.$store.commit({type:"updateCurrentFolder",currentFolder:e})},uploadDocument(){const e=document.getElementById("cardInformationModalCloseButton");null!==e&&e.click(),new f.aF(document.getElementById("uploadDocumentModal")).show()}},mounted(){this.$nextTick((()=>{this.getDocumentList(),this.getFolderList()}))}},I=(0,o(6262).A)(C,[["render",function(e,t,o,f,v,D){const F=(0,n.g2)("Icon");return(0,n.uX)(),(0,n.CE)("div",null,[(0,n.Lk)("h2",null,[(0,n.bF)(F,{icon:e.icons.bxBriefcase},null,8,["icon"]),(0,n.eW)(" Documents ")]),(0,n.Lk)("p",d," The following is a folder structure of all documents uploaded to this "+(0,i.toDisplayString)(this.getDestination()),1),(0,n.Q3)(" DOCUMENT FOLDER TREE "),0===parseInt(e.documentObjectCount)?((0,n.uX)(),(0,n.CE)("div",s,a)):((0,n.uX)(),(0,n.CE)("div",l,[(0,n.Q3)(" GO TO PARENT DIRECTORY "),0!==this.currentFolder?((0,n.uX)(),(0,n.CE)("div",{key:0,onClick:t[0]||(t[0]=e=>D.goToParentDirectory()),class:"document--child"},[(0,n.bF)(F,{icon:e.icons.arrowUp,width:"80px",height:"80px"},null,8,["icon"]),r])):(0,n.Q3)("v-if",!0),(0,n.Q3)(" RENDER THE FOLDERS "),((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.folderFilteredList,(t=>((0,n.uX)(),(0,n.CE)("div",{key:t.pk,class:"document--child"},[(0,n.Lk)("a",{href:"javascript:void(0)",onClick:e=>D.updateCurrentFolder(t.pk)},[(0,n.bF)(F,{icon:e.icons.folderIcon,width:"80px",height:"80px"},null,8,["icon"]),(0,n.Lk)("p",u,(0,i.toDisplayString)(D.shortName(t.fields.folder_description)),1)],8,c),(0,n.Q3)(" REMOVE FOLDER "),e.userLevel>=2?((0,n.uX)(),(0,n.CE)("div",m,[(0,n.bF)(F,{icon:e.icons.trashCan,onClick:e=>D.confirmFolderDelete(t.pk)},null,8,["icon","onClick"])])):(0,n.Q3)("v-if",!0)])))),128)),(0,n.Q3)(" RENDER THE FILES "),((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.documentFilteredList,(t=>((0,n.uX)(),(0,n.CE)("div",{key:t.document_key_id,class:"document--child"},[(0,n.Lk)("a",{href:`/private/${t.document_key_id}/`,rel:"noopener noreferrer",target:"_blank"},[(0,n.bF)(F,{icon:D.getIcon(t),width:"80px",height:"80px"},null,8,["icon"]),(0,n.Lk)("p",h,(0,i.toDisplayString)(D.shortName(t.document_key__document_description)),1)],8,p),(0,n.Q3)(" REMOVE DOCUMENT "),e.userLevel>=2?((0,n.uX)(),(0,n.CE)("div",g,[(0,n.bF)(F,{icon:e.icons.trashCan,onClick:e=>D.confirmFileDelete(t.document_key_id)},null,8,["icon","onClick"])])):(0,n.Q3)("v-if",!0)])))),128))])),(0,n.Q3)(" ADD DOCUMENTS AND FOLDER BUTTON "),b,!1===o.readOnly?((0,n.uX)(),(0,n.CE)("div",k,[e.userLevel>1?((0,n.uX)(),(0,n.CE)("button",L," New Document/File ")):(0,n.Q3)("v-if",!0),(0,n.Lk)("ul",y,[(0,n.Lk)("li",null,[(0,n.Lk)("a",{class:"dropdown-item",href:"javascript:void(0)",onClick:t[1]||(t[1]=(...e)=>D.uploadDocument&&D.uploadDocument(...e))}," Upload Document ")]),(0,n.Lk)("li",null,[(0,n.Lk)("a",{class:"dropdown-item",href:"javascript:void(0)",onClick:t[2]||(t[2]=(...e)=>D.addLink&&D.addLink(...e))}," Add Link ")]),(0,n.Lk)("li",null,[(0,n.Lk)("a",{class:"dropdown-item",href:"javascript:void(0)",onClick:t[3]||(t[3]=(...e)=>D.addFolder&&D.addFolder(...e))}," Add Folder ")])])])):(0,n.Q3)("v-if",!0)])}]])},6449:(e,t,o)=>{o.d(t,{A:()=>v});var n=o(641),i=o(33);const d={key:0,class:"module-spacer"},s={class:"alert alert-dark"},a={key:1,class:"note-history"},l={class:"note-history--profile"},r=["src"],c={class:"note-history--username"},u={class:"note-history--date"},m={key:0,class:"note-history--edit-button"},p=["onClick"],h=["onClick"],g={class:"note-history--note"};var b=o(8838),k=o(9336),L=o(2124),y=o(8083);const f={name:"ListNotes",components:{editor:b.A},mixins:[y.A],props:{destination:{type:String,default:""}},computed:{...(0,L.L8)({contentCss:"getContentCss",noteList:"getNoteList",rootUrl:"getRootUrl",staticUrl:"getStaticUrl",skin:"getSkin"})},methods:{deleteNote(e){if(this.$store.dispatch({type:"updateNoteId",noteId:e}),new k.aF(document.getElementById("confirmNoteDeleteModal")).show(),"card"===this.destination){const e=document.getElementById("cardInformationModalCloseButton");void 0!==e&&e.click()}},editNote(e){if(this.$store.dispatch({type:"updateNoteId",noteId:e}),new k.aF(document.getElementById("editNoteModal")).show(),"card"===this.destination){const e=document.getElementById("cardInformationModalCloseButton");void 0!==e&&e.click()}},profilePicture(e){return null!==e&&""!==e?`${this.rootUrl}private/${e}/`:`${this.staticUrl}NearBeach/images/placeholder/people_tax.svg`}}},v=(0,o(6262).A)(f,[["render",function(e,t,o,b,k,L){const y=(0,n.g2)("editor");return(0,n.uX)(),(0,n.CE)("div",null,[(0,n.Q3)(" NOTE HISTORY "),0===e.noteList.length?((0,n.uX)(),(0,n.CE)("div",d,[(0,n.Lk)("div",s," Sorry - but there are no notes for this "+(0,i.toDisplayString)(o.destination)+". ",1)])):((0,n.uX)(),(0,n.CE)("div",a,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(e.noteList,(t=>((0,n.uX)(),(0,n.CE)("div",{class:"note-history--row",key:t.object_note_id},[(0,n.Lk)("div",l,[(0,n.Lk)("img",{src:L.profilePicture(t.profile_picture),alt:"default profile",class:"note-history--profile-picture"},null,8,r),(0,n.Lk)("div",c,(0,i.toDisplayString)(t.first_name)+" "+(0,i.toDisplayString)(t.last_name),1),(0,n.Lk)("div",u,(0,i.toDisplayString)(e.getNiceDatetime(t.date_modified)),1),"true"===t.can_edit?((0,n.uX)(),(0,n.CE)("div",m,[(0,n.Lk)("button",{type:"button",class:"btn btn-outline-secondary",onClick:e=>L.editNote(t.object_note_id)}," Edit Note ",8,p),(0,n.Lk)("button",{type:"button",class:"btn btn-outline-danger",onClick:e=>L.deleteNote(t.object_note_id)}," Delete Note ",8,h)])):(0,n.Q3)("v-if",!0)]),(0,n.Lk)("div",g,[(0,n.bF)(y,{init:{height:250,menubar:!1,plugins:["lists","image","codesample","table"],toolbar:[],skin:`${this.skin}`,content_css:`${this.contentCss}`},modelValue:t.object_note,"onUpdate:modelValue":e=>t.object_note=e,disabled:!0},null,8,["init","modelValue","onUpdate:modelValue"])])])))),128))]))])}]])},3762:(e,t,o)=>{o.d(t,{A:()=>C});var n=o(641),i=o(3751);const d={class:"modal fade",id:"addFolderModal",tabindex:"-1","aria-labelledby":"exampleModalLabel","aria-hidden":"true"},s={class:"modal-dialog modal-lg"},a={class:"modal-content"},l={class:"modal-header"},r=(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"addFolderCloseButton"},[(0,n.Lk)("span",{"aria-hidden":"true"})],-1),c={class:"modal-body"},u={class:"row"},m=(0,n.Lk)("div",{class:"col-md-4"},[(0,n.Lk)("strong",null,"Creating a folder"),(0,n.Lk)("p",{class:"text-instructions"},' Give the folder an appropriate name. When done, click on the "Save" button. It will be added to the current folder. ')],-1),p={class:"col-md-8"},h={class:"form-group"},g=(0,n.Lk)("label",{for:"folder_description"},"Folder Name",-1),b={class:"modal-footer"},k=(0,n.Lk)("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"}," Close ",-1),L=["disabled"];var y=o(2321),f=(o(9336),o(2124)),v=o(2243),D=o(9022);const F={name:"AddFolderWizard",components:{Icon:y.In},props:{destination:{type:String,default:"/"},locationId:{type:Number,default:0}},mixins:[v.A,D.A],data:()=>({disableAddFolderButton:!0,folderDescriptionModel:""}),computed:{...(0,f.L8)({existingFolders:"getFolderFilteredList",currentFolder:"getCurrentFolder",rootUrl:"getRootUrl"})},methods:{addFolder(){const e=new FormData;e.set("folder_description",this.folderDescriptionModel),this.currentFolder>0&&e.set("parent_folder",this.currentFolder),this.axios.post(`${this.rootUrl}documentation/${this.destination}/${this.locationId}/add_folder/`,e).then((e=>{this.$store.dispatch("appendFolderList",{folderList:e.data[0]}),this.folderDescriptionModel="",document.getElementById("addFolderCloseButton").click(),this.reopenCardInformation()})).catch((e=>{this.$store.dispatch("newToast",{header:"Failed to add folder",message:`Failed to add folder. Error -> ${e}`,extra_classes:"bg-danger",delay:0})}))}},updated(){const e=this.existingFolders.filter((e=>e.fields.folder_description===this.folderDescriptionModel));this.disableAddFolderButton=e.length>0||""===this.folderDescriptionModel||null===this.folderDescriptionModel}},C=(0,o(6262).A)(F,[["render",function(e,t,o,y,f,v){const D=(0,n.g2)("Icon");return(0,n.uX)(),(0,n.CE)("div",d,[(0,n.Lk)("div",s,[(0,n.Lk)("div",a,[(0,n.Lk)("div",l,[(0,n.Lk)("h2",null,[(0,n.bF)(D,{icon:e.icons.userIcon},null,8,["icon"]),(0,n.eW)(" Add Folder Wizard ")]),r]),(0,n.Lk)("div",c,[(0,n.Lk)("div",u,[m,(0,n.Lk)("div",p,[(0,n.Lk)("div",h,[g,(0,n.bo)((0,n.Lk)("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=e=>f.folderDescriptionModel=e),class:"form-control",id:"folder_description",maxlength:"50"},null,512),[[i.vModelText,f.folderDescriptionModel]])])])])]),(0,n.Lk)("div",b,[k,(0,n.Lk)("button",{type:"button",class:"btn btn-primary",disabled:f.disableAddFolderButton,onClick:t[1]||(t[1]=(...e)=>v.addFolder&&v.addFolder(...e))}," Add Folder ",8,L)])])])])}]])},3046:(e,t,o)=>{o.d(t,{A:()=>A});var n=o(641),i=o(3751);const d={class:"modal fade",id:"addLinkModal",tabindex:"-1","aria-labelledby":"exampleModalLabel","aria-hidden":"true"},s={class:"modal-dialog modal-lg"},a={class:"modal-content"},l={class:"modal-header"},r=(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"addLinkCloseButton"},[(0,n.Lk)("span",{"aria-hidden":"true"})],-1),c={class:"modal-body"},u={class:"row"},m=(0,n.Lk)("div",{class:"col-md-4"},[(0,n.Lk)("strong",null,"Add Link"),(0,n.Lk)("p",{class:"text-instruction"}," Add hyperlinks to other documents and sources located in on the internet/cloud. ")],-1),p={class:"col-md-8"},h={class:"form-group"},g={for:"document_description"},b={key:0,class:"error"},k={class:"form-group"},L={for:"document_url_location"},y={class:"modal-footer"},f=(0,n.Lk)("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"}," Close ",-1),v=["disabled"];var D=o(2321),F=o(2124),C=o(2243),I=o(9022),E=o(9639),x=o(3855),M=o(404);o(9336);const _={name:"AddLinkWizard",setup:()=>({v$:(0,E.Ay)()}),components:{Icon:D.In,ValidationRendering:M.A},props:{destination:{type:String,default:"/"},locationId:{type:Number,default:0}},mixins:[C.A,I.A],data:()=>({linkModel:"",disableAddButton:!0,documentDescriptionModel:"",documentUrlLocationModel:"",duplicateDescription:!1}),validations:{documentDescriptionModel:{required:x.mw},documentUrlLocationModel:{required:x.mw,url:x.OZ}},computed:{...(0,F.L8)({currentFolder:"getCurrentFolder",excludeDocuments:"getDocumentFilteredList",rootUrl:"getRootUrl"})},methods:{addLink(){const e=new FormData;e.set("document_description",this.documentDescriptionModel),e.set("document_url_location",this.documentUrlLocationModel),this.currentFolder>0&&e.set("parent_folder",this.currentFolder),this.axios.post(`${this.rootUrl}documentation/${this.destination}/${this.locationId}/add_link/`,e).then((e=>{this.$store.dispatch("appendDocumentList",{documentList:e.data[0]}),this.documentDescriptionModel="",this.documentUrlLocationModel="",document.getElementById("addLinkCloseButton").click(),this.reopenCardInformation()})).catch((e=>{this.$store.dispatch("newToast",{header:"Error Adding Link",message:`Sorry, could not add the link for you. Error - ${e}`,extra_classes:"bg-danger",delay:0})}))}},updated(){const e=this.excludeDocuments.filter((e=>e.document_key__document_description===this.documentDescriptionModel));this.duplicateDescription=e.length>0,this.v$.$touch(),this.disableAddButton=this.v$.$invalid||e.length>0}},A=(0,o(6262).A)(_,[["render",function(e,t,o,D,F,C){const I=(0,n.g2)("Icon"),E=(0,n.g2)("validation-rendering");return(0,n.uX)(),(0,n.CE)("div",d,[(0,n.Lk)("div",s,[(0,n.Lk)("div",a,[(0,n.Lk)("div",l,[(0,n.Lk)("h2",null,[(0,n.bF)(I,{icon:e.icons.userIcon},null,8,["icon"]),(0,n.eW)(" Add Link Wizard ")]),r]),(0,n.Lk)("div",c,[(0,n.Lk)("div",u,[m,(0,n.Lk)("div",p,[(0,n.Lk)("div",h,[(0,n.Lk)("label",g,[(0,n.eW)(" Document Description "),(0,n.bF)(E,{"error-list":D.v$.documentDescriptionModel.$errors},null,8,["error-list"]),F.duplicateDescription?((0,n.uX)(),(0,n.CE)("span",b," Sorry - but this is a duplicated description.")):(0,n.Q3)("v-if",!0)]),(0,n.bo)((0,n.Lk)("input",{id:"document_description","onUpdate:modelValue":t[0]||(t[0]=e=>F.documentDescriptionModel=e),class:"form-control",maxlength:"50",placeholder:"NearBeach Homepage"},null,512),[[i.vModelText,F.documentDescriptionModel]])]),(0,n.Lk)("div",k,[(0,n.Lk)("label",L,[(0,n.eW)(" Document URL "),(0,n.bF)(E,{"error-list":D.v$.documentUrlLocationModel.$errors},null,8,["error-list"])]),(0,n.bo)((0,n.Lk)("input",{id:"document_url_location","onUpdate:modelValue":t[1]||(t[1]=e=>F.documentUrlLocationModel=e),class:"form-control",placeholder:"https://nearbeach.org"},null,512),[[i.vModelText,F.documentUrlLocationModel]])])])])]),(0,n.Lk)("div",y,[f,(0,n.Lk)("button",{type:"button",class:"btn btn-primary",onClick:t[2]||(t[2]=(...e)=>C.addLink&&C.addLink(...e)),disabled:F.disableAddButton}," Add Link ",8,v)])])])])}]])},8875:(e,t,o)=>{o.d(t,{A:()=>m});var n=o(641);const i={class:"modal fade",id:"confirmFileDeleteModal",tabindex:"-1","data-bs-backdrop":"static","data-bs-keyboard":"false","aria-labelledby":"confirmFileDelete","aria-hidden":"true"},d={class:"modal-dialog"},s={class:"modal-content"},a=(0,n.Lk)("div",{class:"modal-header"},[(0,n.Lk)("h5",{class:"modal-title",id:"confirmFileDelete"}," Please confirm File Deletion "),(0,n.Q3)(" TASK INFORMATION "),(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"confirmFileDeleteButton"})],-1),l=(0,n.Lk)("div",{class:"modal-body"}," Are you sure you want to delete the file? ",-1),r={class:"modal-footer"};var c=o(2124);o(9336);const u={name:"ConfirmFileDelete",mixins:[o(9022).A],computed:{...(0,c.L8)({destination:"getDestination",documentRemoveKey:"getDocumentRemoveKey",locationId:"getLocationId",rootUrl:"getRootUrl"})},methods:{deleteFile(){if(""===this.documentRemoveKey)return;const e=this.documentRemoveKey,t=new FormData;t.set("document_key",this.documentRemoveKey),this.axios.post(`${this.rootUrl}documentation/${this.destination}/${this.locationId}/remove/`,t).then((()=>{this.$store.dispatch("removeDocument",{document_key:e}),this.closeModal()})).catch((e=>{this.$store.dispatch("newToast",{header:"Error removing file",message:`We could not remove your file. Error - ${e}`,extra_classes:"bg-danger",delay:0})})),this.closeModal()},closeModal(){this.$store.commit({type:"updateDocumentRemoveKey",documentRemoveKey:""}),document.getElementById("confirmFileDeleteButton").click(),this.reopenCardInformation()}}},m=(0,o(6262).A)(u,[["render",function(e,t,o,c,u,m){return(0,n.uX)(),(0,n.CE)("div",i,[(0,n.Lk)("div",d,[(0,n.Lk)("div",s,[a,l,(0,n.Lk)("div",r,[(0,n.Lk)("button",{type:"button",class:"btn btn-secondary",onClick:t[0]||(t[0]=(...e)=>m.closeModal&&m.closeModal(...e))}," No "),(0,n.Lk)("button",{type:"button",class:"btn btn-primary",onClick:t[1]||(t[1]=(...e)=>m.deleteFile&&m.deleteFile(...e))}," Yes ")])])])])}]])},5319:(e,t,o)=>{o.d(t,{A:()=>y});var n=o(641);const i={class:"modal fade",id:"newNoteModal",tabindex:"-1",role:"dialog","aria-labelledby":"exampleModalLabel","aria-hidden":"true"},d={class:"modal-dialog modal-lg",role:"document"},s={class:"modal-content"},a={class:"modal-header"},l=(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"newNoteCloseButton"},[(0,n.Lk)("span",{"aria-hidden":"true"})],-1),r={class:"modal-body"},c=(0,n.Lk)("p",{class:"text-instructions"}," Use the text editor to type out your note. Click on the submit button to submit the note. ",-1),u={class:"modal-footer"},m=["disabled"],p=(0,n.Lk)("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"}," Close ",-1);var h=o(2243),g=o(2321),b=o(8838),k=o(2124);const L={name:"NewHistoryNoteWizard",components:{editor:b.A,Icon:g.In},props:{destination:{type:String,default:""},locationId:{type:Number,default:0}},mixins:[h.A],data:()=>({newNoteModel:""}),computed:{...(0,k.L8)({contentCss:"getContentCss",rootUrl:"getRootUrl",skin:"getSkin"})},methods:{submitNote(){this.$store.dispatch("newToast",{header:"Submitting new note",message:"Please wait. Submitting new note",extra_classes:"bg-warning text-dark",delay:0,unique_type:"submit_note"});const e=new FormData;e.set("destination",this.destination),e.set("location_id",`${this.locationId}`),e.set("note",this.newNoteModel);let t="add_notes";"organisation"===this.destination&&(t="organisation_add_notes"),this.axios.post(`${this.rootUrl}object_data/${this.destination}/${this.locationId}/${t}/`,e).then((e=>{this.$store.dispatch("newToast",{header:"New Note Submitted",message:"The new note submitted successfully.",extra_classes:"bg-success",unique_type:"submit_note"}),this.$store.commit({type:"addNote",newNote:e.data[0]}),this.newNoteModel="",document.getElementById("newNoteCloseButton").click()})).catch((e=>{this.$store.dispatch("newToast",{header:"Error Submitting Note",message:`Sorry, the note did not submit. Error -> ${e}`,extra_classes:"bg-danger",delay:0,unique_type:"submit_note"})}))}}},y=(0,o(6262).A)(L,[["render",function(e,t,o,h,g,b){const k=(0,n.g2)("Icon"),L=(0,n.g2)("editor");return(0,n.uX)(),(0,n.CE)(n.FK,null,[(0,n.Q3)(" NEW HISTORY NOTE "),(0,n.Lk)("div",i,[(0,n.Lk)("div",d,[(0,n.Lk)("div",s,[(0,n.Lk)("div",a,[(0,n.Lk)("h2",null,[(0,n.bF)(k,{icon:e.icons.noteAdd},null,8,["icon"]),(0,n.eW)(" New Note ")]),l]),(0,n.Lk)("div",r,[c,(0,n.bF)(L,{init:{height:300,menubar:!1,plugins:["lists","codesample","table"],toolbar:"undo redo | blocks | bold italic strikethrough underline backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | table image codesample",skin:`${this.skin}`,content_css:`${this.contentCss}`},modelValue:g.newNoteModel,"onUpdate:modelValue":t[0]||(t[0]=e=>g.newNoteModel=e)},null,8,["init","modelValue"])]),(0,n.Lk)("div",u,[(0,n.Lk)("button",{type:"button",class:"btn btn-primary",disabled:""==g.newNoteModel,onClick:t[1]||(t[1]=(...e)=>b.submitNote&&b.submitNote(...e))}," Submit Note ",8,m),p])])])])],2112)}]])},253:(e,t,o)=>{o.d(t,{A:()=>Q});var n=o(641),i=o(33),d=o(3751);const s={class:"modal fade",id:"uploadDocumentModal","data-bs-backdrop":"static","data-bs-keyboard":"false",tabindex:"-1","aria-labelledby":"exampleModalLabel","aria-hidden":"true"},a={class:"modal-dialog modal-lg"},l={class:"modal-content"},r={class:"modal-header"},c=(0,n.Lk)("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close",id:"uploadDocumentCloseButton"},[(0,n.Lk)("span",{"aria-hidden":"true"})],-1),u={class:"modal-body"},m={class:"row"},p={class:"col-md-4"},h=(0,n.Lk)("strong",null,"Uploading File",-1),g={class:"text-instructions"},b={key:0},k={key:1},L={key:2},y={class:"col-md-8"},f={key:0,class:"form-file"},v={class:"mb-3"},D={for:"document",class:"form-label"},F=(0,n.Lk)("br",null,null,-1),C={key:0,class:"alert alert-warning"},I=["accept"],E={key:1,class:"form-group"},x={class:"form-group"},M=(0,n.Lk)("label",{for:"documentDescription"},"Document Description",-1),_=(0,n.Lk)("br",null,null,-1),A={class:"form-row"},w={key:2},U={key:0,class:"alert alert-warning"},$=(0,n.Lk)("div",{class:"spinner-border text-primary",role:"status"},[(0,n.Lk)("span",{class:"sr-only"},"Loading...")],-1),N=(0,n.Lk)("div",{class:"alert alert-success"}," The document has been uploaded. The server is currently writing the file to disk. Please be patient - this modal will close automatically. Thank you ",-1),B={class:"modal-footer"},S=(0,n.Lk)("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"}," Close ",-1),T=["disabled"];var R=o(2321),O=(o(9336),o(2124)),X=o(2243),P=o(9022);const W={name:"UploadDocumentWizard",components:{Icon:R.In},props:{overrideDestination:{type:String,default:""},overrideLocationId:{type:Number,default:0}},mixins:[X.A,P.A],data:()=>({disableUploadButton:!0,documentModel:[],documentDescriptionModel:"",uploadPercentage:"",maxUploadSize:0,maxUploadString:"No Upload Limit",maxUploadWarning:!1}),computed:{...(0,O.L8)({acceptedDocuments:"getAcceptedDocuments",currentFolder:"getCurrentFolder",destination:"getDestination",excludeDocuments:"getDocumentFilteredList",locationId:"getLocationId",staticUrl:"getStaticUrl",rootUrl:"getRootUrl"})},methods:{getDestination(){return""!==this.overrideDestination?this.overrideDestination:this.destination},getLocationId(){return""!==this.overrideDestination?this.overrideLocationId:this.locationId},handleFileUploads(e){e[0].size*(0!==this.maxUploadSize)>this.maxUploadSize?this.maxUploadWarning=!0:(this.maxUploadWarning=!1,this.documentModel=e[0],this.documentDescriptionModel=e[0].name)},resetForm(){this.documentModel="",this.documentDescriptionModel="",this.uploadPercentage=""},uploadFile(){const e=new FormData;e.set("document",this.documentModel,this.documentDescriptionModel),e.set("document_description",this.documentDescriptionModel),this.currentFolder>0&&e.set("parent_folder",this.currentFolder);const t={onUploadProgress:e=>{this.uploadPercentage=parseFloat(e.loaded)/parseFloat(e.total)}};this.axios.post(`${this.rootUrl}documentation/${this.getDestination()}/${this.getLocationId()}/upload/`,e,t).then((e=>{this.$store.dispatch("appendDocumentList",{documentList:e.data[0]}),document.getElementById("uploadDocumentCloseButton").click(),this.resetForm(),this.reopenCardInformation()})).catch((e=>{this.$store.dispatch("newToast",{header:"Failed to upload documentation",message:`Can not upload the documentation. ${e}`,extra_classes:"bg-danger",delay:0})}))}},watch:{maxUploadSize(){if(0===this.maxUploadSize)return"No Upload Limit";const e=Math.floor(Math.log(this.maxUploadSize)/Math.log(1024));this.maxUploadString=`Max Upload Size: ${parseFloat((this.maxUploadSize/Math.pow(1024,e)).toFixed(2))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][e]}`}},updated(){const e=this.excludeDocuments.filter((e=>e.document_key__document_description===this.documentDescriptionModel));this.disableUploadButton=""===this.documentModel||0===this.documentDescriptionModel.length||e.length>0},mounted(){this.$nextTick((()=>{this.axios.post(`${this.rootUrl}documentation/get/max_upload/`).then((e=>{this.maxUploadSize=e.data.max_upload_size})).catch((()=>{this.$store.dispatch("newToast",{header:"Failed to get the max upload size",message:`Had an issue getting data from backend. ${this.maxUploadString}`,extra_classes:"bg-danger",delay:0})}))}))}},Q=(0,o(6262).A)(W,[["render",function(e,t,o,R,O,X){const P=(0,n.g2)("Icon");return(0,n.uX)(),(0,n.CE)("div",s,[(0,n.Lk)("div",a,[(0,n.Lk)("div",l,[(0,n.Lk)("div",r,[(0,n.Lk)("h2",null,[(0,n.bF)(P,{icon:e.icons.userIcon},null,8,["icon"]),(0,n.eW)(" Upload Document Wizard ")]),c]),(0,n.Lk)("div",u,[(0,n.Lk)("div",m,[(0,n.Lk)("div",p,[h,(0,n.Lk)("p",g," You will be able to upload a file against this "+(0,i.toDisplayString)(X.getDestination)+". It will appear in the current folder. ",1),0===O.documentModel.length?((0,n.uX)(),(0,n.CE)("p",b,' 1. Please click on "Upload File" button to upload a file ')):""===O.uploadPercentage?((0,n.uX)(),(0,n.CE)("p",k,' 2. Please modify the document descript to be more human readable. Or click the "Reset" button to remove the uploaded file. ')):((0,n.uX)(),(0,n.CE)("p",L," 3. Document is currently uploading. Please be patient. "))]),(0,n.Lk)("div",y,[0===O.documentModel.length?((0,n.uX)(),(0,n.CE)("div",f,[(0,n.Lk)("div",v,[(0,n.Lk)("label",D,[(0,n.eW)(" Please upload a file"),F,(0,n.eW)(" "+(0,i.toDisplayString)(O.maxUploadString)+" ",1),O.maxUploadWarning?((0,n.uX)(),(0,n.CE)("div",C," Sorry - file too large ")):(0,n.Q3)("v-if",!0)]),(0,n.Lk)("input",{type:"file",class:"form-control",id:"document",accept:e.acceptedDocuments,onChange:t[0]||(t[0]=e=>X.handleFileUploads(e.target.files))},null,40,I)])])):""==O.uploadPercentage?((0,n.uX)(),(0,n.CE)("div",E,[(0,n.Q3)(" DOCUMENT DESCRIPTION "),(0,n.Lk)("div",x,[M,(0,n.bo)((0,n.Lk)("input",{id:"documentDescription","onUpdate:modelValue":t[1]||(t[1]=e=>O.documentDescriptionModel=e),type:"text",class:"form-control"},null,512),[[d.vModelText,O.documentDescriptionModel]])]),(0,n.Q3)(" RESET FORM BUTTON "),_,(0,n.Lk)("div",A,[(0,n.Lk)("button",{onClick:t[2]||(t[2]=(...e)=>X.resetForm&&X.resetForm(...e)),class:"btn btn-warning"}," Reset Form ")])])):((0,n.uX)(),(0,n.CE)("div",w,[(0,n.Q3)(" THE UPLOAD SPINNER "),parseFloat(O.uploadPercentage).toFixed(0)<1?((0,n.uX)(),(0,n.CE)("div",U,[(0,n.eW)(" Uploading "+(0,i.toDisplayString)((100*parseFloat(O.uploadPercentage)).toFixed(2))+"% ",1),$])):((0,n.uX)(),(0,n.CE)(n.FK,{key:1},[(0,n.Q3)(" THE FINAL WRITING "),N],2112))]))])])]),(0,n.Lk)("div",B,[S,(0,n.Lk)("button",{type:"button",class:"btn btn-primary",disabled:O.disableUploadButton,onClick:t[3]||(t[3]=(...e)=>X.uploadFile&&X.uploadFile(...e))}," Upload File ",8,T)])])])])}]])},404:(e,t,o)=>{o.d(t,{A:()=>s});var n=o(641),i=o(33);const d={name:"ValidationRendering",props:{errorList:{type:Array,default:()=>[]}}},s=(0,o(6262).A)(d,[["render",function(e,t,o,d,s,a){return(0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(o.errorList,(e=>((0,n.uX)(),(0,n.CE)("span",{class:"error",key:e.$uid},(0,i.toDisplayString)(e.$message),1)))),128)}]])},8083:(e,t,o)=>{o.d(t,{A:()=>i});var n=o(6285);const i={methods:{getNiceDatetime:e=>""===e||null==e?"":n.c9.fromISO(e).toLocaleString(n.c9.DATETIME_MED),getNiceDatetimeFromInt:e=>""===e||null==e?"":n.c9.fromMillis(e).toLocaleString(n.c9.DATETIME_MED),getNiceDate:e=>""===e||null==e?"":n.c9.fromISO(e).toLocaleString(n.c9.DATE_MED_WITH_WEEKDAY),disableDate(e){const t=new Date;return t.setMilliseconds(0),t.setSeconds(0),t.setHours(0),e<=t.getTime()-36e5}}}},9827:(e,t,o)=>{o.d(t,{A:()=>i});var n=o(7413);const i={data:()=>({darkTheme:n.a}),methods:{getTheme:e=>"dark"===e?n.a:null}}},2243:(e,t,o)=>{o.d(t,{A:()=>M});var n=o(8998),i=o(102),d=o(9394),s=o(2438),a=o(9605),l=o(3438),r=o(5666),c=o(6375),u=o(1647),m=o(7066),p=o(4397),h=o(4603),g=o(7432),b=o(1758),k=o(8959),L=o(9587),y=o(9675),f=o(386),v=o(6120),D=o(8086),F=o(5617),C=o(6325),I=o(6500),E=o(5707),x=o(1511);const M={data:()=>({icons:{arrowUp:n.A,bugIcon:i.A,bxBriefcase:d.A,cardChecklist:s.A,clipboardIcon:a.A,documentPdf:l.A,documentText:r.A,folderIcon:c.A,groupPresentation:u.A,imageIcon:m.A,infoCircle:p.A,linkIcon:h.A,linkIcon2:g.A,linkOut:b.A,mailIcon:k.A,microsoftExcel:L.A,microsoftPowerpoint:y.A,microsoftWord:f.A,noteAdd:v.A,objectStorage:D.A,passwordIcon:F.A,trashCan:C.A,userIcon:I.A,usersIcon:E.A,xCircle:x.A}})}},9022:(e,t,o)=>{o.d(t,{A:()=>i});var n=o(9336);const i={methods:{reopenCardInformation(){let e=document.getElementById("cardInformationModal");null!==e&&(e=new n.aF(e),e.show()),setTimeout((()=>{const e=document.getElementsByClassName("modal-backdrop fade show");e.length>1&&e[0].remove()}),200)}}}}}]); \ No newline at end of file diff --git a/NearBeach/static/NearBeach/3399.min.js.gz b/NearBeach/static/NearBeach/3399.min.js.gz index dc693dd9a19876f1f0b205042e0e0a86c29f9302..1d1dfec7d55423402b74034137ac164086749543 100644 GIT binary patch literal 6668 zcmV+n8uR5Fqjmr+3T$I~$VXU&=k{aUQnXPJ;4ngxSs(qWef>61=t?@FWBpMKcSz3Y zm~`1-1KP5I202$gd*>?k^`)cKf(phx&Pj249Jdv1uo*kZ1XjTMXtGeHEu$20>iXbQ z$&4AUfk+h}+ro<@BRJh9Z|F@;@NtGE{rl5X^E1xu_y;|9!60jE9}vnU6+xeqs=*4dN>|DbmcJ-dl!wsGvYWnlQXJw&V3CjlA)*M&(%ZuJEH_y+9v`Op=%$2l@u`fuZ z)chIz#;3k}Vy-s&V+-BuR!z)Gi>bV|@sh1HR}4(wy|GzVm{8a(-6dN|?~2r3CR2kD z-~kiQZwf}+%aRY|s5^>ZXkz|T7BI}tZATlV8#M+Ww!jv#>A`;mCa-GesURNOQV!w} zNtU%~w=F_u`=Kg^{s_{)0vx&$RH517iZz?Y08DL;QTDp&9*Em#;B^*#9w}N{zD$qM z%TFhkcTk7l_M)@`$OA@k%<4jgT>hkAw#e0(LzgierbMj7PS&jsXhk-;_*ro)e82 zJ&klF_mxb$dAv0A|Sa zScAPjBe}FKR92xX51SRbT9!3|;%VMGh0SnJsx(7qN)k4Jx)gOIacTYMoCeTbG=G*y z^zFU^mO1jGAtpO!rIbcj4Ksvb(i%kskM8p}&BZDi=KbP1DFvcVNmv8`S{k+0S^1c~ ziyEEOw#|TY0eraEtmVl>XnXyp2@UUrMD|K!O5`h`Dx;aMbZj8}el`te;7O>RPQD}lH6 zFJW&sXiHyysLv|KlLI_C?w(+ytFTy`!E93CIK)CH%pFsQUIsD;gOlf^#6grkJ!?c% z0a1VgJzK0KaJLyl{dwJn4_!Cs@K9pcytO8il9zprSkXlo>Yyn0u-`I^pNCclIBiRq zS)T)y35;cV&u>o3wdU5TVvcy_u3tm?-%DQ7*x5yI@f}GRh)W=nSd`|e#(W*e;0v??HUW{}pQEK7HA$Z+q}6t3x1qo#V7~wt?Hc~1bN<`* zU((M=$@Rx1-r()|yZEb_P#dsrk$~=$@4I|KF^NX^OII3Wc?-gi-Qu@2S=NT`f?B?5 zsv*Yfiy1wx2~*BxF%s>9QfE!OuSR7%T40~~WJFh;T#Z%x^TG|x?z=nU#O;RRu^+&> z^Zk4X=dhN6bFvEwmrbfEJ7phLt(j7CL}@HSvif(m^SJsMQkBQVfbXJ?&3f+igApJ4Tt#u^$Razx4#Q}o=mon}C(PUvvcQ3h@LyzM3rHxcoCam5%p z*r zw-Q{>+{4<83_<5;d!?2}WqMb^bUlY^9J;z}%Y&&33vhCU@82Lt$XrCM#AqU4&N3mI9A!X7OpF7fxY)?fY7wup zEo>PhI71=Nvol96O9&G8P^M;*yZA0MI0Gy|lib)Hf;5yxu`I&je8S(_oHChLaADzw z&tEg+laykPIu&U&m|S!)$y}Gh4QRm7pn*ZGLCoHmkHNt&qO; z!6S|;5s~XIS)Z`J{T@QT-YiU5%d+e}pOt2NtXv7;33r2AkC4vh*D z`P$AvQu{0)yqzMN9apzkwP^7&0*fa_kf3t|n727m^rjk3j6N-lE=!^aiuHSDv+Hj& z3RZQp3a4n3O4DM+W_<-SzmQS{>QoZVFu`3#L=BxystSyi1+1LY6XSYO%@BxE40eye zf=#mp%)dtKot_IZX9DQ9V6|{9CN6dG?F@uFYZY-FG>QX8bpuxONsRi8PO*2^v060d zFJeB>VF{eH1?Z9dgCIp9`h!{|$BCK`Wh$8?ULtT-ddHuRq|nG{t9^%r)|`fgD>QTU z8U0IRjNq7p8tpRyEVJibwNJrdgRS66(o5sd##UC1Fk^l^IcVUgx+TP7rP1$>C;w4u zLPat|nF8X8hBE6TX91*^?sUPjJ{aQTW)1~*MG8$_-@a8O&2%bE;;kRnX&1+zJGax` z6`ZxcI%ceF3e*uZrv!2T0J$!&QP03x!KzYd1NxH;6{fQ-9nkv)xNj^@IfyPlKE9yg+1)EB3Q6H639Y-&g|}E zSyI`D+Le`%VTb`d8aY@mzBZVm7;51C=i-pu39ZW8&O9$EiklHUQRBJC|y z4O1dUSvG|UorJ(GJOl>$hsH9{zapL;!anxxYD!yk$_m>NxF8rf<_QJiFtu}xk{U*N zO(r$31!*N=#BZzw_6mj{UXaDP9#Tm4r(pVseuw|Ac-60+Q+CQ|*A(lkbiEY1%Ns+K zxgaI5E^3XLh|2I$>6xdQBZ5}7PSJiG&|{S~DupUBZLVBZxXPk6=BQoet`i0H1St7} z@w!KPEKqZk5J%E8hZvqjAu(B=bzhS$lAdndm0g?rGp^7s(3MPRzAmI)ZkhKUADW&W z2%Q3Fk-fg>nfLXR zs#jul(i3fxmeJZ)AdJ3DKu)Ji3nNqVQXE2rsvF#;$~TA7Shv#j$6(g|Uja5ZnSypE z!*p|_@u|mZ!#$IhdfZSVB(_s}=DC$wCb@DY(j2PD%lV;m9;q584(UnMDXn7;l{XaD zE-QClKAP>~S#f~6_S{xc>+XV58ilT2of}u; zxWIA4pl?!2`#OIb`qP|Z9^crKp5fycQE>1wvKYAY?gzdY&J!D#xl$SviL1X`h&oU+ z#Fzhj@=ghJS-T4fN-pSm9YAd*KlEHi;>AvS()2d>&NYk!L6flE6;DsH$Mugpz`P03 z7XF&1A}&S19zcj!+qYPe3LQcIE;Zrl|M~LQIO9$tJ79G1vGW~KgW%<(<;(odYkV^O z#abXF-jq!+=@|vLWelIe&kb9qm+I}>q9}Uv}zcr*aEzm>y zeZNu!5Gt_wK3(Z5xWCA8+a#6)HY=10<%{e?sICkhNfyNzd5Ec#7j<(g3hrrx^=|af z?)YPRD3RPTtNs7(q#_T9uj5(i%&iYfX6l4MCCgnz(Do`8TPCr-y-130J>f2U#0>yt zZg+zQdtz>O@1p~i&Gw`p{;S% zOO5HpT`NbBMecbdCTqo_zEXmB$0I!Ige!8uShXeAX6ojl?cCgBJff)D?>$6^ z+OHfPOE6oh{Mx2e`Z71ML z(Q@8bW3H|b@gE+-on4kBaMpebGhV}DY89w{~onbvxm+7qGyA4 zaHO)YJ=mDY{#$sOnZWm^10&tl*!G&M9dwdslx2*i&iTO|uHJM(vG&8~;e1b2@X((SM7cm|X7*oX-VVZjQ z51SXI(ZE2#B0iy8%P6uL0W(To%w*_}q4;^COLC8?TWeSS(Ik6MeA&ZUKJ+E7edV)~ zN0crQgIIQ7)KEd)Gwy-NiBLwkJb~^BtV(^b3AMxOTal;NGrwPx?tC0gVD$IO}>ZH~%Hf54ZmfUp692x(zZ zst33zbJWY-y@@K&+<#c-Zo5B!q3E2-r`*WHIbDg+&i0UpKao^;$AF!sQFm#@|MM%J zzD%~BU8+zUl~_mOBdq`zkvNVf-ecM3(CV`*n%w$*oftBeO~=wigJ;qz)N)rd98b-L zey-E;z6r3CoUxr`Y;Rq0U$;KAgU)~AoiQ@VIwI?x^z}oy*Bh9rrQ~@n${ExQQ?A-3 z>nSz=?Wl;mCO_pnUN%S?RWgZ(%3QSsLX7en0}qCyNU=J%wWMq<4gs0^pom5_Qaf%@ z2Tc^_u-nw;t;}iG&^#j!BYDc=@(8-%fgi*sIdM(FM>kq-Eva0wO^7Zy@56SJ3K{0* ztg8BVolNZBy6o#Vkr6{7UN$+U(lCEqb7W`-o(ZcR*Gh960svVl=losh4Z%HPk9bguQ94&6E zQR=aV`(Rd}bKv_L*4w;grQ~kq0D41@m3x5JHw4F>BIul9vs_#19Q8s~i`t{YtCNnA zxyFeZ$%KO^aC$4V(|hzpq?$feX{&vgUT_4rjGoZMSanrZ>OVU9Wlz?gkr!1A1+}`6 zMagE{T_**h*3TCc`#_`;kx)J}le(SPAA6^XYtS?}X_ss|KCyh&MFHHexNnTw!&{g; zFGF;724PJ~=JQOLhh|HxiSMbULo{QjwK)_`%yG!Y^Fa`yp{hURZLEt*ExHC+WJLIF z6#!DQm;a7ZffoeI?BqAy*Z&mbQWhh)Q~MK!5Sj54FyFcA6Er-TPqu@t*w9KbIYm}7 z|I9|Wk5KXJbeGmpu|OeX8$^Tz_Xw7B{U97*tom@XpQQLGbxT42=Rc^5jq|wke%Puz$IjPE>m4tHKkF&CJ{|wz z_ojSRg4%mM1=d|WD9jc;FCw;2J^obuB0y4hFd-#~hiSX8j{(P!Gmql4O8At;Hy#$1 zx)$#hC8>uQN&L~3uyk(F$|`)ii9iMb~Ifb!x#KFD?1x$rQiWW=sBf(-NQU=LAomtGIVb3-c%GUeZ)AMtzO!# z6y5oTqDCQGN7rirk_Vq0M~y+XmbpcdoKJP|3;gdbRe3Epm9!3E7#X2pXll5Q*t3P( z->_{vcgG5%wvE&EzYjVpln&j3FDW90S7kC87UFGv1) zfB%oifjISv@}&)V7-D7i-1BT*&X!r>Qd7OmX8Sb9YT#?u+@=?9-<58yWLxqsvW2z} z*9y9ZOD$Aq-k#rh*xiNN?TZd&C6S`{l2wN|%YK{k^tWY11@V$4M#=UTt|R$h!munPj@t4jt*C(5N+Q z$cQQ)yx84zP4e1+$=|Y%zCNm``E3rk7I+Fi7fn|)JQRf^T<;2()>DiH#7Muzu!z4c zG5eHVDFJ*oxAl&``sL0OG~hCLXj!DDEO;7lXJOgn;U&e+AHC%4N{KPnL+r+m7FODQ zAwdFTutU7LgpVv1c24oCQ_8%t+Ov_y&|AwvcQV(Ep_Pjz^bH$TV)rE+Fg=@Y3?eKR zZs1qAs%C0UfK|N0zMaF~?`uLcHzCYpO}gtm+q=nPB;0zrs+coTix(z=WaFG})0kdH z&iKi8k$j<(V2uavT35{S?in;Rg5E#XYg&ZI@j#=h_^3JWc-m)N#T!Udmq}9UXMaz1ySx&|!S&3QKi2O&af} z2Pv9~Ii`!!{*h>@=uzoxQ)h_l`rd7k693TF6|@d~LhONnR3)Ve?rfA`_@PgYgHKs@ zC0%WLB-L6o{!c!Z?$Q>+L*L^IGglkeBKvlao@(7(~dq{_bVSaht*SX&?%|Pb|>_@!mRBpa;OK6D%At)TS8o6Sb%@ z;5=eyS3+1&^nD)ewHLn4ipK}P1I}OTAF|Y^b=|XVu7{nO@84mrF|cP{+3Z@^LsElm z6z>$5VN!uhOs;EB5;FRP5C9Y3>9Y4mcXp?^0u?_iq$Y27ZH(x#@Cn%bu|oRQHuu$Q zva0;#HRYZD@EWUVziu>K_}y#5xBYxR3R-(_=y1N=Iw3f_a(y~UR;Go?Z@))mJVOn> zp^SLLU}~~rhb^HY7gxao-P0`@U;eQ%b z&-oG3DnAcp8JRlts6yH-@6W&HZ>Q{K_VduR8DWf9bn2Iek$yTvXY0fGv}sxy^{iMRl>a@{#|nCG>JpH5J8o;j8ed<>w`}vGiJC3B6)nr z{8awLxQvLGm;XVT5~DCv;VM`ETdAI|5TcMDC>Y*9BTTrfX^C)?3Fk+%8q1O*jLWi z!?=1>-Q-mcLxH)1ZZY-+iIkc@h2Q+W@1B@18~t&ZRyL@KtPGZ}-e&ydD2){Z(|7J& zvciPMNxDn6lHL*2r^!?U1h~({^BaA`;mCa)^z>A<>`CLn#Sx@`8F1!Fz(cdg6Kgii8NgKLB;nUB zk7eTaX>ch^X{2ar`LccvFF%#S0}R=C+|~n~P9-`ubd>j(EsP$(DBsqDdV6E6dPz(> zb%&@L;2#+HsNKk(cOBBpra6LA5*eU`$6h2I2Vwp2RHWZC8d?-0;5U}foP#oI; zWjwOIbrMlX|Ee(Q`IIpsed>&zXOp(S6pYxmbq5%!_BF z6o}dsa|8fd8nx9~dLud{jZSLYrbxK}KGJJHowt@u+w0d&=(!Um@YB_8%Yfik=Sb?( zH(^|8YIbe_DH!HEx6`10OFyA^@s$&yZCh844id?N5JB@Na)?afJ;GO<2|9ZYte5T+ zt)lGp4wo`V%_;JfYZ*j0S&Gr5Fkk+?Bl z`JJ%~V=sC&A=pX`Tl<%=HygC2FFnip>?!Lfr+9MgpJ1b_fmF<3Hg)1S#6maBCz(2Q z=VuNEC(B8RgD8D^)`+MAq5uVYx>-ozZqbJNb9~E#-_AL%OY+TI^VYKDrC%dfbP@vrH z-m~KXKMXtDFbekTK|i#(0sc-wUq>2Kw^Sx9(}0EsEJ#F>iCSpKVkd^s7#ppo;XcV^ z2U0!w>_PA*h_k~Q1APW5$@MJ%eZ_xU;T`>qlw5C4;`Q&&-$(AJ5;I`k1cUB68Fl%BViI-t3tu#c#0FN?BT#1@!&wvjYtO4AJg1gM}l94Rq|3CpcrSE!g?{=gw}u}?rN8AKOT z{Ci-Z6%drcB8b-3I0A4t>=TOL1gvEJq9b5uv0>(u2Stdl2qYNky zi*Y~{7aQ4GCE{`0!lpSBoS~5Cxd|XUBL#(fC{t5;IR7r9odFi0Np9>8K^n@USQg=M zKH+a|PLawhxUg`;C$FCINm?;S6^S%z%r4rPWUiLN4QRm7pn*ZGLCkHfyvitx$hKgGU@yA|lt^vOZyb`#pqwy+xXEXIXZi@&(gh;Y7)lxNSV8?t2NzA z>?nmh>E1tpL#+add}XH~sePOc-cAuskE`3OTC{i>fyI*|NZ{Q7=50km|i-|P?wVA>gCb+AJsG+k(RRLpV4m>(N zJ)Rfk=zx`CuzLg+Y#J?M{uNsFdM?DA2|%|6tA*=O#O&eQ83^}wD&pF26bFpz2CU|j z81)&QVsEdbS~TV_Vm{De37oV9&?DIgL5e{12en9!6Ez>oRIo<8MBuFSjz6#F*kH8P zzD+_q=FNO4Sa|x3{?&6B!Lbh1XrE3%Ar8B0Uk3&oYz9w~UOoTY*vhIAX3X}J(*}OR z7Z8h;M!(Zf-cV{nMKVK~0^*5=GV6h}fKp3$I_IblhWM0)OMzXPV^i0+Zxu;1oeGn9 z>xcBdi=)q--)Zj(&RQE%C;odR8ipXghaHuAD8QNb0<;dlA_blwD1lZUt`fXnC|n9# zyHP4S5*rr&Mn+GbW=!x(subqzsJNv#$pjGz&I-^&qj#pN>+lgZ@TT=RRt#*nO-ZA* z<$A3O1AcCdiGM?(M`el$=)~!`In>{PjJs%&J%d8Ybh-K9IjQV%Gg^htn}TC~!;nw} z3ywwtnN`)Wf%64!sq91T%1X#E!~hc?YAX4w7wd^^q|TnPJS{%v$RxiTqKI ztp6pc?|@U0_72l(e9M#6gVqqXy*k((=9ZV;kq+pby9gu;X^N8L$ zF;cxm_WGX1IoD6BUWwI7SF}l*Mr&JvF#0k9Ih`&oj7-5xaR?ErZg5vuzB!b}s*|Qa z4tKl%1Hk6SQ_#+&m~N??ka{dPIWSvk(>g~&VjHDro?9BHk}H>r8oG+SoF6*pk*ZAvS()2d>&NYk!L6flE z6(5~sj~m`vfO!+5E&Mf2c|?kUJ%A9ewr{Z{5;}tXU1-MB|MSaVqfC1v*#V z{b-Q(|E)1Ev4)TI`(ddRAXH%UJ*Snfg8Pdcw@qR>V6#H0P`=1MgzC!Bkz`&>k%yQ% zc~Lc|qTt^4=!V@tyW@{)T@tx-vi&!AQjrJ5*XE#f=GF%#HFZLulIAWVXnPflEt6Q^ zUL^Hzk#K+Wh#LUP%1p~^RqV8(Du0MrN;E)u9YLmBKJHJlci$OUn#*m)8hGJCtQ&O#;PrGPU}sskWRWf zZ0D99;}b>YZVyD3SXeqenRvER`L&Fw_ID=TbVO1Fy6t*5F$+oLU{M8D?Vrqph@2M_ zHWQeAA*rP(x1E5iZf)m1HRkI25dXmm+}UMG0%z?dvP*RrdgbPN`HagJ0^y4@{kVyS zal0(2$z(BEvY3o?V=w23A_0lD*iCF_!qOf9F3pUEY&Op)!e z`}eR7n>}pq7d;!agCmuF?ZL)G`rpFS)C9gaADPl!jqRYhQlY{a$WJPCO~nm~`cl(} z^kq6rJu;$StRdyiiktRVNw@0wM zOc&cZ0(x7Ld*Bi+N4TU9l4)#|f*ruH_xLXAZdv)k6Z4`Sfit~qYi5K!_yk{)(@>lz z7cm|X80#WfglWkBf7rYzjRpn^7V$m0wTK{_5iq0T#Y~3o(fMJbOLC8?TWeSS;Uaxc zeA&ZUKJ+E7edW`VN0crQgIIQ7)KEd)Gwy-NiBN>OJdIWaRw)&

|k(I}$aa@T2nV zQJZsCH(Ehl1UJb=0WKnO98J8(vWTo7cbgPGsv3TKFg1P=w#YTZ3vsaJ)9X4#R(%z4Cij&P|K z(&~CVp!_8Y0&#*z;htz0=1(3{7k{VUBbA!?7l6(@3BjN6FqYL+6$h)|Vke55qu5h# zwuvdNZUbWmE#ZcTLCVm$D*lgbchWnWy`(Ffhy_1t{bXTxy6>Mq-eTxC4!Pd6uJM6n zLfQdlVaUHcZ#5WhGx04)H&*f zsus0Jh1Vq`BXfm!W+W4izJt?Sk)7V7r-N$xlqIe9UAn;$+%|ebW5ea~vc!LM@ynj9 zT_Z2b&^evDkVVO6*9RvBq2~RIiG3haiAX43nMvJEs*k~ju~=dCG*d0bn6_7U-=vFZJ`w?WNd>-(vqIOlOs{_td@}hXlCm>l+V?N?nWhijvgBj3oYWCM=yBw6by^EID_C{o#yszg%S>Zsr5h3PrZDz0&P$ zIgpI&x1J^l3u=$}fDIx5cIW5rIId4RylkK*=aauiAh|EDmFxq?LjP458qRNt}ab+sCWY#m*%0Z1OaF^(F8YAth%A~~Px;1~GcTjN^FO(m@Z7)C}Y z7@8WcRrj}!`x~}x=Ues^L~R?V>&r&%K2@1g)6+9^^Mg|4K6{!&Fm9m|@ZU86>wgSg z4&4o14aGw*-t+(QIADK#qI_vX9tJp>J@-6Yle=YBxYSfH)7d`Fup0QPitVV2dtbV> zl5NSm$Q9ZiyH?;EF11jdeP?y!VRz@cxGy@eb+ur9_+Pn>TZ6O-YuRwX<-j+X3Ym+S z6;QJ&arBvY&Gany@xYB`JgwhVcfafvRp~Moak#H6R@yWT)=`Sm+UqQDIdzwypps0t zr909?p;2qr5EE5Ac(J?bn&hbglfPvjeSK6>^VVa}D4MQjcqj_1#EvYF)>DiH z#E^dTN#egPG5e$=DFOIwZtER=_1nGg(11(-p=FVpvfybzoP}kNhZh6~K6=UNOo%bo zL)eWSEv&TrLV^UwV2AeR5NQn5_@RG z0n@YTrX-SL;Rb%WSv6B>0<8QD`*sd{Z>R~)+=Or%Ytmik+1^bSBjMJ|RmGf%TD&-z zB^zh-kjL~ga>h5>1^GfJ!5RFA(S?gc0Mw!`?q z3`=!4O&af}2Pv9~Ii`!!{*h=Y?@sA#OCJ!|wY}RSCH|qUD`=JYgxCWCsY*%{+}S9> z@I#+!2Y+SRrDVBum6|ln|H;PEU45|Oq3_X|nX8R!k$t+{*rAh-CU(9;|-+B}$2SVI=aho}X5_gI!4nxeM6F6N$ za0-MTV!OVJR&2YQ+r@1L+mkdDY)|{pT;xA@c|Z?OB&r-jy>!WS+b=XP$z8&TodwDvR)sAmHEPCKB&L%Fy zqym?iT-V*}f$<3;02aH`<=~CZ>`q|<8hcux25I+g49Su33Gn=pLi&7{`{LDERetg6 z@=jmB+A7-bY7H0u`0DU&zn+bPPTlJ}oG-IZ2+qD-AB~fxX<_!;@1ZiDfdF4$M!bG7 zHD3FycZELv^wpI>5WCpl@b~kUCU)*$r#F&6O_*U5z63pdNPj732%7&Z!)i=`YMmk$ z9@{iX)kz?y=|)_OoN+xLt3%P83_cH<^a+S28Uxqy3zXt%J0dm#?a0A-YUt+t5P2~@ zN@7d_BYb$utL44**X(JkUZ&q^rE3Tyu%c7HHH^d42AZu8veUx6OpNn0fl_5fmH@`C zNJ)(Mt$qSgi7`>pKR;np?c;(U3fi)X^b*#aAIJN6dHX3_1?b%bNx~&-J>|mFyI~8b z=~{hcn#kcZ2fb0^zro`rxqo5?*|A)iYw7TXDB2H2SZ*m9*LKj&y~A#{"use strict";var t,e,r={6795:(t,e,r)=>{r.d(e,{A:()=>o});const o=function(t){for(var e,r=0,o=0,n=t.length;n>=4;++o,n-=4)e=1540483477*(65535&(e=255&t.charCodeAt(o)|(255&t.charCodeAt(++o))<<8|(255&t.charCodeAt(++o))<<16|(255&t.charCodeAt(++o))<<24))+(59797*(e>>>16)<<16),r=1540483477*(65535&(e^=e>>>24))+(59797*(e>>>16)<<16)^1540483477*(65535&r)+(59797*(r>>>16)<<16);switch(n){case 3:r^=(255&t.charCodeAt(o+2))<<16;case 2:r^=(255&t.charCodeAt(o+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(o)))+(59797*(r>>>16)<<16)}return(((r=1540483477*(65535&(r^=r>>>13))+(59797*(r>>>16)<<16))^r>>>15)>>>0).toString(36)}},8764:(t,e,r)=>{r.r(e),r.d(e,{BASE_TRANSITION:()=>l,BindingTypes:()=>wo,CAMELIZE:()=>R,CAPITALIZE:()=>L,CREATE_BLOCK:()=>d,CREATE_COMMENT:()=>u,CREATE_ELEMENT_BLOCK:()=>p,CREATE_ELEMENT_VNODE:()=>b,CREATE_SLOTS:()=>E,CREATE_STATIC:()=>g,CREATE_TEXT:()=>f,CREATE_VNODE:()=>m,CompilerDeprecationTypes:()=>Et,ConstantTypes:()=>W,DOMDirectiveTransforms:()=>qo,DOMErrorCodes:()=>Fo,DOMErrorMessages:()=>zo,DOMNodeTransforms:()=>Xo,ElementTypes:()=>q,ErrorCodes:()=>Lt,FRAGMENT:()=>n,GUARD_REACTIVE_PROPS:()=>N,IS_MEMO_SAME:()=>$,IS_REF:()=>B,KEEP_ALIVE:()=>s,MERGE_PROPS:()=>A,NORMALIZE_CLASS:()=>T,NORMALIZE_PROPS:()=>O,NORMALIZE_STYLE:()=>C,Namespaces:()=>G,NodeTypes:()=>X,OPEN_BLOCK:()=>c,POP_SCOPE_ID:()=>D,PUSH_SCOPE_ID:()=>M,RENDER_LIST:()=>_,RENDER_SLOT:()=>k,RESOLVE_COMPONENT:()=>h,RESOLVE_DIRECTIVE:()=>x,RESOLVE_DYNAMIC_COMPONENT:()=>v,RESOLVE_FILTER:()=>y,SET_BLOCK_TRACKING:()=>j,SUSPENSE:()=>a,TELEPORT:()=>i,TO_DISPLAY_STRING:()=>S,TO_HANDLERS:()=>I,TO_HANDLER_KEY:()=>P,TRANSITION:()=>Io,TRANSITION_GROUP:()=>Ro,TS_NODE_TYPES:()=>Gt,UNREF:()=>z,V_MODEL_CHECKBOX:()=>Eo,V_MODEL_DYNAMIC:()=>To,V_MODEL_RADIO:()=>ko,V_MODEL_SELECT:()=>Ao,V_MODEL_TEXT:()=>So,V_ON_WITH_KEYS:()=>Oo,V_ON_WITH_MODIFIERS:()=>Co,V_SHOW:()=>No,WITH_CTX:()=>F,WITH_DIRECTIVES:()=>w,WITH_MEMO:()=>U,advancePositionWithClone:()=>oe,advancePositionWithMutation:()=>ne,assert:()=>ie,baseCompile:()=>yo,baseParse:()=>rr,buildDirectiveArgs:()=>Qr,buildProps:()=>Kr,buildSlots:()=>$r,checkCompatEnabled:()=>Ct,compile:()=>Wo,convertToBlock:()=>gt,createArrayExpression:()=>Q,createAssignmentExpression:()=>pt,createBlockStatement:()=>lt,createCacheExpression:()=>st,createCallExpression:()=>nt,createCompilerError:()=>Rt,createCompoundExpression:()=>ot,createConditionalExpression:()=>at,createDOMCompilerError:()=>Do,createForLoopParams:()=>Dr,createFunctionExpression:()=>it,createIfStatement:()=>dt,createInterpolation:()=>rt,createObjectExpression:()=>Z,createObjectProperty:()=>tt,createReturnStatement:()=>bt,createRoot:()=>Y,createSequenceExpression:()=>mt,createSimpleExpression:()=>et,createStructuralDirectiveTransform:()=>fr,createTemplateLiteral:()=>ct,createTransformContext:()=>mr,createVNodeCall:()=>J,errorMessages:()=>Pt,extractIdentifiers:()=>Ut,findDir:()=>ae,findProp:()=>se,forAliasRE:()=>we,generate:()=>vr,generateCodeFrame:()=>o.generateCodeFrame,getBaseTransformPreset:()=>xo,getConstantType:()=>ar,getMemoedVNodeCall:()=>ye,getVNodeBlockHelper:()=>ft,getVNodeHelper:()=>ut,hasDynamicKeyVBind:()=>ce,hasScopeRef:()=>xe,helperNameMap:()=>V,injectProp:()=>ge,isCoreComponent:()=>Wt,isFunctionType:()=>$t,isInDestructureAssignment:()=>Dt,isInNewExpression:()=>Ft,isMemberExpression:()=>re,isMemberExpressionBrowser:()=>te,isMemberExpressionNode:()=>ee,isReferencedIdentifier:()=>Mt,isSimpleIdentifier:()=>Yt,isSlotOutlet:()=>be,isStaticArgOf:()=>le,isStaticExp:()=>qt,isStaticProperty:()=>Vt,isStaticPropertyKey:()=>Ht,isTemplateNode:()=>me,isText:()=>de,isVSlot:()=>pe,locStub:()=>K,noopDirectiveTransform:()=>_o,parse:()=>Ko,parserOptions:()=>Po,processExpression:()=>Tr,processFor:()=>jr,processIf:()=>Nr,processSlotOutlet:()=>eo,registerRuntimeHelpers:()=>H,resolveComponentType:()=>Wr,stringifyExpression:()=>Cr,toValidAssetId:()=>ve,trackSlotScopes:()=>zr,trackVForSlotScopes:()=>Br,transform:()=>br,transformBind:()=>no,transformElement:()=>qr,transformExpression:()=>Ar,transformModel:()=>co,transformOn:()=>oo,transformStyle:()=>jo,traverseNode:()=>ur,unwrapTSNode:()=>Xt,walkBlockDeclarations:()=>Bt,walkFunctionParams:()=>zt,walkIdentifiers:()=>jt,warnDeprecation:()=>Ot});var o=r(33);const n=Symbol(""),i=Symbol(""),a=Symbol(""),s=Symbol(""),l=Symbol(""),c=Symbol(""),d=Symbol(""),p=Symbol(""),m=Symbol(""),b=Symbol(""),u=Symbol(""),f=Symbol(""),g=Symbol(""),h=Symbol(""),v=Symbol(""),x=Symbol(""),y=Symbol(""),w=Symbol(""),_=Symbol(""),k=Symbol(""),E=Symbol(""),S=Symbol(""),A=Symbol(""),T=Symbol(""),C=Symbol(""),O=Symbol(""),N=Symbol(""),I=Symbol(""),R=Symbol(""),L=Symbol(""),P=Symbol(""),j=Symbol(""),M=Symbol(""),D=Symbol(""),F=Symbol(""),z=Symbol(""),B=Symbol(""),U=Symbol(""),$=Symbol(""),V={[n]:"Fragment",[i]:"Teleport",[a]:"Suspense",[s]:"KeepAlive",[l]:"BaseTransition",[c]:"openBlock",[d]:"createBlock",[p]:"createElementBlock",[m]:"createVNode",[b]:"createElementVNode",[u]:"createCommentVNode",[f]:"createTextVNode",[g]:"createStaticVNode",[h]:"resolveComponent",[v]:"resolveDynamicComponent",[x]:"resolveDirective",[y]:"resolveFilter",[w]:"withDirectives",[_]:"renderList",[k]:"renderSlot",[E]:"createSlots",[S]:"toDisplayString",[A]:"mergeProps",[T]:"normalizeClass",[C]:"normalizeStyle",[O]:"normalizeProps",[N]:"guardReactiveProps",[I]:"toHandlers",[R]:"camelize",[L]:"capitalize",[P]:"toHandlerKey",[j]:"setBlockTracking",[M]:"pushScopeId",[D]:"popScopeId",[F]:"withCtx",[z]:"unref",[B]:"isRef",[U]:"withMemo",[$]:"isMemoSame"};function H(t){Object.getOwnPropertySymbols(t).forEach((e=>{V[e]=t[e]}))}const G={HTML:0,0:"HTML",SVG:1,1:"SVG",MATH_ML:2,2:"MATH_ML"},X={ROOT:0,0:"ROOT",ELEMENT:1,1:"ELEMENT",TEXT:2,2:"TEXT",COMMENT:3,3:"COMMENT",SIMPLE_EXPRESSION:4,4:"SIMPLE_EXPRESSION",INTERPOLATION:5,5:"INTERPOLATION",ATTRIBUTE:6,6:"ATTRIBUTE",DIRECTIVE:7,7:"DIRECTIVE",COMPOUND_EXPRESSION:8,8:"COMPOUND_EXPRESSION",IF:9,9:"IF",IF_BRANCH:10,10:"IF_BRANCH",FOR:11,11:"FOR",TEXT_CALL:12,12:"TEXT_CALL",VNODE_CALL:13,13:"VNODE_CALL",JS_CALL_EXPRESSION:14,14:"JS_CALL_EXPRESSION",JS_OBJECT_EXPRESSION:15,15:"JS_OBJECT_EXPRESSION",JS_PROPERTY:16,16:"JS_PROPERTY",JS_ARRAY_EXPRESSION:17,17:"JS_ARRAY_EXPRESSION",JS_FUNCTION_EXPRESSION:18,18:"JS_FUNCTION_EXPRESSION",JS_CONDITIONAL_EXPRESSION:19,19:"JS_CONDITIONAL_EXPRESSION",JS_CACHE_EXPRESSION:20,20:"JS_CACHE_EXPRESSION",JS_BLOCK_STATEMENT:21,21:"JS_BLOCK_STATEMENT",JS_TEMPLATE_LITERAL:22,22:"JS_TEMPLATE_LITERAL",JS_IF_STATEMENT:23,23:"JS_IF_STATEMENT",JS_ASSIGNMENT_EXPRESSION:24,24:"JS_ASSIGNMENT_EXPRESSION",JS_SEQUENCE_EXPRESSION:25,25:"JS_SEQUENCE_EXPRESSION",JS_RETURN_STATEMENT:26,26:"JS_RETURN_STATEMENT"},q={ELEMENT:0,0:"ELEMENT",COMPONENT:1,1:"COMPONENT",SLOT:2,2:"SLOT",TEMPLATE:3,3:"TEMPLATE"},W={NOT_CONSTANT:0,0:"NOT_CONSTANT",CAN_SKIP_PATCH:1,1:"CAN_SKIP_PATCH",CAN_HOIST:2,2:"CAN_HOIST",CAN_STRINGIFY:3,3:"CAN_STRINGIFY"},K={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function Y(t,e=""){return{type:0,source:e,children:t,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:0,temps:0,codegenNode:void 0,loc:K}}function J(t,e,r,o,n,i,a,s=!1,l=!1,d=!1,p=K){return t&&(s?(t.helper(c),t.helper(ft(t.inSSR,d))):t.helper(ut(t.inSSR,d)),a&&t.helper(w)),{type:13,tag:e,props:r,children:o,patchFlag:n,dynamicProps:i,directives:a,isBlock:s,disableTracking:l,isComponent:d,loc:p}}function Q(t,e=K){return{type:17,loc:e,elements:t}}function Z(t,e=K){return{type:15,loc:e,properties:t}}function tt(t,e){return{type:16,loc:K,key:(0,o.isString)(t)?et(t,!0):t,value:e}}function et(t,e=!1,r=K,o=0){return{type:4,loc:r,content:t,isStatic:e,constType:e?3:o}}function rt(t,e){return{type:5,loc:e,content:(0,o.isString)(t)?et(t,!1,e):t}}function ot(t,e=K){return{type:8,loc:e,children:t}}function nt(t,e=[],r=K){return{type:14,loc:r,callee:t,arguments:e}}function it(t,e=void 0,r=!1,o=!1,n=K){return{type:18,params:t,returns:e,newline:r,isSlot:o,loc:n}}function at(t,e,r,o=!0){return{type:19,test:t,consequent:e,alternate:r,newline:o,loc:K}}function st(t,e,r=!1){return{type:20,index:t,value:e,isVNode:r,loc:K}}function lt(t){return{type:21,body:t,loc:K}}function ct(t){return{type:22,elements:t,loc:K}}function dt(t,e,r){return{type:23,test:t,consequent:e,alternate:r,loc:K}}function pt(t,e){return{type:24,left:t,right:e,loc:K}}function mt(t){return{type:25,expressions:t,loc:K}}function bt(t){return{type:26,returns:t,loc:K}}function ut(t,e){return t||e?m:b}function ft(t,e){return t||e?d:p}function gt(t,{helper:e,removeHelper:r,inSSR:o}){t.isBlock||(t.isBlock=!0,r(ut(o,t.isComponent)),e(c),e(ft(o,t.isComponent)))}const ht=new Uint8Array([123,123]),vt=new Uint8Array([125,125]);function xt(t){return t>=97&&t<=122||t>=65&&t<=90}function yt(t){return 32===t||10===t||9===t||12===t||13===t}function wt(t){return 47===t||62===t||yt(t)}function _t(t){const e=new Uint8Array(t.length);for(let r=0;r`.sync modifier for v-bind has been removed. Use v-model with argument instead. \`v-bind:${t}.sync\` should be changed to \`v-model:${t}\`.`,link:"https://v3-migration.vuejs.org/breaking-changes/v-model.html"},COMPILER_V_BIND_OBJECT_ORDER:{message:'v-bind="obj" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.',link:"https://v3-migration.vuejs.org/breaking-changes/v-bind.html"},COMPILER_V_ON_NATIVE:{message:".native modifier for v-on has been removed as is no longer necessary.",link:"https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html"},COMPILER_V_IF_V_FOR_PRECEDENCE:{message:"v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with