{"version":3,"sources":["webpack:///../../../src/components/VGrid/VRow.ts","webpack:///./src/views/search/SearchContent.vue","webpack:///./src/mixins/search/content/searchContentMixin.js","webpack:///src/views/search/SearchContent.vue","webpack:///./src/views/search/SearchContent.vue?2a9a","webpack:///./src/views/search/SearchContent.vue?c4c2","webpack:///./src/mixins/shared/base/component/baseComponentMixin.js","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///./src/mixins/shared/base/app/appMixin.js","webpack:///./src/mixins/shared/snackbarable/snackbarableMixin.js","webpack:///./src/mixins/shared/content/moduleContentMixin.js"],"names":["breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","props","val","upperFirst","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","Vue","extend","name","functional","tag","dense","Boolean","noGutters","render","h","data","children","cacheKey","classList","get","forEach","value","push","set","mergeData","staticClass","class","attrs","scopedSlots","key","_c","fn","on","_vm","closeSnackbar","model","snackbarVisible","expression","mapState","mapGetters","mapActions","createNamespacedHelpers","searchContentMixin","mixins","moduleContentMixin","computed","category","selectedModuleItemId","selectedModuleItemName","methods","id","isShortcut","this","setCategory","components","CategoryDocuments","component","staticRenderFns","baseComponentMixin","currentError","isLoading","componentName","$options","loadingText","hasError","isEmpty","fullMethodName","handleError","error","methodName","_error$toString","toString","console","clearError","undefined","onAlertVisibilityChanged","visible","breakpointProps","Number","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","some","startsWith","appMixin","appModuleName","appModuleTitle","appModuleIcon","snackbarableMixin","snackbarColor","snackbarText","snackbarTimeout","snackbarVisibleCloseButton","snackbarTop","snackbarMultiLine","Snackbar","showSnackbarSuccess","text","top","showSnackbar","colorTheme","success","showSnackbarInfo","info","showSnackbarError","timeout","multiLine","showSnackbarWarning","warning","color","BaseContentLayout","ExpansionPanelLayout","visibleDataTable","computedSnackbarText","warn","notImplementedMethod","log","setModuleItem","e","_ref","$route","createModuleExpandRecordShortcutContentRouteName","setCurrentModuleItem","watch","to","_ref2"],"mappings":"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","file":"js/chunk-19093dfa.ded60b44.js","sourcesContent":["import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('base-content-layout',{attrs:{\"visibleDataTable\":_vm.visibleDataTable,\"error\":_vm.currentError,\"loading\":_vm.isLoading},on:{\"alertVisibilityChanged\":_vm.onAlertVisibilityChanged},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('category-documents')],1)],1)]},proxy:true},{key:\"snackbar\",fn:function(){return [_c('snackbar',{attrs:{\"color\":_vm.snackbarColor},on:{\"close\":_vm.closeSnackbar},model:{value:(_vm.snackbarVisible),callback:function ($$v) {_vm.snackbarVisible=$$v},expression:\"snackbarVisible\"}},[_vm._v(_vm._s(_vm.computedSnackbarText))])]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// vuex\r\nimport { createNamespacedHelpers } from \"vuex\";\r\nconst { mapState, mapGetters, mapActions } = createNamespacedHelpers(\r\n \"search\"\r\n);\r\n\r\n// mixins\r\nimport { moduleContentMixin } from \"@/mixins/shared/content/moduleContentMixin\";\r\n\r\nexport const searchContentMixin = {\r\n mixins: [moduleContentMixin],\r\n computed: {\r\n ...mapState({\r\n /**\r\n * Get the current selected category\r\n * @return {{id:number, name:string, formId:number, flags:number, categoryType: number, categoryTypeName: string, fields: {id: number, name: string, label: string, fieldDataType: number, fieldDataTypeName: string, flags:number, immutable: boolean, isPersistentField: boolean, isRequired: boolean, isSystemCategoryType: boolean, isSystemField: boolean, isVolatile: boolean, requiredForAutoFiling: boolean, sequence: number, unselectable: boolean, searchOperators: {description: string, operator: string}[]}[]}[]}\r\n */\r\n category: \"category\"\r\n }),\r\n ...mapGetters({\r\n /**\r\n * Get selected Category Module's Item Id (Category Id)\r\n * Overwrite moduleContentMixin.selectedModuleItemId()\r\n * @return {number}\r\n */\r\n selectedModuleItemId: \"selectedModuleItemId\",\r\n\r\n /**\r\n * Get selected Category Module's Item Name (Category Name)\r\n * Overwrite moduleContentMixin.selectedModuleItemName()\r\n * @return {string}\r\n */\r\n selectedModuleItemName: \"selectedModuleItemName\"\r\n })\r\n },\r\n methods: {\r\n ...mapActions([\"setCategory\"]),\r\n\r\n /**|\r\n * Set current Category Module's item (category)\r\n * Overwrite moduleContentMixin.setModuleItem()\r\n * @param {Number} id\r\n * @param {Boolean} isShortcut - optional\r\n * @return {Promise}\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n async setModuleItem(id, isShortcut = false) {\r\n await this.setCategory(id);\r\n }\r\n }\r\n};\r\n","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchContent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchContent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchContent.vue?vue&type=template&id=d35ce000\"\nimport script from \"./SearchContent.vue?vue&type=script&lang=js\"\nexport * from \"./SearchContent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\r\n * Base Component Mixin serves as a base class for components\r\n */\r\nimport { isEmpty } from \"@/utils\";\r\n\r\nexport const baseComponentMixin = {\r\n data() {\r\n return {\r\n /**\r\n * Current Error\r\n * @type {string}\r\n */\r\n currentError: \"\",\r\n\r\n /**\r\n * Is Loading indicator\r\n * @type {boolean}\r\n */\r\n isLoading: false\r\n };\r\n },\r\n computed: {\r\n /**\r\n * Get component Name\r\n * @returns {string}\r\n */\r\n componentName() {\r\n return this.$options.name;\r\n },\r\n /**\r\n * Get loading Text (overwrite it if needed)\r\n * @returns {string}\r\n */\r\n loadingText() {\r\n return `Loading ...`;\r\n },\r\n /**\r\n * Has an Error occurred\r\n * @returns {boolean}\r\n */\r\n hasError() {\r\n return !isEmpty(this.currentError);\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Build full Method (function) Name (this.componentName + Method Name)\r\n * @param {string} name\r\n * @returns {string}\r\n */\r\n fullMethodName(name) {\r\n return `${this.componentName}.${name}`;\r\n },\r\n /**\r\n * Handle Error\r\n * @param {string} error\r\n * @param {string} methodName\r\n */\r\n handleError(error, methodName = \"\") {\r\n this.currentError = error?.toString() ?? \"\";\r\n\r\n console.error(\r\n methodName ? `${this.fullMethodName(methodName)} Error:` : \"Error:\",\r\n this.currentError\r\n );\r\n },\r\n /**\r\n * Clear current error\r\n */\r\n clearError() {\r\n this.currentError = undefined;\r\n },\r\n /**\r\n * on Alert Visibility Changed event handler\r\n * @param {Boolean|boolean} visible\r\n */\r\n onAlertVisibilityChanged(visible) {\r\n if (!visible) {\r\n this.clearError();\r\n }\r\n }\r\n }\r\n};\r\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","import { createNamespacedHelpers } from \"vuex\";\r\nconst { mapGetters } = createNamespacedHelpers(\"solution\");\r\n\r\n/**\r\n * appMixin contains options (adhere to the DRY principle) &\r\n * code re-usability for Application\r\n */\r\nexport const appMixin = {\r\n computed: {\r\n ...mapGetters({\r\n appModuleName: \"appModuleName\",\r\n appModuleTitle: \"appModuleTitle\",\r\n appModuleIcon: \"appModuleIcon\"\r\n })\r\n }\r\n};\r\n","import { colorTheme } from \"@/design/colors/mdColors\";\r\n\r\n/**\r\n * snackbar-able Mixin\r\n */\r\nexport const snackbarableMixin = {\r\n data() {\r\n return {\r\n snackbarVisible: false,\r\n snackbarColor: \"\",\r\n snackbarText: \"\",\r\n snackbarTimeout: 2000,\r\n snackbarVisibleCloseButton: true,\r\n snackbarTop: false,\r\n snackbarMultiLine: false\r\n };\r\n },\r\n components: {\r\n Snackbar: () => import(\"@/components/shared/base/BaseSnackbar\")\r\n },\r\n methods: {\r\n /**\r\n * show Snackbar Success\r\n * @param {String} text\r\n * @param {Boolean} top\r\n */\r\n showSnackbarSuccess(text, top = false) {\r\n this.showSnackbar(text, colorTheme.success, top);\r\n },\r\n /**\r\n * show Snackbar Info\r\n * @param {String} text\r\n * @param {Boolean} top\r\n */\r\n showSnackbarInfo(text, top = false) {\r\n this.showSnackbar(text, colorTheme.info, top);\r\n },\r\n /**\r\n * show Snackbar Error (timeout: Use -1 to keep open indefinitely)\r\n * @param {String} text\r\n * @param {Boolean} top\r\n * @param {Number|number} timeout\r\n * @param {Boolean} multiLine\r\n */\r\n showSnackbarError(text, top = false, timeout = -1, multiLine = true) {\r\n this.showSnackbar(text, colorTheme.error, top, timeout, multiLine);\r\n },\r\n /**\r\n * show Snackbar Warning\r\n * @param {String} text\r\n * @param {Boolean} top\r\n */\r\n showSnackbarWarning(text, top = false) {\r\n this.showSnackbar(text, colorTheme.warning, top);\r\n },\r\n /**\r\n * show Snackbar\r\n * @param {String} text\r\n * @param {String} color\r\n * @param {Boolean} top\r\n * @param {Number|number} timeout\r\n * @param {Boolean} multiLine\r\n */\r\n showSnackbar(\r\n text,\r\n color = undefined,\r\n top = false,\r\n timeout = 2000,\r\n multiLine = false\r\n ) {\r\n this.snackbarVisible = true;\r\n this.snackbarColor = color;\r\n this.snackbarText = text;\r\n this.snackbarTop = top;\r\n this.snackbarTimeout = timeout;\r\n this.snackbarMultiLine = multiLine;\r\n },\r\n /**\r\n * close Snackbar\r\n */\r\n closeSnackbar() {\r\n this.snackbarVisible = false;\r\n }\r\n }\r\n};\r\n","// services\r\nimport { notImplementedMethod } from \"@/services/error/errorMessages\";\r\n\r\n// Mixins\r\nimport { appMixin } from \"@/mixins/shared/base/app/appMixin\";\r\nimport { baseComponentMixin } from \"@/mixins/shared/base/component/baseComponentMixin\";\r\nimport { snackbarableMixin } from \"@/mixins/shared/snackbarable/snackbarableMixin\";\r\nimport { createModuleExpandRecordShortcutContentRouteName } from \"@/router/solution/solutionRoutes\";\r\n\r\n/**\r\n * This mixin serves as a base class for *Content*.vue components\r\n */\r\nexport const moduleContentMixin = {\r\n mixins: [appMixin, snackbarableMixin, baseComponentMixin],\r\n components: {\r\n BaseContentLayout: () => import(\"@/views/shared/layout/BaseContentLayout\"),\r\n ExpansionPanelLayout: () =>\r\n import(\"@/components/shared/core/expansionPanel/ExpansionPanelLayout\")\r\n },\r\n data() {\r\n return {\r\n /**\r\n * Visible Data Table\r\n * @type {Boolean}\r\n */\r\n visibleDataTable: true\r\n };\r\n },\r\n props: {\r\n /**\r\n * Module Item id: used as dynamic segment in the route path\r\n */\r\n id: {\r\n type: Number,\r\n default: -1\r\n }\r\n },\r\n computed: {\r\n /**\r\n * Get selected Module ItemId\r\n * Abstract computed getter\r\n * @return {number}\r\n */\r\n selectedModuleItemId() {\r\n return -1;\r\n },\r\n\r\n /**\r\n * Get selected Module Item Name\r\n * Abstract computed getter\r\n * @return {string}\r\n */\r\n selectedModuleItemName() {\r\n return \"\";\r\n },\r\n\r\n /**\r\n * Get Snackbar Text\r\n * @returns {string}\r\n */\r\n computedSnackbarText() {\r\n return `Selected: ${this.selectedModuleItemName || \"\"}`;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * set Module Item\r\n * Abstract method which has to be implemented by caller\r\n * @param {number} id\r\n * @param {Boolean} isShortcut - optional\r\n * @return {Promise}\r\n */\r\n async setModuleItem(id, isShortcut = false) {\r\n console.warn(\r\n notImplementedMethod(\r\n `${this.$options.name}.setModuleItem(${id})`,\r\n isShortcut\r\n )\r\n );\r\n },\r\n\r\n /**\r\n * set Current selected Module Item\r\n * @return {Promise}\r\n */\r\n async setCurrentModuleItem(isShortcut = false) {\r\n try {\r\n this.clearError();\r\n this.isLoading = true;\r\n console.log(\r\n `${this.$options.name}.setCurrentModuleItem() this.id:`,\r\n this.id\r\n );\r\n await this.setModuleItem(this.id, isShortcut);\r\n } catch (e) {\r\n this.handleError(e);\r\n } finally {\r\n this.isLoading = false;\r\n }\r\n }\r\n },\r\n\r\n // /**\r\n // * In-Component Navigation Guards: beforeRouteEnter\r\n // * @param to\r\n // * @param from\r\n // * @param next\r\n // * @return {Promise}\r\n // */\r\n // async beforeRouteEnter(to, from, next) {\r\n // console.log(`beforeRouteEnter to:`, to);\r\n // // console.log(`beforeRouteEnter from:`, from);\r\n //\r\n // // called before the route that renders this component is confirmed.\r\n // // does NOT have access to `this` component instance,\r\n // // because it has not been created yet when this guard is called!\r\n // next(async vm => {\r\n // //\r\n // // access to component instance via `vm`\r\n // //\r\n // // console.log(`beforeRouteEnter()`, `vm.id: ${vm.id}`);\r\n // // console.log(`beforeRouteEnter()`, `to?.params?.id: ${to?.params?.id}`);\r\n // // console.log(\r\n // // `beforeRouteEnter()`,\r\n // // `vm.id === to?.params?.id: ${vm.id === to?.params?.id}`\r\n // // );\r\n // return await vm.setCurrentModuleItem();\r\n // });\r\n // },\r\n\r\n // /**\r\n // * In-Component Navigation Guards: beforeRouteUpdate\r\n // * @param to\r\n // * @param from\r\n // * @param next\r\n // * @return {Promise}\r\n // */\r\n // async beforeRouteUpdate(to, from, next) {\r\n // try {\r\n // // called when the route that renders this component has changed.\r\n // // This component being reused (by using an explicit `key`)\r\n // // in the new route or not doesn't change anything.\r\n //\r\n // // const id = to?.params?.id;\r\n // // console.log(\"beforeRouteUpdate()\", `id: ${id}`);\r\n //\r\n // // e.g. apply Navigation Guard - prevent going to 'to' route\r\n // // if (id === 259704) {\r\n // // // Cancel navigation to route\r\n // // next(false);\r\n // // return;\r\n // // }\r\n //\r\n // console.log(`beforeRouteUpdate to:`, to);\r\n // // console.log(`beforeRouteUpdate from:`, from);\r\n //\r\n // await this.setCurrentModuleItem();\r\n // next();\r\n // } catch (e) {\r\n // console.error(e.toString());\r\n // next();\r\n // }\r\n // }\r\n\r\n async created() {\r\n console.log(`${this.$options.name}.created()`);\r\n const isShortcut =\r\n this.$route.name ===\r\n createModuleExpandRecordShortcutContentRouteName(\"Folder\") ?? false;\r\n await this.setCurrentModuleItem(isShortcut);\r\n },\r\n\r\n watch: {\r\n // when using routes with params, the same component instance will be reused,\r\n // this also means that the lifecycle hooks of the component will not be called,\r\n // To react to params changes in the same component, we can simply watch the $route object:\r\n //\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n async $route(to) {\r\n try {\r\n console.log(`watch ${this.$options.name}.route to:`, to);\r\n\r\n //Compute if path name is Folder Shortcut\r\n const isShortcut =\r\n to.name ===\r\n createModuleExpandRecordShortcutContentRouteName(\"Folder\") ?? false;\r\n\r\n //Pass isShortcut to get Record Shortcut Data from Api if true\r\n await this.setCurrentModuleItem(isShortcut);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n};\r\n"],"sourceRoot":""}