@webx-ui/module-delivery 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BindingsPage-pjTbDDWA.js → BindingsPage-BssjF4sQ.js} +2 -2
- package/dist/{BindingsPage-pjTbDDWA.js.map → BindingsPage-BssjF4sQ.js.map} +1 -1
- package/dist/{CarriersPage-Dpre8dbl.js → CarriersPage-CV9uFlXk.js} +2 -2
- package/dist/{CarriersPage-Dpre8dbl.js.map → CarriersPage-CV9uFlXk.js.map} +1 -1
- package/dist/{GeographyPage-IBg0JnNH.js → GeographyPage-BvhBUFBv.js} +2 -2
- package/dist/{GeographyPage-IBg0JnNH.js.map → GeographyPage-BvhBUFBv.js.map} +1 -1
- package/dist/{MethodsPage-Bpzsa_6v.js → MethodsPage-tSsXLSUX.js} +4 -3
- package/dist/MethodsPage-tSsXLSUX.js.map +1 -0
- package/dist/{PointsPage-CzYIM86R.js → PointsPage-DzcGDwjQ.js} +2 -2
- package/dist/{PointsPage-CzYIM86R.js.map → PointsPage-DzcGDwjQ.js.map} +1 -1
- package/dist/{PopularPage-CSrvVg4o.js → PopularPage-CaN3vwKt.js} +2 -2
- package/dist/{PopularPage-CSrvVg4o.js.map → PopularPage-CaN3vwKt.js.map} +1 -1
- package/dist/{index-5nt0M0In.js → index-CAiJkqKq.js} +215 -213
- package/dist/index-CAiJkqKq.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +4 -4
- package/dist/MethodsPage-Bpzsa_6v.js.map +0 -1
- package/dist/index-5nt0M0In.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopularPage-
|
|
1
|
+
{"version":3,"file":"PopularPage-CaN3vwKt.js","sources":["../src/PopularPage.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport {\n toast,\n WxAction,\n WxAlert,\n WxBadge,\n WxCard,\n WxEmpty,\n WxSkeleton,\n WxSortableList,\n} from '@webx-ui/core'\nimport { useAdmin, useErrorText, WxListScreen } from '@webx-ui/module-admin'\nimport { createDeliveryApi } from './api'\nimport { useDeliveryWords } from './i18n'\nimport LocalitySearch from './LocalitySearch.vue'\nimport type { LocalityBrief } from './types'\n\n/**\n * The popular towns of the checkout's dialog (decision 40): one list for the site, the buttons\n * under the search in the order dragged here. «Add» searches the shared geography; a locality\n * switched off stays in the list, marked — the dialog skips it until it is on again.\n */\nconst context = useAdmin()\nconst api = createDeliveryApi(context)\nconst t = useDeliveryWords()\nconst message = useErrorText()\n\nconst rows = ref<LocalityBrief[]>([])\nconst loading = ref(true)\nconst canManage = computed(() => context.can('delivery.manage'))\n\nconst title = computed(\n () =>\n context.state.manifest?.modules.find((module) => module.id === 'delivery-popular')?.title ??\n t('sections.popular'),\n)\n\nasync function load(): Promise<void> {\n loading.value = true\n\n try {\n rows.value = await api.popular()\n } catch (error) {\n toast.danger(message(error))\n } finally {\n loading.value = false\n }\n}\n\nvoid load()\n\nasync function add(locality: LocalityBrief): Promise<void> {\n if (rows.value.some((row) => row.id === locality.id)) {\n toast.info(t('popular.already'))\n\n return\n }\n\n try {\n rows.value = await api.addPopular(locality.id)\n toast.success(t('popular.added'))\n } catch (error) {\n toast.danger(message(error))\n }\n}\n\nasync function remove(row: LocalityBrief): Promise<void> {\n try {\n rows.value = await api.removePopular(row.id)\n toast.success(t('popular.removed'))\n } catch (error) {\n toast.danger(message(error))\n }\n}\n\nasync function reorder(): Promise<void> {\n try {\n rows.value = await api.setPopular(rows.value.map((row) => row.id))\n } catch (error) {\n toast.danger(message(error, t('common.order-failed')))\n await load()\n }\n}\n</script>\n\n<template>\n <wx-list-screen :title=\"title\" :card=\"false\">\n <wx-card class=\"wx-delivery-popular\">\n <div v-if=\"canManage\" class=\"wx-delivery-popular__add\">\n <locality-search\n creatable\n :exclude=\"rows.map((row) => row.id)\"\n :placeholder=\"t('popular.add')\"\n @pick=\"add\"\n />\n <span class=\"wx-delivery-popular__help\">{{ t('popular.add-help') }}</span>\n </div>\n\n <wx-skeleton v-if=\"loading && rows.length === 0\" :rows=\"4\" />\n\n <wx-empty\n v-else-if=\"rows.length === 0\"\n :title=\"t('popular.empty')\"\n :description=\"t('popular.empty-help')\"\n />\n\n <template v-else>\n <wx-sortable-list\n v-model=\"rows\"\n class=\"wx-delivery-popular__list\"\n hoverable\n plain\n item-key=\"id\"\n :handle=\"canManage ? 'grip' : 'row'\"\n :item-label=\"(item: LocalityBrief) => item.name\"\n :disabled=\"!canManage\"\n data-test=\"popular-list\"\n @move=\"reorder\"\n >\n <template #default=\"{ item }\">\n <span class=\"wx-delivery-popular__row\">\n <span class=\"wx-delivery-popular__name\">{{ item.name }}</span>\n <span class=\"wx-delivery-popular__label\">{{ item.label }}</span>\n <wx-badge v-if=\"!item.active\" size=\"sm\" type=\"warning\" dot>\n {{ t('popular.hidden') }}\n </wx-badge>\n </span>\n </template>\n\n <!-- Asked first, with the red bin the panel removes a row of a list by (blog → rubrics). -->\n <template v-if=\"canManage\" #actions=\"{ item }\">\n <wx-action\n type=\"remove\"\n size=\"sm\"\n :title=\"t('popular.remove')\"\n :confirm=\"t('popular.remove-title', { name: item.name })\"\n :confirm-text=\"t('popular.remove')\"\n :cancel-text=\"t('common.cancel')\"\n data-test=\"popular-remove\"\n @click=\"remove(item)\"\n />\n </template>\n </wx-sortable-list>\n\n <wx-alert\n v-if=\"canManage && rows.length > 1\"\n class=\"wx-delivery-popular__note\"\n type=\"info\"\n :description=\"t('common.drag')\"\n />\n </template>\n </wx-card>\n </wx-list-screen>\n</template>\n\n<style scoped>\n.wx-delivery-popular__add {\n display: flex;\n flex-direction: column;\n gap: var(--wx-space-4);\n max-width: 480px;\n margin-bottom: var(--wx-space-16);\n}\n\n.wx-delivery-popular__help {\n color: var(--wx-text-muted);\n font-size: var(--wx-font-size-sm);\n}\n\n/* Off the card's edge on both sides: the bin at the end gets room, as the grip at the start has. */\n.wx-delivery-popular__list :deep(.wx-sortable-list__row) {\n gap: var(--wx-space-8);\n padding-inline: var(--wx-space-4) var(--wx-space-8);\n}\n\n.wx-delivery-popular__row {\n display: flex;\n flex: 1 1 auto;\n flex-wrap: wrap;\n align-items: baseline;\n gap: var(--wx-space-4) var(--wx-space-8);\n min-width: 0;\n padding-block: var(--wx-space-8);\n}\n\n.wx-delivery-popular__name {\n font-weight: var(--wx-font-weight-medium);\n}\n\n.wx-delivery-popular__label {\n min-width: 0;\n color: var(--wx-text-muted);\n font-size: var(--wx-font-size-sm);\n}\n\n.wx-delivery-popular__note {\n margin-top: var(--wx-space-12);\n}\n</style>\n"],"names":["context","useAdmin","api","createDeliveryApi","t","useDeliveryWords","message","useErrorText","rows","ref","loading","canManage","computed","title","module","load","error","toast","add","locality","row","remove","reorder","_createBlock","_unref","WxListScreen","_createVNode","WxCard","_openBlock","_createElementBlock","_hoisted_1","LocalitySearch","_createElementVNode","_hoisted_2","_toDisplayString","WxSkeleton","WxEmpty","_Fragment","WxSortableList","$event","item","_withCtx","_hoisted_3","_hoisted_4","_hoisted_5","WxBadge","WxAction","WxAlert"],"mappings":"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"}
|