Skip to content

Commit

Permalink
-[x] Step shown for only error
Browse files Browse the repository at this point in the history
  • Loading branch information
Yash Maharjan committed Jan 22, 2025
1 parent f943502 commit a8a687e
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 195 deletions.
6 changes: 3 additions & 3 deletions public/js/formbuilder.js

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions public/mix-manifest.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"/js/app.js": "/js/app.js?id=c425ddeae2f0c254de60f86772003c17",
"/js/script.js": "/js/script.js?id=f4d4ad1c6f37dc9050cc403eb20299e4",
"/js/webportal-script.js": "/js/webportal-script.js?id=e5c3195d38b8ecc4b93c041ad042b9d5",
"/js/formbuilder.js": "/js/formbuilder.js?id=636125f706ffcdff864df5ddebaf6afb",
"/js/app.js": "/js/app.js?id=152b8b71e862fd506ec401c043aa6e2f",
"/js/script.js": "/js/script.js?id=f542450fdb3dde58c515efbf642451b7",
"/js/webportal-script.js": "/js/webportal-script.js?id=d3369d1292cd06ce3cd5117b44a9f325",
"/js/formbuilder.js": "/js/formbuilder.js?id=a0a9c05c1a027544abb15389746e5b77",
"/manifest.js": "/manifest.js?id=3ed1124c8f4dcb98acc36de67cb80349",
"/css/webportal-app.css": "/css/webportal-app.css?id=7c68c3dd984526ea36b8571fe131bba2",
"/css/app.css": "/css/app.css?id=fc5ce9bdf32ec174e03a9463aacb11f2",
Expand Down
4 changes: 3 additions & 1 deletion resources/assets/js/components/XlsUploadIndicator.vue
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,9 @@ const handleActivityPublishedData = (data) => {
const validationFailedActivities = computed(() => {
return Object.values(
store.state.bulkActivityPublishStatus.importedActivitiesList
).some((item) => item?.is_valid === false);
).some(
(item) => item?.is_valid === false || item?.top_level_error === 'error'
);
});
const handleBackgroundProcessToggler = () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,183 +50,83 @@
Data checking complete. Click continue to publish
</h6>
</div>
<KeepAlive>
<TabIndex
v-if="hasError && percentageWidth === 100"
:tabs="[
{
name: `Ready to publish (${Object.keys(validActivities).length})`,
value: 1,
},
{
name: `Not ready to publish (${
Object.keys(inValidedActivities).length
})`,
value: 2,
},
]"
:show-bottom-banner="hasError && true"
@active-tab="handleActiveTab"
<div class="mt-2 rounded-md border border-n-20">
<div
class="flex items-center gap-1.5 rounded-t-lg bg-n-10 px-6 py-[14px] uppercase text-n-50"
>
<template #tabOne>
<ul
class="max-h-[50vh] space-y-2 divide-y divide-n-20 overflow-auto pb-4 duration-200"
<svg-vue class="text-xl" icon="warning-activity" />
<span class="text-xs font-bold">
There may be data quality issues with these activities.
</span>
</div>
<ul class="max-h-[50vh] divide-y divide-n-20 overflow-auto duration-200">
<template v-if="Object.keys(validActivities).length > 0">
<li
v-for="(value, key) in validActivities"
:key="Number(key)"
class="px-4 pt-4 pb-4 text-sm leading-[22px] tracking-normal text-n-50"
:class="{ 'bg-[#f6f0ff]': value.top_level_error === 'critical' }"
>
<template v-if="Object.keys(validActivities).length > 0">
<li
v-for="(value, key) in validActivities"
:key="Number(key)"
class="pt-4 text-sm leading-[22px] tracking-normal text-n-50"
>
<div class="flex items-center justify-between">
<div>
<label class="checkbox_container">
<input
v-model="newSelectedActivities"
type="checkbox"
:value="key"
/>
<span class="checkmark"></span>
</label>
<div class="pl-6">
{{ value.title ?? '' }}
</div>
</div>
<div class="flex items-center gap-6">
<svg-vue
v-if="value?.is_valid === false"
class="text-xl"
icon="warning-activity"
/>
<a :href="`${permalink}${key}`" target="_blank" class="">
<svg-vue class="text-sm" icon="open-link" />
</a>
</div>
<div class="flex items-center justify-between">
<div>
<label
class="checkbox_container"
:class="{ disabled: value.top_level_error === 'critical' }"
>
<input
v-model="newSelectedActivities"
type="checkbox"
:value="key"
:disabled="value.top_level_error === 'critical'"
/>
<span class="checkmark"></span>
</label>
<div
class="bulk_publish_activity_title max-w-[60ch] pl-6"
:title="value?.title"
>
{{
value?.title?.length > 100
? value?.title.slice(0, 100) + '...'
: value?.title ?? ''
}}
</div>
</li>
</template>
<template v-else>
<li class="pt-4 text-sm leading-[22px] tracking-normal text-n-50">
No activities are ready to publish
</li>
</template>
</ul>
</template>

