import { createHotContext as __vite__createHotContext } from "/_nuxt/@vite/client";import.meta.hot = __vite__createHotContext("/components/viewer/saved-views/panel/views/group/Inner.vue");import { CommonLoadingIcon as __nuxt_component_0 } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js"; import { default as __nuxt_component_1 } from "/_nuxt/components/viewer/saved-views/panel/View.vue"; import { InfiniteLoading as __nuxt_component_2 } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js"; /* Injection by vite-plugin-vue-inspector Start */ import { createVNode as __createVNode,createElementBlock as __createElementBlock,createBlock as __createBlock } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29" function _interopVNode(vnode) { if (vnode && vnode.props && 'data-v-inspector' in vnode.props) { const data = vnode.props['data-v-inspector'] delete vnode.props['data-v-inspector'] Object.defineProperty(vnode.props, '__v_inspector', { value: data, enumerable: false }) } return vnode } function _createVNode(...args) { return _interopVNode(__createVNode(...args)) } function _createElementBlock(...args) { return _interopVNode(__createElementBlock(...args)) } function _createBlock(...args) { return _interopVNode(__createBlock(...args)) } /* Injection by vite-plugin-vue-inspector End */ import { defineComponent as _defineComponent } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29"; import { omit } from "/_nuxt/node_modules/.cache/vite/client/deps/lodash-es.js?v=e4f18c29"; import { usePaginatedQuery } from "/_nuxt/lib/common/composables/graphql.ts"; import { graphql } from "/_nuxt/lib/common/generated/gql/index.ts"; import { useInjectedViewerState } from "/_nuxt/lib/viewer/composables/setup.ts"; import { viewsTypeToFilters } from "/_nuxt/lib/viewer/helpers/savedViews.ts"; import { computed, watch } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29"; const _sfc_main = /* @__PURE__ */ _defineComponent({ __name: "ViewerSavedViewsPanelViewsGroupInner", props: { group: { type: Object, required: true }, viewsType: { type: null, required: true }, search: { type: String, required: false } }, emits: ["view-count-updated"], setup(__props, { expose: __expose, emit: __emit }) { __expose(); graphql(` fragment ViewerSavedViewsPanelViewsGroupInner_SavedViewGroup on SavedViewGroup { id title } `); graphql(` fragment ViewerSavedViewsPanelViewsGroupInner_SavedViewGroup_Paginated on SavedViewGroup { id views(input: $savedViewsInput) { cursor totalCount items { id ...ViewerSavedViewsPanelView_SavedView } } } `); const viewsQuery = graphql(` query ViewerSavedViewsPanelViewsGroupInner_Views( $projectId: String! $groupId: ID! $savedViewsInput: SavedViewGroupViewsInput! ) { project(id: $projectId) { id savedViewGroup(id: $groupId) { id ...ViewerSavedViewsPanelViewsGroupInner_SavedViewGroup_Paginated } } } `); const emit = __emit; const props = __props; const { projectId } = useInjectedViewerState(); const { identifier, onInfiniteLoad, query: { result }, isVeryFirstLoading } = usePaginatedQuery({ query: viewsQuery, baseVariables: computed(() => ({ projectId: projectId.value, groupId: props.group.id, savedViewsInput: { limit: 10, cursor: null, search: props.search?.trim() || null, ...viewsTypeToFilters(props.viewsType) } })), resolveKey: (vars) => ({ projectId: vars.projectId, groupId: vars.groupId, savedViewsInput: omit(vars.savedViewsInput, ["cursor"]) }), resolveCurrentResult: (res) => res?.project.savedViewGroup.views, resolveNextPageVariables: (baseVars, cursor) => ({ ...baseVars, savedViewsInput: { ...baseVars.savedViewsInput, cursor } }), resolveCursorFromVariables: (vars) => vars.savedViewsInput.cursor }); const views = computed(() => result.value?.project.savedViewGroup.views.items || []); watch( () => views.value.length, (newVal, oldVal) => { if (newVal === oldVal) return; emit("view-count-updated", newVal); }, { immediate: true } ); const __returned__ = { viewsQuery, emit, props, projectId, identifier, onInfiniteLoad, result, isVeryFirstLoading, views }; Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true }); return __returned__; } }); import { resolveComponent as _resolveComponent, openBlock as _openBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29"; const _hoisted_1 = { class: "mb-1.5", "data-v-inspector": "components/viewer/saved-views/panel/views/group/Inner.vue:2:3" }; const _hoisted_2 = { key: 0, class: "flex justify-center", "data-v-inspector": "components/viewer/saved-views/panel/views/group/Inner.vue:3:5" }; const _hoisted_3 = { key: 1, "data-v-inspector": "components/viewer/saved-views/panel/views/group/Inner.vue:6:5" }; const _hoisted_4 = { key: 0, class: "flex flex-col py-[2px] overflow-y-auto overflow-x-hidden simple-scrollbar", "data-v-inspector": "components/viewer/saved-views/panel/views/group/Inner.vue:8:9" }; const _hoisted_5 = { key: 1, class: "flex justify-center items-center bg-foundation-page text-body-2xs rounded-md text-foreground-2 border border-dashed border-outline-2 text-center my-2 mx-1.5 px-4 h-10", "data-v-inspector": "components/viewer/saved-views/panel/views/group/Inner.vue:26:9" }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_CommonLoadingIcon = __nuxt_component_0; const _component_ViewerSavedViewsPanelView = __nuxt_component_1; const _component_InfiniteLoading = __nuxt_component_2; return _openBlock(), _createElementBlock("div", _hoisted_1, [ $setup.isVeryFirstLoading ? (_openBlock(), _createElementBlock("div", _hoisted_2, [ _createVNode(_component_CommonLoadingIcon, { class: "m-4", "data-v-inspector": "components/viewer/saved-views/panel/views/group/Inner.vue:4:7" }) ])) : (_openBlock(), _createElementBlock("div", _hoisted_3, [ $setup.views.length ? (_openBlock(), _createElementBlock( _Fragment, { key: 0 }, [ $setup.views.length ? (_openBlock(), _createElementBlock("div", _hoisted_4, [ (_openBlock(true), _createElementBlock( _Fragment, null, _renderList($setup.views, (view) => { return _openBlock(), _createBlock(_component_ViewerSavedViewsPanelView, { key: view.id, view, "data-v-inspector": "components/viewer/saved-views/panel/views/group/Inner.vue:12:11" }, null, 8, ["view"]); }), 128 /* KEYED_FRAGMENT */ )) ])) : _createCommentVNode("v-if", true), $setup.views.length ? (_openBlock(), _createBlock(_component_InfiniteLoading, { key: 1, settings: { identifier: $setup.identifier }, "hide-when-complete": "", onInfinite: $setup.onInfiniteLoad, "data-v-inspector": "components/viewer/saved-views/panel/views/group/Inner.vue:18:9" }, null, 8, ["settings", "onInfinite"])) : _createCommentVNode("v-if", true) ], 64 /* STABLE_FRAGMENT */ )) : (_openBlock(), _createElementBlock("span", _hoisted_5, " No views in group ")) ])) ]); } _sfc_main.__hmrId = "c5f3de9d"; typeof __VUE_HMR_RUNTIME__ !== "undefined" && __VUE_HMR_RUNTIME__.createRecord(_sfc_main.__hmrId, _sfc_main); import.meta.hot.on("file-changed", ({ file }) => { __VUE_HMR_RUNTIME__.CHANGED_FILE = file; }); import.meta.hot.accept((mod) => { if (!mod) return; const { default: updated, _rerender_only } = mod; if (_rerender_only) { __VUE_HMR_RUNTIME__.rerender(updated.__hmrId, updated.render); } else { __VUE_HMR_RUNTIME__.reload(updated.__hmrId, updated); } }); import _export_sfc from "/_nuxt/@id/__x00__plugin-vue:export-helper"; export default /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/speckle-server/packages/frontend-2/components/viewer/saved-views/panel/views/group/Inner.vue"]]); //# sourceMappingURL=data:application/json;base64,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RGQsYUFLRTtBQUFBO1lBSEMsVUFBUSxjQUFJLGtCQUFVO0FBQUEsWUFDdkI7QUFBQSxZQUNDLFlBQVU7QUFBQSxZQUFnQixvQkFBaUI7QUFBQTs7OzswQkFJOUMsb0JBSU8sUUFKUCxZQUVDLHFCQUVEO0FBQUEiLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VzIjpbIklubmVyLnZ1ZSJdLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cIm1iLTEuNVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL3ZpZXdlci9zYXZlZC12aWV3cy9wYW5lbC92aWV3cy9ncm91cC9Jbm5lci52dWU6MjozXCI+XHJcbiAgICA8ZGl2IHYtaWY9XCJpc1ZlcnlGaXJzdExvYWRpbmdcIiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXJcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvc2F2ZWQtdmlld3MvcGFuZWwvdmlld3MvZ3JvdXAvSW5uZXIudnVlOjM6NVwiPlxyXG4gICAgICA8Q29tbW9uTG9hZGluZ0ljb24gY2xhc3M9XCJtLTRcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvc2F2ZWQtdmlld3MvcGFuZWwvdmlld3MvZ3JvdXAvSW5uZXIudnVlOjQ6N1wiIC8+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgdi1lbHNlIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL3ZpZXdlci9zYXZlZC12aWV3cy9wYW5lbC92aWV3cy9ncm91cC9Jbm5lci52dWU6Njo1XCI+XHJcbiAgICAgIDx0ZW1wbGF0ZSB2LWlmPVwidmlld3MubGVuZ3RoXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgdi1pZj1cInZpZXdzLmxlbmd0aFwiXHJcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgcHktWzJweF0gb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIHNpbXBsZS1zY3JvbGxiYXJcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvc2F2ZWQtdmlld3MvcGFuZWwvdmlld3MvZ3JvdXAvSW5uZXIudnVlOjg6OVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPFZpZXdlclNhdmVkVmlld3NQYW5lbFZpZXdcclxuICAgICAgICAgICAgdi1mb3I9XCJ2aWV3IGluIHZpZXdzXCJcclxuICAgICAgICAgICAgOmtleT1cInZpZXcuaWRcIlxyXG4gICAgICAgICAgICA6dmlldz1cInZpZXdcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvc2F2ZWQtdmlld3MvcGFuZWwvdmlld3MvZ3JvdXAvSW5uZXIudnVlOjEyOjExXCJcclxuICAgICAgICAgID48L1ZpZXdlclNhdmVkVmlld3NQYW5lbFZpZXc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPEluZmluaXRlTG9hZGluZ1xyXG4gICAgICAgICAgdi1pZj1cInZpZXdzLmxlbmd0aFwiXHJcbiAgICAgICAgICA6c2V0dGluZ3M9XCJ7IGlkZW50aWZpZXIgfVwiXHJcbiAgICAgICAgICBoaWRlLXdoZW4tY29tcGxldGVcclxuICAgICAgICAgIEBpbmZpbml0ZT1cIm9uSW5maW5pdGVMb2FkXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvdmlld2VyL3NhdmVkLXZpZXdzL3BhbmVsL3ZpZXdzL2dyb3VwL0lubmVyLnZ1ZToxODo5XCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICA8dGVtcGxhdGUgdi1lbHNlPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGJnLWZvdW5kYXRpb24tcGFnZSB0ZXh0LWJvZHktMnhzIHJvdW5kZWQtbWQgdGV4dC1mb3JlZ3JvdW5kLTIgYm9yZGVyIGJvcmRlci1kYXNoZWQgYm9yZGVyLW91dGxpbmUtMiB0ZXh0LWNlbnRlciBteS0yIG14LTEuNSBweC00IGgtMTBcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvc2F2ZWQtdmlld3MvcGFuZWwvdmlld3MvZ3JvdXAvSW5uZXIudnVlOjI2OjlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIE5vIHZpZXdzIGluIGdyb3VwXHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3RlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQgc2V0dXAgbGFuZz1cInRzXCI+XHJcbmltcG9ydCB7IG9taXQgfSBmcm9tICdsb2Rhc2gtZXMnXHJcbmltcG9ydCB7IHVzZVBhZ2luYXRlZFF1ZXJ5IH0gZnJvbSAnfi9saWIvY29tbW9uL2NvbXBvc2FibGVzL2dyYXBocWwnXHJcbmltcG9ydCB7IGdyYXBocWwgfSBmcm9tICd+L2xpYi9jb21tb24vZ2VuZXJhdGVkL2dxbCdcclxuaW1wb3J0IHR5cGUgeyBWaWV3ZXJTYXZlZFZpZXdzUGFuZWxWaWV3c0dyb3VwSW5uZXJfU2F2ZWRWaWV3R3JvdXBGcmFnbWVudCB9IGZyb20gJ34vbGliL2NvbW1vbi9nZW5lcmF0ZWQvZ3FsL2dyYXBocWwnXHJcbmltcG9ydCB7IHVzZUluamVjdGVkVmlld2VyU3RhdGUgfSBmcm9tICd+L2xpYi92aWV3ZXIvY29tcG9zYWJsZXMvc2V0dXAnXHJcbmltcG9ydCB7IHZpZXdzVHlwZVRvRmlsdGVycywgdHlwZSBWaWV3c1R5cGUgfSBmcm9tICd+L2xpYi92aWV3ZXIvaGVscGVycy9zYXZlZFZpZXdzJ1xyXG5cclxuZ3JhcGhxbChgXHJcbiAgZnJhZ21lbnQgVmlld2VyU2F2ZWRWaWV3c1BhbmVsVmlld3NHcm91cElubmVyX1NhdmVkVmlld0dyb3VwIG9uIFNhdmVkVmlld0dyb3VwIHtcclxuICAgIGlkXHJcbiAgICB0aXRsZVxyXG4gIH1cclxuYClcclxuXHJcbmdyYXBocWwoYFxyXG4gIGZyYWdtZW50IFZpZXdlclNhdmVkVmlld3NQYW5lbFZpZXdzR3JvdXBJbm5lcl9TYXZlZFZpZXdHcm91cF9QYWdpbmF0ZWQgb24gU2F2ZWRWaWV3R3JvdXAge1xyXG4gICAgaWRcclxuICAgIHZpZXdzKGlucHV0OiAkc2F2ZWRWaWV3c0lucHV0KSB7XHJcbiAgICAgIGN1cnNvclxyXG4gICAgICB0b3RhbENvdW50XHJcbiAgICAgIGl0ZW1zIHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIC4uLlZpZXdlclNhdmVkVmlld3NQYW5lbFZpZXdfU2F2ZWRWaWV3XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmApXHJcblxyXG5jb25zdCB2aWV3c1F1ZXJ5ID0gZ3JhcGhxbChgXHJcbiAgcXVlcnkgVmlld2VyU2F2ZWRWaWV3c1BhbmVsVmlld3NHcm91cElubmVyX1ZpZXdzKFxyXG4gICAgJHByb2plY3RJZDogU3RyaW5nIVxyXG4gICAgJGdyb3VwSWQ6IElEIVxyXG4gICAgJHNhdmVkVmlld3NJbnB1dDogU2F2ZWRWaWV3R3JvdXBWaWV3c0lucHV0IVxyXG4gICkge1xyXG4gICAgcHJvamVjdChpZDogJHByb2plY3RJZCkge1xyXG4gICAgICBpZFxyXG4gICAgICBzYXZlZFZpZXdHcm91cChpZDogJGdyb3VwSWQpIHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIC4uLlZpZXdlclNhdmVkVmlld3NQYW5lbFZpZXdzR3JvdXBJbm5lcl9TYXZlZFZpZXdHcm91cF9QYWdpbmF0ZWRcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuYClcclxuXHJcbmNvbnN0IGVtaXQgPSBkZWZpbmVFbWl0czx7XHJcbiAgJ3ZpZXctY291bnQtdXBkYXRlZCc6IFtjb3VudDogbnVtYmVyXVxyXG59PigpXHJcblxyXG5jb25zdCBwcm9wcyA9IGRlZmluZVByb3BzPHtcclxuICBncm91cDogVmlld2VyU2F2ZWRWaWV3c1BhbmVsVmlld3NHcm91cElubmVyX1NhdmVkVmlld0dyb3VwRnJhZ21lbnRcclxuICB2aWV3c1R5cGU6IFZpZXdzVHlwZVxyXG4gIHNlYXJjaD86IHN0cmluZ1xyXG59PigpXHJcblxyXG5jb25zdCB7IHByb2plY3RJZCB9ID0gdXNlSW5qZWN0ZWRWaWV3ZXJTdGF0ZSgpXHJcblxyXG5jb25zdCB7XHJcbiAgaWRlbnRpZmllcixcclxuICBvbkluZmluaXRlTG9hZCxcclxuICBxdWVyeTogeyByZXN1bHQgfSxcclxuICBpc1ZlcnlGaXJzdExvYWRpbmdcclxufSA9IHVzZVBhZ2luYXRlZFF1ZXJ5KHtcclxuICBxdWVyeTogdmlld3NRdWVyeSxcclxuICBiYXNlVmFyaWFibGVzOiBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgcHJvamVjdElkOiBwcm9qZWN0SWQudmFsdWUsXHJcbiAgICBncm91cElkOiBwcm9wcy5ncm91cC5pZCxcclxuICAgIHNhdmVkVmlld3NJbnB1dDoge1xyXG4gICAgICBsaW1pdDogMTAsXHJcbiAgICAgIGN1cnNvcjogbnVsbCBhcyBudWxsIHwgc3RyaW5nLFxyXG4gICAgICBzZWFyY2g6IHByb3BzLnNlYXJjaD8udHJpbSgpIHx8IG51bGwsXHJcbiAgICAgIC4uLnZpZXdzVHlwZVRvRmlsdGVycyhwcm9wcy52aWV3c1R5cGUpXHJcbiAgICB9XHJcbiAgfSkpLFxyXG4gIHJlc29sdmVLZXk6ICh2YXJzKSA9PiAoe1xyXG4gICAgcHJvamVjdElkOiB2YXJzLnByb2plY3RJZCxcclxuICAgIGdyb3VwSWQ6IHZhcnMuZ3JvdXBJZCxcclxuICAgIHNhdmVkVmlld3NJbnB1dDogb21pdCh2YXJzLnNhdmVkVmlld3NJbnB1dCwgWydjdXJzb3InXSlcclxuICB9KSxcclxuICByZXNvbHZlQ3VycmVudFJlc3VsdDogKHJlcykgPT4gcmVzPy5wcm9qZWN0LnNhdmVkVmlld0dyb3VwLnZpZXdzLFxyXG4gIHJlc29sdmVOZXh0UGFnZVZhcmlhYmxlczogKGJhc2VWYXJzLCBjdXJzb3IpID0+ICh7XHJcbiAgICAuLi5iYXNlVmFycyxcclxuICAgIHNhdmVkVmlld3NJbnB1dDoge1xyXG4gICAgICAuLi5iYXNlVmFycy5zYXZlZFZpZXdzSW5wdXQsXHJcbiAgICAgIGN1cnNvclxyXG4gICAgfVxyXG4gIH0pLFxyXG4gIHJlc29sdmVDdXJzb3JGcm9tVmFyaWFibGVzOiAodmFycykgPT4gdmFycy5zYXZlZFZpZXdzSW5wdXQuY3Vyc29yXHJcbn0pXHJcblxyXG5jb25zdCB2aWV3cyA9IGNvbXB1dGVkKCgpID0+IHJlc3VsdC52YWx1ZT8ucHJvamVjdC5zYXZlZFZpZXdHcm91cC52aWV3cy5pdGVtcyB8fCBbXSlcclxuXHJcbndhdGNoKFxyXG4gICgpID0+IHZpZXdzLnZhbHVlLmxlbmd0aCxcclxuICAobmV3VmFsLCBvbGRWYWwpID0+IHtcclxuICAgIGlmIChuZXdWYWwgPT09IG9sZFZhbCkgcmV0dXJuXHJcbiAgICBlbWl0KCd2aWV3LWNvdW50LXVwZGF0ZWQnLCBuZXdWYWwpXHJcbiAgfSxcclxuICB7IGltbWVkaWF0ZTogdHJ1ZSB9XHJcbilcclxuPC9zY3JpcHQ+XHJcbiJdLCJmaWxlIjoiRDovc3BlY2tsZS1zZXJ2ZXIvcGFja2FnZXMvZnJvbnRlbmQtMi9jb21wb25lbnRzL3ZpZXdlci9zYXZlZC12aWV3cy9wYW5lbC92aWV3cy9ncm91cC9Jbm5lci52dWUifQ==