Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Cat4KIT UI Frontend
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CAT4KIT
Cat4KIT UMI
Cat4KIT UI Frontend
Commits
92df8ee2
Commit
92df8ee2
authored
1 year ago
by
Mostafa Hadizadeh
Browse files
Options
Downloads
Patches
Plain Diff
add loading svg in schecduler
parent
115e1426
No related branches found
Branches containing commit
No related tags found
1 merge request
!1
Development2 into main to clean the repo
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/views/SchedulerView.vue
+289
-221
289 additions, 221 deletions
src/views/SchedulerView.vue
with
289 additions
and
221 deletions
src/views/SchedulerView.vue
+
289
−
221
View file @
92df8ee2
...
...
@@ -70,242 +70,251 @@
</th>
</tr>
</thead>
<tbody
class=
"bg-white divide-y divide-gray-200"
>
<
template
v-for=
"(object, index) in filteredJobs"
>
<tr
class=
"transition-all hover:bg-gray-100"
>
<td
class=
"px-6 py-4 whitespace-nowrap"
>
<div
class=
"flex items-center"
>
<div
class=
"flex-shrink-0 w-10 h-10"
>
<template
v-if=
"object.engine == 'TDS2STAC'"
>
<img
class=
"w-10 h-10"
:src=
"tds2stac_image"
alt=
""
/>
</
template
>
<
template
v-else-if=
"object.engine == 'STAC2TDS'"
>
<img
class=
"w-10 h-10"
:src=
"sta2stac_image"
alt=
""
/>
</
template
>
<
template
v-else-if=
"object.engine == 'INTAKE2STAC'"
>
<img
class=
"w-10 h-10"
:src=
"intake2stac_image"
alt=
""
/>
</
template
>
</div>
<div
class=
"ml-4"
>
<div
class=
"text-sm font-medium text-gray-900"
>
{{object.id}}
</div>
<div
class=
"text-sm font-medium text-gray-900"
>
<strong>
{{object.job_name}}
</strong>
</div>
<div
class=
"text-xs text-gray-500"
>
{{ object.email }}
</div>
</div>
</div>
</td>
<td
class=
"px-6 py-4 whitespace-nowrap"
>
<div
class=
"flex items-center"
>
<div
class=
"ml-4"
>
<div
class=
"text-sm font-medium text-gray-900"
>
{{object.general_status}}
</div>
<div
class=
"text-xs text-gray-500"
>
{{ object.created_at }}
</div>
</div>
</div>
</td>
<td
class=
"px-6 py-4 whitespace-nowrap"
>
<div
class=
"flex items-center"
>
<div
class=
"ml-4"
>
<div
:class=
"harvesting_class(object.general_status, object.harvesting_status)"
>
{{object.harvesting_status}}
<div
v-if=
"isLoading"
class=
"loading-container"
>
<div
class=
"spinner-container"
>
<svg
class=
"spinner"
viewBox=
"0 0 50 50"
>
<circle
class=
"path"
cx=
"25"
cy=
"25"
r=
"20"
fill=
"none"
stroke-width=
"5"
></circle>
</svg>
</div>
</div>
<div
v-else
>
<tbody
class=
"bg-white divide-y divide-gray-200"
>
<
template
v-for=
"(object, index) in filteredJobs"
>
<tr
class=
"transition-all hover:bg-gray-100"
>
<td
class=
"px-6 py-4 whitespace-nowrap"
>
<div
class=
"flex items-center"
>
<div
class=
"flex-shrink-0 w-10 h-10"
>
<template
v-if=
"object.engine == 'TDS2STAC'"
>
<img
class=
"w-10 h-10"
:src=
"tds2stac_image"
alt=
""
/>
</
template
>
<
template
v-else-if=
"object.engine == 'STAC2TDS'"
>
<img
class=
"w-10 h-10"
:src=
"sta2stac_image"
alt=
""
/>
</
template
>
<
template
v-else-if=
"object.engine == 'INTAKE2STAC'"
>
<img
class=
"w-10 h-10"
:src=
"intake2stac_image"
alt=
""
/>
</
template
>
</div>
<div
class=
"text-xs text-gray-500"
>
{{ object.harvesting_datetime }}
<div
class=
"ml-4"
>
<div
class=
"text-sm font-medium text-gray-900"
>
{{object.id}}
</div>
<div
class=
"text-sm font-medium text-gray-900"
>
<strong>
{{object.job_name}}
</strong>
</div>
<div
class=
"text-xs text-gray-500"
>
{{ object.email }}
</div>
</div>
</div>
</
div>
</td
>
<td
class=
"px-6 py-4 whitespace-nowrap
"
>
<div
class=
"
flex items-center
"
>
<div
class=
"
ml-4
"
>
<div
:class=
"ingesting_class(object.general_status,object.ingesting_status)"
>
{{object.ingesting_status}}
</div
>
<div
class=
"text-xs text-gray-500"
>
{{ object.ingesting_datetime }}
</
td>
<td
class=
"px-6 py-4 whitespace-nowrap"
>
<div
class=
"flex items-center
"
>
<div
class=
"
ml-4
"
>
<div
class=
"
text-sm font-medium text-gray-900
"
>
{{object.general_status}}
</div>
<div
class=
"text-xs text-gray-500"
>
{{ object.created_at }}
</div>
</div>
</div>
</div>
</td>
<
template
v-if=
"!isEditorLocked(object.general_status, object.harvesting_status, object.ingesting_status)"
>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
@
click=
"modal_opener(object.id);get_schedulerjob_objects_by_id(object.id)"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
stroke-width=
"1.5"
stroke=
"currentColor"
class=
"w-6 h-6"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
d=
"M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"
/>
</svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm font-medium whitespace-nowrap"
>
<div
@
click=
"modal_opener_removing(object.id, object.email, object.job_name, object.general_status,object.harvesting_status, object.harvesting_datetime, object.ingesting_status, object.ingesting_datetime);"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
height=
"1.5em"
viewBox=
"0 0 448 512"
><path
d=
"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"
/></svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
@
click=
"push_to_log(object.email,object.job_name,object.id)"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
stroke-width=
"1.5"
stroke=
"currentColor"
class=
"w-6 h-6"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
d=
"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
/>
</svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
@
click=
"run_schedulerjob_objects(object.id);get_schedulerjob_objects(currentPage)"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
fill=
"#000000"
height=
"1.5em"
version=
"1.1"
id=
"Capa_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
viewBox=
"0 0 60 60"
xml:space=
"preserve"
>
<g>
<path
d=
"M45.563,29.174l-22-15c-0.307-0.208-0.703-0.231-1.031-0.058C22.205,14.289,22,14.629,22,15v30
c0,0.371,0.205,0.711,0.533,0.884C22.679,45.962,22.84,46,23,46c0.197,0,0.394-0.059,0.563-0.174l22-15
C45.836,30.64,46,30.331,46,30S45.836,29.36,45.563,29.174z M24,43.107V16.893L43.225,30L24,43.107z"
/>
<path
d=
"M30,0C13.458,0,0,13.458,0,30s13.458,30,30,30s30-13.458,30-30S46.542,0,30,0z M30,58C14.561,58,2,45.439,2,30
S14.561,2,30,2s28,12.561,28,28S45.439,58,30,58z"
/>
</g>
</svg>
</div>
</td>
</
template
>
<!-- <template v-else-if="isEditorLocked(general_status)">
<td @click="modal_opener_view()" class="cursor-pointer px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div class="w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
</svg>
</div>
</td>
<td class="px-6 py-4 text-sm font-medium whitespace-nowrap">
<div @click="modal_opener_removing(object.id, object.email, object.job_name);" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" height="1.5em" viewBox="0 0 448 512"><path d="M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>
</div>
</td>
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div @click="push_to_log(object.email,object.job_name,object.id)" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" />
</svg>
</div>
</td>
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div @click="push_to_log(object.email,object.job_name,object.id)" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 505 511.5" class="w-6 h-6"><path d="m336.11 39.84-115.38 68.94 135.38 18.4 111.32-69.44-131.32-17.9zm25.45 204.61c73.74 0 133.53 59.78 133.53 133.53 0 73.74-59.79 133.52-133.53 133.52-73.75 0-133.53-59.78-133.53-133.52 0-73.75 59.78-133.53 133.53-133.53zm-50.44 179.72 15.51-78.82 15.73 23.69c33.86-13.59 52.88-36 55.7-70.5 27.82 48.63 10.93 92.22-24.33 117.77l16.05 24.16-78.65-16.3h-.01zM204.83 126.13l-.09 141.71-51.45-35.04-51.46 29.07 6.1-148.91-88.54-12.03v312.98l178.95 23.13c2.52 7.1 5.47 13.99 8.85 20.63L9.3 432.07c-5.17-.2-9.3-4.47-9.3-9.68V89.86c.27-4.05 1.89-6.89 5.72-8.81L182.48.85c1.58-.72 3.52-1.01 5.25-.77l308.18 42.04c5.09.59 8.58 4.77 8.58 9.99v.02L505 280.9c-5.72-8.46-15.57-20.29-19.93-27.77V69.56l-115.81 74.93v59.81a174.846 174.846 0 0 0-19.39.36v-58.82l-145.04-19.71zm-81.52-30.58 112.17-69.44-47.58-6.49L44.24 84.8l79.07 10.75z"/></svg>
</div>
</td>
</template>
<template v-else-if="object.harvesting === 'failed' && object.ingesting === 'pending' && object.deleting === 'pending'">
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div class="w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88" />
</svg>
<td
class=
"px-6 py-4 whitespace-nowrap"
>
<div
class=
"flex items-center"
>
<div
class=
"ml-4"
>
<div
:class=
"harvesting_class(object.general_status, object.harvesting_status)"
>
{{object.harvesting_status}}
</div>
<div
class=
"text-xs text-gray-500"
>
{{ object.harvesting_datetime }}
</div>
</div>
</div>
</td>
<td class="px-6 py-4 text-sm font-medium whitespace-nowrap">
<div @click="modal_opener_removing_failed(object.id, object.email, object.job_name);" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" height="1.5em" viewBox="0 0 448 512"><path d="M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>
<td
class=
"px-6 py-4 whitespace-nowrap"
>
<div
class=
"flex items-center"
>
<div
class=
"ml-4"
>
<div
:class=
"ingesting_class(object.general_status,object.ingesting_status)"
>
{{object.ingesting_status}}
</div>
<div
class=
"text-xs text-gray-500"
>
{{ object.ingesting_datetime }}
</div>
</div>
</div>
</td>
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div @click="push_to_log(object.email,object.job_name,object.id)" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" />
</svg>
</div>
</td>
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div @click="push_to_log(object.email,object.job_name,object.id)" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg
class="feather feather-slash"
fill="none"
height="24"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"><circle
cx="12"
cy="12"
r="10"/><line
x1="4.93"
x2="19.07"
y1="4.93"
y2="19.07"/>
<
template
v-if=
"!isEditorLocked(object.general_status, object.harvesting_status, object.ingesting_status)"
>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
@
click=
"modal_opener(object.id);get_schedulerjob_objects_by_id(object.id)"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
stroke-width=
"1.5"
stroke=
"currentColor"
class=
"w-6 h-6"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
d=
"M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"
/>
</svg>
</div>
</td>
</template>
-->
<
template
v-else
>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
class=
"w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
stroke-width=
"1.5"
stroke=
"currentColor"
class=
"w-6 h-6"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
d=
"M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"
/>
</svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm font-medium whitespace-nowrap"
>
<div
class=
"w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
height=
"24"
viewBox=
"0 0 56 56"
width=
"24"
xmlns=
"http://www.w3.org/2000/svg"
><path
d=
"m41.1483 34.9258 3.5625 3.5625 1.1485-24.0938h2.3439c.9609 0 1.7342-.7969 1.7342-1.7578s-.7733-1.7812-1.7342-1.7812h-10.2424v-3.5157c0-3.3515-2.2734-5.5312-5.8828-5.5312h-8.7656c-3.6094 0-5.8594 2.1797-5.8594 5.5312v3.0235h-.8203l4.0078 4.0312h21.4688zm8.1795 17.25c.7032.7031 1.8754.7031 2.555 0 .6797-.7266.7032-1.8516 0-2.5547l-45.2111-45.2344c-.7031-.7031-1.8749-.7265-2.578 0-.6797.6797-.6797 1.8516 0 2.5313zm-28.1248-41.3203v-3.2813c0-1.3359.9609-2.2734 2.3907-2.2734h8.2265c1.4297 0 2.4141.9375 2.4141 2.2734v3.2813zm-4.2187 43.3359h21.4921c2.5079 0 4.4297-1.2656 5.2032-3.2812l.0234-.4454-3.1172-3.0937-.0234.9141c-.0703 1.3828-1.0547 2.3906-2.4609 2.3906h-20.7891c-1.336 0-2.3438-1.0313-2.4141-2.3906l-1.3593-27.961-3.8438-3.8437 1.5234 32.2031c.1641 3.375 2.3672 5.5078 5.7657 5.5078zm12.164-31.3125v-2.625c0-.8437-.6562-1.5234-1.4297-1.5234-.3984 0-.7968.2109-1.0078.539v1.1954zm7.3125 7.3594.2813-9.961c.0234-.8906-.5625-1.5468-1.3594-1.5468-.7266 0-1.3359.6797-1.3594 1.5234l-.2109 7.3359zm-15.6796 16.3125c.7968 0 1.3827-.6797 1.3593-1.5235l-.4922-16.5937-2.789-2.8125.539 19.4062c.0235.8907.6094 1.5235 1.3829 1.5235zm6.9374 0c.7735 0 1.4297-.6797 1.4297-1.5235v-9.1406l-2.8359-2.7891v11.9297c0 .8438.6562 1.5235 1.4062 1.5235zm6.961 0c.7734 0 1.3359-.6328 1.3594-1.5235l.0703-2.1562-2.6485-2.6719-.1406 4.8281c-.0234.8438.5625 1.5235 1.3594 1.5235z"
/></svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
@
click=
"push_to_log(object.email,object.job_name,object.id)"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
stroke-width=
"1.5"
stroke=
"currentColor"
class=
"w-6 h-6"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
d=
"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
/>
</svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
class=
"feather feather-slash"
fill=
"none"
height=
"24"
stroke=
"currentColor"
stroke-linecap=
"round"
stroke-linejoin=
"round"
stroke-width=
"2"
viewBox=
"0 0 24 24"
width=
"24"
xmlns=
"http://www.w3.org/2000/svg"
><circle
cx=
"12"
cy=
"12"
r=
"10"
/><line
x1=
"4.93"
x2=
"19.07"
y1=
"4.93"
y2=
"19.07"
/>
</div>
</td>
<td
class=
"px-6 py-4 text-sm font-medium whitespace-nowrap"
>
<div
@
click=
"modal_opener_removing(object.id, object.email, object.job_name, object.general_status,object.harvesting_status, object.harvesting_datetime, object.ingesting_status, object.ingesting_datetime);"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
height=
"1.5em"
viewBox=
"0 0 448 512"
><path
d=
"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"
/></svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
@
click=
"push_to_log(object.email,object.job_name,object.id)"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
stroke-width=
"1.5"
stroke=
"currentColor"
class=
"w-6 h-6"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
d=
"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
/>
</svg>
</div>
</td>
</
template
>
</tr>
</div>
</td>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
@
click=
"run_schedulerjob_objects(object.id);get_schedulerjob_objects(currentPage)"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
fill=
"#000000"
height=
"1.5em"
version=
"1.1"
id=
"Capa_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
viewBox=
"0 0 60 60"
xml:space=
"preserve"
>
<g>
<path
d=
"M45.563,29.174l-22-15c-0.307-0.208-0.703-0.231-1.031-0.058C22.205,14.289,22,14.629,22,15v30
c0,0.371,0.205,0.711,0.533,0.884C22.679,45.962,22.84,46,23,46c0.197,0,0.394-0.059,0.563-0.174l22-15
C45.836,30.64,46,30.331,46,30S45.836,29.36,45.563,29.174z M24,43.107V16.893L43.225,30L24,43.107z"
/>
<path
d=
"M30,0C13.458,0,0,13.458,0,30s13.458,30,30,30s30-13.458,30-30S46.542,0,30,0z M30,58C14.561,58,2,45.439,2,30
S14.561,2,30,2s28,12.561,28,28S45.439,58,30,58z"
/>
</g>
</svg>
</div>
</td>
</
template
>
<!-- <template v-else-if="isEditorLocked(general_status)">
<td @click="modal_opener_view()" class="cursor-pointer px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div class="w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
</svg>
</div>
</td>
<td class="px-6 py-4 text-sm font-medium whitespace-nowrap">
<div @click="modal_opener_removing(object.id, object.email, object.job_name);" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" height="1.5em" viewBox="0 0 448 512"><path d="M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>
</div>
</td>
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div @click="push_to_log(object.email,object.job_name,object.id)" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" />
</svg>
</div>
</td>
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div @click="push_to_log(object.email,object.job_name,object.id)" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 505 511.5" class="w-6 h-6"><path d="m336.11 39.84-115.38 68.94 135.38 18.4 111.32-69.44-131.32-17.9zm25.45 204.61c73.74 0 133.53 59.78 133.53 133.53 0 73.74-59.79 133.52-133.53 133.52-73.75 0-133.53-59.78-133.53-133.52 0-73.75 59.78-133.53 133.53-133.53zm-50.44 179.72 15.51-78.82 15.73 23.69c33.86-13.59 52.88-36 55.7-70.5 27.82 48.63 10.93 92.22-24.33 117.77l16.05 24.16-78.65-16.3h-.01zM204.83 126.13l-.09 141.71-51.45-35.04-51.46 29.07 6.1-148.91-88.54-12.03v312.98l178.95 23.13c2.52 7.1 5.47 13.99 8.85 20.63L9.3 432.07c-5.17-.2-9.3-4.47-9.3-9.68V89.86c.27-4.05 1.89-6.89 5.72-8.81L182.48.85c1.58-.72 3.52-1.01 5.25-.77l308.18 42.04c5.09.59 8.58 4.77 8.58 9.99v.02L505 280.9c-5.72-8.46-15.57-20.29-19.93-27.77V69.56l-115.81 74.93v59.81a174.846 174.846 0 0 0-19.39.36v-58.82l-145.04-19.71zm-81.52-30.58 112.17-69.44-47.58-6.49L44.24 84.8l79.07 10.75z"/></svg>
</div>
</td>
</template>
<template v-else-if="object.harvesting === 'failed' && object.ingesting === 'pending' && object.deleting === 'pending'">
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div class="w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88" />
</svg>
</div>
</td>
<td class="px-6 py-4 text-sm font-medium whitespace-nowrap">
<div @click="modal_opener_removing_failed(object.id, object.email, object.job_name);" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" height="1.5em" viewBox="0 0 448 512"><path d="M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>
</div>
</td>
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div @click="push_to_log(object.email,object.job_name,object.id)" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" />
</svg>
</div>
</td>
<td class="px-6 py-4 text-sm text-gray-500 whitespace-nowrap">
<div @click="push_to_log(object.email,object.job_name,object.id)" class="cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110">
<svg
class="feather feather-slash"
fill="none"
height="24"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"><circle
cx="12"
cy="12"
r="10"/><line
x1="4.93"
x2="19.07"
y1="4.93"
y2="19.07"/>
</svg>
</div>
</td>
</template>
-->
<
template
v-else
>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
class=
"w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
stroke-width=
"1.5"
stroke=
"currentColor"
class=
"w-6 h-6"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
d=
"M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"
/>
</svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm font-medium whitespace-nowrap"
>
<div
class=
"w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
height=
"24"
viewBox=
"0 0 56 56"
width=
"24"
xmlns=
"http://www.w3.org/2000/svg"
><path
d=
"m41.1483 34.9258 3.5625 3.5625 1.1485-24.0938h2.3439c.9609 0 1.7342-.7969 1.7342-1.7578s-.7733-1.7812-1.7342-1.7812h-10.2424v-3.5157c0-3.3515-2.2734-5.5312-5.8828-5.5312h-8.7656c-3.6094 0-5.8594 2.1797-5.8594 5.5312v3.0235h-.8203l4.0078 4.0312h21.4688zm8.1795 17.25c.7032.7031 1.8754.7031 2.555 0 .6797-.7266.7032-1.8516 0-2.5547l-45.2111-45.2344c-.7031-.7031-1.8749-.7265-2.578 0-.6797.6797-.6797 1.8516 0 2.5313zm-28.1248-41.3203v-3.2813c0-1.3359.9609-2.2734 2.3907-2.2734h8.2265c1.4297 0 2.4141.9375 2.4141 2.2734v3.2813zm-4.2187 43.3359h21.4921c2.5079 0 4.4297-1.2656 5.2032-3.2812l.0234-.4454-3.1172-3.0937-.0234.9141c-.0703 1.3828-1.0547 2.3906-2.4609 2.3906h-20.7891c-1.336 0-2.3438-1.0313-2.4141-2.3906l-1.3593-27.961-3.8438-3.8437 1.5234 32.2031c.1641 3.375 2.3672 5.5078 5.7657 5.5078zm12.164-31.3125v-2.625c0-.8437-.6562-1.5234-1.4297-1.5234-.3984 0-.7968.2109-1.0078.539v1.1954zm7.3125 7.3594.2813-9.961c.0234-.8906-.5625-1.5468-1.3594-1.5468-.7266 0-1.3359.6797-1.3594 1.5234l-.2109 7.3359zm-15.6796 16.3125c.7968 0 1.3827-.6797 1.3593-1.5235l-.4922-16.5937-2.789-2.8125.539 19.4062c.0235.8907.6094 1.5235 1.3829 1.5235zm6.9374 0c.7735 0 1.4297-.6797 1.4297-1.5235v-9.1406l-2.8359-2.7891v11.9297c0 .8438.6562 1.5235 1.4062 1.5235zm6.961 0c.7734 0 1.3359-.6328 1.3594-1.5235l.0703-2.1562-2.6485-2.6719-.1406 4.8281c-.0234.8438.5625 1.5235 1.3594 1.5235z"
/></svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
@
click=
"push_to_log(object.email,object.job_name,object.id)"
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
stroke-width=
"1.5"
stroke=
"currentColor"
class=
"w-6 h-6"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
d=
"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
/>
</svg>
</div>
</td>
<td
class=
"px-6 py-4 text-sm text-gray-500 whitespace-nowrap"
>
<div
class=
"cursor-pointer w-4 mr-2 transform hover:text-purple-500 hover:scale-110"
>
<svg
class=
"feather feather-slash"
fill=
"none"
height=
"24"
stroke=
"currentColor"
stroke-linecap=
"round"
stroke-linejoin=
"round"
stroke-width=
"2"
viewBox=
"0 0 24 24"
width=
"24"
xmlns=
"http://www.w3.org/2000/svg"
><circle
cx=
"12"
cy=
"12"
r=
"10"
/><line
x1=
"4.93"
x2=
"19.07"
y1=
"4.93"
y2=
"19.07"
/>
</svg>
</div>
</td>
</
template
>
</tr>
</template>
</tbody>
</template>
</tbody>
</div>
</table>
<div
class=
"flex justify-center"
>
<div
class=
"pagination-controls grid grid-cols-3 items-center gap-4"
>
...
...
@@ -759,6 +768,7 @@ export default {
rowsPerPage
:
10
,
totalJobs
:
0
,
searchQuery
:
''
,
isLoading
:
false
,
}
},
...
...
@@ -961,6 +971,7 @@ export default {
clearInterval
(
this
.
intervalId
);
},
get_schedulerjob_objects
(
page
=
1
,
search
=
''
){
this
.
isLoading
=
true
scheduler_axios
.
get
(
`/api/get_schedulerjob_objects_pagination/?page=
${
page
}
&limit=10&search=
${
search
}
`
)
.
then
(
response
=>
{
...
...
@@ -971,6 +982,9 @@ export default {
.
catch
(
error
=>
{
console
.
log
(
error
)
})
.
finally
(()
=>
{
this
.
isLoading
=
false
})
},
get_schedulerjob_objects_by_id
(
id_saved
){
scheduler_axios
...
...
@@ -1334,4 +1348,58 @@ table {
min-width
:
600px
;
/* Adjust this value based on the minimum width your table needs */
/* Rest of your styles */
}
.loading-container
{
display
:
flex
;
justify-content
:
center
;
/* Center horizontally */
align-items
:
center
;
/* Center vertically */
position
:
fixed
;
/* Position fixed to stay in the view */
top
:
0
;
left
:
0
;
width
:
100vw
;
/* Full width */
height
:
100vh
;
/* Full height */
background-color
:
rgba
(
255
,
255
,
255
,
0.7
);
/* Optional: Add a background color */
z-index
:
1000
;
/* High z-index to stay on top */
}
.spinner-container
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
.spinner
{
width
:
50px
;
/* Adjust size as needed */
height
:
50px
;
/* Adjust size as needed */
animation
:
rotate
2s
linear
infinite
;
}
.path
{
stroke
:
#5652bf
;
/* Adjust color as needed */
stroke-linecap
:
round
;
animation
:
dash
1.5s
ease-in-out
infinite
;
}
@keyframes
rotate
{
100
%
{
transform
:
rotate
(
360deg
);
}
}
@keyframes
dash
{
0
%
{
stroke-dasharray
:
1
,
150
;
stroke-dashoffset
:
0
;
}
50
%
{
stroke-dasharray
:
90
,
150
;
stroke-dashoffset
:
-35
;
}
100
%
{
stroke-dasharray
:
90
,
150
;
stroke-dashoffset
:
-124
;
}
}
</
style
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment