@inriver/inri 1.14.0 → 1.16.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/.changeset/README.md +8 -0
- package/.changeset/config.json +11 -0
- package/.eslintrc.js +5 -5
- package/azure/pipelines/single-build-release.yml +20 -0
- package/azure/pipelines/templates/deployFramework.yml +30 -0
- package/azure/pipelines/templates/publishFramwork.yml +39 -0
- package/componentProperties.d.ts +8 -8
- package/configs/base-eslint-config.js +36 -36
- package/configs/base-tailwind-config.js +149 -149
- package/i18n.ts +11 -11
- package/index.ts +29 -29
- package/package.json +7 -2
- package/src/components/CAutoBreadcrumbs.vue +72 -72
- package/src/components/CBtn.vue +98 -98
- package/src/components/CColorPicker.vue +55 -55
- package/src/components/CContextMenu.vue +29 -29
- package/src/components/CDatePicker.vue +51 -51
- package/src/components/CDeleteTileBtn.vue +52 -52
- package/src/components/CDialog.vue +253 -253
- package/src/components/CDialogCloseBtn.vue +9 -9
- package/src/components/CDirtyCheck.vue +68 -68
- package/src/components/CDrawer.vue +44 -44
- package/src/components/CDrawerButton.vue +91 -91
- package/src/components/CExpansionItem.vue +57 -57
- package/src/components/CExpansionItemWithCheckbox.vue +41 -41
- package/src/components/CFileDropzone.vue +114 -114
- package/src/components/CGrid.vue +101 -101
- package/src/components/CHeader.vue +10 -10
- package/src/components/CHeaderLinks.vue +61 -61
- package/src/components/CHeaderMenuLink.vue +51 -51
- package/src/components/CHeaderSearch.vue +142 -142
- package/src/components/CIconBtn.vue +70 -70
- package/src/components/CMenuItem.vue +66 -66
- package/src/components/CPageContainer.vue +11 -11
- package/src/components/CPageError.vue +24 -24
- package/src/components/CPageSpinner.vue +18 -18
- package/src/components/CSearch.vue +45 -45
- package/src/components/CSection.vue +29 -29
- package/src/components/CSectionTitle.vue +8 -8
- package/src/components/CSelect.vue +208 -208
- package/src/components/CSlideEffect.vue +62 -62
- package/src/components/CSpinner.vue +107 -107
- package/src/components/CTableActions.vue +16 -16
- package/src/components/CTileBtn.vue +178 -178
- package/src/components/CTimePicker.vue +42 -42
- package/src/components/CToggleGridView.vue +26 -26
- package/src/components/CToggleSidebarBtn.vue +19 -19
- package/src/components/CTooltip.vue +44 -44
- package/src/components/CTreeNode.vue +39 -39
- package/src/components/cards/CBannerCard.vue +103 -103
- package/src/components/cards/CSmallCard.vue +149 -149
- package/src/components/internal-components/ConfirmDialog.vue +78 -78
- package/src/composables/useDialog.ts +46 -46
- package/src/composables/useDirtyCheck.ts +25 -25
- package/src/composables/useDoubleClickListener.ts +28 -28
- package/src/composables/useSelectable.ts +62 -62
- package/src/composables/useTruncateChips.ts +46 -46
- package/src/i18n/de/index.ts +17 -17
- package/src/i18n/en/index.ts +84 -84
- package/src/i18n/es/index.ts +7 -7
- package/src/i18n/fr/index.ts +7 -7
- package/src/init/initInriFramework.ts +37 -37
- package/src/init/useInriApp.ts +55 -55
- package/src/layouts/CLayoutBlank.vue +7 -7
- package/src/layouts/CLayoutWithBackButton.vue +50 -50
- package/src/layouts/CLayoutWithSidebars.vue +46 -46
- package/src/layouts/layout-fragments/CPageAutoBreadcrumbs.vue +6 -6
- package/src/layouts/layout-fragments/CPageBackButton.vue +18 -18
- package/src/layouts/layout-fragments/CPageBlank.vue +20 -20
- package/src/layouts/layout-fragments/CPageFlexCol.vue +5 -5
- package/src/layouts/layout-fragments/CPageLeftSidebar.vue +5 -5
- package/src/layouts/layout-fragments/CPageMainContent.vue +5 -5
- package/src/layouts/layout-fragments/CPageOuterWrapper.vue +5 -5
- package/src/layouts/layout-fragments/CPageRightSidebar.vue +5 -5
- package/src/layouts/layout-fragments/CPageTitle.vue +34 -34
- package/src/plugins/dialog.ts +45 -45
- package/src/plugins/errors/ErrorFactories.ts +59 -59
- package/src/plugins/errors/Errors.ts +156 -156
- package/src/plugins/errors/Exception.ts +6 -6
- package/src/plugins/errors/globalErrorHandler.ts +21 -21
- package/src/plugins/errors/handleError.ts +34 -34
- package/src/plugins/errors/logger.ts +16 -16
- package/src/plugins/errors/vueErrorHandler.ts +26 -26
- package/src/plugins/globalAppConfig.ts +25 -25
- package/src/plugins/i18n.ts +46 -46
- package/src/plugins/inriIcons.ts +58 -58
- package/src/plugins/inriverQuasarComponentConfigurations.ts +67 -67
- package/src/plugins/library.ts +119 -119
- package/src/plugins/notify.ts +153 -153
- package/src/plugins/quasar-user-options.ts +19 -19
- package/src/plugins/validationRules.ts +292 -292
- package/src/shims-vue.d.ts +6 -6
- package/src/stores/inriStore.ts +54 -54
- package/src/stores/interfaceLanguageStore.ts +27 -27
- package/src/styles/_css-variables.scss +101 -101
- package/src/styles/_reset.scss +67 -67
- package/src/styles/_transitions.scss +9 -9
- package/src/styles/_utils.scss +15 -15
- package/src/styles/components/_breadcrumbs.scss +3 -3
- package/src/styles/components/_checkboxes.scss +17 -17
- package/src/styles/components/_chips.scss +17 -17
- package/src/styles/components/_forms.scss +203 -203
- package/src/styles/components/_menu.scss +12 -12
- package/src/styles/components/_notifications.scss +24 -24
- package/src/styles/components/_q-editor.scss +14 -14
- package/src/styles/components/_radio-buttons.scss +17 -17
- package/src/styles/components/_tables.scss +92 -92
- package/src/styles/components/_tooltips.scss +5 -5
- package/src/styles/components/_tree.scss +86 -86
- package/src/styles/components/_truncated-chips.scss +39 -39
- package/src/styles/main.scss +45 -45
- package/src/styles/quasar.variables.scss +50 -50
- package/src/styles/tailwind/index.css +2 -2
- package/src/typings.d.ts +70 -70
- package/src/utils/colorUtils.ts +73 -73
- package/src/utils/errorUtils.ts +37 -37
- package/src/utils/fileUtils.ts +57 -57
- package/src/utils/helpers.ts +6 -6
- package/src/utils/routeUtils.ts +23 -23
- package/tsconfig.json +34 -34
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="c-page">
|
|
3
|
-
<slot />
|
|
4
|
-
</div>
|
|
5
|
-
</template>
|
|
6
|
-
|
|
7
|
-
<script lang="ts">
|
|
8
|
-
export default {
|
|
9
|
-
name: 'CFragmentPage',
|
|
10
|
-
}
|
|
11
|
-
</script>
|
|
12
|
-
|
|
13
|
-
<style scoped>
|
|
14
|
-
.c-page {
|
|
15
|
-
position: absolute;
|
|
16
|
-
width: 100%;
|
|
17
|
-
height: 100%;
|
|
18
|
-
display: flex;
|
|
19
|
-
}
|
|
20
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="c-page">
|
|
3
|
+
<slot />
|
|
4
|
+
</div>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts">
|
|
8
|
+
export default {
|
|
9
|
+
name: 'CFragmentPage',
|
|
10
|
+
}
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<style scoped>
|
|
14
|
+
.c-page {
|
|
15
|
+
position: absolute;
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: 100%;
|
|
18
|
+
display: flex;
|
|
19
|
+
}
|
|
20
|
+
</style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="flex-1 flex flex-col h-full overflow-hidden flex-nowrap">
|
|
3
|
-
<slot />
|
|
4
|
-
</div>
|
|
5
|
-
</template>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex-1 flex flex-col h-full overflow-hidden flex-nowrap">
|
|
3
|
+
<slot />
|
|
4
|
+
</div>
|
|
5
|
+
</template>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<aside class="min-w-15 border-r overflow-y-overlay overflow-x-hidden h-full">
|
|
3
|
-
<slot />
|
|
4
|
-
</aside>
|
|
5
|
-
</template>
|
|
1
|
+
<template>
|
|
2
|
+
<aside class="min-w-15 border-r overflow-y-overlay overflow-x-hidden h-full">
|
|
3
|
+
<slot />
|
|
4
|
+
</aside>
|
|
5
|
+
</template>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<section class="h-full overflow-y-overlay flex-1 flex flex-col no-wrap">
|
|
3
|
-
<slot />
|
|
4
|
-
</section>
|
|
5
|
-
</template>
|
|
1
|
+
<template>
|
|
2
|
+
<section class="h-full overflow-y-overlay flex-1 flex flex-col no-wrap">
|
|
3
|
+
<slot />
|
|
4
|
+
</section>
|
|
5
|
+
</template>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="flex overflow-hidden h-full">
|
|
3
|
-
<slot />
|
|
4
|
-
</div>
|
|
5
|
-
</template>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex overflow-hidden h-full">
|
|
3
|
+
<slot />
|
|
4
|
+
</div>
|
|
5
|
+
</template>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<aside class="min-w-15 border-l overflow-y-overlay overflow-x-hidden h-full">
|
|
3
|
-
<slot />
|
|
4
|
-
</aside>
|
|
5
|
-
</template>
|
|
1
|
+
<template>
|
|
2
|
+
<aside class="min-w-15 border-l overflow-y-overlay overflow-x-hidden h-full">
|
|
3
|
+
<slot />
|
|
4
|
+
</aside>
|
|
5
|
+
</template>
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div
|
|
3
|
-
class="flex-1 flex h-15 items-center overflow-hidden px-6"
|
|
4
|
-
:class="noBorder || 'border-b'"
|
|
5
|
-
>
|
|
6
|
-
<h1
|
|
7
|
-
data-id="page-title"
|
|
8
|
-
class="truncate flex-1"
|
|
9
|
-
>
|
|
10
|
-
{{ title || routeTitle }}
|
|
11
|
-
</h1>
|
|
12
|
-
</div>
|
|
13
|
-
</template>
|
|
14
|
-
|
|
15
|
-
<script setup lang="ts">
|
|
16
|
-
import { getRouteTitle } from '../../utils/routeUtils'
|
|
17
|
-
import { computed } from 'vue'
|
|
18
|
-
import { useRoute } from 'vue-router'
|
|
19
|
-
|
|
20
|
-
const route = useRoute()
|
|
21
|
-
|
|
22
|
-
defineProps({
|
|
23
|
-
title: {
|
|
24
|
-
type: String,
|
|
25
|
-
default: undefined,
|
|
26
|
-
},
|
|
27
|
-
noBorder: {
|
|
28
|
-
type: Boolean,
|
|
29
|
-
default: false,
|
|
30
|
-
},
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
const routeTitle = computed(() => getRouteTitle(route))
|
|
34
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="flex-1 flex h-15 items-center overflow-hidden px-6"
|
|
4
|
+
:class="noBorder || 'border-b'"
|
|
5
|
+
>
|
|
6
|
+
<h1
|
|
7
|
+
data-id="page-title"
|
|
8
|
+
class="truncate flex-1"
|
|
9
|
+
>
|
|
10
|
+
{{ title || routeTitle }}
|
|
11
|
+
</h1>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script setup lang="ts">
|
|
16
|
+
import { getRouteTitle } from '../../utils/routeUtils'
|
|
17
|
+
import { computed } from 'vue'
|
|
18
|
+
import { useRoute } from 'vue-router'
|
|
19
|
+
|
|
20
|
+
const route = useRoute()
|
|
21
|
+
|
|
22
|
+
defineProps({
|
|
23
|
+
title: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: undefined,
|
|
26
|
+
},
|
|
27
|
+
noBorder: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: false,
|
|
30
|
+
},
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
const routeTitle = computed(() => getRouteTitle(route))
|
|
34
|
+
</script>
|
package/src/plugins/dialog.ts
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { Dialog } from 'quasar'
|
|
2
|
-
import ConfirmDialog from '../components/internal-components/ConfirmDialog.vue'
|
|
3
|
-
import { i18n } from './i18n'
|
|
4
|
-
|
|
5
|
-
const t = i18n.global.t
|
|
6
|
-
|
|
7
|
-
interface ConfirmDialogProps {
|
|
8
|
-
title?: string,
|
|
9
|
-
text: string,
|
|
10
|
-
confirmButtonText?: string,
|
|
11
|
-
cancelButtonText?: string,
|
|
12
|
-
confirmButtonColor?: string,
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export default {
|
|
16
|
-
confirm: (props: ConfirmDialogProps) => {
|
|
17
|
-
return Dialog.create({
|
|
18
|
-
component: ConfirmDialog,
|
|
19
|
-
componentProps: {
|
|
20
|
-
...props,
|
|
21
|
-
},
|
|
22
|
-
})
|
|
23
|
-
},
|
|
24
|
-
info: (props: ConfirmDialogProps) => {
|
|
25
|
-
return Dialog.create({
|
|
26
|
-
component: ConfirmDialog,
|
|
27
|
-
componentProps: {
|
|
28
|
-
...props,
|
|
29
|
-
confirmButtonText: props.confirmButtonText || t('inri.common.ok'),
|
|
30
|
-
hideCancelButton: true,
|
|
31
|
-
},
|
|
32
|
-
})
|
|
33
|
-
},
|
|
34
|
-
delete: (props: ConfirmDialogProps) => {
|
|
35
|
-
return Dialog.create({
|
|
36
|
-
component: ConfirmDialog,
|
|
37
|
-
componentProps: {
|
|
38
|
-
...props,
|
|
39
|
-
title: props.title || t('inri.dialog.confirm_delete_title'),
|
|
40
|
-
confirmButtonText: props.confirmButtonText || t('inri.common.delete'),
|
|
41
|
-
confirmButtonColor: 'negative',
|
|
42
|
-
},
|
|
43
|
-
})
|
|
44
|
-
},
|
|
45
|
-
}
|
|
1
|
+
import { Dialog } from 'quasar'
|
|
2
|
+
import ConfirmDialog from '../components/internal-components/ConfirmDialog.vue'
|
|
3
|
+
import { i18n } from './i18n'
|
|
4
|
+
|
|
5
|
+
const t = i18n.global.t
|
|
6
|
+
|
|
7
|
+
interface ConfirmDialogProps {
|
|
8
|
+
title?: string,
|
|
9
|
+
text: string,
|
|
10
|
+
confirmButtonText?: string,
|
|
11
|
+
cancelButtonText?: string,
|
|
12
|
+
confirmButtonColor?: string,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default {
|
|
16
|
+
confirm: (props: ConfirmDialogProps) => {
|
|
17
|
+
return Dialog.create({
|
|
18
|
+
component: ConfirmDialog,
|
|
19
|
+
componentProps: {
|
|
20
|
+
...props,
|
|
21
|
+
},
|
|
22
|
+
})
|
|
23
|
+
},
|
|
24
|
+
info: (props: ConfirmDialogProps) => {
|
|
25
|
+
return Dialog.create({
|
|
26
|
+
component: ConfirmDialog,
|
|
27
|
+
componentProps: {
|
|
28
|
+
...props,
|
|
29
|
+
confirmButtonText: props.confirmButtonText || t('inri.common.ok'),
|
|
30
|
+
hideCancelButton: true,
|
|
31
|
+
},
|
|
32
|
+
})
|
|
33
|
+
},
|
|
34
|
+
delete: (props: ConfirmDialogProps) => {
|
|
35
|
+
return Dialog.create({
|
|
36
|
+
component: ConfirmDialog,
|
|
37
|
+
componentProps: {
|
|
38
|
+
...props,
|
|
39
|
+
title: props.title || t('inri.dialog.confirm_delete_title'),
|
|
40
|
+
confirmButtonText: props.confirmButtonText || t('inri.common.delete'),
|
|
41
|
+
confirmButtonColor: 'negative',
|
|
42
|
+
},
|
|
43
|
+
})
|
|
44
|
+
},
|
|
45
|
+
}
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BaseError,
|
|
3
|
-
BaseErrorArguments,
|
|
4
|
-
GenericError,
|
|
5
|
-
AxiosError,
|
|
6
|
-
UnauthorizedError,
|
|
7
|
-
NotFoundError,
|
|
8
|
-
FolderNotFoundError,
|
|
9
|
-
ServiceUnavailableError,
|
|
10
|
-
} from './Errors'
|
|
11
|
-
import axios from 'axios'
|
|
12
|
-
|
|
13
|
-
export class ErrorFactory {
|
|
14
|
-
static createHelpfulError (args: BaseErrorArguments): BaseError {
|
|
15
|
-
if (axios.isAxiosError(args.err)) {
|
|
16
|
-
return args.err.response
|
|
17
|
-
? this.createHelpfulErrorResponse(args.err.response.status, args)
|
|
18
|
-
: new AxiosError(args)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return new GenericError(args)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
static createHelpfulErrorResponse (errorCode: number, args: BaseErrorArguments): AxiosError {
|
|
25
|
-
switch (errorCode) {
|
|
26
|
-
case 401:
|
|
27
|
-
return new UnauthorizedError(args)
|
|
28
|
-
case 404:
|
|
29
|
-
return new NotFoundError(args)
|
|
30
|
-
case 408:
|
|
31
|
-
case 503:
|
|
32
|
-
case 504:
|
|
33
|
-
return new ServiceUnavailableError(args)
|
|
34
|
-
default:
|
|
35
|
-
return new AxiosError(args)
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export class FolderErrorFactory extends ErrorFactory {
|
|
41
|
-
static createHelpfulError (args: BaseErrorArguments) {
|
|
42
|
-
return super.createHelpfulError(args)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
static createHelpfulErrorResponse (errorCode: number, args: BaseErrorArguments): AxiosError {
|
|
46
|
-
switch (errorCode) {
|
|
47
|
-
case 401:
|
|
48
|
-
return new UnauthorizedError(args)
|
|
49
|
-
case 404:
|
|
50
|
-
return new FolderNotFoundError(args)
|
|
51
|
-
case 408:
|
|
52
|
-
case 503:
|
|
53
|
-
case 504:
|
|
54
|
-
return new ServiceUnavailableError(args)
|
|
55
|
-
default:
|
|
56
|
-
return new AxiosError(args)
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
BaseError,
|
|
3
|
+
BaseErrorArguments,
|
|
4
|
+
GenericError,
|
|
5
|
+
AxiosError,
|
|
6
|
+
UnauthorizedError,
|
|
7
|
+
NotFoundError,
|
|
8
|
+
FolderNotFoundError,
|
|
9
|
+
ServiceUnavailableError,
|
|
10
|
+
} from './Errors'
|
|
11
|
+
import axios from 'axios'
|
|
12
|
+
|
|
13
|
+
export class ErrorFactory {
|
|
14
|
+
static createHelpfulError (args: BaseErrorArguments): BaseError {
|
|
15
|
+
if (axios.isAxiosError(args.err)) {
|
|
16
|
+
return args.err.response
|
|
17
|
+
? this.createHelpfulErrorResponse(args.err.response.status, args)
|
|
18
|
+
: new AxiosError(args)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return new GenericError(args)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static createHelpfulErrorResponse (errorCode: number, args: BaseErrorArguments): AxiosError {
|
|
25
|
+
switch (errorCode) {
|
|
26
|
+
case 401:
|
|
27
|
+
return new UnauthorizedError(args)
|
|
28
|
+
case 404:
|
|
29
|
+
return new NotFoundError(args)
|
|
30
|
+
case 408:
|
|
31
|
+
case 503:
|
|
32
|
+
case 504:
|
|
33
|
+
return new ServiceUnavailableError(args)
|
|
34
|
+
default:
|
|
35
|
+
return new AxiosError(args)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export class FolderErrorFactory extends ErrorFactory {
|
|
41
|
+
static createHelpfulError (args: BaseErrorArguments) {
|
|
42
|
+
return super.createHelpfulError(args)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static createHelpfulErrorResponse (errorCode: number, args: BaseErrorArguments): AxiosError {
|
|
46
|
+
switch (errorCode) {
|
|
47
|
+
case 401:
|
|
48
|
+
return new UnauthorizedError(args)
|
|
49
|
+
case 404:
|
|
50
|
+
return new FolderNotFoundError(args)
|
|
51
|
+
case 408:
|
|
52
|
+
case 503:
|
|
53
|
+
case 504:
|
|
54
|
+
return new ServiceUnavailableError(args)
|
|
55
|
+
default:
|
|
56
|
+
return new AxiosError(args)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|