@inriver/inri 1.38.0 → 1.40.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.
@@ -0,0 +1,5 @@
1
+ ---
2
+ "@inriver/inri": minor
3
+ ---
4
+
5
+ Add slot for hint in CSelect
@@ -0,0 +1,5 @@
1
+ ---
2
+ "@inriver/inri": minor
3
+ ---
4
+
5
+ Add option to opt-out of the global error handler when using initInriFramework
package/CHANGELOG.md CHANGED
@@ -1,5 +1,60 @@
1
1
  # @inriver/inri
2
2
 
3
+ ## 1.40.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add notBlank validator
8
+ - Added support for supplying a string function to determine option label name in CSelect
9
+ - Update documentation
10
+ - Add correct class to the c-btn component
11
+ - Wallop font is now included in the package
12
+ - Add slot for hint in CSelect
13
+ - Add back button slot
14
+ - Updating README and exporting tailwing config
15
+ - Add option to opt-out of the global error handler when using initInriFramework
16
+ - Add support for placing CDialog action buttons to the right
17
+
18
+ ### Patch Changes
19
+
20
+ - Provide global app configs
21
+ - Fix CSelect placeholder color. Modularize Sass imports. Include inri typings when bundling
22
+ - Fix Sass warnings and errors by removing usage of @apply and updating Quasar + sass dependencies
23
+ - Add support for showing tooltips when hovering over CSelect and options. Add disable support and styling. Fix required validation to work with empty arrays.
24
+ - Fix broken imports due to faulty declaration file
25
+ - Add support for hiding the sidebars in CLayoutWithSidebars. Add support for entering a custom title in CLayoutWithSidebars
26
+ - Add support for showing placeholder ()in CSelect eoutside of use-input mode
27
+ - Fix faulty import path in globalAppConfig
28
+ - Add error slot in CSelect
29
+ - Fix error when CSelect is passed object options with falsy values
30
+
31
+ ## 1.39.0
32
+
33
+ ### Minor Changes
34
+
35
+ - Add notBlank validator
36
+ - Added support for supplying a string function to determine option label name in CSelect
37
+ - Update documentation
38
+ - Add correct class to the c-btn component
39
+ - Wallop font is now included in the package
40
+ - Add back button slot
41
+ - Updating README and exporting tailwing config
42
+ - Add option to opt-out of the global error handler when using initInriFramework
43
+ - Add support for placing CDialog action buttons to the right
44
+
45
+ ### Patch Changes
46
+
47
+ - Provide global app configs
48
+ - Fix CSelect placeholder color. Modularize Sass imports. Include inri typings when bundling
49
+ - Fix Sass warnings and errors by removing usage of @apply and updating Quasar + sass dependencies
50
+ - Add support for showing tooltips when hovering over CSelect and options. Add disable support and styling. Fix required validation to work with empty arrays.
51
+ - Fix broken imports due to faulty declaration file
52
+ - Add support for hiding the sidebars in CLayoutWithSidebars. Add support for entering a custom title in CLayoutWithSidebars
53
+ - Add support for showing placeholder ()in CSelect eoutside of use-input mode
54
+ - Fix faulty import path in globalAppConfig
55
+ - Add error slot in CSelect
56
+ - Fix error when CSelect is passed object options with falsy values
57
+
3
58
  ## 1.38.0
4
59
 
5
60
  ### Minor Changes
package/README.md CHANGED
@@ -62,8 +62,10 @@ import App from './App.vue';
62
62
  import 'virtual:windi.css';
63
63
 
64
64
  import { initInriFramework } from '@inriver/inri';
65
+ const Inri = initInriFramework();
66
+
65
67
  const app = createApp(App);
66
- app.use(initInriFramework);
68
+ app.use(Inri);
67
69
 
68
70
  app.mount('#app');
69
71
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inriver/inri",
3
- "version": "1.38.0",
3
+ "version": "1.40.0",
4
4
  "main": "index.ts",
5
5
  "peerDependencies": {
6
6
  "quasar": "2.14.2",
@@ -104,6 +104,10 @@
104
104
  </q-item>
105
105
  </template>
106
106
 
107
+ <template #hint>
108
+ <slot name="hint" />
109
+ </template>
110
+
107
111
  <template #error>
108
112
  <slot name="error" />
109
113
  </template>
@@ -6,30 +6,64 @@ import { registerAppConfigurations } from '../plugins/globalAppConfig'
6
6
  import { i18n } from '../plugins/i18n'
7
7
  import logger from '../plugins/errors/logger'
8
8
  import { VueErrorHandler } from '../plugins/errors/vueErrorHandler'
9
- import '../plugins/errors/globalErrorHandler'
9
+ import { useGlobalErrorHandler } from '../plugins/errors/globalErrorHandler'
10
10
 
11
11
  // Quasar plugins
12
12
  import iconSet from 'quasar/icon-set/mdi-v6'
13
13
  import '@quasar/extras/mdi-v6/mdi-v6.css'
14
14
  iconSet.field.error = 'mdi-alert-circle-outline'
15
15
 
16
- export const initInriFramework = (Vue: App): void => {
17
- // Register C-components
18
- registerComponents(Vue)
19
-
20
- // Register global application configurations
21
- registerAppConfigurations(Vue)
22
-
23
- Vue.use(Quasar as any, {
24
- plugins: {
25
- Notify,
26
- Dialog,
27
- Meta,
28
- },
29
- iconSet: iconSet,
30
- })
31
- Vue.use(i18n)
32
- Vue.use(VueErrorHandler)
33
-
34
- logger.init()
16
+ interface InriInitializationOptions {
17
+ useInriComponents?: boolean,
18
+ useInriAppConfigurations?: boolean,
19
+ useInriErrorHandler?: boolean,
20
+ }
21
+
22
+ const defaultInitializationOptions: InriInitializationOptions = {
23
+ useInriComponents: true,
24
+ useInriAppConfigurations: true,
25
+ useInriErrorHandler: true,
26
+ }
27
+
28
+ /**
29
+ * Returns an install function that can be used on Vue applications to install Inri
30
+ *
31
+ * Usage:
32
+ *
33
+ * const Inri = initInriFramework();
34
+ *
35
+ * app.use(Inri);
36
+ *
37
+ * @param options
38
+ * @returns
39
+ */
40
+ export function initInriFramework (options: InriInitializationOptions = defaultInitializationOptions) {
41
+ return (Vue: App) => {
42
+ if (options.useInriComponents) {
43
+ // Register C-components
44
+ registerComponents(Vue)
45
+ }
46
+
47
+ if (options.useInriAppConfigurations) {
48
+ // Register global application configurations
49
+ registerAppConfigurations(Vue)
50
+ }
51
+
52
+ if (options.useInriErrorHandler) {
53
+ useGlobalErrorHandler()
54
+ }
55
+
56
+ Vue.use(Quasar as any, {
57
+ plugins: {
58
+ Notify,
59
+ Dialog,
60
+ Meta,
61
+ },
62
+ iconSet: iconSet,
63
+ })
64
+ Vue.use(i18n)
65
+ Vue.use(VueErrorHandler)
66
+
67
+ logger.init()
68
+ }
35
69
  }
@@ -1,21 +1,23 @@
1
1
  import handleError from './handleError'
2
2
 
3
- // Handle errors outside of components
4
- window.addEventListener('error', (event) => {
5
- handleError(
6
- {
7
- err: event,
8
- caughtBy: 'window eventListener on error',
9
- },
10
- )
11
- })
3
+ export function useGlobalErrorHandler () {
4
+ // Handle errors outside of components
5
+ window.addEventListener('error', (event) => {
6
+ handleError(
7
+ {
8
+ err: event,
9
+ caughtBy: 'window eventListener on error',
10
+ },
11
+ )
12
+ })
12
13
 
13
- // Handle rejected promises outside components
14
- window.addEventListener('unhandledrejection', (event) => {
15
- handleError(
16
- {
17
- err: event,
18
- caughtBy: 'window eventListener on unhandledrejection',
19
- },
20
- )
21
- })
14
+ // Handle rejected promises outside components
15
+ window.addEventListener('unhandledrejection', (event) => {
16
+ handleError(
17
+ {
18
+ err: event,
19
+ caughtBy: 'window eventListener on unhandledrejection',
20
+ },
21
+ )
22
+ })
23
+ }