<template #tabTwo>
<ul
class="max-h-[50vh] space-y-2 divide-y divide-n-20 overflow-auto pb-4 duration-200"
>
<template v-if="Object.keys(inValidedActivities).length > 0">
<li
v-for="(value, key) in inValidedActivities"
:key="key"
class="pt-4 text-sm leading-[22px] tracking-normal text-n-50"
>
<div class="flex items-center justify-between">
<div>
<div>
{{ value.title ?? '' }}
</div>
</div>
<div class="flex items-center gap-6">
<svg-vue
v-if="value?.is_valid === false"
class="text-xl"
icon="warning-activity"
/>
<a :href="`${permalink}${key}`" target="_blank" class="">
<svg-vue class="text-sm" icon="open-link" />
</a>
</div>
</div>
</li>
</template>
<template v-else>
<li class="pt-4 text-sm leading-[22px] tracking-normal text-n-50">
No activities are ready to publish
</li>
</template>
</ul>
</template>
</TabIndex>
<div v-else class="mt-2 rounded-md border border-n-20">
<div
class="flex items-center gap-1.5 rounded-t-lg bg-n-10 px-6 py-[14px] uppercase text-n-50"
>
<svg-vue class="text-xl" icon="warning-activity" />
<span class="text-xs font-bold">
There may be data quality issues with these activities.
</span>
</div>
<ul
class="max-h-[50vh] divide-y divide-n-20 overflow-auto duration-200"
>
<template v-if="Object.keys(validActivities).length > 0">
<li
v-for="(value, key) in validActivities"
:key="Number(key)"
class="px-4 pt-4 pb-4 text-sm leading-[22px] tracking-normal text-n-50"
:class="{ 'bg-[#f6f0ff]': value.top_level_error === 'critical' }"
>
<div class="flex items-center justify-between">
<div>
<label
class="checkbox_container"
:class="{ disabled: value.top_level_error === 'critical' }"
>
<input
v-model="newSelectedActivities"
type="checkbox"
:value="key"
:disabled="value.top_level_error === 'critical'"
/>
<span class="checkmark"></span>
</label>
<div
class="bulk_publish_activity_title max-w-[60ch] pl-6"
:title="value?.title"
>
{{
value?.title?.length > 100
? value?.title.slice(0, 100) + '...'
: value?.title ?? ''
}}
</div>

<div v-if="value.top_level_error === 'critical'">
<span class="text-xs italic text-crimson-50">
(The activity contains critical errors and cannot be
published.)
</span>
</div>
</div>
<div class="flex shrink-0 items-center gap-6">
<svg-vue
v-if="value?.is_valid === false"
class="text-xl"
icon="warning-activity"
/>
<a
:href="`${permalink}${key}`"
target="_blank"
class="flex items-center gap-[2px]"
>
Open in new tab
<svg-vue class="text-base" icon="open-link-small" />
</a>
<div v-if="value.top_level_error === 'critical'">
<span class="text-xs italic text-crimson-50">
(The activity contains critical errors and cannot be
published.)
</span>
</div>
</div>
</li>
</template>
<template v-else>
<li class="pt-4 text-sm leading-[22px] tracking-normal text-n-50">
No activities are ready to publish
</li>
</template>
</ul>
</div>
</KeepAlive>
<div class="flex shrink-0 items-center gap-6">
<svg-vue
v-if="
value?.is_valid === false ||
value?.top_level_error === 'error'
"
class="text-xl"
icon="warning-activity"
/>
<a
:href="`${permalink}${key}`"
target="_blank"
class="flex items-center gap-[2px]"
>
Open in new tab
<svg-vue class="text-base" icon="open-link-small" />
</a>
</div>
</div>
</li>
</template>
<template v-else>
<li class="pt-4 text-sm leading-[22px] tracking-normal text-n-50">
No activities are ready to publish
</li>
</template>
</ul>
</div>
<div
v-if="activeTab === 1 && Object.keys(validActivities).length > 0"
class="w-[100px] pt-3"
Expand Down Expand Up @@ -268,7 +168,6 @@ import {
import { useStore } from 'Store/activities/index';
import RollingLoader from '../RollingLoaderComponent.vue';
import TabIndex from '../../tabs/TabIndex.vue';
const store = useStore();
const props = defineProps({
Expand Down Expand Up @@ -298,9 +197,7 @@ const props = defineProps({
const newSelectedActivities = inject('newSelectedActivities') as Ref<number[]>;
const activeTab = ref(1);
const handleActiveTab = (value) => {
activeTab.value = value;
};
const isAllCriticalErrors = computed(() => {
return (
Object.keys(validActivities.value)
Expand Down Expand Up @@ -368,18 +265,6 @@ const validActivities = computed(() => {
)
);
});
const inValidedActivities = computed(() => {
return Object.fromEntries(
Object.entries(props.activitiesList).filter(
([, value]) => value.status === 'failed'
)
);
});
const totalValidationFailedActivities = computed(() => {
return Object.values(props.activitiesList).filter((item) => !item.is_valid)
.length;
});
watchEffect(() => {
if (validActivities.value) {
Expand Down

0 comments on commit a8a687e

Please sign in to comment.