@bildvitta/quasar-ui-asteroid 3.17.0-beta.20 → 3.17.0-beta.21
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/package.json +1 -1
- package/src/assets/sounds/nave-notification.mp3 +0 -0
- package/src/asteroid.js +4 -4
- package/src/components/actions/QasActions.vue +81 -81
- package/src/components/actions/QasActions.yml +34 -34
- package/src/components/actions-menu/QasActionsMenu.vue +251 -251
- package/src/components/actions-menu/QasActionsMenu.yml +89 -89
- package/src/components/actions-menu/composables/use-delete.js +30 -30
- package/src/components/actions-menu/composables/use-double-split-actions.js +42 -42
- package/src/components/actions-menu/composables/use-options-actions.js +27 -27
- package/src/components/actions-menu/composables/use-single-action.js +17 -17
- package/src/components/actions-menu/composables/use-single-split-actions.js +35 -35
- package/src/components/actions-menu/composables/use-tooltips.js +43 -43
- package/src/components/actions-menu/utils/get-label.js +3 -3
- package/src/components/actions-menu/utils/set-click-handler.js +6 -6
- package/src/components/alert/QasAlert.test.js +43 -43
- package/src/components/alert/QasAlert.vue +110 -110
- package/src/components/alert/QasAlert.yml +39 -39
- package/src/components/app-bar/QasAppBar.vue +119 -119
- package/src/components/app-bar/QasAppBar.yml +44 -44
- package/src/components/app-menu/QasAppMenu.vue +392 -392
- package/src/components/app-menu/QasAppMenu.yml +73 -73
- package/src/components/app-menu/composables/use-app-menu-dropdown.js +71 -71
- package/src/components/app-menu/composables/use-app-user.js +49 -49
- package/src/components/app-menu/composables/use-development-badge.js +23 -23
- package/src/components/app-menu/private/PvAppMenuDropdown.vue +71 -71
- package/src/components/app-menu/private/PvAppMenuHelpChat.vue +222 -222
- package/src/components/app-user/QasAppUser.vue +281 -281
- package/src/components/app-user/QasAppUser.yml +56 -56
- package/src/components/avatar/QasAvatar.vue +95 -95
- package/src/components/avatar/QasAvatar.yml +38 -38
- package/src/components/avatar/enums/AvatarColors.js +10 -10
- package/src/components/badge/QasBadge.vue +87 -87
- package/src/components/badge/QasBadge.yml +55 -55
- package/src/components/board-generator/QasBoardGenerator.vue +712 -712
- package/src/components/board-generator/QasBoardGenerator.yml +167 -167
- package/src/components/box/QasBox.vue +51 -51
- package/src/components/box/QasBox.yml +29 -29
- package/src/components/breakline/QasBreakline.vue +38 -38
- package/src/components/breakline/QasBreakline.yml +25 -25
- package/src/components/btn/QasBtn.vue +148 -148
- package/src/components/btn/QasBtn.yml +48 -48
- package/src/components/btn-dropdown/QasBtnDropdown.vue +146 -146
- package/src/components/btn-dropdown/QasBtnDropdown.yml +59 -59
- package/src/components/card/QasCard.vue +132 -132
- package/src/components/card/QasCard.yml +44 -44
- package/src/components/card-image/QasCardImage.vue +95 -95
- package/src/components/card-image/QasCardImage.yml +48 -48
- package/src/components/chart-view/QasChartView.vue +441 -441
- package/src/components/chart-view/QasChartView.yml +109 -109
- package/src/components/chart-view/config/charts/bar.js +45 -45
- package/src/components/chart-view/config/charts/doughnut.js +43 -43
- package/src/components/chart-view/config/charts/index.js +9 -9
- package/src/components/chart-view/config/charts/line.js +57 -57
- package/src/components/chart-view/config/defaults/colors.js +19 -19
- package/src/components/chart-view/config/defaults/font.js +5 -5
- package/src/components/chart-view/config/defaults/index.js +2 -2
- package/src/components/chart-view/config/index.js +3 -3
- package/src/components/chart-view/config/plugins/index.js +3 -3
- package/src/components/chart-view/config/plugins/legend.js +9 -9
- package/src/components/chart-view/config/plugins/tooltip.js +15 -15
- package/src/components/chart-view/config/plugins/zoom.js +31 -31
- package/src/components/checkbox/QasCheckbox.vue +150 -150
- package/src/components/checkbox/QasCheckbox.yml +36 -36
- package/src/components/copy/QasCopy.vue +46 -46
- package/src/components/copy/QasCopy.yml +23 -23
- package/src/components/date/QasDate.vue +600 -600
- package/src/components/date/QasDate.yml +69 -69
- package/src/components/date/enums/DateMaskOptions.js +6 -6
- package/src/components/date-time-input/QasDateTimeInput.vue +269 -269
- package/src/components/date-time-input/QasDateTimeInput.yml +64 -64
- package/src/components/debugger/QasDebugger.vue +31 -31
- package/src/components/debugger/QasDebugger.yml +10 -10
- package/src/components/delete/QasDelete.vue +100 -100
- package/src/components/delete/QasDelete.yml +60 -60
- package/src/components/dialog/QasDialog.vue +217 -217
- package/src/components/dialog/QasDialog.yml +117 -117
- package/src/components/dialog/composables/use-cancel.js +40 -40
- package/src/components/dialog/composables/use-dynamic-components.js +86 -86
- package/src/components/dialog/composables/use-ok.js +45 -45
- package/src/components/dialog-router/QasDialogRouter.vue +86 -86
- package/src/components/dialog-router/QasDialogRouter.yml +23 -23
- package/src/components/drawer/QasDrawer.vue +118 -118
- package/src/components/drawer/QasDrawer.yml +58 -58
- package/src/components/empty-result-text/QasEmptyResultText.vue +18 -18
- package/src/components/empty-result-text/QasEmptyResultText.yml +14 -14
- package/src/components/expansion-item/QasExpansionItem.vue +291 -291
- package/src/components/expansion-item/QasExpansionItem.yml +76 -76
- package/src/components/field/QasField.vue +220 -220
- package/src/components/field/QasField.yml +36 -36
- package/src/components/filters/QasFilters.vue +472 -472
- package/src/components/filters/QasFilters.yml +171 -171
- package/src/components/filters/private/PvFiltersButton.vue +101 -101
- package/src/components/form-generator/QasFormGenerator.vue +274 -274
- package/src/components/form-generator/QasFormGenerator.yml +109 -109
- package/src/components/form-view/QasFormView.vue +484 -484
- package/src/components/form-view/QasFormView.yml +253 -253
- package/src/components/gallery/QasGallery.vue +243 -243
- package/src/components/gallery/QasGallery.yml +188 -188
- package/src/components/gallery/composables/use-delete.js +54 -54
- package/src/components/gallery/private/PvGalleryCarouselDialog.vue +92 -92
- package/src/components/gallery/private/PvGalleryDeleteDialog.vue +54 -54
- package/src/components/gallery-card/QasGalleryCard.vue +153 -153
- package/src/components/gallery-card/QasGalleryCard.yml +61 -61
- package/src/components/grabbable/QasGrabbable.vue +185 -185
- package/src/components/grabbable/QasGrabbable.yml +26 -26
- package/src/components/grid-generator/QasGridGenerator.vue +210 -210
- package/src/components/grid-generator/QasGridGenerator.yml +127 -127
- package/src/components/grid-item/QasGridItem.vue +89 -89
- package/src/components/grid-item/QasGridItem.yml +22 -22
- package/src/components/header/QasHeader.vue +152 -152
- package/src/components/header/QasHeader.yml +50 -50
- package/src/components/infinite-scroll/QasInfiniteScroll.vue +168 -168
- package/src/components/infinite-scroll/QasInfiniteScroll.yml +78 -78
- package/src/components/info/QasInfo.vue +155 -155
- package/src/components/info/QasInfo.yml +34 -34
- package/src/components/input/QasInput.vue +252 -252
- package/src/components/input/QasInput.yml +65 -65
- package/src/components/label/QasLabel.vue +61 -61
- package/src/components/label/QasLabel.yml +44 -44
- package/src/components/layout/QasLayout.vue +101 -101
- package/src/components/layout/QasLayout.yml +46 -46
- package/src/components/layout/private/PvLayoutNotificationCard.vue +86 -86
- package/src/components/layout/private/PvLayoutNotificationsDrawer.vue +140 -140
- package/src/components/list-items/QasListItems.vue +125 -125
- package/src/components/list-items/QasListItems.yml +71 -71
- package/src/components/list-view/QasListView.vue +302 -302
- package/src/components/list-view/QasListView.yml +169 -169
- package/src/components/map/QasMap.vue +75 -75
- package/src/components/map/QasMap.yml +33 -33
- package/src/components/nested-fields/QasNestedFields.vue +584 -584
- package/src/components/nested-fields/QasNestedFields.yml +296 -296
- package/src/components/numeric-input/QasNumericInput.vue +206 -206
- package/src/components/numeric-input/QasNumericInput.yml +85 -85
- package/src/components/option-group/QasOptionGroup.vue +54 -54
- package/src/components/option-group/QasOptionGroup.yml +30 -30
- package/src/components/page-header/QasPageHeader.vue +143 -143
- package/src/components/page-header/QasPageHeader.yml +42 -42
- package/src/components/pagination/QasPagination.vue +71 -71
- package/src/components/pagination/QasPagination.yml +4 -4
- package/src/components/password-input/QasPasswordInput.vue +110 -110
- package/src/components/password-input/QasPasswordInput.yml +111 -111
- package/src/components/password-strength-checker/QasPasswordStrengthChecker.vue +71 -71
- package/src/components/password-strength-checker/QasPasswordStrengthChecker.yml +103 -103
- package/src/components/profile/QasProfile.vue +98 -98
- package/src/components/profile/QasProfile.yml +60 -60
- package/src/components/radio/QasRadio.vue +62 -62
- package/src/components/radio/QasRadio.yml +11 -11
- package/src/components/resizer/QasResizer.vue +90 -90
- package/src/components/resizer/QasResizer.yml +24 -24
- package/src/components/search-box/QasSearchBox.vue +294 -294
- package/src/components/search-box/QasSearchBox.yml +154 -154
- package/src/components/search-input/QasSearchInput.vue +106 -106
- package/src/components/search-input/QasSearchInput.yml +48 -48
- package/src/components/select/QasSelect.vue +514 -514
- package/src/components/select/QasSelect.yml +157 -157
- package/src/components/select-list/QasSelectList.vue +238 -238
- package/src/components/select-list/QasSelectList.yml +108 -108
- package/src/components/select-list/private/PvSelectListCheckbox.vue +31 -31
- package/src/components/select-list-dialog/QasSelectListDialog.vue +395 -395
- package/src/components/select-list-dialog/QasSelectListDialog.yml +108 -108
- package/src/components/signature-pad/QasSignaturePad.vue +122 -122
- package/src/components/signature-pad/QasSignaturePad.yml +53 -53
- package/src/components/signature-uploader/QasSignatureUploader.vue +164 -164
- package/src/components/signature-uploader/QasSignatureUploader.yml +37 -37
- package/src/components/single-view/QasSingleView.vue +175 -175
- package/src/components/single-view/QasSingleView.yml +131 -131
- package/src/components/sortable/QasSortable.vue +151 -151
- package/src/components/sortable/QasSortable.yml +65 -65
- package/src/components/status/QasStatus.test.js +11 -11
- package/src/components/status/QasStatus.vue +29 -29
- package/src/components/status/QasStatus.yml +10 -10
- package/src/components/stepper/QasStepper.vue +152 -152
- package/src/components/stepper/QasStepper.yml +35 -35
- package/src/components/stepper-form-view/QasStepperFormView.vue +84 -84
- package/src/components/stepper-form-view/QasStepperFormView.yml +58 -58
- package/src/components/table-generator/QasTableGenerator.vue +416 -416
- package/src/components/table-generator/QasTableGenerator.yml +94 -94
- package/src/components/tabs-generator/QasTabsGenerator.vue +196 -196
- package/src/components/tabs-generator/QasTabsGenerator.yml +53 -53
- package/src/components/text-truncate/QasTextTruncate.vue +274 -274
- package/src/components/text-truncate/QasTextTruncate.yml +60 -60
- package/src/components/timeline/QasTimeline.vue +140 -140
- package/src/components/timeline/QasTimeline.yml +36 -36
- package/src/components/toggle/QasToggle.vue +14 -14
- package/src/components/toggle/QasToggle.yml +5 -5
- package/src/components/toggle-visibility/QasToggleVisibility.vue +79 -79
- package/src/components/toggle-visibility/QasToggleVisibility.yml +30 -30
- package/src/components/transfer/QasTransfer.vue +239 -239
- package/src/components/transfer/QasTransfer.yml +60 -60
- package/src/components/tree-generator/QasTreeForm.vue +62 -62
- package/src/components/tree-generator/QasTreeGenerator.vue +488 -488
- package/src/components/tree-generator/QasTreeGenerator.yml +81 -81
- package/src/components/uploader/QasUploader.vue +645 -645
- package/src/components/uploader/QasUploader.yml +192 -192
- package/src/components/uploader/private/PvUploaderGalleryCard.vue +357 -357
- package/src/components/welcome/QasWelcome.vue +125 -125
- package/src/components/welcome/QasWelcome.yml +23 -23
- package/src/components/welcome/private/PvWelcomeShortcutCard.vue +58 -58
- package/src/components/whatsapp-link/QasWhatsappLink.vue +34 -34
- package/src/components/whatsapp-link/QasWhatsappLink.yml +18 -18
- package/src/composables/index.js +8 -8
- package/src/composables/private/index.js +3 -3
- package/src/composables/private/use-generator.js +174 -174
- package/src/composables/private/use-toggle-visibility.js +48 -48
- package/src/composables/private/use-view.js +186 -186
- package/src/composables/use-context.js +15 -15
- package/src/composables/use-form.js +32 -32
- package/src/composables/use-history.js +46 -46
- package/src/composables/use-notifications.js +128 -114
- package/src/composables/use-query-cache.js +60 -60
- package/src/composables/use-screen.js +42 -42
- package/src/css/base/font-face.scss +28 -28
- package/src/css/base/index.scss +1 -1
- package/src/css/components/base.scss +12 -12
- package/src/css/components/button.scss +116 -116
- package/src/css/components/checkbox.scss +14 -14
- package/src/css/components/editor.scss +7 -7
- package/src/css/components/field.scss +88 -88
- package/src/css/components/index.scss +10 -10
- package/src/css/components/item.scss +52 -52
- package/src/css/components/radio.scss +18 -18
- package/src/css/components/scrollbar.scss +20 -20
- package/src/css/components/tabs.scss +3 -3
- package/src/css/components/toggle.scss +13 -13
- package/src/css/mixins/index.scss +3 -3
- package/src/css/mixins/set-brand.scss +15 -15
- package/src/css/mixins/set-button.scss +26 -26
- package/src/css/mixins/set-typography.scss +8 -8
- package/src/css/plugins/index.scss +2 -2
- package/src/css/plugins/loading.scss +5 -5
- package/src/css/plugins/notify.scss +100 -100
- package/src/css/utils/background.scss +34 -34
- package/src/css/utils/border-radius.scss +29 -29
- package/src/css/utils/border.scss +42 -42
- package/src/css/utils/container.scss +36 -36
- package/src/css/utils/fonts.scss +5 -5
- package/src/css/utils/index.scss +10 -10
- package/src/css/utils/line-height.scss +19 -19
- package/src/css/utils/opacity.scss +5 -5
- package/src/css/utils/scroll.scss +21 -21
- package/src/css/utils/text.scss +15 -15
- package/src/css/utils/unset.scss +8 -8
- package/src/css/variables/button.scss +4 -4
- package/src/css/variables/index.scss +6 -6
- package/src/css/variables/scrollbar.scss +11 -11
- package/src/css/variables/separator.scss +2 -2
- package/src/css/variables/shadow.scss +3 -3
- package/src/css/variables/spacing.scss +98 -98
- package/src/css/variables/typography.scss +149 -149
- package/src/directives/Test.js +13 -13
- package/src/enums/Align.js +7 -7
- package/src/enums/Spacing.js +98 -98
- package/src/enums/Status.js +33 -33
- package/src/helpers/add-counter-suffix.js +3 -3
- package/src/helpers/base-64-to-blob.js +21 -21
- package/src/helpers/camelize-fields-name.js +15 -15
- package/src/helpers/construct-object.js +29 -29
- package/src/helpers/copy-to-clipboard.js +15 -15
- package/src/helpers/destroy-nested-children-by-key.js +33 -33
- package/src/helpers/download-file.js +21 -21
- package/src/helpers/filter-list-by-handle.js +31 -31
- package/src/helpers/filter-object-to-array.js +29 -29
- package/src/helpers/filter-object.js +34 -34
- package/src/helpers/filters.js +163 -163
- package/src/helpers/find-children-by-key.js +14 -14
- package/src/helpers/get-greatest-common-divisor.js +16 -16
- package/src/helpers/get-normalized-options.js +20 -20
- package/src/helpers/get-placeholder.js +19 -19
- package/src/helpers/get-required-label.js +3 -3
- package/src/helpers/get-slot-children-text.js +15 -15
- package/src/helpers/handle-process.js +13 -13
- package/src/helpers/images.js +28 -28
- package/src/helpers/index.js +25 -25
- package/src/helpers/is-empty.js +3 -3
- package/src/helpers/is-local-development.js +3 -3
- package/src/helpers/private/gutter-validator.js +15 -15
- package/src/helpers/private/has-parent-by-class-name.js +15 -15
- package/src/helpers/promise-handler.js +40 -40
- package/src/helpers/rules.js +7 -7
- package/src/helpers/set-scroll-on-grab.js +128 -128
- package/src/index.cjs.js +1 -1
- package/src/index.esm.js +4 -4
- package/src/index.scss +38 -38
- package/src/index.umd.js +2 -2
- package/src/mixins/context.js +8 -8
- package/src/mixins/delete.js +48 -48
- package/src/mixins/dialog-router.js +17 -17
- package/src/mixins/form.js +11 -11
- package/src/mixins/generator.js +94 -94
- package/src/mixins/index.js +17 -17
- package/src/mixins/password.js +86 -86
- package/src/mixins/search-filter.js +354 -354
- package/src/mixins/view.js +156 -156
- package/src/pages/ErrorComponent.vue +74 -74
- package/src/pages/Forbidden.vue +29 -29
- package/src/pages/NotFound.vue +29 -29
- package/src/pages/ServerError.vue +29 -29
- package/src/pages/Unauthorized.vue +29 -29
- package/src/plugins/delete/Delete.js +107 -107
- package/src/plugins/delete/Delete.yml +75 -75
- package/src/plugins/dialog/Dialog.js +14 -14
- package/src/plugins/dialog/Dialog.yml +10 -10
- package/src/plugins/index.js +13 -13
- package/src/plugins/notify-error/NotifyError.js +13 -13
- package/src/plugins/notify-error/NotifyError.yml +11 -11
- package/src/plugins/notify-success/NotifySuccess.js +13 -13
- package/src/plugins/notify-success/NotifySuccess.yml +11 -11
- package/src/plugins/screen/Screen.js +35 -35
- package/src/plugins/screen/Screen.yml +16 -16
- package/src/shared/date-config.js +26 -26
- package/src/shared/fuse-config.js +4 -4
- package/src/shared/notify-config.js +7 -7
- package/src/vue-plugin/third-party-component-handler.js +29 -29
- package/src/vue-plugin.js +282 -282
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<error-component v-bind="errorProps" />
|
|
3
|
-
</template>
|
|
4
|
-
|
|
5
|
-
<script>
|
|
6
|
-
import ErrorComponent from './ErrorComponent.vue'
|
|
7
|
-
|
|
8
|
-
export default {
|
|
9
|
-
name: 'Unauthorized',
|
|
10
|
-
|
|
11
|
-
components: {
|
|
12
|
-
ErrorComponent
|
|
13
|
-
},
|
|
14
|
-
|
|
15
|
-
computed: {
|
|
16
|
-
errorProps () {
|
|
17
|
-
return {
|
|
18
|
-
code: '401',
|
|
19
|
-
description: 'Ops... Parece que você foi desconectado do sistema. \n Por favor, entre na sua conta novamente.',
|
|
20
|
-
imagePath: require('../assets/big-shoes-walking-the-dog.svg'),
|
|
21
|
-
buttonProps: {
|
|
22
|
-
to: { path: '/auth/login' },
|
|
23
|
-
label: 'Entrar novamente'
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<error-component v-bind="errorProps" />
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script>
|
|
6
|
+
import ErrorComponent from './ErrorComponent.vue'
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
name: 'Unauthorized',
|
|
10
|
+
|
|
11
|
+
components: {
|
|
12
|
+
ErrorComponent
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
computed: {
|
|
16
|
+
errorProps () {
|
|
17
|
+
return {
|
|
18
|
+
code: '401',
|
|
19
|
+
description: 'Ops... Parece que você foi desconectado do sistema. \n Por favor, entre na sua conta novamente.',
|
|
20
|
+
imagePath: require('../assets/big-shoes-walking-the-dog.svg'),
|
|
21
|
+
buttonProps: {
|
|
22
|
+
to: { path: '/auth/login' },
|
|
23
|
+
label: 'Entrar novamente'
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
</script>
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
import { Dialog, NotifySuccess, NotifyError } from 'asteroid'
|
|
2
|
-
import { Loading } from 'quasar'
|
|
3
|
-
import { getAction } from '@bildvitta/store-adapter'
|
|
4
|
-
import { useHistory } from '../../composables'
|
|
5
|
-
|
|
6
|
-
export default function (config = {}) {
|
|
7
|
-
const {
|
|
8
|
-
dialogProps = {},
|
|
9
|
-
deleteActionParams = {},
|
|
10
|
-
useAutoDeleteRoute,
|
|
11
|
-
redirectRoute,
|
|
12
|
-
|
|
13
|
-
// callbacks
|
|
14
|
-
onDelete = () => {},
|
|
15
|
-
onDeleteError = () => {},
|
|
16
|
-
onDeleteSuccess = () => {},
|
|
17
|
-
deleteAction
|
|
18
|
-
} = config
|
|
19
|
-
|
|
20
|
-
const { entity, id, url } = deleteActionParams
|
|
21
|
-
|
|
22
|
-
const defaultDialogProps = {
|
|
23
|
-
...dialogProps,
|
|
24
|
-
|
|
25
|
-
card: {
|
|
26
|
-
description: 'Tem certeza que deseja excluir este item?',
|
|
27
|
-
|
|
28
|
-
...dialogProps.card
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
ok: {
|
|
32
|
-
label: 'Excluir',
|
|
33
|
-
onClick: () => destroy.call(this),
|
|
34
|
-
|
|
35
|
-
...dialogProps.ok
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const defaultNotifyMessages = {
|
|
40
|
-
error: 'Não conseguimos excluir as informações. Por favor, tente novamente em alguns minutos.',
|
|
41
|
-
success: 'Informações excluídas com sucesso.'
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
async function destroy () {
|
|
45
|
-
Loading.show()
|
|
46
|
-
|
|
47
|
-
try {
|
|
48
|
-
onDelete(true)
|
|
49
|
-
|
|
50
|
-
const hasDeleteAction = typeof deleteAction === 'function'
|
|
51
|
-
|
|
52
|
-
const payload = { id, url }
|
|
53
|
-
const destroyActionParams = { entity, key: 'destroy', payload }
|
|
54
|
-
|
|
55
|
-
const response = hasDeleteAction
|
|
56
|
-
? await deleteAction(payload)
|
|
57
|
-
: await getAction.call(this, destroyActionParams)
|
|
58
|
-
|
|
59
|
-
NotifySuccess(defaultNotifyMessages.success)
|
|
60
|
-
|
|
61
|
-
if (useAutoDeleteRoute) {
|
|
62
|
-
const { destroyRoutes, history } = useHistory()
|
|
63
|
-
|
|
64
|
-
// remove todas rotas que possuem o id do item excluído.
|
|
65
|
-
const routesToBeDeleted = getRoutesToBeDeletedById(history.list)
|
|
66
|
-
destroyRoutes(routesToBeDeleted)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// cria um evento para notificar que o item foi excluído no "window".
|
|
70
|
-
createDeleteSuccessEvent()
|
|
71
|
-
|
|
72
|
-
onDeleteSuccess(response)
|
|
73
|
-
|
|
74
|
-
redirectRoute && replaceRoute(this)
|
|
75
|
-
} catch (error) {
|
|
76
|
-
onDeleteError(error)
|
|
77
|
-
|
|
78
|
-
NotifyError(defaultNotifyMessages.error)
|
|
79
|
-
} finally {
|
|
80
|
-
onDelete(false)
|
|
81
|
-
|
|
82
|
-
Loading.hide()
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
function replaceRoute (context) {
|
|
87
|
-
const { $router } = context
|
|
88
|
-
|
|
89
|
-
$router.replace(redirectRoute)
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
function getRoutesToBeDeletedById (routes = []) {
|
|
93
|
-
return routes.filter(({ params }) => params.id === id)
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function createDeleteSuccessEvent () {
|
|
97
|
-
const event = new CustomEvent('delete-success', {
|
|
98
|
-
bubbles: false,
|
|
99
|
-
cancelable: false,
|
|
100
|
-
detail: deleteActionParams
|
|
101
|
-
})
|
|
102
|
-
|
|
103
|
-
window.dispatchEvent(event)
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
Dialog(defaultDialogProps)
|
|
107
|
-
}
|
|
1
|
+
import { Dialog, NotifySuccess, NotifyError } from 'asteroid'
|
|
2
|
+
import { Loading } from 'quasar'
|
|
3
|
+
import { getAction } from '@bildvitta/store-adapter'
|
|
4
|
+
import { useHistory } from '../../composables'
|
|
5
|
+
|
|
6
|
+
export default function (config = {}) {
|
|
7
|
+
const {
|
|
8
|
+
dialogProps = {},
|
|
9
|
+
deleteActionParams = {},
|
|
10
|
+
useAutoDeleteRoute,
|
|
11
|
+
redirectRoute,
|
|
12
|
+
|
|
13
|
+
// callbacks
|
|
14
|
+
onDelete = () => {},
|
|
15
|
+
onDeleteError = () => {},
|
|
16
|
+
onDeleteSuccess = () => {},
|
|
17
|
+
deleteAction
|
|
18
|
+
} = config
|
|
19
|
+
|
|
20
|
+
const { entity, id, url } = deleteActionParams
|
|
21
|
+
|
|
22
|
+
const defaultDialogProps = {
|
|
23
|
+
...dialogProps,
|
|
24
|
+
|
|
25
|
+
card: {
|
|
26
|
+
description: 'Tem certeza que deseja excluir este item?',
|
|
27
|
+
|
|
28
|
+
...dialogProps.card
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
ok: {
|
|
32
|
+
label: 'Excluir',
|
|
33
|
+
onClick: () => destroy.call(this),
|
|
34
|
+
|
|
35
|
+
...dialogProps.ok
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const defaultNotifyMessages = {
|
|
40
|
+
error: 'Não conseguimos excluir as informações. Por favor, tente novamente em alguns minutos.',
|
|
41
|
+
success: 'Informações excluídas com sucesso.'
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async function destroy () {
|
|
45
|
+
Loading.show()
|
|
46
|
+
|
|
47
|
+
try {
|
|
48
|
+
onDelete(true)
|
|
49
|
+
|
|
50
|
+
const hasDeleteAction = typeof deleteAction === 'function'
|
|
51
|
+
|
|
52
|
+
const payload = { id, url }
|
|
53
|
+
const destroyActionParams = { entity, key: 'destroy', payload }
|
|
54
|
+
|
|
55
|
+
const response = hasDeleteAction
|
|
56
|
+
? await deleteAction(payload)
|
|
57
|
+
: await getAction.call(this, destroyActionParams)
|
|
58
|
+
|
|
59
|
+
NotifySuccess(defaultNotifyMessages.success)
|
|
60
|
+
|
|
61
|
+
if (useAutoDeleteRoute) {
|
|
62
|
+
const { destroyRoutes, history } = useHistory()
|
|
63
|
+
|
|
64
|
+
// remove todas rotas que possuem o id do item excluído.
|
|
65
|
+
const routesToBeDeleted = getRoutesToBeDeletedById(history.list)
|
|
66
|
+
destroyRoutes(routesToBeDeleted)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// cria um evento para notificar que o item foi excluído no "window".
|
|
70
|
+
createDeleteSuccessEvent()
|
|
71
|
+
|
|
72
|
+
onDeleteSuccess(response)
|
|
73
|
+
|
|
74
|
+
redirectRoute && replaceRoute(this)
|
|
75
|
+
} catch (error) {
|
|
76
|
+
onDeleteError(error)
|
|
77
|
+
|
|
78
|
+
NotifyError(defaultNotifyMessages.error)
|
|
79
|
+
} finally {
|
|
80
|
+
onDelete(false)
|
|
81
|
+
|
|
82
|
+
Loading.hide()
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function replaceRoute (context) {
|
|
87
|
+
const { $router } = context
|
|
88
|
+
|
|
89
|
+
$router.replace(redirectRoute)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function getRoutesToBeDeletedById (routes = []) {
|
|
93
|
+
return routes.filter(({ params }) => params.id === id)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function createDeleteSuccessEvent () {
|
|
97
|
+
const event = new CustomEvent('delete-success', {
|
|
98
|
+
bubbles: false,
|
|
99
|
+
cancelable: false,
|
|
100
|
+
detail: deleteActionParams
|
|
101
|
+
})
|
|
102
|
+
|
|
103
|
+
window.dispatchEvent(event)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
Dialog(defaultDialogProps)
|
|
107
|
+
}
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
type: component
|
|
2
|
-
|
|
3
|
-
meta:
|
|
4
|
-
desc: Plugin que implementa a action `destroy` do `StoreModule` adicionando comportamento de confirmação antes de excluir, este mesmo plugin é utilizado no componente `QasDelete`.
|
|
5
|
-
|
|
6
|
-
inject:
|
|
7
|
-
'this.$qas.delete(config)':
|
|
8
|
-
params:
|
|
9
|
-
config:
|
|
10
|
-
type: Object
|
|
11
|
-
desc: Objeto de configuração do plugin.
|
|
12
|
-
params:
|
|
13
|
-
dialogProps:
|
|
14
|
-
type: Object
|
|
15
|
-
desc: Propriedades repassadas para o "QasDialog".
|
|
16
|
-
|
|
17
|
-
deleteActionParams:
|
|
18
|
-
type: Object
|
|
19
|
-
desc: Propriedades de configuração da action destroy.
|
|
20
|
-
params:
|
|
21
|
-
entity:
|
|
22
|
-
type: String
|
|
23
|
-
desc: entidade da store.
|
|
24
|
-
default: ''
|
|
25
|
-
|
|
26
|
-
id:
|
|
27
|
-
type: String
|
|
28
|
-
desc: Identificador (id, uuid, slug) do item a ser deletado.
|
|
29
|
-
default: ''
|
|
30
|
-
|
|
31
|
-
url:
|
|
32
|
-
type: String
|
|
33
|
-
desc: URL do endpoint do item a ser deletado.
|
|
34
|
-
default: ''
|
|
35
|
-
|
|
36
|
-
'onDelete -> function (isDeleting)':
|
|
37
|
-
type: Function
|
|
38
|
-
desc: Este callback é chamado quando inicializa a ação de deleção e quando finaliza, independente se der erro ou sucesso.
|
|
39
|
-
params:
|
|
40
|
-
isDeleting:
|
|
41
|
-
type: Boolean
|
|
42
|
-
desc: Retorna "true" caso esteja ocorrendo a ação de deleção e "false" quando finalizada.
|
|
43
|
-
default: false
|
|
44
|
-
|
|
45
|
-
'onDeleteError -> function (error)':
|
|
46
|
-
type: Function
|
|
47
|
-
desc: Este callback é chamado quando a ação de deleção é finalizada com erro.
|
|
48
|
-
params:
|
|
49
|
-
error:
|
|
50
|
-
type: Object
|
|
51
|
-
desc: Objeto de retorno de erro
|
|
52
|
-
default: {}
|
|
53
|
-
|
|
54
|
-
'onDeleteSuccess -> function (response)':
|
|
55
|
-
type: Function
|
|
56
|
-
desc: Este callback é chamado quando a ação de deleção é finalizada com sucesso.
|
|
57
|
-
params:
|
|
58
|
-
error:
|
|
59
|
-
type: Object
|
|
60
|
-
desc: Objeto de resposta da API
|
|
61
|
-
default: {}
|
|
62
|
-
|
|
63
|
-
'deleteAction -> function (deleteActionParams) || undefined':
|
|
64
|
-
type: [Function, undefined]
|
|
65
|
-
desc: Quando utilizado este plugin fora de componentes vue, não temos acesso ao contexto "this", neste caso é necessário passar a action "destroy" que deseja executar, é neste momento que o callback é chamado / utilizado, caso esteja dentro do componente vue, não repasse esse callback.
|
|
66
|
-
params:
|
|
67
|
-
error:
|
|
68
|
-
type: Object
|
|
69
|
-
desc: Objeto deleteActionParams enviado anteriormente como configuração do plugin Delete.
|
|
70
|
-
default: {}
|
|
71
|
-
examples: ["{ ..., deleteAction: params => useUsers.destroy(params) }"]
|
|
72
|
-
|
|
73
|
-
redirectRoute:
|
|
74
|
-
desc: Espera receber um objeto de rota ou um path na qual vai ser redirecionado após o item ser deletado.
|
|
75
|
-
type: [String, Object]
|
|
1
|
+
type: component
|
|
2
|
+
|
|
3
|
+
meta:
|
|
4
|
+
desc: Plugin que implementa a action `destroy` do `StoreModule` adicionando comportamento de confirmação antes de excluir, este mesmo plugin é utilizado no componente `QasDelete`.
|
|
5
|
+
|
|
6
|
+
inject:
|
|
7
|
+
'this.$qas.delete(config)':
|
|
8
|
+
params:
|
|
9
|
+
config:
|
|
10
|
+
type: Object
|
|
11
|
+
desc: Objeto de configuração do plugin.
|
|
12
|
+
params:
|
|
13
|
+
dialogProps:
|
|
14
|
+
type: Object
|
|
15
|
+
desc: Propriedades repassadas para o "QasDialog".
|
|
16
|
+
|
|
17
|
+
deleteActionParams:
|
|
18
|
+
type: Object
|
|
19
|
+
desc: Propriedades de configuração da action destroy.
|
|
20
|
+
params:
|
|
21
|
+
entity:
|
|
22
|
+
type: String
|
|
23
|
+
desc: entidade da store.
|
|
24
|
+
default: ''
|
|
25
|
+
|
|
26
|
+
id:
|
|
27
|
+
type: String
|
|
28
|
+
desc: Identificador (id, uuid, slug) do item a ser deletado.
|
|
29
|
+
default: ''
|
|
30
|
+
|
|
31
|
+
url:
|
|
32
|
+
type: String
|
|
33
|
+
desc: URL do endpoint do item a ser deletado.
|
|
34
|
+
default: ''
|
|
35
|
+
|
|
36
|
+
'onDelete -> function (isDeleting)':
|
|
37
|
+
type: Function
|
|
38
|
+
desc: Este callback é chamado quando inicializa a ação de deleção e quando finaliza, independente se der erro ou sucesso.
|
|
39
|
+
params:
|
|
40
|
+
isDeleting:
|
|
41
|
+
type: Boolean
|
|
42
|
+
desc: Retorna "true" caso esteja ocorrendo a ação de deleção e "false" quando finalizada.
|
|
43
|
+
default: false
|
|
44
|
+
|
|
45
|
+
'onDeleteError -> function (error)':
|
|
46
|
+
type: Function
|
|
47
|
+
desc: Este callback é chamado quando a ação de deleção é finalizada com erro.
|
|
48
|
+
params:
|
|
49
|
+
error:
|
|
50
|
+
type: Object
|
|
51
|
+
desc: Objeto de retorno de erro
|
|
52
|
+
default: {}
|
|
53
|
+
|
|
54
|
+
'onDeleteSuccess -> function (response)':
|
|
55
|
+
type: Function
|
|
56
|
+
desc: Este callback é chamado quando a ação de deleção é finalizada com sucesso.
|
|
57
|
+
params:
|
|
58
|
+
error:
|
|
59
|
+
type: Object
|
|
60
|
+
desc: Objeto de resposta da API
|
|
61
|
+
default: {}
|
|
62
|
+
|
|
63
|
+
'deleteAction -> function (deleteActionParams) || undefined':
|
|
64
|
+
type: [Function, undefined]
|
|
65
|
+
desc: Quando utilizado este plugin fora de componentes vue, não temos acesso ao contexto "this", neste caso é necessário passar a action "destroy" que deseja executar, é neste momento que o callback é chamado / utilizado, caso esteja dentro do componente vue, não repasse esse callback.
|
|
66
|
+
params:
|
|
67
|
+
error:
|
|
68
|
+
type: Object
|
|
69
|
+
desc: Objeto deleteActionParams enviado anteriormente como configuração do plugin Delete.
|
|
70
|
+
default: {}
|
|
71
|
+
examples: ["{ ..., deleteAction: params => useUsers.destroy(params) }"]
|
|
72
|
+
|
|
73
|
+
redirectRoute:
|
|
74
|
+
desc: Espera receber um objeto de rota ou um path na qual vai ser redirecionado após o item ser deletado.
|
|
75
|
+
type: [String, Object]
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Dialog } from 'quasar'
|
|
2
|
-
import QasDialog from '../../components/dialog/QasDialog.vue'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @param {object} componentProps={}
|
|
6
|
-
*
|
|
7
|
-
* @example Dialog({ card: { title: 'Esse é o meu titulo!' } })
|
|
8
|
-
*/
|
|
9
|
-
export default (componentProps = {}) => {
|
|
10
|
-
return Dialog.create({
|
|
11
|
-
component: QasDialog,
|
|
12
|
-
componentProps: { ...componentProps, usePlugin: true }
|
|
13
|
-
})
|
|
14
|
-
}
|
|
1
|
+
import { Dialog } from 'quasar'
|
|
2
|
+
import QasDialog from '../../components/dialog/QasDialog.vue'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @param {object} componentProps={}
|
|
6
|
+
*
|
|
7
|
+
* @example Dialog({ card: { title: 'Esse é o meu titulo!' } })
|
|
8
|
+
*/
|
|
9
|
+
export default (componentProps = {}) => {
|
|
10
|
+
return Dialog.create({
|
|
11
|
+
component: QasDialog,
|
|
12
|
+
componentProps: { ...componentProps, usePlugin: true }
|
|
13
|
+
})
|
|
14
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
type: component
|
|
2
|
-
|
|
3
|
-
meta:
|
|
4
|
-
desc: Plugin que implementa o `QasDialog`.
|
|
5
|
-
|
|
6
|
-
inject:
|
|
7
|
-
'this.$qas.dialog(config)':
|
|
8
|
-
params:
|
|
9
|
-
config:
|
|
10
|
-
desc: Mensagem de sucesso para ser exibida na notificação.
|
|
1
|
+
type: component
|
|
2
|
+
|
|
3
|
+
meta:
|
|
4
|
+
desc: Plugin que implementa o `QasDialog`.
|
|
5
|
+
|
|
6
|
+
inject:
|
|
7
|
+
'this.$qas.dialog(config)':
|
|
8
|
+
params:
|
|
9
|
+
config:
|
|
10
|
+
desc: Mensagem de sucesso para ser exibida na notificação.
|
package/src/plugins/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import Delete from './delete/Delete.js'
|
|
2
|
-
import Dialog from './dialog/Dialog.js'
|
|
3
|
-
import NotifyError from './notify-error/NotifyError.js'
|
|
4
|
-
import NotifySuccess from './notify-success/NotifySuccess.js'
|
|
5
|
-
import Screen from './screen/Screen.js'
|
|
6
|
-
|
|
7
|
-
export {
|
|
8
|
-
Delete,
|
|
9
|
-
Dialog,
|
|
10
|
-
NotifyError,
|
|
11
|
-
NotifySuccess,
|
|
12
|
-
Screen
|
|
13
|
-
}
|
|
1
|
+
import Delete from './delete/Delete.js'
|
|
2
|
+
import Dialog from './dialog/Dialog.js'
|
|
3
|
+
import NotifyError from './notify-error/NotifyError.js'
|
|
4
|
+
import NotifySuccess from './notify-success/NotifySuccess.js'
|
|
5
|
+
import Screen from './screen/Screen.js'
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
Delete,
|
|
9
|
+
Dialog,
|
|
10
|
+
NotifyError,
|
|
11
|
+
NotifySuccess,
|
|
12
|
+
Screen
|
|
13
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Notify } from 'quasar'
|
|
2
|
-
import notifyConfig from '../../shared/notify-config.js'
|
|
3
|
-
|
|
4
|
-
Notify.registerType('error', notifyConfig)
|
|
5
|
-
|
|
6
|
-
export default (message, caption) => {
|
|
7
|
-
Notify.create({
|
|
8
|
-
caption,
|
|
9
|
-
classes: 'qas-notification qas-notification--error',
|
|
10
|
-
message,
|
|
11
|
-
type: 'error'
|
|
12
|
-
})
|
|
13
|
-
}
|
|
1
|
+
import { Notify } from 'quasar'
|
|
2
|
+
import notifyConfig from '../../shared/notify-config.js'
|
|
3
|
+
|
|
4
|
+
Notify.registerType('error', notifyConfig)
|
|
5
|
+
|
|
6
|
+
export default (message, caption) => {
|
|
7
|
+
Notify.create({
|
|
8
|
+
caption,
|
|
9
|
+
classes: 'qas-notification qas-notification--error',
|
|
10
|
+
message,
|
|
11
|
+
type: 'error'
|
|
12
|
+
})
|
|
13
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
type: component
|
|
2
|
-
|
|
3
|
-
meta:
|
|
4
|
-
desc: Plugin que implementa o "QNotify" do quasar.
|
|
5
|
-
|
|
6
|
-
inject:
|
|
7
|
-
'this.$qas.error(msg)':
|
|
8
|
-
params:
|
|
9
|
-
msg:
|
|
10
|
-
desc: Mensagem de erro para ser exibida na notificação.
|
|
11
|
-
type: String
|
|
1
|
+
type: component
|
|
2
|
+
|
|
3
|
+
meta:
|
|
4
|
+
desc: Plugin que implementa o "QNotify" do quasar.
|
|
5
|
+
|
|
6
|
+
inject:
|
|
7
|
+
'this.$qas.error(msg)':
|
|
8
|
+
params:
|
|
9
|
+
msg:
|
|
10
|
+
desc: Mensagem de erro para ser exibida na notificação.
|
|
11
|
+
type: String
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Notify } from 'quasar'
|
|
2
|
-
import notifyConfig from '../../shared/notify-config.js'
|
|
3
|
-
|
|
4
|
-
Notify.registerType('success', notifyConfig)
|
|
5
|
-
|
|
6
|
-
export default (message, caption) => {
|
|
7
|
-
Notify.create({
|
|
8
|
-
caption,
|
|
9
|
-
classes: 'qas-notification qas-notification--success',
|
|
10
|
-
message,
|
|
11
|
-
type: 'success'
|
|
12
|
-
})
|
|
13
|
-
}
|
|
1
|
+
import { Notify } from 'quasar'
|
|
2
|
+
import notifyConfig from '../../shared/notify-config.js'
|
|
3
|
+
|
|
4
|
+
Notify.registerType('success', notifyConfig)
|
|
5
|
+
|
|
6
|
+
export default (message, caption) => {
|
|
7
|
+
Notify.create({
|
|
8
|
+
caption,
|
|
9
|
+
classes: 'qas-notification qas-notification--success',
|
|
10
|
+
message,
|
|
11
|
+
type: 'success'
|
|
12
|
+
})
|
|
13
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
type: component
|
|
2
|
-
|
|
3
|
-
meta:
|
|
4
|
-
desc: Plugin que implementa o "QNotify" do quasar para notificações de sucesso.
|
|
5
|
-
|
|
6
|
-
inject:
|
|
7
|
-
'this.$qas.success(msg)':
|
|
8
|
-
params:
|
|
9
|
-
msg:
|
|
10
|
-
desc: Mensagem de sucesso para ser exibida na notificação.
|
|
11
|
-
type: String
|
|
1
|
+
type: component
|
|
2
|
+
|
|
3
|
+
meta:
|
|
4
|
+
desc: Plugin que implementa o "QNotify" do quasar para notificações de sucesso.
|
|
5
|
+
|
|
6
|
+
inject:
|
|
7
|
+
'this.$qas.success(msg)':
|
|
8
|
+
params:
|
|
9
|
+
msg:
|
|
10
|
+
desc: Mensagem de sucesso para ser exibida na notificação.
|
|
11
|
+
type: String
|