@cortezaproject/corteza-vue 2021.9.6-dev.2 → 2021.9.6-dev.3

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/dist/index.es.js CHANGED
@@ -13661,33 +13661,8 @@ function normalizeComponent(template, style, script, scopeId, isFunctionalTempla
13661
13661
  const __vue_script__ = script;
13662
13662
 
13663
13663
  /* template */
13664
- var __vue_render__ = function() {
13665
- var _vm = this;
13666
- var _h = _vm.$createElement;
13667
- var _c = _vm._self._c || _h;
13668
- return _c(
13669
- "b-button-group",
13670
- _vm._l(_vm.buttons, function(b, i) {
13671
- return _c(
13672
- "b-button",
13673
- {
13674
- key: i,
13675
- class: _vm.buttonClass,
13676
- attrs: { variant: b.variant || _vm.defaultVariant },
13677
- on: {
13678
- click: function($event) {
13679
- return _vm.$emit("click", b)
13680
- }
13681
- }
13682
- },
13683
- [_vm._v("\n " + _vm._s(b.label) + "\n ")]
13684
- )
13685
- }),
13686
- 1
13687
- )
13688
- };
13664
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-button-group',_vm._l((_vm.buttons),function(b,i){return _c('b-button',{key:i,class:_vm.buttonClass,attrs:{"variant":b.variant || _vm.defaultVariant},on:{"click":function($event){return _vm.$emit('click', b)}}},[_vm._v("\n "+_vm._s(b.label)+"\n ")])}),1)};
13689
13665
  var __vue_staticRenderFns__ = [];
13690
- __vue_render__._withStripped = true;
13691
13666
 
13692
13667
  /* style */
13693
13668
  const __vue_inject_styles__ = undefined;
@@ -13912,48 +13887,17 @@ function addStyle(id, css) {
13912
13887
  const __vue_script__$2 = script$2;
13913
13888
 
13914
13889
  /* template */
13915
- var __vue_render__$1 = function() {
13916
- var _vm = this;
13917
- var _h = _vm.$createElement;
13918
- var _c = _vm._self._c || _h;
13919
- return _c("div", { staticClass: "inline" }, [
13920
- _c("img", {
13921
- key: _vm.src,
13922
- ref: "image",
13923
- class: _vm.getClass,
13924
- style: _vm.previewStyle,
13925
- attrs: {
13926
- src: _vm.src,
13927
- title: _vm.title,
13928
- alt: _vm.alt,
13929
- width: _vm.getWidth,
13930
- height: _vm.getHeight
13931
- },
13932
- on: {
13933
- click: function($event) {
13934
- return _vm.$emit("openPreview", {})
13935
- },
13936
- "~error": function($event) {
13937
- return _vm.reloadBrokenImage.apply(null, arguments)
13938
- },
13939
- load: function($event) {
13940
- _vm.loaded = true;
13941
- }
13942
- }
13943
- })
13944
- ])
13945
- };
13890
+ var __vue_render__$1 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"inline"},[_c('img',{key:_vm.src,ref:"image",class:_vm.getClass,style:(_vm.previewStyle),attrs:{"src":_vm.src,"title":_vm.title,"alt":_vm.alt,"width":_vm.getWidth,"height":_vm.getHeight},on:{"click":function($event){return _vm.$emit('openPreview', {})},"~error":function($event){return _vm.reloadBrokenImage.apply(null, arguments)},"load":function($event){_vm.loaded=true;}}})])};
13946
13891
  var __vue_staticRenderFns__$1 = [];
13947
- __vue_render__$1._withStripped = true;
13948
13892
 
13949
13893
  /* style */
13950
13894
  const __vue_inject_styles__$2 = function (inject) {
13951
13895
  if (!inject) return
13952
- inject("data-v-2f92f970_0", { source: "div[data-v-2f92f970] {\n object-fit: contain;\n}\ndiv img.loaded[data-v-2f92f970] {\n width: auto;\n height: auto;\n display: block;\n}\ndiv.inline img[data-v-2f92f970] {\n cursor: zoom-in;\n}\n\n/*# sourceMappingURL=InlineIMG.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/filePreview/common/types/IMG/InlineIMG.vue","InlineIMG.vue"],"names":[],"mappings":"AAiFA;EACA,mBAAA;AChFA;ADkFA;EACA,WAAA;EACA,YAAA;EACA,cAAA;AChFA;ADoFA;EACA,eAAA;AClFA;;AAEA,wCAAwC","file":"InlineIMG.vue","sourcesContent":["<template>\n <div class=\"inline\">\n <img\n ref=\"image\"\n :key=\"src\"\n :src=\"src\"\n :title=\"title\"\n :alt=\"alt\"\n :class=\"getClass\"\n :style=\"previewStyle\"\n :width=\"getWidth\"\n :height=\"getHeight\"\n @click=\"$emit('openPreview', {})\"\n @error.once=\"reloadBrokenImage\"\n @load=\"loaded=true\"\n >\n </div>\n</template>\n\n<script lang=\"js\">\nimport base from '../base.vue'\n\nexport default {\n extends: base,\n\n props: {\n alt: {\n required: false,\n type: String,\n default: null,\n },\n title: {\n required: false,\n type: String,\n default: null,\n },\n },\n\n data () {\n return {\n loaded: false,\n }\n },\n\n computed: {\n getClass () {\n const rtr = [...this.previewClass]\n if (this.$listeners.click) {\n rtr.push('clickable')\n }\n if (this.loaded) {\n rtr.push('loaded')\n }\n return rtr\n },\n\n getWidth () {\n return this.meta.preview.image.width\n },\n getHeight () {\n return this.meta.preview.image.height\n },\n },\n\n methods: {\n reloadBrokenImage (ev) {\n if (ev.target && ev.target.src) {\n window.setTimeout(() => {\n if (!ev.target && !ev.target.src) return\n\n // This forces Vue to re-try image download\n // eslint-disable-next-line\n ev.target.src = ev.target.src\n }, 500)\n }\n },\n },\n}\n</script>\n\n<style scoped lang=\"scss\">\ndiv {\n object-fit: contain;\n img {\n &.loaded {\n width: auto;\n height: auto;\n display: block;\n }\n }\n &.inline {\n img {\n cursor: zoom-in;\n }\n }\n}\n</style>\n","div {\n object-fit: contain;\n}\ndiv img.loaded {\n width: auto;\n height: auto;\n display: block;\n}\ndiv.inline img {\n cursor: zoom-in;\n}\n\n/*# sourceMappingURL=InlineIMG.vue.map */"]}, media: undefined });
13896
+ inject("data-v-5484728e_0", { source: "div[data-v-5484728e]{object-fit:contain}div img.loaded[data-v-5484728e]{width:auto;height:auto;display:block}div.inline img[data-v-5484728e]{cursor:zoom-in}", map: undefined, media: undefined });
13953
13897
 
13954
13898
  };
13955
13899
  /* scoped */
13956
- const __vue_scope_id__$2 = "data-v-2f92f970";
13900
+ const __vue_scope_id__$2 = "data-v-5484728e";
13957
13901
  /* module identifier */
13958
13902
  const __vue_module_identifier__$2 = undefined;
13959
13903
  /* functional template */
@@ -14033,33 +13977,13 @@ var script$3 = {
14033
13977
  const __vue_script__$3 = script$3;
14034
13978
 
14035
13979
  /* template */
14036
- var __vue_render__$2 = function() {
14037
- var _vm = this;
14038
- var _h = _vm.$createElement;
14039
- var _c = _vm._self._c || _h;
14040
- return _c(
14041
- "div",
14042
- { staticClass: "popup-img-preview" },
14043
- [
14044
- _c("photo-swipe", {
14045
- attrs: { "is-open": true, items: _vm.items, options: _vm.options },
14046
- on: {
14047
- close: function() {
14048
- return _vm.$emit("close")
14049
- }
14050
- }
14051
- })
14052
- ],
14053
- 1
14054
- )
14055
- };
13980
+ var __vue_render__$2 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"popup-img-preview"},[_c('photo-swipe',{attrs:{"is-open":true,"items":_vm.items,"options":_vm.options},on:{"close":function () { return _vm.$emit('close'); }}})],1)};
14056
13981
  var __vue_staticRenderFns__$2 = [];
14057
- __vue_render__$2._withStripped = true;
14058
13982
 
14059
13983
  /* style */
14060
13984
  const __vue_inject_styles__$3 = function (inject) {
14061
13985
  if (!inject) return
14062
- inject("data-v-7c2a9272_0", { source: ".popup-img-preview .pswp {\n pointer-events: none;\n}\n.popup-img-preview .pswp .pswp__img {\n pointer-events: all;\n}\n.popup-img-preview .pswp__top-bar {\n display: none !important;\n}\n\n/*# sourceMappingURL=LightboxIMG.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/filePreview/common/types/IMG/LightboxIMG.vue","LightboxIMG.vue"],"names":[],"mappings":"AAoEA;EACA,oBAAA;ACnEA;ADoEA;EACA,mBAAA;AClEA;ADqEA;EACA,wBAAA;ACnEA;;AAEA,0CAA0C","file":"LightboxIMG.vue","sourcesContent":["<template>\n <div class=\"popup-img-preview\">\n <photo-swipe\n :is-open=\"true\"\n :items=\"items\"\n :options=\"options\"\n @close=\"() => $emit('close')\"\n />\n </div>\n</template>\n\n<script lang=\"js\">\nimport { PhotoSwipe } from 'v-photoswipe'\nimport base from '../base.vue'\n\nexport default {\n components: {\n PhotoSwipe,\n },\n\n extends: base,\n\n data () {\n return {\n options: {\n index: 0,\n bgOpacity: 0,\n closeOnScroll: false,\n escKey: false,\n history: false,\n arrowKeys: false,\n modal: false,\n\n closeEl: false,\n captionEl: false,\n fullscreenEl: false,\n zoomEl: false,\n shareEl: false,\n counterEl: false,\n arrowEl: false,\n preloaderEl: false,\n\n clickToCloseNonZoomable: false,\n },\n }\n },\n\n computed: {\n items () {\n const { original, preview } = this.meta\n const image = (original || preview || {}).image\n if (!image) {\n this.$emit('close')\n return []\n }\n\n return [{\n src: this.src,\n w: image.width,\n h: image.height,\n }]\n },\n },\n}\n</script>\n\n<style lang=\"scss\">\n.popup-img-preview {\n .pswp {\n pointer-events: none;\n .pswp__img {\n pointer-events: all;\n }\n }\n .pswp__top-bar {\n display: none!important;\n }\n}\n</style>\n",".popup-img-preview .pswp {\n pointer-events: none;\n}\n.popup-img-preview .pswp .pswp__img {\n pointer-events: all;\n}\n.popup-img-preview .pswp__top-bar {\n display: none !important;\n}\n\n/*# sourceMappingURL=LightboxIMG.vue.map */"]}, media: undefined });
13986
+ inject("data-v-37bb9a65_0", { source: ".popup-img-preview .pswp{pointer-events:none}.popup-img-preview .pswp .pswp__img{pointer-events:all}.popup-img-preview .pswp__top-bar{display:none!important}", map: undefined, media: undefined });
14063
13987
 
14064
13988
  };
14065
13989
  /* scoped */
@@ -70192,90 +70116,18 @@ var script$4 = {
70192
70116
  const __vue_script__$4 = script$4;
70193
70117
 
70194
70118
  /* template */
70195
- var __vue_render__$3 = function() {
70196
- var _vm = this;
70197
- var _h = _vm.$createElement;
70198
- var _c = _vm._self._c || _h;
70199
- return _c(
70200
- "div",
70201
- {
70202
- class: _vm.previewClass.concat(
70203
- ["pdf-preview"],
70204
- [_vm.inline ? "inline" : ""],
70205
- [_vm.$listeners.click ? "clickable" : ""]
70206
- ),
70207
- style: _vm.previewStyle,
70208
- on: { click: _vm.onPreviewClick }
70209
- },
70210
- [
70211
- _c("div", {
70212
- directives: [
70213
- {
70214
- name: "show",
70215
- rawName: "v-show",
70216
- value: _vm.show,
70217
- expression: "show"
70218
- }
70219
- ],
70220
- ref: "pages",
70221
- staticClass: "pages"
70222
- }),
70223
- _vm._v(" "),
70224
- _vm.loadError
70225
- ? _c("div", { staticClass: "doc-msg doc-err" }, [
70226
- _c("div", [
70227
- _c("h4", { staticClass: "err-message" }, [
70228
- _vm._v(
70229
- "\n " + _vm._s(_vm.loadError.message) + "\n "
70230
- )
70231
- ]),
70232
- _vm._v(" "),
70233
- _vm.labels.clickToRetry
70234
- ? _c("p", [
70235
- _vm._v(
70236
- "\n " +
70237
- _vm._s(_vm.labels.clickToRetry) +
70238
- "\n "
70239
- )
70240
- ])
70241
- : _vm._e()
70242
- ])
70243
- ])
70244
- : !_vm.show && _vm.labels.loading
70245
- ? _c("div", { staticClass: "doc-msg doc-err" }, [
70246
- _c("p", [_vm._v(_vm._s(_vm.labels.loading))])
70247
- ])
70248
- : !_vm.pageCount && _vm.labels.noPages
70249
- ? _c("div", { staticClass: "doc-msg doc-err" }, [
70250
- _c("p", [_vm._v(_vm._s(_vm.labels.noPages))])
70251
- ])
70252
- : [
70253
- !_vm.inline && _vm.labels.downloadForAll && _vm.show && _vm.hasMore
70254
- ? _c("div", [
70255
- _c("p", [_vm._v(_vm._s(_vm.labels.downloadForAll))])
70256
- ])
70257
- : _vm.inline && _vm.labels.firstPagePreview && _vm.show
70258
- ? _c("div", [
70259
- _c("p", [_vm._v(_vm._s(_vm.labels.firstPagePreview))])
70260
- ])
70261
- : _vm._e()
70262
- ]
70263
- ],
70264
- 2
70265
- )
70266
- };
70119
+ var __vue_render__$3 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.previewClass.concat( ['pdf-preview'], [_vm.inline ? 'inline' : ''], [_vm.$listeners.click ? 'clickable' : '']),style:(_vm.previewStyle),on:{"click":_vm.onPreviewClick}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.show),expression:"show"}],ref:"pages",staticClass:"pages"}),_vm._v(" "),(_vm.loadError)?_c('div',{staticClass:"doc-msg doc-err"},[_c('div',[_c('h4',{staticClass:"err-message"},[_vm._v("\n "+_vm._s(_vm.loadError.message)+"\n ")]),_vm._v(" "),(_vm.labels.clickToRetry)?_c('p',[_vm._v("\n "+_vm._s(_vm.labels.clickToRetry)+"\n ")]):_vm._e()])]):(!_vm.show && _vm.labels.loading)?_c('div',{staticClass:"doc-msg doc-err"},[_c('p',[_vm._v(_vm._s(_vm.labels.loading))])]):(!_vm.pageCount && _vm.labels.noPages)?_c('div',{staticClass:"doc-msg doc-err"},[_c('p',[_vm._v(_vm._s(_vm.labels.noPages))])]):[(!_vm.inline && _vm.labels.downloadForAll && _vm.show && _vm.hasMore)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.labels.downloadForAll))])]):(_vm.inline && _vm.labels.firstPagePreview && _vm.show)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.labels.firstPagePreview))])]):_vm._e()]],2)};
70267
70120
  var __vue_staticRenderFns__$3 = [];
70268
- __vue_render__$3._withStripped = true;
70269
70121
 
70270
70122
  /* style */
70271
70123
  const __vue_inject_styles__$4 = function (inject) {
70272
70124
  if (!inject) return
70273
- inject("data-v-0e0b6952_0", { source: ".doc-msg[data-v-0e0b6952] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n background-color: white;\n}\n.doc-err[data-v-0e0b6952] {\n cursor: pointer;\n}\n.doc-err .err-message[data-v-0e0b6952] {\n color: red;\n}\n\n/*# sourceMappingURL=PDF.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/filePreview/common/types/PDF/PDF.vue","PDF.vue"],"names":[],"mappings":"AA0SA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,YAAA;EACA,WAAA;EACA,uBATA;AChSA;AD2SA;EACA,eAAA;ACxSA;AD0SA;EACA,UAdA;AC1RA;;AAEA,kCAAkC","file":"PDF.vue","sourcesContent":["<template>\n <div\n :style=\"previewStyle\"\n :class=\"[...previewClass, 'pdf-preview', inline ? 'inline' : '', $listeners.click ? 'clickable' : '']\"\n @click=\"onPreviewClick\"\n >\n <!-- Container for pdf's pages -->\n <div\n v-show=\"show\"\n ref=\"pages\"\n class=\"pages\"\n />\n\n <div\n v-if=\"loadError\"\n class=\"doc-msg doc-err\"\n >\n <div>\n <h4 class=\"err-message\">\n {{ loadError.message }}\n </h4>\n <p v-if=\"labels.clickToRetry\">\n {{ labels.clickToRetry }}\n </p>\n </div>\n </div>\n <div\n v-else-if=\"!show && labels.loading\"\n class=\"doc-msg doc-err\"\n >\n <p>{{ labels.loading }}</p>\n </div>\n <div\n v-else-if=\"!pageCount && labels.noPages\"\n class=\"doc-msg doc-err\"\n >\n <p>{{ labels.noPages }}</p>\n </div>\n <template v-else>\n <div v-if=\"!inline && labels.downloadForAll && show && hasMore\">\n <p>{{ labels.downloadForAll }}</p>\n </div>\n <div v-else-if=\"inline && labels.firstPagePreview && show\">\n <p>{{ labels.firstPagePreview }}</p>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"js\">\nimport pdfjs from 'pdfjs-dist'\nimport pdfjsWorker from 'pdfjs-dist/build/pdf.worker.entry'\nimport base from '../base.vue'\nimport { makePlaceholder, makeFailedPage, Page, Document } from './helpers'\n\npdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker\n\nfunction sleep (t) {\n return new Promise(resolve => setTimeout(resolve, t))\n}\n\nexport default {\n extends: base,\n\n props: {\n retryBackoff: {\n type: Number,\n required: false,\n default: 300,\n },\n maxRetries: {\n type: Number,\n required: false,\n default: 10,\n },\n\n maxPages: {\n required: false,\n type: Number,\n default: 5,\n },\n\n initialScale: {\n required: false,\n type: Number,\n default: 1,\n },\n },\n\n data () {\n return {\n document: null,\n pages: [],\n show: false,\n loadError: undefined,\n }\n },\n\n computed: {\n /**\n * Helper to provide the number of pages for the given PDF\n * @returns {Number}\n */\n pageCount () {\n if (!this.document || !this.document.pdf) {\n return 0\n }\n return this.document.pdf.numPages\n },\n\n /**\n * Helper to determine if the given PDF has more pages then we are willing to show\n * @returns {Boolean}\n */\n hasMore () {\n return this.maxPages < this.pageCount\n },\n },\n\n created () {\n if (!this.src) {\n this.stdErr(new Error('src.missing'))\n return\n }\n\n this.$nextTick(() => this.init())\n },\n\n methods: {\n /**\n * Helper to handle on preview click. It either requests a retry or\n * emits an open event\n */\n onPreviewClick () {\n if (this.loadError) {\n this.init()\n } else {\n this.$emit('openPreview', { document: this.document })\n }\n },\n\n /**\n * Initializes the state, loads the document & renderes it's pages\n */\n async init () {\n this.document = null\n this.pages = []\n this.show = false\n this.loadError = undefined\n\n return this.loadDocument(this.src)\n .then(this.renderDocument)\n .catch(this.stdErr)\n },\n\n /**\n * Helper method to load the given document. Needed for test stubbing\n * @param {String} src Document's src\n * @returns {Promise<PDFDocumentProxy>}\n */\n async pdfjsLoad (src) {\n return pdfjs.getDocument(src).promise\n },\n\n /**\n * Loads the given PDF. It can load it from API or re-use existing document\n * @param {Document|String} src PDF's source or a Document object\n * @returns {Document}\n */\n async loadDocument (src) {\n if (src instanceof Document) {\n this.document = new Document({ ...src, scale: this.initialScale })\n } else if (typeof src === 'string') {\n let retries = 0\n let err\n const pdfl = async () => {\n return sleep(retries * this.retryBackoff)\n .then(() => this.pdfjsLoad(src))\n .then(pdf => {\n this.document = new Document({ pdf, src, scale: this.initialScale })\n })\n }\n\n // Retry with backoff it it fails to load\n while (!this.document && retries < this.maxRetries) {\n await pdfl().catch(e => {\n retries++\n err = e\n })\n }\n\n if (!this.document) {\n throw err\n }\n } else {\n throw new Error('src.notValid')\n }\n return this.document\n },\n\n /**\n * Renders the given PDF\n * @param {Document} doc The Document to render\n * @return {Promise<undefined>}\n */\n async renderDocument (doc) {\n const rf = this.$refs.pages\n\n const pgCount = Math.min(this.pageCount, this.maxPages)\n this.pages = [...new Array(pgCount)].map((_, i) => new Page({ index: i }))\n\n if (pgCount <= 0) {\n this.show = true\n return\n }\n\n // Loadup pages\n for (let i = 0; i < pgCount; i++) {\n const node = makePlaceholder(this.labels)\n rf.appendChild(node)\n this.pages.splice(i, 1, new Page({ ...this.pages[i], node, loading: true }))\n\n this.renderPage(this.pages[i], doc, rf)\n .then(page => {\n this.pages.splice(page.index, 1, page)\n\n if (page.index === 0) {\n this.show = true\n }\n })\n .catch(this.stdErr)\n }\n },\n\n /**\n * Renders the given page\n * @param {Page} page The page in question\n * @param {Document} doc Page source\n * @param {Node} rf PDF container\n * @returns {Promise<undefined>}\n */\n async renderPage (page, doc, rf) {\n // pdfjs starts with 1!\n return doc.pdf.getPage(page.index + 1).then(p => {\n const np = new Page(page)\n np.loading = false\n np.loaded = true\n np.page = p\n\n // Render page\n const canvas = document.createElement('canvas')\n const scale = doc.scale\n const viewport = np.page.getViewport(scale)\n const canvasContext = canvas.getContext('2d')\n const renderContext = { canvasContext, viewport }\n canvas.height = viewport.height\n canvas.width = viewport.width\n\n return np.page.render(renderContext).then(() => {\n np.node = canvas\n np.rendered = true\n if (this.inline) {\n canvas.classList.add('inline')\n }\n return np\n })\n\n .catch(() => {\n const node = makeFailedPage(this.labels)\n np.node = node\n np.rendered = false\n np.failed = true\n return np\n })\n\n .then(np => {\n rf.replaceChild(np.node, page.node)\n return np\n })\n })\n },\n\n /**\n * Standard error handler\n * @param {Error} err The error\n */\n stdErr (err) {\n this.loadError = err\n this.$emit('error', err)\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$white: white !default;\n$danger: red !default;\n\n.doc-msg {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n background-color: $white;\n}\n.doc-err {\n cursor: pointer;\n\n .err-message {\n color: $danger;\n }\n}\n\n</style>\n\n<style lang=\"scss\">\n// Style not scoped, since pages are manually rendered\n\n.pdf-preview {\n text-align: center;\n &:not(.inline) {\n padding-top: 20px;\n padding-bottom: 20px;\n canvas {\n box-shadow: 0 0 3px #1E1E1E41;\n }\n }\n &.inline {\n height: 200px;\n overflow-y: scroll;\n display: inline-block;\n cursor: zoom-in;\n width: 100%;\n max-width: 500px;\n }\n\n canvas {\n margin-bottom: 10px;\n &.inline {\n width: 100%;\n }\n\n &:not(.inline) {\n margin: 0 auto 10px auto;\n display: block;\n }\n\n &:last-of-type {\n margin-bottom: unset;\n }\n }\n\n .loader {\n margin-bottom: 10px;\n }\n}\n\n</style>\n",".doc-msg {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n background-color: white;\n}\n\n.doc-err {\n cursor: pointer;\n}\n.doc-err .err-message {\n color: red;\n}\n\n/*# sourceMappingURL=PDF.vue.map */"]}, media: undefined })
70274
- ,inject("data-v-0e0b6952_1", { source: ".pdf-preview {\n text-align: center;\n}\n.pdf-preview:not(.inline) {\n padding-top: 20px;\n padding-bottom: 20px;\n}\n.pdf-preview:not(.inline) canvas {\n box-shadow: 0 0 3px #1E1E1E41;\n}\n.pdf-preview.inline {\n height: 200px;\n overflow-y: scroll;\n display: inline-block;\n cursor: zoom-in;\n width: 100%;\n max-width: 500px;\n}\n.pdf-preview canvas {\n margin-bottom: 10px;\n}\n.pdf-preview canvas.inline {\n width: 100%;\n}\n.pdf-preview canvas:not(.inline) {\n margin: 0 auto 10px auto;\n display: block;\n}\n.pdf-preview canvas:last-of-type {\n margin-bottom: unset;\n}\n.pdf-preview .loader {\n margin-bottom: 10px;\n}\n\n/*# sourceMappingURL=PDF.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/filePreview/common/types/PDF/PDF.vue","PDF.vue"],"names":[],"mappings":"AA+TA;EACA,kBAAA;AC9TA;AD+TA;EACA,iBAAA;EACA,oBAAA;AC7TA;AD8TA;EACA,6BAAA;AC5TA;AD+TA;EACA,aAAA;EACA,kBAAA;EACA,qBAAA;EACA,eAAA;EACA,WAAA;EACA,gBAAA;AC7TA;ADgUA;EACA,mBAAA;AC9TA;AD+TA;EACA,WAAA;AC7TA;ADgUA;EACA,wBAAA;EACA,cAAA;AC9TA;ADiUA;EACA,oBAAA;AC/TA;ADmUA;EACA,mBAAA;ACjUA;;AAEA,kCAAkC","file":"PDF.vue","sourcesContent":["<template>\n <div\n :style=\"previewStyle\"\n :class=\"[...previewClass, 'pdf-preview', inline ? 'inline' : '', $listeners.click ? 'clickable' : '']\"\n @click=\"onPreviewClick\"\n >\n <!-- Container for pdf's pages -->\n <div\n v-show=\"show\"\n ref=\"pages\"\n class=\"pages\"\n />\n\n <div\n v-if=\"loadError\"\n class=\"doc-msg doc-err\"\n >\n <div>\n <h4 class=\"err-message\">\n {{ loadError.message }}\n </h4>\n <p v-if=\"labels.clickToRetry\">\n {{ labels.clickToRetry }}\n </p>\n </div>\n </div>\n <div\n v-else-if=\"!show && labels.loading\"\n class=\"doc-msg doc-err\"\n >\n <p>{{ labels.loading }}</p>\n </div>\n <div\n v-else-if=\"!pageCount && labels.noPages\"\n class=\"doc-msg doc-err\"\n >\n <p>{{ labels.noPages }}</p>\n </div>\n <template v-else>\n <div v-if=\"!inline && labels.downloadForAll && show && hasMore\">\n <p>{{ labels.downloadForAll }}</p>\n </div>\n <div v-else-if=\"inline && labels.firstPagePreview && show\">\n <p>{{ labels.firstPagePreview }}</p>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"js\">\nimport pdfjs from 'pdfjs-dist'\nimport pdfjsWorker from 'pdfjs-dist/build/pdf.worker.entry'\nimport base from '../base.vue'\nimport { makePlaceholder, makeFailedPage, Page, Document } from './helpers'\n\npdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker\n\nfunction sleep (t) {\n return new Promise(resolve => setTimeout(resolve, t))\n}\n\nexport default {\n extends: base,\n\n props: {\n retryBackoff: {\n type: Number,\n required: false,\n default: 300,\n },\n maxRetries: {\n type: Number,\n required: false,\n default: 10,\n },\n\n maxPages: {\n required: false,\n type: Number,\n default: 5,\n },\n\n initialScale: {\n required: false,\n type: Number,\n default: 1,\n },\n },\n\n data () {\n return {\n document: null,\n pages: [],\n show: false,\n loadError: undefined,\n }\n },\n\n computed: {\n /**\n * Helper to provide the number of pages for the given PDF\n * @returns {Number}\n */\n pageCount () {\n if (!this.document || !this.document.pdf) {\n return 0\n }\n return this.document.pdf.numPages\n },\n\n /**\n * Helper to determine if the given PDF has more pages then we are willing to show\n * @returns {Boolean}\n */\n hasMore () {\n return this.maxPages < this.pageCount\n },\n },\n\n created () {\n if (!this.src) {\n this.stdErr(new Error('src.missing'))\n return\n }\n\n this.$nextTick(() => this.init())\n },\n\n methods: {\n /**\n * Helper to handle on preview click. It either requests a retry or\n * emits an open event\n */\n onPreviewClick () {\n if (this.loadError) {\n this.init()\n } else {\n this.$emit('openPreview', { document: this.document })\n }\n },\n\n /**\n * Initializes the state, loads the document & renderes it's pages\n */\n async init () {\n this.document = null\n this.pages = []\n this.show = false\n this.loadError = undefined\n\n return this.loadDocument(this.src)\n .then(this.renderDocument)\n .catch(this.stdErr)\n },\n\n /**\n * Helper method to load the given document. Needed for test stubbing\n * @param {String} src Document's src\n * @returns {Promise<PDFDocumentProxy>}\n */\n async pdfjsLoad (src) {\n return pdfjs.getDocument(src).promise\n },\n\n /**\n * Loads the given PDF. It can load it from API or re-use existing document\n * @param {Document|String} src PDF's source or a Document object\n * @returns {Document}\n */\n async loadDocument (src) {\n if (src instanceof Document) {\n this.document = new Document({ ...src, scale: this.initialScale })\n } else if (typeof src === 'string') {\n let retries = 0\n let err\n const pdfl = async () => {\n return sleep(retries * this.retryBackoff)\n .then(() => this.pdfjsLoad(src))\n .then(pdf => {\n this.document = new Document({ pdf, src, scale: this.initialScale })\n })\n }\n\n // Retry with backoff it it fails to load\n while (!this.document && retries < this.maxRetries) {\n await pdfl().catch(e => {\n retries++\n err = e\n })\n }\n\n if (!this.document) {\n throw err\n }\n } else {\n throw new Error('src.notValid')\n }\n return this.document\n },\n\n /**\n * Renders the given PDF\n * @param {Document} doc The Document to render\n * @return {Promise<undefined>}\n */\n async renderDocument (doc) {\n const rf = this.$refs.pages\n\n const pgCount = Math.min(this.pageCount, this.maxPages)\n this.pages = [...new Array(pgCount)].map((_, i) => new Page({ index: i }))\n\n if (pgCount <= 0) {\n this.show = true\n return\n }\n\n // Loadup pages\n for (let i = 0; i < pgCount; i++) {\n const node = makePlaceholder(this.labels)\n rf.appendChild(node)\n this.pages.splice(i, 1, new Page({ ...this.pages[i], node, loading: true }))\n\n this.renderPage(this.pages[i], doc, rf)\n .then(page => {\n this.pages.splice(page.index, 1, page)\n\n if (page.index === 0) {\n this.show = true\n }\n })\n .catch(this.stdErr)\n }\n },\n\n /**\n * Renders the given page\n * @param {Page} page The page in question\n * @param {Document} doc Page source\n * @param {Node} rf PDF container\n * @returns {Promise<undefined>}\n */\n async renderPage (page, doc, rf) {\n // pdfjs starts with 1!\n return doc.pdf.getPage(page.index + 1).then(p => {\n const np = new Page(page)\n np.loading = false\n np.loaded = true\n np.page = p\n\n // Render page\n const canvas = document.createElement('canvas')\n const scale = doc.scale\n const viewport = np.page.getViewport(scale)\n const canvasContext = canvas.getContext('2d')\n const renderContext = { canvasContext, viewport }\n canvas.height = viewport.height\n canvas.width = viewport.width\n\n return np.page.render(renderContext).then(() => {\n np.node = canvas\n np.rendered = true\n if (this.inline) {\n canvas.classList.add('inline')\n }\n return np\n })\n\n .catch(() => {\n const node = makeFailedPage(this.labels)\n np.node = node\n np.rendered = false\n np.failed = true\n return np\n })\n\n .then(np => {\n rf.replaceChild(np.node, page.node)\n return np\n })\n })\n },\n\n /**\n * Standard error handler\n * @param {Error} err The error\n */\n stdErr (err) {\n this.loadError = err\n this.$emit('error', err)\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$white: white !default;\n$danger: red !default;\n\n.doc-msg {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n background-color: $white;\n}\n.doc-err {\n cursor: pointer;\n\n .err-message {\n color: $danger;\n }\n}\n\n</style>\n\n<style lang=\"scss\">\n// Style not scoped, since pages are manually rendered\n\n.pdf-preview {\n text-align: center;\n &:not(.inline) {\n padding-top: 20px;\n padding-bottom: 20px;\n canvas {\n box-shadow: 0 0 3px #1E1E1E41;\n }\n }\n &.inline {\n height: 200px;\n overflow-y: scroll;\n display: inline-block;\n cursor: zoom-in;\n width: 100%;\n max-width: 500px;\n }\n\n canvas {\n margin-bottom: 10px;\n &.inline {\n width: 100%;\n }\n\n &:not(.inline) {\n margin: 0 auto 10px auto;\n display: block;\n }\n\n &:last-of-type {\n margin-bottom: unset;\n }\n }\n\n .loader {\n margin-bottom: 10px;\n }\n}\n\n</style>\n",".pdf-preview {\n text-align: center;\n}\n.pdf-preview:not(.inline) {\n padding-top: 20px;\n padding-bottom: 20px;\n}\n.pdf-preview:not(.inline) canvas {\n box-shadow: 0 0 3px #1E1E1E41;\n}\n.pdf-preview.inline {\n height: 200px;\n overflow-y: scroll;\n display: inline-block;\n cursor: zoom-in;\n width: 100%;\n max-width: 500px;\n}\n.pdf-preview canvas {\n margin-bottom: 10px;\n}\n.pdf-preview canvas.inline {\n width: 100%;\n}\n.pdf-preview canvas:not(.inline) {\n margin: 0 auto 10px auto;\n display: block;\n}\n.pdf-preview canvas:last-of-type {\n margin-bottom: unset;\n}\n.pdf-preview .loader {\n margin-bottom: 10px;\n}\n\n/*# sourceMappingURL=PDF.vue.map */"]}, media: undefined });
70125
+ inject("data-v-0fb1847f_0", { source: ".doc-msg[data-v-0fb1847f]{display:flex;align-items:center;justify-content:center;height:100%;width:100%;background-color:#fff}.doc-err[data-v-0fb1847f]{cursor:pointer}.doc-err .err-message[data-v-0fb1847f]{color:red}", map: undefined, media: undefined })
70126
+ ,inject("data-v-0fb1847f_1", { source: ".pdf-preview{text-align:center}.pdf-preview:not(.inline){padding-top:20px;padding-bottom:20px}.pdf-preview:not(.inline) canvas{box-shadow:0 0 3px #1e1E1E41}.pdf-preview.inline{height:200px;overflow-y:scroll;display:inline-block;cursor:zoom-in;width:100%;max-width:500px}.pdf-preview canvas{margin-bottom:10px}.pdf-preview canvas.inline{width:100%}.pdf-preview canvas:not(.inline){margin:0 auto 10px auto;display:block}.pdf-preview canvas:last-of-type{margin-bottom:unset}.pdf-preview .loader{margin-bottom:10px}", map: undefined, media: undefined });
70275
70127
 
70276
70128
  };
70277
70129
  /* scoped */
70278
- const __vue_scope_id__$4 = "data-v-0e0b6952";
70130
+ const __vue_scope_id__$4 = "data-v-0fb1847f";
70279
70131
  /* module identifier */
70280
70132
  const __vue_module_identifier__$4 = undefined;
70281
70133
  /* functional template */
@@ -70302,51 +70154,17 @@ __vue_render__$3._withStripped = true;
70302
70154
  /* script */
70303
70155
 
70304
70156
  /* template */
70305
- var __vue_render__$4 = function() {
70306
- var _vm = this;
70307
- var _h = _vm.$createElement;
70308
- var _c = _vm._self._c || _h;
70309
- return _c("div", { staticClass: "lightbox" }, [
70310
- _c("header", [
70311
- _c("div", { staticClass: "left" }, [_vm._t("header.left")], 2),
70312
- _vm._v(" "),
70313
- _c(
70314
- "div",
70315
- { staticClass: "right" },
70316
- [
70317
- _vm._t("header.right"),
70318
- _vm._v(" "),
70319
- _c(
70320
- "button",
70321
- {
70322
- staticClass: "closer",
70323
- on: {
70324
- click: function($event) {
70325
- return _vm.$emit("close")
70326
- }
70327
- }
70328
- },
70329
- [_vm._v("\n ×\n ")]
70330
- )
70331
- ],
70332
- 2
70333
- )
70334
- ]),
70335
- _vm._v(" "),
70336
- _c("main", [_vm._t("main")], 2)
70337
- ])
70338
- };
70157
+ var __vue_render__$4 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"lightbox"},[_c('header',[_c('div',{staticClass:"left"},[_vm._t("header.left")],2),_vm._v(" "),_c('div',{staticClass:"right"},[_vm._t("header.right"),_vm._v(" "),_c('button',{staticClass:"closer",on:{"click":function($event){return _vm.$emit('close')}}},[_vm._v("\n ×\n ")])],2)]),_vm._v(" "),_c('main',[_vm._t("main")],2)])};
70339
70158
  var __vue_staticRenderFns__$4 = [];
70340
- __vue_render__$4._withStripped = true;
70341
70159
 
70342
70160
  /* style */
70343
70161
  const __vue_inject_styles__$5 = function (inject) {
70344
70162
  if (!inject) return
70345
- inject("data-v-5950f2a0_0", { source: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* Temporary style; update when messaging is updated with bootstrap */\n.lightbox[data-v-5950f2a0] {\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n\n background-color: #EEF1F3;\n z-index: 2000;\n}\n.lightbox header[data-v-5950f2a0] {\n display: flex;\n justify-content: space-between;\n background-color: #FFFFFF;\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n box-shadow: 0 0 3px #1E1E1E41;\n z-index: 1000;\n height: 50px;\n}\n.lightbox header .left[data-v-5950f2a0] {\n margin-left: 10px;\n}\n.lightbox header .right[data-v-5950f2a0] {\n margin-right: 10px;\n}\n.lightbox header > div[data-v-5950f2a0] {\n display: flex;\n align-items: center;\n}\n.lightbox main[data-v-5950f2a0] {\n position: absolute;\n top: 50px;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: scroll;\n z-index: 1;\n}\n.lightbox header button[data-v-5950f2a0] {\n background-color: transparent;\n border: none;\n outline: none;\n font-size: 25px;\n font-weight: bold;\n margin: 10px;\n cursor: pointer;\n box-sizing: border-box;\n}\n.lightbox header button[data-v-5950f2a0]:last-of-type {\n margin-right: 0;\n}\n\n", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/lightbox/CLightbox.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuBA,qEAAA;AAEA;EACA,eAAA;EACA,OAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;;EAEA,yBAAA;EACA,aAAA;AACA;AAEA;EACA,aAAA;EACA,8BAAA;EACA,yBAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;EACA,QAAA;EACA,6BAAA;EACA,aAAA;EACA,YAAA;AACA;AAEA;EACA,iBAAA;AACA;AACA;EACA,kBAAA;AACA;AAEA;EACA,aAAA;EACA,mBAAA;AACA;AAEA;EACA,kBAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,kBAAA;EACA,UAAA;AACA;AAEA;EACA,6BAAA;EACA,YAAA;EACA,aAAA;EACA,eAAA;EACA,iBAAA;EACA,YAAA;EACA,eAAA;EACA,sBAAA;AACA;AAEA;EACA,eAAA;AACA","file":"CLightbox.vue","sourcesContent":["<template>\n <div class=\"lightbox\">\n <header>\n <div class=\"left\">\n <slot name=\"header.left\" />\n </div>\n <div class=\"right\">\n <slot name=\"header.right\" />\n <button\n class=\"closer\"\n @click=\"$emit('close')\"\n >\n &times;\n </button>\n </div>\n </header>\n <main>\n <slot name=\"main\" />\n </main>\n </div>\n</template>\n\n<style scoped>\n/* Temporary style; update when messaging is updated with bootstrap */\n\n.lightbox {\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n\n background-color: #EEF1F3;\n z-index: 2000;\n}\n\n.lightbox header {\n display: flex;\n justify-content: space-between;\n background-color: #FFFFFF;\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n box-shadow: 0 0 3px #1E1E1E41;\n z-index: 1000;\n height: 50px;\n}\n\n.lightbox header .left {\n margin-left: 10px;\n}\n.lightbox header .right {\n margin-right: 10px;\n}\n\n.lightbox header > div {\n display: flex;\n align-items: center;\n}\n\n.lightbox main {\n position: absolute;\n top: 50px;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: scroll;\n z-index: 1;\n}\n\n.lightbox header button {\n background-color: transparent;\n border: none;\n outline: none;\n font-size: 25px;\n font-weight: bold;\n margin: 10px;\n cursor: pointer;\n box-sizing: border-box;\n}\n\n.lightbox header button:last-of-type {\n margin-right: 0;\n}\n\n</style>\n"]}, media: undefined });
70163
+ inject("data-v-30782d92_0", { source: ".lightbox[data-v-30782d92]{position:fixed;left:0;top:0;right:0;bottom:0;background-color:#eef1f3;z-index:2000}.lightbox header[data-v-30782d92]{display:flex;justify-content:space-between;background-color:#fff;position:absolute;left:0;top:0;right:0;box-shadow:0 0 3px #1e1E1E41;z-index:1000;height:50px}.lightbox header .left[data-v-30782d92]{margin-left:10px}.lightbox header .right[data-v-30782d92]{margin-right:10px}.lightbox header>div[data-v-30782d92]{display:flex;align-items:center}.lightbox main[data-v-30782d92]{position:absolute;top:50px;left:0;right:0;bottom:0;overflow-y:scroll;z-index:1}.lightbox header button[data-v-30782d92]{background-color:transparent;border:none;outline:0;font-size:25px;font-weight:700;margin:10px;cursor:pointer;box-sizing:border-box}.lightbox header button[data-v-30782d92]:last-of-type{margin-right:0}", map: undefined, media: undefined });
70346
70164
 
70347
70165
  };
70348
70166
  /* scoped */
70349
- const __vue_scope_id__$5 = "data-v-5950f2a0";
70167
+ const __vue_scope_id__$5 = "data-v-30782d92";
70350
70168
  /* module identifier */
70351
70169
  const __vue_module_identifier__$5 = undefined;
70352
70170
  /* functional template */
@@ -70501,51 +70319,8 @@ var script$6 = {
70501
70319
  const __vue_script__$6 = script$6;
70502
70320
 
70503
70321
  /* template */
70504
- var __vue_render__$5 = function() {
70505
- var _vm = this;
70506
- var _h = _vm.$createElement;
70507
- var _c = _vm._self._c || _h;
70508
- return _c(
70509
- "c-lightbox",
70510
- _vm._g(
70511
- {
70512
- scopedSlots: _vm._u(
70513
- [
70514
- _vm._l(_vm.$scopedSlots, function(_, slot) {
70515
- return {
70516
- key: slot,
70517
- fn: function(scope) {
70518
- return [_vm._t(slot, null, null, scope)]
70519
- }
70520
- }
70521
- })
70522
- ],
70523
- null,
70524
- true
70525
- )
70526
- },
70527
- _vm.$listeners
70528
- ),
70529
- [
70530
- _vm._v(" "),
70531
- _c(
70532
- _vm.previewType,
70533
- _vm._g(
70534
- _vm._b(
70535
- { tag: "component", attrs: { slot: "main" }, slot: "main" },
70536
- "component",
70537
- _vm.$attrs,
70538
- false
70539
- ),
70540
- _vm.$listeners
70541
- )
70542
- )
70543
- ],
70544
- 1
70545
- )
70546
- };
70322
+ var __vue_render__$5 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('c-lightbox',_vm._g({scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(_,slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}})],null,true)},_vm.$listeners),[_vm._v(" "),_c(_vm.previewType,_vm._g(_vm._b({tag:"component",attrs:{"slot":"main"},slot:"main"},'component',_vm.$attrs,false),_vm.$listeners))],1)};
70547
70323
  var __vue_staticRenderFns__$5 = [];
70548
- __vue_render__$5._withStripped = true;
70549
70324
 
70550
70325
  /* style */
70551
70326
  const __vue_inject_styles__$7 = undefined;
@@ -70588,40 +70363,8 @@ var script$7 = {
70588
70363
  const __vue_script__$7 = script$7;
70589
70364
 
70590
70365
  /* template */
70591
- var __vue_render__$6 = function() {
70592
- var _vm = this;
70593
- var _h = _vm.$createElement;
70594
- var _c = _vm._self._c || _h;
70595
- return _c("div", { staticClass: "inline" }, [
70596
- _c(
70597
- "main",
70598
- [
70599
- _c(
70600
- _vm.previewType,
70601
- _vm._g(
70602
- _vm._b(
70603
- {
70604
- tag: "component",
70605
- attrs: {
70606
- "max-pages": 1,
70607
- inline: _vm.inline,
70608
- "initial-scale": 1.5
70609
- }
70610
- },
70611
- "component",
70612
- _vm.$attrs,
70613
- false
70614
- ),
70615
- _vm.$listeners
70616
- )
70617
- )
70618
- ],
70619
- 1
70620
- )
70621
- ])
70622
- };
70366
+ var __vue_render__$6 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"inline"},[_c('main',[_c(_vm.previewType,_vm._g(_vm._b({tag:"component",attrs:{"max-pages":1,"inline":_vm.inline,"initial-scale":1.5}},'component',_vm.$attrs,false),_vm.$listeners))],1)])};
70623
70367
  var __vue_staticRenderFns__$6 = [];
70624
- __vue_render__$6._withStripped = true;
70625
70368
 
70626
70369
  /* style */
70627
70370
  const __vue_inject_styles__$8 = undefined;
@@ -70720,116 +70463,8 @@ var script$8 = {
70720
70463
  const __vue_script__$8 = script$8;
70721
70464
 
70722
70465
  /* template */
70723
- var __vue_render__$7 = function() {
70724
- var _vm = this;
70725
- var _h = _vm.$createElement;
70726
- var _c = _vm._self._c || _h;
70727
- return _c("span", { staticClass: "text-center" }, [
70728
- !_vm.inConfirmation
70729
- ? _c(
70730
- "span",
70731
- [
70732
- _c(
70733
- "b-button",
70734
- {
70735
- class:
70736
- _vm.buttonClass + " " + (_vm.borderless ? "border-0" : ""),
70737
- attrs: {
70738
- variant: _vm.variant,
70739
- size: _vm.size,
70740
- disabled: _vm.disabled
70741
- },
70742
- on: {
70743
- click: function($event) {
70744
- $event.preventDefault();
70745
- return _vm.onPrompt.apply(null, arguments)
70746
- }
70747
- }
70748
- },
70749
- [
70750
- _vm._t("default", function() {
70751
- return [
70752
- _c("font-awesome-icon", {
70753
- attrs: { icon: ["far", "trash-alt"] }
70754
- })
70755
- ]
70756
- })
70757
- ],
70758
- 2
70759
- )
70760
- ],
70761
- 1
70762
- )
70763
- : _c(
70764
- "span",
70765
- [
70766
- _c(
70767
- "b-button",
70768
- {
70769
- staticClass: "mr-1",
70770
- class: [_vm.borderless && "border-0"],
70771
- attrs: {
70772
- variant: _vm.variantOk,
70773
- size: _vm.sizeConfirm,
70774
- disabled: _vm.okDisabled
70775
- },
70776
- on: {
70777
- blur: function($event) {
70778
- $event.preventDefault();
70779
- return _vm.onCancel()
70780
- },
70781
- click: function($event) {
70782
- $event.preventDefault();
70783
- return _vm.onConfirmation()
70784
- }
70785
- }
70786
- },
70787
- [
70788
- _vm._t("yes", function() {
70789
- return [
70790
- _c("font-awesome-icon", {
70791
- attrs: { icon: ["fas", "check"] }
70792
- })
70793
- ]
70794
- })
70795
- ],
70796
- 2
70797
- ),
70798
- _vm._v(" "),
70799
- _c(
70800
- "b-button",
70801
- {
70802
- class: [_vm.borderless && "border-0"],
70803
- attrs: {
70804
- variant: _vm.variantCancel,
70805
- size: _vm.sizeConfirm,
70806
- disabled: _vm.cancelDisabled
70807
- },
70808
- on: {
70809
- click: function($event) {
70810
- $event.preventDefault();
70811
- return _vm.onCancel()
70812
- }
70813
- }
70814
- },
70815
- [
70816
- _vm._t("no", function() {
70817
- return [
70818
- _c("font-awesome-icon", {
70819
- attrs: { icon: ["fas", "times"] }
70820
- })
70821
- ]
70822
- })
70823
- ],
70824
- 2
70825
- )
70826
- ],
70827
- 1
70828
- )
70829
- ])
70830
- };
70466
+ var __vue_render__$7 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:"text-center"},[(!_vm.inConfirmation)?_c('span',[_c('b-button',{class:(_vm.buttonClass + " " + (_vm.borderless ? 'border-0' : '')),attrs:{"variant":_vm.variant,"size":_vm.size,"disabled":_vm.disabled},on:{"click":function($event){$event.preventDefault();return _vm.onPrompt.apply(null, arguments)}}},[_vm._t("default",function(){return [_c('font-awesome-icon',{attrs:{"icon":['far', 'trash-alt']}})]})],2)],1):_c('span',[_c('b-button',{staticClass:"mr-1",class:[ _vm.borderless && 'border-0' ],attrs:{"variant":_vm.variantOk,"size":_vm.sizeConfirm,"disabled":_vm.okDisabled},on:{"blur":function($event){$event.preventDefault();return _vm.onCancel()},"click":function($event){$event.preventDefault();return _vm.onConfirmation()}}},[_vm._t("yes",function(){return [_c('font-awesome-icon',{attrs:{"icon":['fas', 'check']}})]})],2),_vm._v(" "),_c('b-button',{class:[ _vm.borderless && 'border-0' ],attrs:{"variant":_vm.variantCancel,"size":_vm.sizeConfirm,"disabled":_vm.cancelDisabled},on:{"click":function($event){$event.preventDefault();return _vm.onCancel()}}},[_vm._t("no",function(){return [_c('font-awesome-icon',{attrs:{"icon":['fas', 'times']}})]})],2)],1)])};
70831
70467
  var __vue_staticRenderFns__$7 = [];
70832
- __vue_render__$7._withStripped = true;
70833
70468
 
70834
70469
  /* style */
70835
70470
  const __vue_inject_styles__$9 = undefined;
@@ -70903,38 +70538,8 @@ var script$9 = {
70903
70538
  const __vue_script__$9 = script$9;
70904
70539
 
70905
70540
  /* template */
70906
- var __vue_render__$8 = function() {
70907
- var _vm = this;
70908
- var _h = _vm.$createElement;
70909
- var _c = _vm._self._c || _h;
70910
- return _c(
70911
- "b-button",
70912
- _vm._g(
70913
- {
70914
- staticClass: "d-inline-flex align-items-center justify-content-center",
70915
- attrs: {
70916
- variant: _vm.variant,
70917
- disabled: _vm.disabled || _vm.processing,
70918
- size: _vm.size
70919
- }
70920
- },
70921
- _vm.$listeners
70922
- ),
70923
- [
70924
- _vm._t("default"),
70925
- _vm._v(" "),
70926
- _vm.processing
70927
- ? _c("b-spinner", {
70928
- staticClass: "ml-1",
70929
- attrs: { processing: _vm.processing, small: "" }
70930
- })
70931
- : _vm._e()
70932
- ],
70933
- 2
70934
- )
70935
- };
70541
+ var __vue_render__$8 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-button',_vm._g({staticClass:"d-inline-flex align-items-center justify-content-center",attrs:{"variant":_vm.variant,"disabled":_vm.disabled || _vm.processing,"size":_vm.size}},_vm.$listeners),[_vm._t("default"),_vm._v(" "),(_vm.processing)?_c('b-spinner',{staticClass:"ml-1",attrs:{"processing":_vm.processing,"small":""}}):_vm._e()],2)};
70936
70542
  var __vue_staticRenderFns__$8 = [];
70937
- __vue_render__$8._withStripped = true;
70938
70543
 
70939
70544
  /* style */
70940
70545
  const __vue_inject_styles__$a = undefined;
@@ -71134,47 +70739,8 @@ var script$b = {
71134
70739
  const __vue_script__$b = script$b;
71135
70740
 
71136
70741
  /* template */
71137
- var __vue_render__$9 = function() {
71138
- var _vm = this;
71139
- var _h = _vm.$createElement;
71140
- var _c = _vm._self._c || _h;
71141
- return _c(
71142
- "b-form-group",
71143
- { attrs: { label: _vm.label } },
71144
- [
71145
- !_vm.noDate
71146
- ? _c("b-form-input", {
71147
- staticClass: "d-inline w-50",
71148
- attrs: { type: "date" },
71149
- model: {
71150
- value: _vm.date,
71151
- callback: function($$v) {
71152
- _vm.date = $$v;
71153
- },
71154
- expression: "date"
71155
- }
71156
- })
71157
- : _vm._e(),
71158
- _vm._v(" "),
71159
- !_vm.noTime
71160
- ? _c("b-form-input", {
71161
- staticClass: "d-inline w-50",
71162
- attrs: { type: "time" },
71163
- model: {
71164
- value: _vm.time,
71165
- callback: function($$v) {
71166
- _vm.time = $$v;
71167
- },
71168
- expression: "time"
71169
- }
71170
- })
71171
- : _vm._e()
71172
- ],
71173
- 1
71174
- )
71175
- };
70742
+ var __vue_render__$9 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',{attrs:{"label":_vm.label}},[(!_vm.noDate)?_c('b-form-input',{staticClass:"d-inline w-50",attrs:{"type":"date"},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v;},expression:"date"}}):_vm._e(),_vm._v(" "),(!_vm.noTime)?_c('b-form-input',{staticClass:"d-inline w-50",attrs:{"type":"time"},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v;},expression:"time"}}):_vm._e()],1)};
71176
70743
  var __vue_staticRenderFns__$9 = [];
71177
- __vue_render__$9._withStripped = true;
71178
70744
 
71179
70745
  /* style */
71180
70746
  const __vue_inject_styles__$c = undefined;
@@ -71255,46 +70821,8 @@ var script$c = {
71255
70821
  const __vue_script__$c = script$c;
71256
70822
 
71257
70823
  /* template */
71258
- var __vue_render__$a = function() {
71259
- var _vm = this;
71260
- var _h = _vm.$createElement;
71261
- var _c = _vm._self._c || _h;
71262
- return _c(
71263
- "b-form-group",
71264
- { attrs: { label: _vm.label } },
71265
- [
71266
- _c("b-form-select", {
71267
- staticClass: "d-inline",
71268
- class: { "w-50": !_vm.simple },
71269
- attrs: { options: _vm.cOptions },
71270
- model: {
71271
- value: _vm.cValue,
71272
- callback: function($$v) {
71273
- _vm.cValue = $$v;
71274
- },
71275
- expression: "cValue"
71276
- }
71277
- }),
71278
- _vm._v(" "),
71279
- !_vm.simple
71280
- ? _c("b-form-input", {
71281
- staticClass: "d-inline w-50",
71282
- attrs: { type: "text" },
71283
- model: {
71284
- value: _vm.cValue,
71285
- callback: function($$v) {
71286
- _vm.cValue = $$v;
71287
- },
71288
- expression: "cValue"
71289
- }
71290
- })
71291
- : _vm._e()
71292
- ],
71293
- 1
71294
- )
71295
- };
70824
+ var __vue_render__$a = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',{attrs:{"label":_vm.label}},[_c('b-form-select',{staticClass:"d-inline",class:{ 'w-50': !_vm.simple },attrs:{"options":_vm.cOptions},model:{value:(_vm.cValue),callback:function ($$v) {_vm.cValue=$$v;},expression:"cValue"}}),_vm._v(" "),(!_vm.simple)?_c('b-form-input',{staticClass:"d-inline w-50",attrs:{"type":"text"},model:{value:(_vm.cValue),callback:function ($$v) {_vm.cValue=$$v;},expression:"cValue"}}):_vm._e()],1)};
71296
70825
  var __vue_staticRenderFns__$a = [];
71297
- __vue_render__$a._withStripped = true;
71298
70826
 
71299
70827
  /* style */
71300
70828
  const __vue_inject_styles__$d = undefined;
@@ -71438,68 +70966,18 @@ var script$e = {
71438
70966
  const __vue_script__$e = script$e;
71439
70967
 
71440
70968
  /* template */
71441
- var __vue_render__$b = function() {
71442
- var _vm = this;
71443
- var _h = _vm.$createElement;
71444
- var _c = _vm._self._c || _h;
71445
- return _c(
71446
- "div",
71447
- [
71448
- _c(
71449
- "b-button",
71450
- {
71451
- staticClass: "text-dark font-weight-bold text-decoration-none",
71452
- attrs: { variant: "link", id: "color-popover-" + _vm.format.type }
71453
- },
71454
- [
71455
- _c("span", { staticClass: "icon", class: _vm.typeStyle }, [
71456
- _vm._v("A")
71457
- ])
71458
- ]
71459
- ),
71460
- _vm._v(" "),
71461
- _c(
71462
- "b-popover",
71463
- {
71464
- ref: "popover",
71465
- attrs: {
71466
- delay: 0,
71467
- "no-fade": "",
71468
- "custom-class": "tcl-popover",
71469
- triggers: "focus",
71470
- target: "color-popover-" + _vm.format.type,
71471
- placement: "bottom",
71472
- container: null
71473
- }
71474
- },
71475
- [
71476
- _c("swatches", {
71477
- attrs: { "swatch-size": "14", colors: "text-advanced", inline: "" },
71478
- on: {
71479
- input: function($event) {
71480
- return _vm.onClick(_vm.format.type, { color: $event })
71481
- }
71482
- }
71483
- })
71484
- ],
71485
- 1
71486
- )
71487
- ],
71488
- 1
71489
- )
71490
- };
70969
+ var __vue_render__$b = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-button',{staticClass:"text-dark font-weight-bold text-decoration-none",attrs:{"variant":"link","id":("color-popover-" + (_vm.format.type))}},[_c('span',{staticClass:"icon",class:_vm.typeStyle},[_vm._v("A")])]),_vm._v(" "),_c('b-popover',{ref:"popover",attrs:{"delay":0,"no-fade":"","custom-class":"tcl-popover","triggers":"focus","target":("color-popover-" + (_vm.format.type)),"placement":"bottom","container":null}},[_c('swatches',{attrs:{"swatch-size":"14","colors":"text-advanced","inline":""},on:{"input":function($event){return _vm.onClick(_vm.format.type, { color: $event })}}})],1)],1)};
71491
70970
  var __vue_staticRenderFns__$b = [];
71492
- __vue_render__$b._withStripped = true;
71493
70971
 
71494
70972
  /* style */
71495
70973
  const __vue_inject_styles__$f = function (inject) {
71496
70974
  if (!inject) return
71497
- inject("data-v-bfd7c2ee_0", { source: ".icon[data-v-bfd7c2ee] {\n padding: 0 2px;\n}\n.icon.color-icon[data-v-bfd7c2ee] {\n border-bottom: 1px solid black;\n}\n.icon.background-icon[data-v-bfd7c2ee] {\n background-color: rgba(0, 0, 0, 0.07);\n padding: 2px 3px;\n}\n\n/*# sourceMappingURL=Color.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/input/CRichTextInput/RToolbar/TMark/Color.vue","Color.vue"],"names":[],"mappings":"AA8DA;EACA,cAAA;AC7DA;AD+DA;EACA,8BAAA;AC7DA;ADgEA;EACA,qCAAA;EACA,gBAAA;AC9DA;;AAEA,oCAAoC","file":"Color.vue","sourcesContent":["<template>\n <div>\n <b-button\n variant=\"link\"\n class=\"text-dark font-weight-bold text-decoration-none\"\n :id=\"`color-popover-${format.type}`\">\n\n <span\n class=\"icon\"\n :class=\"typeStyle\">A</span>\n\n </b-button>\n\n <b-popover\n :delay=\"0\"\n no-fade\n custom-class=\"tcl-popover\"\n triggers=\"focus\"\n :target=\"`color-popover-${format.type}`\"\n placement=\"bottom\"\n :container=\"null\"\n ref=\"popover\">\n\n <swatches\n swatch-size=\"14\"\n colors=\"text-advanced\"\n @input=\"onClick(format.type, { color: $event })\"\n inline />\n\n </b-popover>\n </div>\n</template>\n\n<script>\nimport base from './base.vue'\nimport Swatches from 'vue-swatches'\nimport 'vue-swatches/dist/vue-swatches.min.css'\n\n/**\n * Component is used to display link formatters. It provides an interface to\n * input the URL that should be applied.\n */\nexport default {\n name: 't-mark-color',\n\n components: {\n Swatches,\n },\n extends: base,\n\n computed: {\n typeStyle () {\n return `${this.format.type}-icon`\n },\n },\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n// Since we don't have icons for color related formatters,\n// this extra styling makes up for that\n.icon {\n padding: 0 2px;\n\n &.color-icon {\n border-bottom: 1px solid black;\n }\n\n &.background-icon {\n background-color: rgba(black, 0.07);\n padding: 2px 3px;\n }\n}\n</style>\n\n<style lang=\"scss\">\n// Bootstrap popover doesn't provide a way to style it's body component\n// Can't be scoped, since it's not rendered in here\n.tcl-popover .popover-body {\n padding: 0 !important;\n}\n</style>\n",".icon {\n padding: 0 2px;\n}\n.icon.color-icon {\n border-bottom: 1px solid black;\n}\n.icon.background-icon {\n background-color: rgba(0, 0, 0, 0.07);\n padding: 2px 3px;\n}\n\n/*# sourceMappingURL=Color.vue.map */"]}, media: undefined })
71498
- ,inject("data-v-bfd7c2ee_1", { source: ".tcl-popover .popover-body {\n padding: 0 !important;\n}\n\n/*# sourceMappingURL=Color.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/input/CRichTextInput/RToolbar/TMark/Color.vue","Color.vue"],"names":[],"mappings":"AA+EA;EACA,qBAAA;AC9EA;;AAEA,oCAAoC","file":"Color.vue","sourcesContent":["<template>\n <div>\n <b-button\n variant=\"link\"\n class=\"text-dark font-weight-bold text-decoration-none\"\n :id=\"`color-popover-${format.type}`\">\n\n <span\n class=\"icon\"\n :class=\"typeStyle\">A</span>\n\n </b-button>\n\n <b-popover\n :delay=\"0\"\n no-fade\n custom-class=\"tcl-popover\"\n triggers=\"focus\"\n :target=\"`color-popover-${format.type}`\"\n placement=\"bottom\"\n :container=\"null\"\n ref=\"popover\">\n\n <swatches\n swatch-size=\"14\"\n colors=\"text-advanced\"\n @input=\"onClick(format.type, { color: $event })\"\n inline />\n\n </b-popover>\n </div>\n</template>\n\n<script>\nimport base from './base.vue'\nimport Swatches from 'vue-swatches'\nimport 'vue-swatches/dist/vue-swatches.min.css'\n\n/**\n * Component is used to display link formatters. It provides an interface to\n * input the URL that should be applied.\n */\nexport default {\n name: 't-mark-color',\n\n components: {\n Swatches,\n },\n extends: base,\n\n computed: {\n typeStyle () {\n return `${this.format.type}-icon`\n },\n },\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n// Since we don't have icons for color related formatters,\n// this extra styling makes up for that\n.icon {\n padding: 0 2px;\n\n &.color-icon {\n border-bottom: 1px solid black;\n }\n\n &.background-icon {\n background-color: rgba(black, 0.07);\n padding: 2px 3px;\n }\n}\n</style>\n\n<style lang=\"scss\">\n// Bootstrap popover doesn't provide a way to style it's body component\n// Can't be scoped, since it's not rendered in here\n.tcl-popover .popover-body {\n padding: 0 !important;\n}\n</style>\n",".tcl-popover .popover-body {\n padding: 0 !important;\n}\n\n/*# sourceMappingURL=Color.vue.map */"]}, media: undefined });
70975
+ inject("data-v-90b60574_0", { source: ".icon[data-v-90b60574]{padding:0 2px}.icon.color-icon[data-v-90b60574]{border-bottom:1px solid #000}.icon.background-icon[data-v-90b60574]{background-color:rgba(0,0,0,.07);padding:2px 3px}", map: undefined, media: undefined })
70976
+ ,inject("data-v-90b60574_1", { source: ".tcl-popover .popover-body{padding:0!important}", map: undefined, media: undefined });
71499
70977
 
71500
70978
  };
71501
70979
  /* scoped */
71502
- const __vue_scope_id__$f = "data-v-bfd7c2ee";
70980
+ const __vue_scope_id__$f = "data-v-90b60574";
71503
70981
  /* module identifier */
71504
70982
  const __vue_module_identifier__$f = undefined;
71505
70983
  /* functional template */
@@ -71537,39 +71015,8 @@ var script$f = {
71537
71015
  const __vue_script__$f = script$f;
71538
71016
 
71539
71017
  /* template */
71540
- var __vue_render__$c = function() {
71541
- var _vm = this;
71542
- var _h = _vm.$createElement;
71543
- var _c = _vm._self._c || _h;
71544
- return _c(
71545
- "b-button",
71546
- {
71547
- staticClass: "text-dark font-weight-bold text-decoration-none",
71548
- attrs: { variant: "link" },
71549
- on: {
71550
- click: function($event) {
71551
- return _vm.onClick(_vm.format.type, _vm.format.attrs)
71552
- }
71553
- }
71554
- },
71555
- [
71556
- _c(
71557
- "span",
71558
- { class: _vm.activeClasses(_vm.format.attrs) },
71559
- [
71560
- _vm.format.icon
71561
- ? _c("font-awesome-icon", { attrs: { icon: _vm.format.icon } })
71562
- : _c("span", [
71563
- _vm._v("\n " + _vm._s(_vm.format.label) + "\n ")
71564
- ])
71565
- ],
71566
- 1
71567
- )
71568
- ]
71569
- )
71570
- };
71018
+ var __vue_render__$c = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-button',{staticClass:"text-dark font-weight-bold text-decoration-none",attrs:{"variant":"link"},on:{"click":function($event){return _vm.onClick(_vm.format.type, _vm.format.attrs)}}},[_c('span',{class:_vm.activeClasses(_vm.format.attrs)},[(_vm.format.icon)?_c('font-awesome-icon',{attrs:{"icon":_vm.format.icon}}):_c('span',[_vm._v("\n "+_vm._s(_vm.format.label)+"\n ")])],1)])};
71571
71019
  var __vue_staticRenderFns__$c = [];
71572
- __vue_render__$c._withStripped = true;
71573
71020
 
71574
71021
  /* style */
71575
71022
  const __vue_inject_styles__$g = undefined;
@@ -71675,140 +71122,8 @@ var script$g = {
71675
71122
  const __vue_script__$g = script$g;
71676
71123
 
71677
71124
  /* template */
71678
- var __vue_render__$d = function() {
71679
- var _vm = this;
71680
- var _h = _vm.$createElement;
71681
- var _c = _vm._self._c || _h;
71682
- return _c(
71683
- "div",
71684
- { attrs: { id: "link-popover-container" } },
71685
- [
71686
- _c(
71687
- "b-button",
71688
- {
71689
- staticClass: "text-dark font-weight-bold text-decoration-none",
71690
- attrs: { variant: "link", id: "link-popover" },
71691
- on: { click: _vm.showPopover }
71692
- },
71693
- [
71694
- _c(
71695
- "span",
71696
- { class: _vm.activeClasses(_vm.format.attrs) },
71697
- [_c("font-awesome-icon", { attrs: { icon: "link" } })],
71698
- 1
71699
- )
71700
- ]
71701
- ),
71702
- _vm._v(" "),
71703
- _vm.currentValue
71704
- ? _c(
71705
- "b-popover",
71706
- {
71707
- ref: "popover",
71708
- attrs: {
71709
- triggers: "focus",
71710
- target: "link-popover",
71711
- placement: "auto",
71712
- show: _vm.visible,
71713
- container: "link-popover-container"
71714
- },
71715
- on: {
71716
- "update:show": function($event) {
71717
- _vm.visible = $event;
71718
- }
71719
- }
71720
- },
71721
- [
71722
- _c(
71723
- "b-input-group",
71724
- [
71725
- _c("b-form-input", {
71726
- attrs: {
71727
- type: "url",
71728
- autofocus: "",
71729
- state: _vm.urlValid ? null : false,
71730
- placeholder: _vm.labels.urlPlaceholder
71731
- },
71732
- on: {
71733
- keydown: [
71734
- function($event) {
71735
- if (
71736
- !$event.type.indexOf("key") &&
71737
- _vm._k(
71738
- $event.keyCode,
71739
- "enter",
71740
- 13,
71741
- $event.key,
71742
- "Enter"
71743
- )
71744
- ) {
71745
- return null
71746
- }
71747
- $event.preventDefault();
71748
- $event.stopPropagation();
71749
- return _vm.link.apply(null, arguments)
71750
- },
71751
- function($event) {
71752
- if (
71753
- !$event.type.indexOf("key") &&
71754
- _vm._k($event.keyCode, "esc", 27, $event.key, [
71755
- "Esc",
71756
- "Escape"
71757
- ])
71758
- ) {
71759
- return null
71760
- }
71761
- $event.preventDefault();
71762
- $event.stopPropagation();
71763
- return _vm.close.apply(null, arguments)
71764
- }
71765
- ]
71766
- },
71767
- model: {
71768
- value: _vm.attrs.href,
71769
- callback: function($$v) {
71770
- _vm.$set(_vm.attrs, "href", $$v);
71771
- },
71772
- expression: "attrs.href"
71773
- }
71774
- }),
71775
- _vm._v(" "),
71776
- _c(
71777
- "b-input-group-append",
71778
- [
71779
- _c(
71780
- "b-button",
71781
- {
71782
- attrs: {
71783
- disabled: !_vm.urlValid,
71784
- variant: "outline-success"
71785
- },
71786
- on: { click: _vm.link }
71787
- },
71788
- [
71789
- _vm._v(
71790
- "\n " +
71791
- _vm._s(_vm.labels.ok) +
71792
- "\n "
71793
- )
71794
- ]
71795
- )
71796
- ],
71797
- 1
71798
- )
71799
- ],
71800
- 1
71801
- )
71802
- ],
71803
- 1
71804
- )
71805
- : _vm._e()
71806
- ],
71807
- 1
71808
- )
71809
- };
71125
+ var __vue_render__$d = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{"id":"link-popover-container"}},[_c('b-button',{staticClass:"text-dark font-weight-bold text-decoration-none",attrs:{"variant":"link","id":"link-popover"},on:{"click":_vm.showPopover}},[_c('span',{class:_vm.activeClasses(_vm.format.attrs)},[_c('font-awesome-icon',{attrs:{"icon":"link"}})],1)]),_vm._v(" "),(_vm.currentValue)?_c('b-popover',{ref:"popover",attrs:{"triggers":"focus","target":"link-popover","placement":"auto","show":_vm.visible,"container":"link-popover-container"},on:{"update:show":function($event){_vm.visible=$event;}}},[_c('b-input-group',[_c('b-form-input',{attrs:{"type":"url","autofocus":"","state":_vm.urlValid ? null : false,"placeholder":_vm.labels.urlPlaceholder},on:{"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.link.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.close.apply(null, arguments)}]},model:{value:(_vm.attrs.href),callback:function ($$v) {_vm.$set(_vm.attrs, "href", $$v);},expression:"attrs.href"}}),_vm._v(" "),_c('b-input-group-append',[_c('b-button',{attrs:{"disabled":!_vm.urlValid,"variant":"outline-success"},on:{"click":_vm.link}},[_vm._v("\n "+_vm._s(_vm.labels.ok)+"\n ")])],1)],1)],1):_vm._e()],1)};
71810
71126
  var __vue_staticRenderFns__$d = [];
71811
- __vue_render__$d._withStripped = true;
71812
71127
 
71813
71128
  /* style */
71814
71129
  const __vue_inject_styles__$h = undefined;
@@ -78813,39 +78128,8 @@ var script$i = {
78813
78128
  const __vue_script__$i = script$i;
78814
78129
 
78815
78130
  /* template */
78816
- var __vue_render__$e = function() {
78817
- var _vm = this;
78818
- var _h = _vm.$createElement;
78819
- var _c = _vm._self._c || _h;
78820
- return _c(
78821
- "b-button",
78822
- {
78823
- staticClass: "text-dark font-weight-bold text-decoration-none",
78824
- attrs: { variant: "link" },
78825
- on: {
78826
- click: function($event) {
78827
- return _vm.onClick(_vm.format.type, _vm.format.attrs)
78828
- }
78829
- }
78830
- },
78831
- [
78832
- _c(
78833
- "span",
78834
- { class: _vm.activeClasses(_vm.format.attrs) },
78835
- [
78836
- _vm.format.icon
78837
- ? _c("font-awesome-icon", { attrs: { icon: _vm.format.icon } })
78838
- : _c("span", [
78839
- _vm._v("\n " + _vm._s(_vm.format.label) + "\n ")
78840
- ])
78841
- ],
78842
- 1
78843
- )
78844
- ]
78845
- )
78846
- };
78131
+ var __vue_render__$e = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-button',{staticClass:"text-dark font-weight-bold text-decoration-none",attrs:{"variant":"link"},on:{"click":function($event){return _vm.onClick(_vm.format.type, _vm.format.attrs)}}},[_c('span',{class:_vm.activeClasses(_vm.format.attrs)},[(_vm.format.icon)?_c('font-awesome-icon',{attrs:{"icon":_vm.format.icon}}):_c('span',[_vm._v("\n "+_vm._s(_vm.format.label)+"\n ")])],1)])};
78847
78132
  var __vue_staticRenderFns__$e = [];
78848
- __vue_render__$e._withStripped = true;
78849
78133
 
78850
78134
  /* style */
78851
78135
  const __vue_inject_styles__$j = undefined;
@@ -78954,78 +78238,8 @@ var script$j = {
78954
78238
  const __vue_script__$j = script$j;
78955
78239
 
78956
78240
  /* template */
78957
- var __vue_render__$f = function() {
78958
- var _vm = this;
78959
- var _h = _vm.$createElement;
78960
- var _c = _vm._self._c || _h;
78961
- return _c(
78962
- "b-dropdown",
78963
- { attrs: { "menu-class": "text-center", variant: "link" } },
78964
- [
78965
- _c("template", { slot: "button-content" }, [
78966
- _c("span", { staticClass: "text-dark font-weight-bold" }, [
78967
- _c(
78968
- "span",
78969
- { class: _vm.rootActiveClasses() },
78970
- [
78971
- _vm.format.icon
78972
- ? _c("font-awesome-icon", { attrs: { icon: _vm.format.icon } })
78973
- : _c("span", [
78974
- _vm._v(
78975
- "\n " + _vm._s(_vm.format.label) + "\n "
78976
- )
78977
- ])
78978
- ],
78979
- 1
78980
- )
78981
- ])
78982
- ]),
78983
- _vm._v(" "),
78984
- _vm._l(_vm.format.variants, function(v) {
78985
- return _c(
78986
- "b-dropdown-item",
78987
- {
78988
- key: v.variant,
78989
- on: {
78990
- click: function($event) {
78991
- return _vm.dispatchTransaction(v)
78992
- }
78993
- }
78994
- },
78995
- [
78996
- _c(
78997
- "b-button",
78998
- {
78999
- staticClass: "text-dark font-weight-bold",
79000
- attrs: { variant: "link" }
79001
- },
79002
- [
79003
- _c(
79004
- "span",
79005
- { class: _vm.activeClasses(v.attrs) },
79006
- [
79007
- _vm.format.icon
79008
- ? _c("font-awesome-icon", { attrs: { icon: v.icon } })
79009
- : _c("span", [
79010
- _vm._v(
79011
- "\n " + _vm._s(v.label) + "\n "
79012
- )
79013
- ])
79014
- ],
79015
- 1
79016
- )
79017
- ]
79018
- )
79019
- ],
79020
- 1
79021
- )
79022
- })
79023
- ],
79024
- 2
79025
- )
79026
- };
78241
+ var __vue_render__$f = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-dropdown',{attrs:{"menu-class":"text-center","variant":"link"}},[_c('template',{slot:"button-content"},[_c('span',{staticClass:"text-dark font-weight-bold"},[_c('span',{class:_vm.rootActiveClasses()},[(_vm.format.icon)?_c('font-awesome-icon',{attrs:{"icon":_vm.format.icon}}):_c('span',[_vm._v("\n "+_vm._s(_vm.format.label)+"\n ")])],1)])]),_vm._v(" "),_vm._l((_vm.format.variants),function(v){return _c('b-dropdown-item',{key:v.variant,on:{"click":function($event){return _vm.dispatchTransaction(v)}}},[_c('b-button',{staticClass:"text-dark font-weight-bold",attrs:{"variant":"link"}},[_c('span',{class:_vm.activeClasses(v.attrs)},[(_vm.format.icon)?_c('font-awesome-icon',{attrs:{"icon":v.icon}}):_c('span',[_vm._v("\n "+_vm._s(v.label)+"\n ")])],1)])],1)})],2)};
79027
78242
  var __vue_staticRenderFns__$f = [];
79028
- __vue_render__$f._withStripped = true;
79029
78243
 
79030
78244
  /* style */
79031
78245
  const __vue_inject_styles__$k = undefined;
@@ -79153,55 +78367,8 @@ var script$k = {
79153
78367
  const __vue_script__$k = script$k;
79154
78368
 
79155
78369
  /* template */
79156
- var __vue_render__$g = function() {
79157
- var _vm = this;
79158
- var _h = _vm.$createElement;
79159
- var _c = _vm._self._c || _h;
79160
- return _c(
79161
- "div",
79162
- { staticClass: "d-flex flex-wrap" },
79163
- [
79164
- _vm._l(_vm.formats, function(f, i) {
79165
- return _c(
79166
- _vm.getItem(f),
79167
- _vm._b(
79168
- {
79169
- key: "" + f.name + i + "}",
79170
- tag: "component",
79171
- attrs: {
79172
- format: f,
79173
- labels: _vm.labels,
79174
- "current-value": _vm.currentValue
79175
- },
79176
- on: {
79177
- click: function($event) {
79178
- _vm.commands[$event.type]($event.attrs);
79179
- }
79180
- }
79181
- },
79182
- "component",
79183
- _vm.$props,
79184
- false
79185
- )
79186
- )
79187
- }),
79188
- _vm._v(" "),
79189
- _c(
79190
- "b-button",
79191
- {
79192
- staticClass: "text-dark font-weight-bold",
79193
- attrs: { variant: "link" },
79194
- on: { click: _vm.removeMarks }
79195
- },
79196
- [_c("font-awesome-icon", { attrs: { icon: "remove-format" } })],
79197
- 1
79198
- )
79199
- ],
79200
- 2
79201
- )
79202
- };
78370
+ var __vue_render__$g = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"d-flex flex-wrap"},[_vm._l((_vm.formats),function(f,i){return _c(_vm.getItem(f),_vm._b({key:("" + (f.name) + i + "}"),tag:"component",attrs:{"format":f,"labels":_vm.labels,"current-value":_vm.currentValue},on:{"click":function($event){(_vm.commands[$event.type])($event.attrs);}}},'component',_vm.$props,false))}),_vm._v(" "),_c('b-button',{staticClass:"text-dark font-weight-bold",attrs:{"variant":"link"},on:{"click":_vm.removeMarks}},[_c('font-awesome-icon',{attrs:{"icon":"remove-format"}})],1)],2)};
79203
78371
  var __vue_staticRenderFns__$g = [];
79204
- __vue_render__$g._withStripped = true;
79205
78372
 
79206
78373
  /* style */
79207
78374
  const __vue_inject_styles__$l = undefined;
@@ -79326,75 +78493,13 @@ var script$l = {
79326
78493
  const __vue_script__$l = script$l;
79327
78494
 
79328
78495
  /* template */
79329
- var __vue_render__$h = function() {
79330
- var _vm = this;
79331
- var _h = _vm.$createElement;
79332
- var _c = _vm._self._c || _h;
79333
- return _c(
79334
- "b-card",
79335
- { staticClass: "editor rt-content", attrs: { "no-body": "" } },
79336
- [
79337
- _vm.editor
79338
- ? [
79339
- _c(
79340
- "b-card-header",
79341
- { attrs: { "header-class": "p-0 rounded-sm" } },
79342
- [
79343
- _c("editor-menu-bar", {
79344
- attrs: { editor: _vm.editor },
79345
- scopedSlots: _vm._u(
79346
- [
79347
- {
79348
- key: "default",
79349
- fn: function(ref) {
79350
- var commands = ref.commands;
79351
- var isActive = ref.isActive;
79352
- var getMarkAttrs = ref.getMarkAttrs;
79353
- var getNodeAttrs = ref.getNodeAttrs;
79354
- return [
79355
- _c("r-toolbar", {
79356
- attrs: {
79357
- editor: _vm.editor,
79358
- formats: _vm.toolbar,
79359
- commands: commands,
79360
- "is-active": isActive,
79361
- "get-mark-attrs": getMarkAttrs,
79362
- "get-node-attrs": getNodeAttrs,
79363
- labels: _vm.labels,
79364
- "current-value": _vm.currentValue
79365
- }
79366
- })
79367
- ]
79368
- }
79369
- }
79370
- ],
79371
- null,
79372
- false,
79373
- 2342935495
79374
- )
79375
- })
79376
- ],
79377
- 1
79378
- ),
79379
- _vm._v(" "),
79380
- _c(
79381
- "b-card-body",
79382
- [
79383
- _c("editor-content", {
79384
- staticClass: "editor__content",
79385
- attrs: { editor: _vm.editor }
79386
- })
79387
- ],
79388
- 1
79389
- )
79390
- ]
79391
- : _vm._e()
79392
- ],
79393
- 2
79394
- )
79395
- };
78496
+ var __vue_render__$h = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{staticClass:"editor rt-content",attrs:{"no-body":""}},[(_vm.editor)?[_c('b-card-header',{attrs:{"header-class":"p-0 rounded-sm"}},[_c('editor-menu-bar',{attrs:{"editor":_vm.editor},scopedSlots:_vm._u([{key:"default",fn:function(ref){
78497
+ var commands = ref.commands;
78498
+ var isActive = ref.isActive;
78499
+ var getMarkAttrs = ref.getMarkAttrs;
78500
+ var getNodeAttrs = ref.getNodeAttrs;
78501
+ return [_c('r-toolbar',{attrs:{"editor":_vm.editor,"formats":_vm.toolbar,"commands":commands,"is-active":isActive,"get-mark-attrs":getMarkAttrs,"get-node-attrs":getNodeAttrs,"labels":_vm.labels,"current-value":_vm.currentValue}})]}}],null,false,2342935495)})],1),_vm._v(" "),_c('b-card-body',[_c('editor-content',{staticClass:"editor__content",attrs:{"editor":_vm.editor}})],1)]:_vm._e()],2)};
79396
78502
  var __vue_staticRenderFns__$h = [];
79397
- __vue_render__$h._withStripped = true;
79398
78503
 
79399
78504
  /* style */
79400
78505
  const __vue_inject_styles__$m = undefined;
@@ -79500,49 +78605,17 @@ var script$m = {
79500
78605
  const __vue_script__$m = script$m;
79501
78606
 
79502
78607
  /* template */
79503
- var __vue_render__$i = function() {
79504
- var _vm = this;
79505
- var _h = _vm.$createElement;
79506
- var _c = _vm._self._c || _h;
79507
- return _vm.link
79508
- ? _c(
79509
- "a",
79510
- { staticClass: "pointer", on: { click: _vm.onClick } },
79511
- [_c("font-awesome-icon", { attrs: { icon: ["fas", "lock"] } })],
79512
- 1
79513
- )
79514
- : _c(
79515
- "b-button",
79516
- { attrs: { variant: _vm.buttonVariant }, on: { click: _vm.onClick } },
79517
- [
79518
- _vm._t("default", function() {
79519
- return [
79520
- _vm.showButtonIcon
79521
- ? _c("font-awesome-icon", { attrs: { icon: ["fas", "lock"] } })
79522
- : _vm._e(),
79523
- _vm._v(" "),
79524
- _vm.buttonLabel
79525
- ? _c("span", [
79526
- _vm._v("\n " + _vm._s(_vm.buttonLabel) + "\n ")
79527
- ])
79528
- : _vm._e()
79529
- ]
79530
- })
79531
- ],
79532
- 2
79533
- )
79534
- };
78608
+ var __vue_render__$i = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.link)?_c('a',{staticClass:"pointer",on:{"click":_vm.onClick}},[_c('font-awesome-icon',{attrs:{"icon":['fas', 'lock']}})],1):_c('b-button',{attrs:{"variant":_vm.buttonVariant},on:{"click":_vm.onClick}},[_vm._t("default",function(){return [(_vm.showButtonIcon)?_c('font-awesome-icon',{attrs:{"icon":['fas', 'lock']}}):_vm._e(),_vm._v(" "),(_vm.buttonLabel)?_c('span',[_vm._v("\n "+_vm._s(_vm.buttonLabel)+"\n ")]):_vm._e()]})],2)};
79535
78609
  var __vue_staticRenderFns__$i = [];
79536
- __vue_render__$i._withStripped = true;
79537
78610
 
79538
78611
  /* style */
79539
78612
  const __vue_inject_styles__$n = function (inject) {
79540
78613
  if (!inject) return
79541
- inject("data-v-7413f73a_0", { source: ".pointer[data-v-7413f73a] {\n cursor: pointer;\n}\n\n/*# sourceMappingURL=CPermissionsButton.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/permissions/CPermissionsButton.vue","CPermissionsButton.vue"],"names":[],"mappings":"AA0FA;EACA,eAAA;ACzFA;;AAEA,iDAAiD","file":"CPermissionsButton.vue","sourcesContent":["<template>\n <a\n v-if=\"link\"\n class=\"pointer\"\n @click=\"onClick\"\n >\n <font-awesome-icon :icon=\"['fas', 'lock']\" />\n </a>\n <b-button\n v-else\n :variant=\"buttonVariant\"\n @click=\"onClick\"\n >\n <slot>\n <font-awesome-icon v-if=\"showButtonIcon\" :icon=\"['fas', 'lock']\" />\n <span v-if=\"buttonLabel\">\n {{ buttonLabel }}\n </span>\n </slot>\n </b-button>\n</template>\n<script lang=\"js\">\nimport { modalOpenEventName } from './def.ts'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faLock } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(faLock)\n\nexport default {\n props: {\n link: {\n type: Boolean,\n },\n\n buttonVariant: {\n type: String,\n default: undefined,\n },\n\n resource: {\n type: String,\n required: true,\n },\n\n title: {\n type: String,\n default: undefined,\n },\n\n buttonLabel: {\n type: String,\n default: undefined,\n },\n\n modalOpenEvent: {\n type: String,\n default: modalOpenEventName,\n },\n\n target: {\n type: String,\n required: false,\n default: undefined,\n },\n\n showButtonIcon: {\n type: Boolean,\n default: true,\n },\n\n // Use this prop if you want the translations to look for all-specific key instead of all/specific\n allSpecific: {\n type: Boolean,\n default: false\n },\n },\n\n methods: {\n onClick () {\n this.$root.$emit(this.modalOpenEvent, {\n target: this.target,\n resource: this.resource,\n title: this.title,\n allSpecific: this.allSpecific\n })\n },\n },\n}\n</script>\n<style lang=\"scss\" scoped>\n.pointer {\n cursor: pointer;\n}\n</style>\n",".pointer {\n cursor: pointer;\n}\n\n/*# sourceMappingURL=CPermissionsButton.vue.map */"]}, media: undefined });
78614
+ inject("data-v-4c4b66ba_0", { source: ".pointer[data-v-4c4b66ba]{cursor:pointer}", map: undefined, media: undefined });
79542
78615
 
79543
78616
  };
79544
78617
  /* scoped */
79545
- const __vue_scope_id__$n = "data-v-7413f73a";
78618
+ const __vue_scope_id__$n = "data-v-4c4b66ba";
79546
78619
  /* module identifier */
79547
78620
  const __vue_module_identifier__$n = undefined;
79548
78621
  /* functional template */
@@ -79620,28 +78693,8 @@ var script$n = {
79620
78693
  const __vue_script__$n = script$n;
79621
78694
 
79622
78695
  /* template */
79623
- var __vue_render__$j = function() {
79624
- var _vm = this;
79625
- var _h = _vm.$createElement;
79626
- var _c = _vm._self._c || _h;
79627
- return _c("b-form-radio-group", {
79628
- attrs: {
79629
- buttons: "",
79630
- disabled: !_vm.enabled,
79631
- "button-variant": _vm.variant,
79632
- options: _vm.options
79633
- },
79634
- model: {
79635
- value: _vm.selected,
79636
- callback: function($$v) {
79637
- _vm.selected = $$v;
79638
- },
79639
- expression: "selected"
79640
- }
79641
- })
79642
- };
78696
+ var __vue_render__$j = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-radio-group',{attrs:{"buttons":"","disabled":!_vm.enabled,"button-variant":_vm.variant,"options":_vm.options},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v;},expression:"selected"}})};
79643
78697
  var __vue_staticRenderFns__$j = [];
79644
- __vue_render__$j._withStripped = true;
79645
78698
 
79646
78699
  /* style */
79647
78700
  const __vue_inject_styles__$o = undefined;
@@ -79743,78 +78796,8 @@ var script$o = {
79743
78796
  const __vue_script__$o = script$o;
79744
78797
 
79745
78798
  /* template */
79746
- var __vue_render__$k = function() {
79747
- var _vm = this;
79748
- var _h = _vm.$createElement;
79749
- var _c = _vm._self._c || _h;
79750
- return _c(
79751
- "b-row",
79752
- { staticClass: "mb-lg-1", attrs: { "no-gutters": "" } },
79753
- [
79754
- _c(
79755
- "b-col",
79756
- { attrs: { cols: "12", lg: "6", order: "2", "order-lg": "1" } },
79757
- [
79758
- _c("access", {
79759
- attrs: {
79760
- access: _vm.access,
79761
- current: _vm.current,
79762
- enabled: _vm.enabled
79763
- },
79764
- on: { update: _vm.onUpdate }
79765
- }),
79766
- _vm._v(" "),
79767
- _c(
79768
- "b-button",
79769
- {
79770
- directives: [
79771
- {
79772
- name: "show",
79773
- rawName: "v-show",
79774
- value: _vm.isChanged,
79775
- expression: "isChanged"
79776
- }
79777
- ],
79778
- staticClass: "pl-0",
79779
- attrs: { variant: "link" },
79780
- on: { click: _vm.onReset }
79781
- },
79782
- [
79783
- _vm._v(
79784
- "\n " +
79785
- _vm._s(_vm.$t("ui.reset-back", { current: _vm.current })) +
79786
- "\n "
79787
- )
79788
- ]
79789
- )
79790
- ],
79791
- 1
79792
- ),
79793
- _vm._v(" "),
79794
- _c(
79795
- "b-col",
79796
- {
79797
- staticClass: "mb-lg-4 text-wrap",
79798
- attrs: { cols: "12", lg: "6", order: "1", "order-lg": "2" }
79799
- },
79800
- [
79801
- _c("b", {
79802
- domProps: {
79803
- innerHTML: _vm._s(
79804
- _vm.title || _vm.operation + " on " + _vm.resource
79805
- )
79806
- }
79807
- }),
79808
- _vm._v(" "),
79809
- _c("div", [_vm._v(_vm._s(_vm.description || " "))])
79810
- ]
79811
- )
79812
- ],
79813
- 1
79814
- )
79815
- };
78799
+ var __vue_render__$k = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-row',{staticClass:"mb-lg-1",attrs:{"no-gutters":""}},[_c('b-col',{attrs:{"cols":"12","lg":"6","order":"2","order-lg":"1"}},[_c('access',{attrs:{"access":_vm.access,"current":_vm.current,"enabled":_vm.enabled},on:{"update":_vm.onUpdate}}),_vm._v(" "),_c('b-button',{directives:[{name:"show",rawName:"v-show",value:(_vm.isChanged),expression:"isChanged"}],staticClass:"pl-0",attrs:{"variant":"link"},on:{"click":_vm.onReset}},[_vm._v("\n "+_vm._s(_vm.$t('ui.reset-back', {current: _vm.current}))+"\n ")])],1),_vm._v(" "),_c('b-col',{staticClass:"mb-lg-4 text-wrap",attrs:{"cols":"12","lg":"6","order":"1","order-lg":"2"}},[_c('b',{domProps:{"innerHTML":_vm._s(_vm.title || (_vm.operation + " on " + _vm.resource))}}),_vm._v(" "),_c('div',[_vm._v(_vm._s(_vm.description || ' '))])])],1)};
79816
78800
  var __vue_staticRenderFns__$k = [];
79817
- __vue_render__$k._withStripped = true;
79818
78801
 
79819
78802
  /* style */
79820
78803
  const __vue_inject_styles__$p = undefined;
@@ -79877,32 +78860,8 @@ var script$p = {
79877
78860
  const __vue_script__$p = script$p;
79878
78861
 
79879
78862
  /* template */
79880
- var __vue_render__$l = function() {
79881
- var _vm = this;
79882
- var _h = _vm.$createElement;
79883
- var _c = _vm._self._c || _h;
79884
- return _c(
79885
- "b-container",
79886
- _vm._l(_vm.rules, function(p, i) {
79887
- return _c(
79888
- "rule",
79889
- _vm._b(
79890
- {
79891
- key: p.resource + p.operation,
79892
- class: { "mt-4": i > 0 },
79893
- on: { update: _vm.onUpdate }
79894
- },
79895
- "rule",
79896
- p,
79897
- false
79898
- )
79899
- )
79900
- }),
79901
- 1
79902
- )
79903
- };
78863
+ var __vue_render__$l = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',_vm._l((_vm.rules),function(p,i){return _c('rule',_vm._b({key:p.resource + p.operation,class:{ 'mt-4': i > 0 },on:{"update":_vm.onUpdate}},'rule',p,false))}),1)};
79904
78864
  var __vue_staticRenderFns__$l = [];
79905
- __vue_render__$l._withStripped = true;
79906
78865
 
79907
78866
  /* style */
79908
78867
  const __vue_inject_styles__$q = undefined;
@@ -80175,145 +79134,17 @@ var script$q = {
80175
79134
  const __vue_script__$q = script$q;
80176
79135
 
80177
79136
  /* template */
80178
- var __vue_render__$m = function() {
80179
- var _vm = this;
80180
- var _h = _vm.$createElement;
80181
- var _c = _vm._self._c || _h;
80182
- return _c(
80183
- "b-form",
80184
- {
80185
- on: {
80186
- submit: function($event) {
80187
- $event.preventDefault();
80188
- return _vm.onSubmit.apply(null, arguments)
80189
- }
80190
- }
80191
- },
80192
- [
80193
- _c(
80194
- "b-row",
80195
- [
80196
- _c(
80197
- "b-col",
80198
- { staticClass: "role-list", attrs: { cols: "12", lg: "3" } },
80199
- [
80200
- _c(
80201
- "b-list-group",
80202
- { staticClass: "d-none d-lg-block" },
80203
- _vm._l(_vm.roles, function(r) {
80204
- return _c(
80205
- "b-list-group-item",
80206
- {
80207
- key: r.roleID,
80208
- staticClass: "text-break pointer",
80209
- attrs: {
80210
- active: r.roleID === _vm.currentRole.roleID,
80211
- "active-class": "primary",
80212
- variant: "outline-primary"
80213
- },
80214
- on: {
80215
- click: function($event) {
80216
- return _vm.onRoleChange(r)
80217
- }
80218
- }
80219
- },
80220
- [
80221
- _vm._v(
80222
- "\n " +
80223
- _vm._s(r.name || r.handle || r.roleID) +
80224
- "\n "
80225
- )
80226
- ]
80227
- )
80228
- }),
80229
- 1
80230
- ),
80231
- _vm._v(" "),
80232
- _c("vue-select", {
80233
- key: "roleID",
80234
- staticClass: "mb-4 d-block d-lg-none",
80235
- attrs: { label: "name", clearable: false, options: _vm.roles },
80236
- on: { input: _vm.onRoleChange },
80237
- model: {
80238
- value: _vm.currentRole,
80239
- callback: function($$v) {
80240
- _vm.currentRole = $$v;
80241
- },
80242
- expression: "currentRole"
80243
- }
80244
- })
80245
- ],
80246
- 1
80247
- ),
80248
- _vm._v(" "),
80249
- _c(
80250
- "b-col",
80251
- { staticClass: "rule-list", attrs: { cols: "12", lg: "9" } },
80252
- [
80253
- _c("rules", {
80254
- attrs: { rules: _vm.rules },
80255
- on: {
80256
- "update:rules": function($event) {
80257
- _vm.rules = $event;
80258
- }
80259
- }
80260
- })
80261
- ],
80262
- 1
80263
- )
80264
- ],
80265
- 1
80266
- ),
80267
- _vm._v(" "),
80268
- _c(
80269
- "b-row",
80270
- { staticClass: "footer mt-3" },
80271
- [
80272
- _c(
80273
- "b-col",
80274
- {
80275
- staticClass: "rule-list text-right",
80276
- attrs: { cols: "9", offset: "3" }
80277
- },
80278
- [
80279
- _c(
80280
- "b-button",
80281
- {
80282
- attrs: {
80283
- type: "submit",
80284
- variant: "primary",
80285
- disabled: _vm.disabled
80286
- }
80287
- },
80288
- [
80289
- _vm._v(
80290
- "\n " +
80291
- _vm._s(_vm.$t("permissions:ui.save-changes")) +
80292
- "\n "
80293
- )
80294
- ]
80295
- )
80296
- ],
80297
- 1
80298
- )
80299
- ],
80300
- 1
80301
- )
80302
- ],
80303
- 1
80304
- )
80305
- };
79137
+ var __vue_render__$m = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form',{on:{"submit":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('b-row',[_c('b-col',{staticClass:"role-list",attrs:{"cols":"12","lg":"3"}},[_c('b-list-group',{staticClass:"d-none d-lg-block"},_vm._l((_vm.roles),function(r){return _c('b-list-group-item',{key:r.roleID,staticClass:"text-break pointer",attrs:{"active":r.roleID === _vm.currentRole.roleID,"active-class":"primary","variant":"outline-primary"},on:{"click":function($event){return _vm.onRoleChange(r)}}},[_vm._v("\n "+_vm._s(r.name || r.handle || r.roleID)+"\n ")])}),1),_vm._v(" "),_c('vue-select',{key:"roleID",staticClass:"mb-4 d-block d-lg-none",attrs:{"label":"name","clearable":false,"options":_vm.roles},on:{"input":_vm.onRoleChange},model:{value:(_vm.currentRole),callback:function ($$v) {_vm.currentRole=$$v;},expression:"currentRole"}})],1),_vm._v(" "),_c('b-col',{staticClass:"rule-list",attrs:{"cols":"12","lg":"9"}},[_c('rules',{attrs:{"rules":_vm.rules},on:{"update:rules":function($event){_vm.rules=$event;}}})],1)],1),_vm._v(" "),_c('b-row',{staticClass:"footer mt-3"},[_c('b-col',{staticClass:"rule-list text-right",attrs:{"cols":"9","offset":"3"}},[_c('b-button',{attrs:{"type":"submit","variant":"primary","disabled":_vm.disabled}},[_vm._v("\n "+_vm._s(_vm.$t('permissions:ui.save-changes'))+"\n ")])],1)],1)],1)};
80306
79138
  var __vue_staticRenderFns__$m = [];
80307
- __vue_render__$m._withStripped = true;
80308
79139
 
80309
79140
  /* style */
80310
79141
  const __vue_inject_styles__$r = function (inject) {
80311
79142
  if (!inject) return
80312
- inject("data-v-5004c9ac_0", { source: ".pointer[data-v-5004c9ac] {\n cursor: pointer;\n}\n\n/*# sourceMappingURL=CPermissionsForm.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/permissions/CPermissionsForm.vue","CPermissionsForm.vue"],"names":[],"mappings":"AAsQA;EACA,eAAA;ACrQA;;AAEA,+CAA+C","file":"CPermissionsForm.vue","sourcesContent":["<template>\n <b-form @submit.prevent=\"onSubmit\">\n <b-row>\n <b-col\n class=\"role-list\"\n cols=\"12\"\n lg=\"3\"\n >\n <b-list-group class=\"d-none d-lg-block\">\n <b-list-group-item\n v-for=\"r in roles\"\n :key=\"r.roleID\"\n :active=\"r.roleID === currentRole.roleID\"\n active-class=\"primary\"\n variant=\"outline-primary\"\n class=\"text-break pointer\"\n @click=\"onRoleChange(r)\"\n >\n {{ r.name || r.handle || r.roleID }}\n </b-list-group-item>\n </b-list-group>\n <vue-select\n v-model=\"currentRole\"\n key=\"roleID\"\n label=\"name\"\n class=\"mb-4 d-block d-lg-none\"\n :clearable=\"false\"\n :options=\"roles\"\n @input=\"onRoleChange\"\n />\n </b-col>\n <b-col\n class=\"rule-list\"\n cols=\"12\"\n lg=\"9\"\n >\n <rules :rules.sync=\"rules\" />\n </b-col>\n </b-row>\n\n <b-row class=\"footer mt-3\"\n >\n <b-col\n class=\"rule-list text-right\"\n cols=\"9\"\n offset=\"3\"\n >\n <b-button\n type=\"submit\"\n variant=\"primary\"\n :disabled=\"disabled\"\n >\n {{ $t('permissions:ui.save-changes') }}\n </b-button>\n </b-col>\n </b-row>\n </b-form>\n</template>\n<script lang=\"js\">\nimport Rules from './form/Rules.vue'\nimport { VueSelect } from 'vue-select'\nimport { split } from './def.ts'\n\n// Data, Methods, Computed, Props\nexport default {\n i18nOptions: {\n /**\n * Using both, implicit (here) and explicit (at $t()) namespace setting.\n * If we only use implicit the behaviour is flaky.\n */\n namespaces: 'permissions',\n },\n\n components: {\n Rules,\n VueSelect,\n },\n\n props: {\n resource: {\n type: String,\n required: true,\n },\n\n target: {\n type: String,\n required: false,\n default: undefined,\n },\n\n allSpecific: {\n type: Boolean,\n default: false\n },\n\n backendComponentName: {\n type: String,\n default () {\n // Assuming backend service will\n // be equal to (first part of) resource\n if (!this.resource.startsWith('corteza::')) {\n throw Error('unrecognized resource type schema')\n }\n\n // <schema>::<backend-component-name>:...\n return this.resource.split(':')[2]\n },\n },\n },\n\n data () {\n return {\n processing: false,\n\n // List of available permissions (for a specific resource)\n permissions: [],\n\n // List of rules for the current role\n rules: [],\n\n // List of all available roles\n roles: [],\n\n // Current role object\n currentRole: undefined,\n }\n },\n\n computed: {\n dirty () {\n return this.collectChangedRules().length > 0\n },\n\n disabled () {\n return !this.dirty\n },\n\n api () {\n const s = this.backendComponentName\n return this['$' + s.charAt(0).toUpperCase() + s.slice(1) + 'API']\n },\n },\n\n created () {\n this.fetchPermissions()\n this.fetchRoles()\n },\n\n methods: {\n onRoleChange (role) {\n this.currentRole = role\n this.fetchRules(role.roleID)\n },\n\n onSubmit () {\n this.processing = true\n const rules = this.collectChangedRules()\n const { roleID } = this.currentRole\n\n this.api.permissionsUpdate({ roleID, rules }).then(() => {\n this.fetchRules(roleID)\n this.processing = false\n })\n },\n\n async fetchPermissions () {\n // clean loaded rules\n this.rules = []\n this.permissions = []\n this.processing = true\n\n return this.api.permissionsList().then((pp) => {\n this.permissions = this.filterPermissions(pp)\n this.processing = false\n })\n },\n\n async fetchRules (roleID) {\n this.processing = true\n return this.api.permissionsRead({ roleID }).then((rules) => {\n this.rules = this.normalizeRules(rules)\n this.processing = false\n })\n },\n\n async fetchRoles () {\n this.processing = true\n // Roles are always fetched from $SystemAPI.\n return this.$SystemAPI.roleList().then(({ set }) => {\n this.roles = set\n .filter(({ isBypass }) => !isBypass )\n .sort((a, b) => a.roleID.localeCompare(b.roleID))\n\n if (this.roles.length > 0) {\n this.onRoleChange(this.roles[0])\n }\n this.processing = false\n })\n },\n\n normalizeRules (rr) {\n const inherit = 'inherit'\n\n // merges roleRules (subset) with list of all permissions\n const findCurrent = ({ resource, operation }) => {\n if (!rr) {\n return inherit\n }\n\n return (rr.find(r => r.resource === resource && r.operation === operation) || {}).access || inherit\n }\n\n return this.permissions.map((p) => {\n const current = findCurrent(p)\n return { ...p, access: current, current }\n })\n },\n\n // Removes unneeded permissions (ones that do not match resource prop)\n // and translates the rest\n filterPermissions (pp) {\n const [ resourceType ] = this.resource.split('/', 2)\n return pp\n .filter(({ type }) => resourceType === type)\n .map(({ type, op: operation }) => {\n return {\n ...this.describePermission({ resource: type, operation }),\n operation,\n // override resource-type with the actual resource-ID\n resource: this.resource\n }\n })\n },\n\n collectChangedRules () {\n return this.rules.filter(r => r.access !== r.current).map(({ resource, operation, access }) => {\n return { resource, operation, access }\n })\n },\n\n describePermission ({ resource, operation }) {\n const i18nPrefix = split(resource).i18nPrefix + `.operations.${operation}`\n\n let title = ''\n if (this.allSpecific) {\n title = this.$t(`permissions:${i18nPrefix}.all-specific`, { target: this.target, interpolation: { escapeValue: false } })\n } else if (this.target) {\n title = this.$t(`permissions:${i18nPrefix}.specific`, { target: this.target, interpolation: { escapeValue: false } })\n } else {\n title = this.$t(`permissions:${i18nPrefix}.title`)\n }\n\n return {\n title,\n description: this.$t(`permissions:${i18nPrefix}.description`),\n }\n },\n },\n}\n\n</script>\n<style scoped lang=\"scss\">\n.pointer {\n cursor: pointer;\n}\n</style>\n",".pointer {\n cursor: pointer;\n}\n\n/*# sourceMappingURL=CPermissionsForm.vue.map */"]}, media: undefined });
79143
+ inject("data-v-4d4d6aaa_0", { source: ".pointer[data-v-4d4d6aaa]{cursor:pointer}", map: undefined, media: undefined });
80313
79144
 
80314
79145
  };
80315
79146
  /* scoped */
80316
- const __vue_scope_id__$r = "data-v-5004c9ac";
79147
+ const __vue_scope_id__$r = "data-v-4d4d6aaa";
80317
79148
  /* module identifier */
80318
79149
  const __vue_module_identifier__$r = undefined;
80319
79150
  /* functional template */
@@ -80442,53 +79273,8 @@ var script$r = {
80442
79273
  const __vue_script__$r = script$r;
80443
79274
 
80444
79275
  /* template */
80445
- var __vue_render__$n = function() {
80446
- var _vm = this;
80447
- var _h = _vm.$createElement;
80448
- var _c = _vm._self._c || _h;
80449
- return _c(
80450
- "div",
80451
- [
80452
- _c(
80453
- "b-modal",
80454
- {
80455
- staticClass: "overflow-hidden",
80456
- attrs: {
80457
- "hide-footer": "",
80458
- size: "xl",
80459
- title: _vm.translatedTitle,
80460
- lazy: "",
80461
- scrollable: ""
80462
- },
80463
- on: { hide: _vm.onHide },
80464
- model: {
80465
- value: _vm.showModal,
80466
- callback: function($$v) {
80467
- _vm.showModal = $$v;
80468
- },
80469
- expression: "showModal"
80470
- }
80471
- },
80472
- [
80473
- _vm.resource
80474
- ? _c("c-permissions-form", {
80475
- staticClass: "h-100",
80476
- attrs: {
80477
- resource: _vm.resource,
80478
- target: _vm.target,
80479
- "all-specific": _vm.allSpecific
80480
- }
80481
- })
80482
- : _vm._e()
80483
- ],
80484
- 1
80485
- )
80486
- ],
80487
- 1
80488
- )
80489
- };
79276
+ var __vue_render__$n = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{staticClass:"overflow-hidden",attrs:{"hide-footer":"","size":"xl","title":_vm.translatedTitle,"lazy":"","scrollable":""},on:{"hide":_vm.onHide},model:{value:(_vm.showModal),callback:function ($$v) {_vm.showModal=$$v;},expression:"showModal"}},[(_vm.resource)?_c('c-permissions-form',{staticClass:"h-100",attrs:{"resource":_vm.resource,"target":_vm.target,"all-specific":_vm.allSpecific}}):_vm._e()],1)],1)};
80490
79277
  var __vue_staticRenderFns__$n = [];
80491
- __vue_render__$n._withStripped = true;
80492
79278
 
80493
79279
  /* style */
80494
79280
  const __vue_inject_styles__$s = undefined;
@@ -80610,45 +79396,8 @@ var script$t = {
80610
79396
  const __vue_script__$t = script$t;
80611
79397
 
80612
79398
  /* template */
80613
- var __vue_render__$o = function() {
80614
- var _vm = this;
80615
- var _h = _vm.$createElement;
80616
- var _c = _vm._self._c || _h;
80617
- return _c("div", [
80618
- _c("p", { domProps: { innerHTML: _vm._s(_vm.message) } }),
80619
- _vm._v(" "),
80620
- _c(
80621
- "div",
80622
- { staticClass: "text-center m-2" },
80623
- [
80624
- _c(
80625
- "b-button",
80626
- {
80627
- attrs: {
80628
- variant: _vm.pVal("buttonVariant", "primary"),
80629
- disabled: _vm.loading
80630
- },
80631
- on: {
80632
- click: function($event) {
80633
- _vm.$emit("submit", {
80634
- confirmed: _vm.pRaw("buttonValue", true, "Boolean")
80635
- });
80636
- }
80637
- }
80638
- },
80639
- [
80640
- _vm._v(
80641
- "\n " + _vm._s(_vm.pVal("buttonLabel", "OK")) + "\n "
80642
- )
80643
- ]
80644
- )
80645
- ],
80646
- 1
80647
- )
80648
- ])
80649
- };
79399
+ var __vue_render__$o = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',{domProps:{"innerHTML":_vm._s(_vm.message)}}),_vm._v(" "),_c('div',{staticClass:"text-center m-2"},[_c('b-button',{attrs:{"variant":_vm.pVal('buttonVariant', 'primary'),"disabled":_vm.loading},on:{"click":function($event){_vm.$emit('submit', { confirmed: _vm.pRaw('buttonValue', true, 'Boolean') });}}},[_vm._v("\n "+_vm._s(_vm.pVal('buttonLabel', 'OK'))+"\n ")])],1)])};
80650
79400
  var __vue_staticRenderFns__$o = [];
80651
- __vue_render__$o._withStripped = true;
80652
79401
 
80653
79402
  /* style */
80654
79403
  const __vue_inject_styles__$u = undefined;
@@ -80688,71 +79437,8 @@ var script$u = {
80688
79437
  const __vue_script__$u = script$u;
80689
79438
 
80690
79439
  /* template */
80691
- var __vue_render__$p = function() {
80692
- var _vm = this;
80693
- var _h = _vm.$createElement;
80694
- var _c = _vm._self._c || _h;
80695
- return _c("div", [
80696
- _c("p", { domProps: { innerHTML: _vm._s(_vm.message) } }),
80697
- _vm._v(" "),
80698
- _c(
80699
- "div",
80700
- { staticClass: "text-center m-2" },
80701
- [
80702
- _c(
80703
- "b-button",
80704
- {
80705
- attrs: {
80706
- variant: _vm.pVal("confirmButtonVariant", "primary"),
80707
- disabled: _vm.loading
80708
- },
80709
- on: {
80710
- click: function($event) {
80711
- _vm.$emit("submit", {
80712
- value: _vm.pRaw("confirmButtonValue", true, "Boolean")
80713
- });
80714
- }
80715
- }
80716
- },
80717
- [
80718
- _vm._v(
80719
- "\n " +
80720
- _vm._s(_vm.pVal("confirmButtonLabel", "Yes")) +
80721
- "\n "
80722
- )
80723
- ]
80724
- ),
80725
- _vm._v(" "),
80726
- _c(
80727
- "b-button",
80728
- {
80729
- attrs: {
80730
- disabled: _vm.loading,
80731
- variant: _vm.pVal("rejectButtonVariant", "primary")
80732
- },
80733
- on: {
80734
- click: function($event) {
80735
- _vm.$emit("submit", {
80736
- value: _vm.pRaw("rejectButtonValue", false, "Boolean")
80737
- });
80738
- }
80739
- }
80740
- },
80741
- [
80742
- _vm._v(
80743
- "\n " +
80744
- _vm._s(_vm.pVal("rejectButtonLabel", "No")) +
80745
- "\n "
80746
- )
80747
- ]
80748
- )
80749
- ],
80750
- 1
80751
- )
80752
- ])
80753
- };
79440
+ var __vue_render__$p = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',{domProps:{"innerHTML":_vm._s(_vm.message)}}),_vm._v(" "),_c('div',{staticClass:"text-center m-2"},[_c('b-button',{attrs:{"variant":_vm.pVal('confirmButtonVariant', 'primary'),"disabled":_vm.loading},on:{"click":function($event){_vm.$emit('submit', { value: _vm.pRaw('confirmButtonValue', true, 'Boolean') });}}},[_vm._v("\n "+_vm._s(_vm.pVal('confirmButtonLabel', 'Yes'))+"\n ")]),_vm._v(" "),_c('b-button',{attrs:{"disabled":_vm.loading,"variant":_vm.pVal('rejectButtonVariant', 'primary')},on:{"click":function($event){_vm.$emit('submit', { value: _vm.pRaw('rejectButtonValue', false, 'Boolean') });}}},[_vm._v("\n "+_vm._s(_vm.pVal('rejectButtonLabel', 'No'))+"\n ")])],1)])};
80754
79441
  var __vue_staticRenderFns__$p = [];
80755
- __vue_render__$p._withStripped = true;
80756
79442
 
80757
79443
  /* style */
80758
79444
  const __vue_inject_styles__$v = undefined;
@@ -80820,53 +79506,8 @@ var script$v = {
80820
79506
  const __vue_script__$v = script$v;
80821
79507
 
80822
79508
  /* template */
80823
- var __vue_render__$q = function() {
80824
- var _vm = this;
80825
- var _h = _vm.$createElement;
80826
- var _c = _vm._self._c || _h;
80827
- return _c(
80828
- "div",
80829
- [
80830
- _c("p", { domProps: { innerHTML: _vm._s(_vm.message) } }),
80831
- _vm._v(" "),
80832
- _c(
80833
- "b-form-group",
80834
- { attrs: { label: _vm.label } },
80835
- [
80836
- _c("b-input", {
80837
- attrs: { type: _vm.type, disabled: _vm.loading },
80838
- model: {
80839
- value: _vm.value,
80840
- callback: function($$v) {
80841
- _vm.value = $$v;
80842
- },
80843
- expression: "value"
80844
- }
80845
- })
80846
- ],
80847
- 1
80848
- ),
80849
- _vm._v(" "),
80850
- _c(
80851
- "b-button",
80852
- {
80853
- attrs: { disabled: _vm.loading },
80854
- on: {
80855
- click: function($event) {
80856
- return _vm.$emit("submit", {
80857
- value: { "@value": _vm.value, "@type": "String" }
80858
- })
80859
- }
80860
- }
80861
- },
80862
- [_vm._v("\n " + _vm._s(_vm.pVal("buttonLabel", "Submit")) + "\n ")]
80863
- )
80864
- ],
80865
- 1
80866
- )
80867
- };
79509
+ var __vue_render__$q = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',{domProps:{"innerHTML":_vm._s(_vm.message)}}),_vm._v(" "),_c('b-form-group',{attrs:{"label":_vm.label}},[_c('b-input',{attrs:{"type":_vm.type,"disabled":_vm.loading},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v;},expression:"value"}})],1),_vm._v(" "),_c('b-button',{attrs:{"disabled":_vm.loading},on:{"click":function($event){return _vm.$emit('submit', { value: { '@value': _vm.value, '@type': 'String' }})}}},[_vm._v("\n "+_vm._s(_vm.pVal('buttonLabel', 'Submit'))+"\n ")])],1)};
80868
79510
  var __vue_staticRenderFns__$q = [];
80869
- __vue_render__$q._withStripped = true;
80870
79511
 
80871
79512
  /* style */
80872
79513
  const __vue_inject_styles__$w = undefined;
@@ -80915,19 +79556,8 @@ var script$w = {
80915
79556
  const __vue_script__$w = script$w;
80916
79557
 
80917
79558
  /* template */
80918
- var __vue_render__$r = function() {
80919
- var _vm = this;
80920
- var _h = _vm.$createElement;
80921
- var _c = _vm._self._c || _h;
80922
- return _c("div", [
80923
- _c("p", {
80924
- staticClass: "mb-0",
80925
- domProps: { innerHTML: _vm._s(_vm.message) }
80926
- })
80927
- ])
80928
- };
79559
+ var __vue_render__$r = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',{staticClass:"mb-0",domProps:{"innerHTML":_vm._s(_vm.message)}})])};
80929
79560
  var __vue_staticRenderFns__$r = [];
80930
- __vue_render__$r._withStripped = true;
80931
79561
 
80932
79562
  /* style */
80933
79563
  const __vue_inject_styles__$x = undefined;
@@ -81036,95 +79666,8 @@ var script$x = {
81036
79666
  const __vue_script__$x = script$x;
81037
79667
 
81038
79668
  /* template */
81039
- var __vue_render__$s = function() {
81040
- var _vm = this;
81041
- var _h = _vm.$createElement;
81042
- var _c = _vm._self._c || _h;
81043
- return _c(
81044
- "div",
81045
- [
81046
- _c("p", { domProps: { innerHTML: _vm._s(_vm.message) } }),
81047
- _vm._v(" "),
81048
- _c(
81049
- "b-form-group",
81050
- { attrs: { label: _vm.pVal("label", "Input") } },
81051
- [
81052
- _vm.type === "select"
81053
- ? _c("b-form-select", {
81054
- attrs: {
81055
- options: _vm.options,
81056
- disabled: _vm.loading,
81057
- multiple: _vm.multiple
81058
- },
81059
- scopedSlots: _vm._u(
81060
- [
81061
- !_vm.multiple
81062
- ? {
81063
- key: "first",
81064
- fn: function() {
81065
- return [
81066
- _c(
81067
- "b-form-select-option",
81068
- { attrs: { value: undefined, disabled: "" } },
81069
- [
81070
- _vm._v(
81071
- "\n -- Please select an option --\n "
81072
- )
81073
- ]
81074
- )
81075
- ]
81076
- },
81077
- proxy: true
81078
- }
81079
- : null
81080
- ],
81081
- null,
81082
- true
81083
- ),
81084
- model: {
81085
- value: _vm.value,
81086
- callback: function($$v) {
81087
- _vm.value = $$v;
81088
- },
81089
- expression: "value"
81090
- }
81091
- })
81092
- : _vm._e(),
81093
- _vm._v(" "),
81094
- _vm.type === "radio"
81095
- ? _c("b-form-radio-group", {
81096
- attrs: { disabled: _vm.loading, options: _vm.options },
81097
- model: {
81098
- value: _vm.value,
81099
- callback: function($$v) {
81100
- _vm.value = $$v;
81101
- },
81102
- expression: "value"
81103
- }
81104
- })
81105
- : _vm._e()
81106
- ],
81107
- 1
81108
- ),
81109
- _vm._v(" "),
81110
- _c(
81111
- "b-button",
81112
- {
81113
- attrs: { disabled: _vm.loading },
81114
- on: {
81115
- click: function($event) {
81116
- _vm.$emit("submit", { value: _vm.encodeValue() });
81117
- }
81118
- }
81119
- },
81120
- [_vm._v("\n " + _vm._s(_vm.pVal("buttonLabel", "Submit")) + "\n ")]
81121
- )
81122
- ],
81123
- 1
81124
- )
81125
- };
79669
+ var __vue_render__$s = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',{domProps:{"innerHTML":_vm._s(_vm.message)}}),_vm._v(" "),_c('b-form-group',{attrs:{"label":_vm.pVal('label', 'Input')}},[(_vm.type === 'select')?_c('b-form-select',{attrs:{"options":_vm.options,"disabled":_vm.loading,"multiple":_vm.multiple},scopedSlots:_vm._u([(!_vm.multiple)?{key:"first",fn:function(){return [_c('b-form-select-option',{attrs:{"value":undefined,"disabled":""}},[_vm._v("\n -- Please select an option --\n ")])]},proxy:true}:null],null,true),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v;},expression:"value"}}):_vm._e(),_vm._v(" "),(_vm.type === 'radio')?_c('b-form-radio-group',{attrs:{"disabled":_vm.loading,"options":_vm.options},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v;},expression:"value"}}):_vm._e()],1),_vm._v(" "),_c('b-button',{attrs:{"disabled":_vm.loading},on:{"click":function($event){_vm.$emit('submit', { value: _vm.encodeValue() });}}},[_vm._v("\n "+_vm._s(_vm.pVal('buttonLabel', 'Submit'))+"\n ")])],1)};
81126
79670
  var __vue_staticRenderFns__$s = [];
81127
- __vue_render__$s._withStripped = true;
81128
79671
 
81129
79672
  /* style */
81130
79673
  const __vue_inject_styles__$y = undefined;
@@ -81408,11 +79951,6 @@ var script$y = {
81408
79951
  // Only reset input if prompt is kept open
81409
79952
  if (values.input && values.input.keep) {
81410
79953
  values.input = {};
81411
- } else {
81412
- // Otherwise remove prompt from toasts
81413
- this.toasts = this.toasts.filter(({
81414
- prompt
81415
- }) => prompt.stateID !== values.prompt.stateID);
81416
79954
  }
81417
79955
 
81418
79956
  this.resume(values);
@@ -81429,111 +79967,21 @@ var script$y = {
81429
79967
  const __vue_script__$y = script$y;
81430
79968
 
81431
79969
  /* template */
81432
- var __vue_render__$t = function() {
81433
- var _vm = this;
81434
- var _h = _vm.$createElement;
81435
- var _c = _vm._self._c || _h;
81436
- return _c(
81437
- "div",
81438
- _vm._l(_vm.toasts, function(ref) {
81439
- var prompt = ref.prompt;
81440
- var component = ref.component;
81441
- var passive = ref.passive;
81442
- return _c(
81443
- "b-toast",
81444
- {
81445
- key: "wfPromptToast-" + prompt.stateID,
81446
- attrs: {
81447
- id: "wfPromptToast-" + prompt.stateID,
81448
- variant: _vm.pVal(prompt, "variant", "primary"),
81449
- visible: !_vm.isActive,
81450
- solid: "",
81451
- "no-auto-hide": !passive,
81452
- "auto-hide-delay":
81453
- _vm.pVal(prompt, "timeout", _vm.defaultTimeout) * 1000,
81454
- "no-close-button": !passive
81455
- },
81456
- scopedSlots: _vm._u(
81457
- [
81458
- {
81459
- key: "toast-title",
81460
- fn: function() {
81461
- return [
81462
- _c(
81463
- "div",
81464
- {
81465
- staticClass: "d-flex flex-grow-1 align-items-baseline"
81466
- },
81467
- [
81468
- _c("strong", { staticClass: "mr-auto" }, [
81469
- _vm._v(
81470
- _vm._s(_vm.pVal(prompt, "title", "Workflow prompt"))
81471
- )
81472
- ]),
81473
- _vm._v(" "),
81474
- !passive && _vm.active.length > 1
81475
- ? _c(
81476
- "b-button",
81477
- {
81478
- attrs: { variant: "link", size: "sm" },
81479
- on: {
81480
- click: function($event) {
81481
- return _vm.activate(true)
81482
- }
81483
- }
81484
- },
81485
- [
81486
- _vm._v(
81487
- "\n " +
81488
- _vm._s(_vm.active.length) +
81489
- " waiting\n "
81490
- )
81491
- ]
81492
- )
81493
- : _vm._e()
81494
- ],
81495
- 1
81496
- )
81497
- ]
81498
- },
81499
- proxy: true
81500
- }
81501
- ],
81502
- null,
81503
- true
81504
- )
81505
- },
81506
- [
81507
- _vm._v(" "),
81508
- component
81509
- ? _c(component, {
81510
- tag: "component",
81511
- attrs: { payload: prompt.payload, loading: _vm.isLoading },
81512
- on: {
81513
- submit: function($event) {
81514
- return _vm.resumeToast({ input: $event, prompt: prompt })
81515
- }
81516
- }
81517
- })
81518
- : _vm._e()
81519
- ],
81520
- 1
81521
- )
81522
- }),
81523
- 1
81524
- )
81525
- };
79970
+ var __vue_render__$t = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.toasts),function(ref){
79971
+ var prompt = ref.prompt;
79972
+ var component = ref.component;
79973
+ var passive = ref.passive;
79974
+ return _c('b-toast',{key:'wfPromptToast-'+prompt.stateID,attrs:{"id":'wfPromptToast-'+prompt.stateID,"variant":_vm.pVal(prompt, 'variant', 'primary'),"visible":!_vm.isActive,"solid":"","no-auto-hide":!passive,"auto-hide-delay":_vm.pVal(prompt, 'timeout', _vm.defaultTimeout) * 1000,"no-close-button":!passive},scopedSlots:_vm._u([{key:"toast-title",fn:function(){return [_c('div',{staticClass:"d-flex flex-grow-1 align-items-baseline"},[_c('strong',{staticClass:"mr-auto"},[_vm._v(_vm._s(_vm.pVal(prompt, 'title', 'Workflow prompt')))]),_vm._v(" "),(!passive && _vm.active.length > 1)?_c('b-button',{attrs:{"variant":"link","size":"sm"},on:{"click":function($event){return _vm.activate(true)}}},[_vm._v("\n "+_vm._s(_vm.active.length)+" waiting\n ")]):_vm._e()],1)]},proxy:true}],null,true)},[_vm._v(" "),(component)?_c(component,{tag:"component",attrs:{"payload":prompt.payload,"loading":_vm.isLoading},on:{"submit":function($event){return _vm.resumeToast({ input: $event, prompt: prompt })}}}):_vm._e()],1)}),1)};
81526
79975
  var __vue_staticRenderFns__$t = [];
81527
- __vue_render__$t._withStripped = true;
81528
79976
 
81529
79977
  /* style */
81530
79978
  const __vue_inject_styles__$z = function (inject) {
81531
79979
  if (!inject) return
81532
- inject("data-v-7e37674b_0", { source: ".slide-enter-active[data-v-7e37674b] {\n transition: all 0.3s ease;\n}\n.slide-leave-active[data-v-7e37674b] {\n transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1);\n}\n.slide-enter[data-v-7e37674b], .slide-leave-to[data-v-7e37674b] {\n transform: translateX(10px);\n opacity: 0;\n}\n\n/*# sourceMappingURL=CPromptToast.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/prompts/CPromptToast.vue","CPromptToast.vue"],"names":[],"mappings":"AAqJA;EACA,yBAAA;ACpJA;ADsJA;EACA,iDAAA;ACnJA;ADqJA;EAEA,2BAAA;EACA,UAAA;ACnJA;;AAEA,2CAA2C","file":"CPromptToast.vue","sourcesContent":["<template>\n <div>\n <b-toast\n v-for=\"({ prompt, component, passive }) in toasts\"\n :id=\"'wfPromptToast-'+prompt.stateID\"\n :key=\"'wfPromptToast-'+prompt.stateID\"\n :variant=\"pVal(prompt, 'variant', 'primary')\"\n :visible=\"!isActive\"\n solid\n :no-auto-hide=\"!passive\"\n :auto-hide-delay=\"pVal(prompt, 'timeout', defaultTimeout) * 1000\"\n :no-close-button=\"!passive\"\n >\n <template #toast-title>\n <div class=\"d-flex flex-grow-1 align-items-baseline\">\n <strong class=\"mr-auto\">{{ pVal(prompt, 'title', 'Workflow prompt') }}</strong>\n <b-button\n variant=\"link\"\n size=\"sm\"\n v-if=\"!passive && active.length > 1\"\n @click=\"activate(true)\"\n >\n {{ active.length }} waiting\n </b-button>\n </div>\n </template>\n <component\n v-if=\"component\"\n :is=\"component\"\n :payload=\"prompt.payload\"\n :loading=\"isLoading\"\n @submit=\"resumeToast({ input: $event, prompt })\"\n />\n </b-toast>\n </div>\n</template>\n<script>\nimport { mapGetters, mapActions } from 'vuex'\nimport definitions from './kinds/index.ts'\nimport { pVal } from './utils.ts'\n\nexport default {\n name: 'c-prompt-toast',\n\n data () {\n return {\n passive: new Set(),\n }\n },\n\n computed: {\n ...mapGetters({\n prompts: 'wfPrompts/all',\n isActive: 'wfPrompts/isActive',\n isLoading: 'wfPrompts/isLoading',\n }),\n\n withHandlers () {\n return this.prompts\n .filter(({ ref }) => !!definitions[ref] && !!definitions[ref].handler)\n .map(prompt => ({ ...definitions[prompt.ref], prompt }))\n },\n\n withComponents () {\n return this.prompts\n .filter(({ ref }) => !!definitions[ref] && !!definitions[ref].component)\n .map(prompt => ({ ...definitions[prompt.ref], prompt }))\n },\n\n /**\n * All non-passive prompts with components\n */\n active() {\n return this.withComponents.filter(({ passive }) => !passive)\n },\n\n /**\n * Returns list of prompts that we can interpret as toasts: display component is defined\n *\n * Toasts (prompts with components) are displayed in order received but\n * passive (no feedback or input from user required) first and the rest later\n */\n toasts () {\n return [\n ...this.passive.values(),\n ...this.active\n ]\n },\n\n defaultTimeout () {\n return 7\n }\n },\n\n watch: {\n // watch prompts with handlers and when a new one arrives\n // shift it from the stack, resume the prompt and handle it\n withHandlers (hh) {\n if (hh.length > 0) {\n const { handler, prompt } = hh.shift()\n this.resume({ input: {}, prompt }).then(() => {\n handler.call(this, prompt.payload)\n })\n }\n },\n\n /**\n * Make a copy of prompt if it is defined as passive\n *\n * We do this because we do not want it to be removed right away\n * but through a toast component's timeout\n */\n prompts: {\n immediate: true,\n handler () {\n this.withComponents.forEach(p => {\n if (p.passive) {\n this.passive.add(p)\n }\n })\n },\n },\n },\n\n methods: {\n ...mapActions({\n resume: 'wfPrompts/resume',\n activate: 'wfPrompts/activate',\n }),\n\n resumeToast (values) {\n // Only reset input if prompt is kept open\n if (values.input && values.input.keep) {\n values.input = {}\n } else {\n // Otherwise remove prompt from toasts\n this.toasts = this.toasts.filter(({ prompt }) => prompt.stateID !== values.prompt.stateID)\n }\n\n this.resume(values)\n },\n\n pVal (prompt, k, def = undefined) {\n return pVal(prompt.payload, k, def)\n },\n },\n}\n</script>\n<style scoped lang=\"scss\">\n.slide-enter-active {\n transition: all .3s ease;\n}\n.slide-leave-active {\n transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);\n}\n.slide-enter, .slide-leave-to\n/* .slide-leave-active below version 2.1.8 */ {\n transform: translateX(10px);\n opacity: 0;\n}\n</style>\n",".slide-enter-active {\n transition: all 0.3s ease;\n}\n\n.slide-leave-active {\n transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1);\n}\n\n.slide-enter, .slide-leave-to {\n transform: translateX(10px);\n opacity: 0;\n}\n\n/*# sourceMappingURL=CPromptToast.vue.map */"]}, media: undefined });
79980
+ inject("data-v-6aed55b2_0", { source: ".slide-enter-active[data-v-6aed55b2]{transition:all .3s ease}.slide-leave-active[data-v-6aed55b2]{transition:all .8s cubic-bezier(1,.5,.8,1)}.slide-enter[data-v-6aed55b2],.slide-leave-to[data-v-6aed55b2]{transform:translateX(10px);opacity:0}", map: undefined, media: undefined });
81533
79981
 
81534
79982
  };
81535
79983
  /* scoped */
81536
- const __vue_scope_id__$z = "data-v-7e37674b";
79984
+ const __vue_scope_id__$z = "data-v-6aed55b2";
81537
79985
  /* module identifier */
81538
79986
  const __vue_module_identifier__$z = undefined;
81539
79987
  /* functional template */
@@ -81625,129 +80073,13 @@ var script$z = {
81625
80073
  const __vue_script__$z = script$z;
81626
80074
 
81627
80075
  /* template */
81628
- var __vue_render__$u = function() {
81629
- var _vm = this;
81630
- var _h = _vm.$createElement;
81631
- var _c = _vm._self._c || _h;
81632
- return _c(
81633
- "b-modal",
81634
- {
81635
- attrs: {
81636
- size: "lg",
81637
- lazy: "",
81638
- "hide-footer": !_vm.current,
81639
- title: _vm.current ? _vm.current.title : "Workflow prompts",
81640
- busy: _vm.isLoading
81641
- },
81642
- on: {
81643
- hide: function($event) {
81644
- return _vm.deactivate()
81645
- }
81646
- },
81647
- scopedSlots: _vm._u(
81648
- [
81649
- _vm.current
81650
- ? {
81651
- key: "modal-footer",
81652
- fn: function() {
81653
- return [
81654
- _c(
81655
- "b-button",
81656
- {
81657
- attrs: { variant: "link" },
81658
- on: {
81659
- click: function($event) {
81660
- return _vm.activate(true)
81661
- }
81662
- }
81663
- },
81664
- [_vm._v("\n « Back to list\n ")]
81665
- )
81666
- ]
81667
- },
81668
- proxy: true
81669
- }
81670
- : null
81671
- ],
81672
- null,
81673
- true
81674
- ),
81675
- model: {
81676
- value: _vm.isOpened,
81677
- callback: function($$v) {
81678
- _vm.isOpened = $$v;
81679
- },
81680
- expression: "isOpened"
81681
- }
81682
- },
81683
- [
81684
- _vm.current
81685
- ? _c(_vm.current.component, {
81686
- tag: "component",
81687
- attrs: {
81688
- payload: _vm.current.prompt.payload,
81689
- loading: _vm.isLoading
81690
- },
81691
- on: {
81692
- submit: function($event) {
81693
- return _vm.resume({ input: $event, prompt: _vm.current.prompt })
81694
- }
81695
- }
81696
- })
81697
- : _c(
81698
- "div",
81699
- _vm._l(_vm.list, function(ref) {
81700
- var key = ref.key;
81701
- var title = ref.title;
81702
- var age = ref.age;
81703
- var prompt = ref.prompt;
81704
- return _c(
81705
- "div",
81706
- {
81707
- key: key,
81708
- staticClass: "d-flex flex-grow-1 align-items-baseline"
81709
- },
81710
- [
81711
- _c(
81712
- "span",
81713
- {
81714
- staticClass: "mr-auto",
81715
- on: {
81716
- click: function($event) {
81717
- return _vm.activate(prompt)
81718
- }
81719
- }
81720
- },
81721
- [
81722
- _vm._v("\n " + _vm._s(title) + "\n "),
81723
- _c(
81724
- "time",
81725
- {
81726
- staticClass: "muted small",
81727
- attrs: { datetime: prompt.createdAt }
81728
- },
81729
- [
81730
- _vm._v(
81731
- "\n " + _vm._s(age) + "\n "
81732
- )
81733
- ]
81734
- )
81735
- ]
81736
- ),
81737
- _vm._v(" "),
81738
- _vm._e()
81739
- ],
81740
- 1
81741
- )
81742
- }),
81743
- 0
81744
- )
81745
- ],
81746
- 1
81747
- )
81748
- };
80076
+ var __vue_render__$u = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{"size":"lg","lazy":"","hide-footer":!_vm.current,"title":_vm.current ? _vm.current.title : 'Workflow prompts',"busy":_vm.isLoading},on:{"hide":function($event){return _vm.deactivate()}},scopedSlots:_vm._u([(_vm.current)?{key:"modal-footer",fn:function(){return [_c('b-button',{attrs:{"variant":"link"},on:{"click":function($event){return _vm.activate(true)}}},[_vm._v("\n « Back to list\n ")])]},proxy:true}:null],null,true),model:{value:(_vm.isOpened),callback:function ($$v) {_vm.isOpened=$$v;},expression:"isOpened"}},[(_vm.current)?_c(_vm.current.component,{tag:"component",attrs:{"payload":_vm.current.prompt.payload,"loading":_vm.isLoading},on:{"submit":function($event){return _vm.resume({ input: $event, prompt: _vm.current.prompt })}}}):_c('div',_vm._l((_vm.list),function(ref){
80077
+ var key = ref.key;
80078
+ var title = ref.title;
80079
+ var age = ref.age;
80080
+ var prompt = ref.prompt;
80081
+ return _c('div',{key:key,staticClass:"d-flex flex-grow-1 align-items-baseline"},[_c('span',{staticClass:"mr-auto",on:{"click":function($event){return _vm.activate(prompt)}}},[_vm._v("\n "+_vm._s(title)+"\n "),_c('time',{staticClass:"muted small",attrs:{"datetime":prompt.createdAt}},[_vm._v("\n "+_vm._s(age)+"\n ")])]),_vm._v(" "),_vm._e()],1)}),0)],1)};
81749
80082
  var __vue_staticRenderFns__$u = [];
81750
- __vue_render__$u._withStripped = true;
81751
80083
 
81752
80084
  /* style */
81753
80085
  const __vue_inject_styles__$A = undefined;
@@ -81800,14 +80132,8 @@ var script$A = {
81800
80132
  const __vue_script__$A = script$A;
81801
80133
 
81802
80134
  /* template */
81803
- var __vue_render__$v = function() {
81804
- var _vm = this;
81805
- var _h = _vm.$createElement;
81806
- var _c = _vm._self._c || _h;
81807
- return _c("div", [_c("c-prompt-toast"), _vm._v(" "), _c("c-prompt-modal")], 1)
81808
- };
80135
+ var __vue_render__$v = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('c-prompt-toast'),_vm._v(" "),_c('c-prompt-modal')],1)};
81809
80136
  var __vue_staticRenderFns__$v = [];
81810
- __vue_render__$v._withStripped = true;
81811
80137
 
81812
80138
  /* style */
81813
80139
  const __vue_inject_styles__$B = undefined;
@@ -81974,34 +80300,17 @@ var script$B = {
81974
80300
  const __vue_script__$B = script$B;
81975
80301
 
81976
80302
  /* template */
81977
- var __vue_render__$w = function() {
81978
- var _vm = this;
81979
- var _h = _vm.$createElement;
81980
- var _c = _vm._self._c || _h;
81981
- return _c(
81982
- "b-container",
81983
- {
81984
- staticClass: "d-flex justify-content-center vh-100 logo",
81985
- attrs: { fluid: "" }
81986
- },
81987
- [
81988
- _vm.logo
81989
- ? _c("img", { staticClass: "w-25 my-auto", attrs: { src: _vm.logo } })
81990
- : _vm._e()
81991
- ]
81992
- )
81993
- };
80303
+ var __vue_render__$w = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{staticClass:"d-flex justify-content-center vh-100 logo",attrs:{"fluid":""}},[(_vm.logo)?_c('img',{staticClass:"w-25 my-auto",attrs:{"src":_vm.logo}}):_vm._e()])};
81994
80304
  var __vue_staticRenderFns__$w = [];
81995
- __vue_render__$w._withStripped = true;
81996
80305
 
81997
80306
  /* style */
81998
80307
  const __vue_inject_styles__$C = function (inject) {
81999
80308
  if (!inject) return
82000
- inject("data-v-4482739a_0", { source: ".logo img[data-v-4482739a] {\n animation: pulse-data-v-4482739a 4.2s infinite;\n}\n@keyframes pulse-data-v-4482739a {\n0% {\n opacity: 0;\n}\n65% {\n opacity: 1;\n}\n100% {\n opacity: 0;\n}\n}\n\n/*# sourceMappingURL=CLoaderLogo.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/loader/CLoaderLogo.vue","CLoaderLogo.vue"],"names":[],"mappings":"AA0BA;EACA,8CAAA;ACzBA;AD4BA;AACA;IACA,UAAA;AC1BE;AD4BF;IACA,UAAA;AC1BE;AD4BF;IACA,UAAA;AC1BE;AACF;;AAEA,0CAA0C","file":"CLoaderLogo.vue","sourcesContent":["<template>\n <b-container\n fluid\n class=\"d-flex justify-content-center vh-100 logo\"\n >\n <img\n v-if=\"logo\"\n :src=\"logo\"\n class=\"w-25 my-auto\"\n >\n </b-container>\n</template>\n\n<script>\nexport default {\n props: {\n logo: {\n type: String,\n default: () => ''\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.logo {\n img {\n animation: pulse 4.2s infinite;\n }\n\n @keyframes pulse {\n 0% {\n opacity: 0;\n }\n 65% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n}\n</style>\n",".logo img {\n animation: pulse 4.2s infinite;\n}\n@keyframes pulse {\n 0% {\n opacity: 0;\n }\n 65% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/*# sourceMappingURL=CLoaderLogo.vue.map */"]}, media: undefined });
80309
+ inject("data-v-f488faa4_0", { source: ".logo img[data-v-f488faa4]{animation:pulse-data-v-f488faa4 4.2s infinite}@keyframes pulse-data-v-f488faa4{0%{opacity:0}65%{opacity:1}100%{opacity:0}}", map: undefined, media: undefined });
82001
80310
 
82002
80311
  };
82003
80312
  /* scoped */
82004
- const __vue_scope_id__$C = "data-v-4482739a";
80313
+ const __vue_scope_id__$C = "data-v-f488faa4";
82005
80314
  /* module identifier */
82006
80315
  const __vue_module_identifier__$C = undefined;
82007
80316
  /* functional template */
@@ -82221,301 +80530,19 @@ var script$C = {
82221
80530
  const __vue_script__$C = script$C;
82222
80531
 
82223
80532
  /* template */
82224
- var __vue_render__$x = function() {
82225
- var _vm = this;
82226
- var _h = _vm.$createElement;
82227
- var _c = _vm._self._c || _h;
82228
- return _c(
82229
- "div",
82230
- {
82231
- staticClass:
82232
- "header-navigation d-flex align-items-center justify-content-between sticky-top pr-3 pl-5 "
82233
- },
82234
- [
82235
- _c(
82236
- "div",
82237
- {
82238
- staticClass:
82239
- "d-flex text-nowrap flex-grow-1 align-items-center header h-100 w-100"
82240
- },
82241
- [
82242
- [
82243
- _c("div", {
82244
- staticClass: "spacer",
82245
- class: {
82246
- expanded: _vm.sidebarPinned
82247
- }
82248
- })
82249
- ],
82250
- _vm._v(" "),
82251
- _c(
82252
- "div",
82253
- {
82254
- staticClass:
82255
- "d-flex align-items-center ml-2 text-truncate mr-auto h-100"
82256
- },
82257
- [
82258
- _c(
82259
- "h2",
82260
- { staticClass: "d-none d-sm-block mb-0" },
82261
- [_vm._t("title")],
82262
- 2
82263
- )
82264
- ]
82265
- ),
82266
- _vm._v(" "),
82267
- _c("div", { staticClass: "ml-3" }, [_vm._t("tools")], 2),
82268
- _vm._v(" "),
82269
- !_vm.hideAppSelector
82270
- ? _c(
82271
- "b-button",
82272
- {
82273
- staticClass:
82274
- "d-flex align-items-center justify-content-center text-dark border-0 nav-icon rounded-circle ml-2",
82275
- attrs: {
82276
- variant: "outline-light",
82277
- href: _vm.appSelectorURL,
82278
- size: "lg"
82279
- }
82280
- },
82281
- [
82282
- _c("font-awesome-icon", {
82283
- staticClass: "m-0 h5",
82284
- attrs: { icon: ["fas", "grip-horizontal"] }
82285
- })
82286
- ],
82287
- 1
82288
- )
82289
- : _vm._e(),
82290
- _vm._v(" "),
82291
- _c(
82292
- "b-dropdown",
82293
- {
82294
- staticClass: "nav-icon mx-1",
82295
- attrs: {
82296
- size: "lg",
82297
- variant: "outline-light",
82298
- "toggle-class":
82299
- "text-decoration-none text-dark rounded-circle border-0 w-100",
82300
- "menu-class":
82301
- "border-0 shadow-sm text-dark font-weight-bold mt-2",
82302
- right: "",
82303
- "no-caret": ""
82304
- },
82305
- scopedSlots: _vm._u([
82306
- {
82307
- key: "button-content",
82308
- fn: function() {
82309
- return [
82310
- _c(
82311
- "div",
82312
- {
82313
- staticClass:
82314
- "d-flex align-items-center justify-content-center"
82315
- },
82316
- [
82317
- _c("font-awesome-icon", {
82318
- staticClass: "m-0 h5",
82319
- attrs: { icon: ["far", "question-circle"] }
82320
- }),
82321
- _vm._v(" "),
82322
- _c("span", { staticClass: "sr-only" }, [
82323
- _vm._v("\n Help\n ")
82324
- ])
82325
- ],
82326
- 1
82327
- )
82328
- ]
82329
- },
82330
- proxy: true
82331
- }
82332
- ])
82333
- },
82334
- [
82335
- _vm._v(" "),
82336
- _c("div", [_vm._t("help-dropdown")], 2),
82337
- _vm._v(" "),
82338
- _c(
82339
- "b-dropdown-item",
82340
- {
82341
- attrs: {
82342
- href: "https://forum.cortezaproject.org/",
82343
- target: "_blank"
82344
- }
82345
- },
82346
- [
82347
- _vm._v(
82348
- "\n " + _vm._s(_vm.labels.helpForum) + "\n "
82349
- )
82350
- ]
82351
- ),
82352
- _vm._v(" "),
82353
- _c(
82354
- "b-dropdown-item",
82355
- { attrs: { href: _vm.documentationURL, target: "_blank" } },
82356
- [
82357
- _vm._v(
82358
- "\n " +
82359
- _vm._s(_vm.labels.helpDocumentation) +
82360
- "\n "
82361
- )
82362
- ]
82363
- ),
82364
- _vm._v(" "),
82365
- _c(
82366
- "b-dropdown-item",
82367
- { attrs: { href: "mailto:info@crust.tech", target: "_blank" } },
82368
- [
82369
- _vm._v(
82370
- "\n " + _vm._s(_vm.labels.helpFeedback) + "\n "
82371
- )
82372
- ]
82373
- ),
82374
- _vm._v(" "),
82375
- _c("b-dropdown-divider"),
82376
- _vm._v(" "),
82377
- _c(
82378
- "b-dropdown-item",
82379
- { staticClass: "small", attrs: { disabled: "" } },
82380
- [
82381
- _vm._v(
82382
- "\n " + _vm._s(_vm.labels.helpVersion) + "\n "
82383
- ),
82384
- _c("br"),
82385
- _vm._v(
82386
- "\n " + _vm._s(_vm.frontendVersion) + "\n "
82387
- )
82388
- ]
82389
- )
82390
- ],
82391
- 1
82392
- ),
82393
- _vm._v(" "),
82394
- _c(
82395
- "b-dropdown",
82396
- {
82397
- staticClass: "nav-user-icon",
82398
- attrs: {
82399
- "data-v-onboarding": "profile",
82400
- size: "lg",
82401
- variant: "outline-light",
82402
- "toggle-class":
82403
- "nav-icon text-decoration-none text-dark rounded-circle border",
82404
- "menu-class":
82405
- "border-0 shadow-sm text-dark font-weight-bold mt-2",
82406
- right: "",
82407
- "no-caret": ""
82408
- },
82409
- scopedSlots: _vm._u([
82410
- {
82411
- key: "button-content",
82412
- fn: function() {
82413
- return [
82414
- _c(
82415
- "div",
82416
- {
82417
- staticClass:
82418
- "d-flex align-items-center justify-content-center"
82419
- },
82420
- [
82421
- _c("font-awesome-icon", {
82422
- staticClass: "m-0 h5",
82423
- attrs: { icon: ["far", "user"] }
82424
- }),
82425
- _vm._v(" "),
82426
- _c("span", { staticClass: "sr-only" }, [
82427
- _vm._v(
82428
- "\n " +
82429
- _vm._s(_vm.labels.helpForum) +
82430
- "\n "
82431
- )
82432
- ])
82433
- ],
82434
- 1
82435
- )
82436
- ]
82437
- },
82438
- proxy: true
82439
- }
82440
- ])
82441
- },
82442
- [
82443
- _vm._v(" "),
82444
- _c("b-dropdown-text", { staticClass: "text-muted mb-2" }, [
82445
- _vm._v(
82446
- "\n " +
82447
- _vm._s(_vm.labels.userSettingsLoggedInAs) +
82448
- "\n "
82449
- )
82450
- ]),
82451
- _vm._v(" "),
82452
- _c("div", [_vm._t("avatar-dropdown")], 2),
82453
- _vm._v(" "),
82454
- _c(
82455
- "b-dropdown-item",
82456
- { attrs: { href: _vm.userProfileURL, target: "_blank" } },
82457
- [
82458
- _vm._v(
82459
- "\n " +
82460
- _vm._s(_vm.labels.userSettingsProfile) +
82461
- "\n "
82462
- )
82463
- ]
82464
- ),
82465
- _vm._v(" "),
82466
- _c(
82467
- "b-dropdown-item",
82468
- { attrs: { href: _vm.changePasswordURL, target: "_blank" } },
82469
- [
82470
- _vm._v(
82471
- "\n " +
82472
- _vm._s(_vm.labels.userSettingsChangePassword) +
82473
- "\n "
82474
- )
82475
- ]
82476
- ),
82477
- _vm._v(" "),
82478
- _c("b-dropdown-divider"),
82479
- _vm._v(" "),
82480
- _c(
82481
- "b-dropdown-item",
82482
- {
82483
- staticClass: "mt-2",
82484
- attrs: { href: "" },
82485
- on: {
82486
- click: function($event) {
82487
- return _vm.$auth.logout()
82488
- }
82489
- }
82490
- },
82491
- [
82492
- _vm._v(
82493
- "\n " +
82494
- _vm._s(_vm.labels.userSettingsLogout) +
82495
- "\n "
82496
- )
82497
- ]
82498
- )
82499
- ],
82500
- 1
82501
- )
82502
- ],
82503
- 2
82504
- )
82505
- ]
82506
- )
82507
- };
80533
+ var __vue_render__$x = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"header-navigation d-flex align-items-center justify-content-between sticky-top pr-3 pl-5 "},[_c('div',{staticClass:"d-flex text-nowrap flex-grow-1 align-items-center header h-100 w-100"},[[_c('div',{staticClass:"spacer",class:{
80534
+ 'expanded': _vm.sidebarPinned,
80535
+ }})],_vm._v(" "),_c('div',{staticClass:"d-flex align-items-center ml-2 text-truncate mr-auto h-100"},[_c('h2',{staticClass:"d-none d-sm-block mb-0"},[_vm._t("title")],2)]),_vm._v(" "),_c('div',{staticClass:"ml-3"},[_vm._t("tools")],2),_vm._v(" "),(!_vm.hideAppSelector)?_c('b-button',{staticClass:"d-flex align-items-center justify-content-center text-dark border-0 nav-icon rounded-circle ml-2",attrs:{"variant":"outline-light","href":_vm.appSelectorURL,"size":"lg"}},[_c('font-awesome-icon',{staticClass:"m-0 h5",attrs:{"icon":['fas', 'grip-horizontal']}})],1):_vm._e(),_vm._v(" "),_c('b-dropdown',{staticClass:"nav-icon mx-1",attrs:{"size":"lg","variant":"outline-light","toggle-class":"text-decoration-none text-dark rounded-circle border-0 w-100","menu-class":"border-0 shadow-sm text-dark font-weight-bold mt-2","right":"","no-caret":""},scopedSlots:_vm._u([{key:"button-content",fn:function(){return [_c('div',{staticClass:"d-flex align-items-center justify-content-center"},[_c('font-awesome-icon',{staticClass:"m-0 h5",attrs:{"icon":['far', 'question-circle']}}),_vm._v(" "),_c('span',{staticClass:"sr-only"},[_vm._v("\n Help\n ")])],1)]},proxy:true}])},[_vm._v(" "),_c('div',[_vm._t("help-dropdown")],2),_vm._v(" "),_c('b-dropdown-item',{attrs:{"href":"https://forum.cortezaproject.org/","target":"_blank"}},[_vm._v("\n "+_vm._s(_vm.labels.helpForum)+"\n ")]),_vm._v(" "),_c('b-dropdown-item',{attrs:{"href":_vm.documentationURL,"target":"_blank"}},[_vm._v("\n "+_vm._s(_vm.labels.helpDocumentation)+"\n ")]),_vm._v(" "),_c('b-dropdown-item',{attrs:{"href":"mailto:info@crust.tech","target":"_blank"}},[_vm._v("\n "+_vm._s(_vm.labels.helpFeedback)+"\n ")]),_vm._v(" "),_c('b-dropdown-divider'),_vm._v(" "),_c('b-dropdown-item',{staticClass:"small",attrs:{"disabled":""}},[_vm._v("\n "+_vm._s(_vm.labels.helpVersion)+"\n "),_c('br'),_vm._v("\n "+_vm._s(_vm.frontendVersion)+"\n ")])],1),_vm._v(" "),_c('b-dropdown',{staticClass:"nav-user-icon",attrs:{"data-v-onboarding":"profile","size":"lg","variant":"outline-light","toggle-class":"nav-icon text-decoration-none text-dark rounded-circle border","menu-class":"border-0 shadow-sm text-dark font-weight-bold mt-2","right":"","no-caret":""},scopedSlots:_vm._u([{key:"button-content",fn:function(){return [_c('div',{staticClass:"d-flex align-items-center justify-content-center"},[_c('font-awesome-icon',{staticClass:"m-0 h5",attrs:{"icon":['far', 'user']}}),_vm._v(" "),_c('span',{staticClass:"sr-only"},[_vm._v("\n "+_vm._s(_vm.labels.helpForum)+"\n ")])],1)]},proxy:true}])},[_vm._v(" "),_c('b-dropdown-text',{staticClass:"text-muted mb-2"},[_vm._v("\n "+_vm._s(_vm.labels.userSettingsLoggedInAs)+"\n ")]),_vm._v(" "),_c('div',[_vm._t("avatar-dropdown")],2),_vm._v(" "),_c('b-dropdown-item',{attrs:{"href":_vm.userProfileURL,"target":"_blank"}},[_vm._v("\n "+_vm._s(_vm.labels.userSettingsProfile)+"\n ")]),_vm._v(" "),_c('b-dropdown-item',{attrs:{"href":_vm.changePasswordURL,"target":"_blank"}},[_vm._v("\n "+_vm._s(_vm.labels.userSettingsChangePassword)+"\n ")]),_vm._v(" "),_c('b-dropdown-divider'),_vm._v(" "),_c('b-dropdown-item',{staticClass:"mt-2",attrs:{"href":""},on:{"click":function($event){return _vm.$auth.logout()}}},[_vm._v("\n "+_vm._s(_vm.labels.userSettingsLogout)+"\n ")])],1)],2)])};
82508
80536
  var __vue_staticRenderFns__$x = [];
82509
- __vue_render__$x._withStripped = true;
82510
80537
 
82511
80538
  /* style */
82512
80539
  const __vue_inject_styles__$D = function (inject) {
82513
80540
  if (!inject) return
82514
- inject("data-v-ff5125a8_0", { source: ".icon-logo[data-v-ff5125a8] {\n height: calc(64px / 2);\n background-repeat: no-repeat;\n background-position: center;\n}\n.nav-icon[data-v-ff5125a8] {\n width: 40px;\n height: 40px;\n}\n.nav-user-icon[data-v-ff5125a8] {\n width: 50px;\n height: 50px;\n}\n.header-navigation[data-v-ff5125a8] {\n width: 100vw;\n height: 64px;\n background-color: #F3F3F5 !important;\n}\n.header-navigation h2[data-v-ff5125a8] {\n padding-left: calc(0.5rem + 2px);\n}\n.spacer[data-v-ff5125a8] {\n min-width: 0px;\n -webkit-transition: min-width 0.15s ease-in-out;\n -moz-transition: min-width 0.15s ease-in-out;\n -o-transition: min-width 0.15s ease-in-out;\n transition: min-width 0.15s ease-in-out;\n}\n.spacer.expanded[data-v-ff5125a8] {\n min-width: calc(320px - 42px);\n -webkit-transition: min-width 0.2s ease-in-out;\n -moz-transition: min-width 0.2s ease-in-out;\n -o-transition: min-width 0.2s ease-in-out;\n transition: min-width 0.2s ease-in-out;\n}\n\n/*# sourceMappingURL=CTopbar.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/navigation/CTopbar.vue","CTopbar.vue"],"names":[],"mappings":"AA2MA;EACA,sBAAA;EACA,4BAAA;EACA,2BAAA;AC1MA;AD6MA;EACA,WAVA;EAWA,YAXA;AC/LA;AD6MA;EACA,WAdA;EAeA,YAfA;AC3LA;AD6MA;EACA,YAAA;EACA,YAvBA;EAwBA,oCAAA;AC1MA;AD4MA;EACA,gCAAA;AC1MA;AD8MA;EACA,cAAA;EACA,+CAAA;EACA,4CAAA;EACA,0CAAA;EACA,uCAAA;AC3MA;AD6MA;EACA,6BAAA;EACA,8CAAA;EACA,2CAAA;EACA,yCAAA;EACA,sCAAA;AC3MA;;AAEA,sCAAsC","file":"CTopbar.vue","sourcesContent":["<template>\n <div class=\"header-navigation d-flex align-items-center justify-content-between sticky-top pr-3 pl-5 \">\n <div\n class=\"d-flex text-nowrap flex-grow-1 align-items-center header h-100 w-100\"\n >\n <template>\n <div\n class=\"spacer\"\n :class=\"{\n 'expanded': sidebarPinned,\n }\"\n />\n </template>\n\n <div\n class=\"d-flex align-items-center ml-2 text-truncate mr-auto h-100\"\n >\n <h2\n class=\"d-none d-sm-block mb-0\"\n >\n <slot name=\"title\" />\n </h2>\n\n </div>\n\n <div class=\"ml-3\">\n <slot name=\"tools\" />\n </div>\n\n <b-button\n v-if=\"!hideAppSelector\"\n variant=\"outline-light\"\n :href=\"appSelectorURL\"\n size=\"lg\"\n class=\"d-flex align-items-center justify-content-center text-dark border-0 nav-icon rounded-circle ml-2\"\n >\n <font-awesome-icon\n class=\"m-0 h5\"\n :icon=\"['fas', 'grip-horizontal']\"\n />\n </b-button>\n\n <b-dropdown\n size=\"lg\"\n variant=\"outline-light\"\n class=\"nav-icon mx-1\"\n toggle-class=\"text-decoration-none text-dark rounded-circle border-0 w-100\"\n menu-class=\"border-0 shadow-sm text-dark font-weight-bold mt-2\"\n right\n no-caret\n >\n <template #button-content>\n <div\n class=\"d-flex align-items-center justify-content-center\"\n >\n <font-awesome-icon\n class=\"m-0 h5\"\n :icon=\"['far', 'question-circle']\"\n />\n <span class=\"sr-only\">\n Help\n </span>\n </div>\n </template>\n <div>\n <slot name=\"help-dropdown\" />\n </div>\n <b-dropdown-item\n href=\"https://forum.cortezaproject.org/\"\n target=\"_blank\"\n >\n {{ labels.helpForum }}\n </b-dropdown-item>\n <b-dropdown-item\n :href=\"documentationURL\"\n target=\"_blank\"\n >\n {{ labels.helpDocumentation }}\n </b-dropdown-item>\n <b-dropdown-item\n href=\"mailto:info@crust.tech\"\n target=\"_blank\"\n >\n {{ labels.helpFeedback }}\n </b-dropdown-item>\n <b-dropdown-divider />\n <b-dropdown-item\n disabled\n class=\"small\"\n >\n {{ labels.helpVersion }}\n <br>\n {{ frontendVersion }}\n </b-dropdown-item>\n </b-dropdown>\n <b-dropdown\n data-v-onboarding=\"profile\"\n size=\"lg\"\n variant=\"outline-light\"\n class=\"nav-user-icon\"\n toggle-class=\"nav-icon text-decoration-none text-dark rounded-circle border\"\n menu-class=\"border-0 shadow-sm text-dark font-weight-bold mt-2\"\n right\n no-caret\n >\n <template #button-content>\n <div\n class=\"d-flex align-items-center justify-content-center\"\n >\n <font-awesome-icon\n class=\"m-0 h5\"\n :icon=\"['far', 'user']\"\n />\n <span class=\"sr-only\">\n {{ labels.helpForum }}\n </span>\n </div>\n </template>\n <b-dropdown-text class=\"text-muted mb-2\">\n {{ labels.userSettingsLoggedInAs }}\n </b-dropdown-text>\n <div>\n <slot name=\"avatar-dropdown\" />\n </div>\n <b-dropdown-item\n :href=\"userProfileURL\"\n target=\"_blank\"\n >\n {{ labels.userSettingsProfile }}\n </b-dropdown-item>\n <b-dropdown-item\n :href=\"changePasswordURL\"\n target=\"_blank\"\n >\n {{ labels.userSettingsChangePassword }}\n </b-dropdown-item>\n <b-dropdown-divider />\n <b-dropdown-item\n href=\"\"\n @click=\"$auth.logout()\"\n class=\"mt-2\"\n >\n {{ labels.userSettingsLogout }}\n </b-dropdown-item>\n </b-dropdown>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n sidebarPinned: {\n type: Boolean,\n required: true,\n default: false,\n },\n\n hideAppSelector: {\n type: Boolean,\n required: false,\n default: false,\n },\n\n appSelectorURL: {\n type: String,\n default: '../'\n },\n\n labels: {\n type: Object,\n required: true,\n },\n },\n\n computed: {\n userProfileURL () {\n return this.$auth.cortezaAuthURL\n },\n\n changePasswordURL () {\n return `${this.$auth.cortezaAuthURL}/change-password`\n },\n\n documentationURL () {\n const [year, month] = VERSION.split('.')\n return `https://docs.cortezaproject.org/corteza-docs/${year}.${month}/index.html`\n },\n\n frontendVersion () {\n /* eslint-disable no-undef */\n return VERSION\n },\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$header-height: 64px;\n$nav-width: 320px;\n$nav-icon-size: 40px;\n$nav-user-icon-size: 50px;\n\n.icon-logo {\n height: calc(#{$header-height} / 2);\n background-repeat: no-repeat;\n background-position: center;\n}\n\n.nav-icon {\n width: $nav-icon-size;\n height: $nav-icon-size;\n}\n\n.nav-user-icon {\n width: $nav-user-icon-size;\n height: $nav-user-icon-size;\n}\n\n.header-navigation {\n width: 100vw;\n height: $header-height;\n background-color: #F3F3F5 !important;\n\n h2 {\n padding-left: calc(0.5rem + 2px);\n }\n}\n\n.spacer {\n min-width: 0px;\n -webkit-transition: min-width 0.15s ease-in-out;\n -moz-transition: min-width 0.15s ease-in-out;\n -o-transition: min-width 0.15s ease-in-out;\n transition: min-width 0.15s ease-in-out;\n\n &.expanded {\n min-width: calc(#{$nav-width} - 42px);\n -webkit-transition: min-width 0.2s ease-in-out;\n -moz-transition: min-width 0.2s ease-in-out;\n -o-transition: min-width 0.2s ease-in-out;\n transition: min-width 0.2s ease-in-out;\n }\n}\n</style>\n",".icon-logo {\n height: calc(64px / 2);\n background-repeat: no-repeat;\n background-position: center;\n}\n\n.nav-icon {\n width: 40px;\n height: 40px;\n}\n\n.nav-user-icon {\n width: 50px;\n height: 50px;\n}\n\n.header-navigation {\n width: 100vw;\n height: 64px;\n background-color: #F3F3F5 !important;\n}\n.header-navigation h2 {\n padding-left: calc(0.5rem + 2px);\n}\n\n.spacer {\n min-width: 0px;\n -webkit-transition: min-width 0.15s ease-in-out;\n -moz-transition: min-width 0.15s ease-in-out;\n -o-transition: min-width 0.15s ease-in-out;\n transition: min-width 0.15s ease-in-out;\n}\n.spacer.expanded {\n min-width: calc(320px - 42px);\n -webkit-transition: min-width 0.2s ease-in-out;\n -moz-transition: min-width 0.2s ease-in-out;\n -o-transition: min-width 0.2s ease-in-out;\n transition: min-width 0.2s ease-in-out;\n}\n\n/*# sourceMappingURL=CTopbar.vue.map */"]}, media: undefined });
80541
+ inject("data-v-d822059c_0", { source: ".icon-logo[data-v-d822059c]{height:calc(64px / 2);background-repeat:no-repeat;background-position:center}.nav-icon[data-v-d822059c]{width:40px;height:40px}.nav-user-icon[data-v-d822059c]{width:50px;height:50px}.header-navigation[data-v-d822059c]{width:100vw;height:64px;background-color:#f3f3f5!important}.header-navigation h2[data-v-d822059c]{padding-left:calc(.5rem + 2px)}.spacer[data-v-d822059c]{min-width:0;-webkit-transition:min-width .15s ease-in-out;-moz-transition:min-width .15s ease-in-out;-o-transition:min-width .15s ease-in-out;transition:min-width .15s ease-in-out}.spacer.expanded[data-v-d822059c]{min-width:calc(320px - 42px);-webkit-transition:min-width .2s ease-in-out;-moz-transition:min-width .2s ease-in-out;-o-transition:min-width .2s ease-in-out;transition:min-width .2s ease-in-out}", map: undefined, media: undefined });
82515
80542
 
82516
80543
  };
82517
80544
  /* scoped */
82518
- const __vue_scope_id__$D = "data-v-ff5125a8";
80545
+ const __vue_scope_id__$D = "data-v-d822059c";
82519
80546
  /* module identifier */
82520
80547
  const __vue_module_identifier__$D = undefined;
82521
80548
  /* functional template */
@@ -82832,255 +80859,18 @@ var script$D = {
82832
80859
  const __vue_script__$D = script$D;
82833
80860
 
82834
80861
  /* template */
82835
- var __vue_render__$y = function() {
82836
- var _vm = this;
82837
- var _h = _vm.$createElement;
82838
- var _c = _vm._self._c || _h;
82839
- return _c("div", [
82840
- _c(
82841
- "div",
82842
- {
82843
- on: {
82844
- mouseleave: function($event) {
82845
- return _vm.onHover(false)
82846
- }
82847
- }
82848
- },
82849
- [
82850
- _c(
82851
- "b-sidebar",
82852
- {
82853
- attrs: {
82854
- "sidebar-class": "sidebar " + (_vm.isExpanded ? "expanded" : ""),
82855
- "header-class":
82856
- "d-block sidebar-header " +
82857
- (_vm.isExpanded ? "expanded border-bottom p-2" : ""),
82858
- "body-class": "bg-white " + (_vm.isExpanded ? "py-2 px-3" : ""),
82859
- "footer-class":
82860
- "bg-white rounded-right " + (_vm.isExpanded ? "p-2" : ""),
82861
- "no-header": !_vm.isExpanded,
82862
- backdrop: _vm.isMobile,
82863
- shadow: _vm.isExpanded,
82864
- "no-slide": "",
82865
- "no-close-on-route-change": "",
82866
- "no-close-on-esc": ""
82867
- },
82868
- scopedSlots: _vm._u(
82869
- [
82870
- {
82871
- key: "header",
82872
- fn: function() {
82873
- return [
82874
- _c(
82875
- "div",
82876
- {
82877
- staticClass:
82878
- "d-flex align-items-center justify-content-between px-2",
82879
- staticStyle: { height: "50px" }
82880
- },
82881
- [
82882
- _c("img", {
82883
- staticClass: "logo w-auto border-0",
82884
- attrs: { src: _vm.logo }
82885
- }),
82886
- _vm._v(" "),
82887
- _vm.isMobile
82888
- ? _c(
82889
- "b-button",
82890
- {
82891
- staticClass:
82892
- "d-flex align-items-center justify-content-center p-2",
82893
- attrs: { variant: "outline-light border-0" },
82894
- on: {
82895
- click: function($event) {
82896
- return _vm.closeSidebar()
82897
- }
82898
- }
82899
- },
82900
- [
82901
- _c("font-awesome-icon", {
82902
- staticClass: "h6 mb-0 text-dark",
82903
- attrs: { icon: ["fas", "times"] }
82904
- })
82905
- ],
82906
- 1
82907
- )
82908
- : _c(
82909
- "b-button",
82910
- {
82911
- staticClass:
82912
- "d-flex align-items-center justify-content-center p-2",
82913
- attrs: { variant: "outline-light border-0" },
82914
- on: {
82915
- click: function($event) {
82916
- return _vm.togglePin()
82917
- }
82918
- }
82919
- },
82920
- [
82921
- _c("font-awesome-icon", {
82922
- class:
82923
- "h6 mb-0 " +
82924
- (_vm.isPinned
82925
- ? "text-primary"
82926
- : "text-secondary"),
82927
- attrs: { icon: ["fas", "thumbtack"] }
82928
- })
82929
- ],
82930
- 1
82931
- )
82932
- ],
82933
- 1
82934
- ),
82935
- _vm._v(" "),
82936
- !_vm.isExpanded
82937
- ? _c(
82938
- "div",
82939
- {
82940
- staticClass:
82941
- "d-flex align-items-center justify-content-center my-3"
82942
- },
82943
- [
82944
- _c(
82945
- "b-button",
82946
- {
82947
- attrs: { variant: "link" },
82948
- on: {
82949
- click: function($event) {
82950
- return _vm.togglePin()
82951
- }
82952
- }
82953
- },
82954
- [
82955
- _c("font-awesome-icon", {
82956
- staticClass: "h6 mb-0",
82957
- attrs: { icon: ["fas", "chevron-right"] }
82958
- })
82959
- ],
82960
- 1
82961
- )
82962
- ],
82963
- 1
82964
- )
82965
- : _vm._e(),
82966
- _vm._v(" "),
82967
- _vm.isExpanded
82968
- ? _c(
82969
- "div",
82970
- { staticClass: "px-2" },
82971
- [_vm._t("header-expanded")],
82972
- 2
82973
- )
82974
- : _vm._e(),
82975
- _vm._v(" "),
82976
- !_vm.isExpanded
82977
- ? _c("hr", { staticClass: "my-2" })
82978
- : _vm._e()
82979
- ]
82980
- },
82981
- proxy: true
82982
- },
82983
- {
82984
- key: "footer",
82985
- fn: function() {
82986
- return [
82987
- _vm.isExpanded ? _vm._t("footer-expanded") : _vm._e()
82988
- ]
82989
- },
82990
- proxy: true
82991
- }
82992
- ],
82993
- null,
82994
- true
82995
- ),
82996
- model: {
82997
- value: _vm.isExpanded,
82998
- callback: function($$v) {
82999
- _vm.isExpanded = $$v;
83000
- },
83001
- expression: "isExpanded"
83002
- }
83003
- },
83004
- [_vm._v(" "), _vm.isExpanded ? _vm._t("body-expanded") : _vm._e()],
83005
- 2
83006
- )
83007
- ],
83008
- 1
83009
- ),
83010
- _vm._v(" "),
83011
- _c(
83012
- "div",
83013
- {
83014
- staticClass:
83015
- "d-flex align-items-center justify-content-center tab position-absolute p-2"
83016
- },
83017
- [
83018
- _vm.expandOnHover && !_vm.disabledRoutes.includes(_vm.$route.name)
83019
- ? _c(
83020
- "b-button",
83021
- {
83022
- staticClass: "d-flex align-items-center border-0",
83023
- attrs: { variant: "outline-light", size: "lg" },
83024
- on: {
83025
- mouseover: function($event) {
83026
- return _vm.onHover(true)
83027
- }
83028
- }
83029
- },
83030
- [
83031
- _c("font-awesome-icon", {
83032
- staticClass: "h4 mb-0 text-primary",
83033
- attrs: { icon: ["fas", "bars"] }
83034
- })
83035
- ],
83036
- 1
83037
- )
83038
- : !_vm.disabledRoutes.includes(_vm.$route.name)
83039
- ? _c(
83040
- "b-button",
83041
- {
83042
- staticClass: "d-flex align-items-center p-2 border-0",
83043
- attrs: {
83044
- variant: "outline-light",
83045
- size: "lg",
83046
- to: { name: "root" }
83047
- }
83048
- },
83049
- [
83050
- _c("font-awesome-icon", {
83051
- staticClass: "h4 mb-0 text-primary",
83052
- attrs: { icon: ["fas", "home"] }
83053
- })
83054
- ],
83055
- 1
83056
- )
83057
- : _c(
83058
- "div",
83059
- { staticClass: "d-flex align-items-center border-0 p-2" },
83060
- [
83061
- _c("img", {
83062
- staticClass: "icon w-auto border-0",
83063
- attrs: { src: _vm.icon }
83064
- })
83065
- ]
83066
- )
83067
- ],
83068
- 1
83069
- )
83070
- ])
83071
- };
80862
+ var __vue_render__$y = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{on:{"mouseleave":function($event){return _vm.onHover(false)}}},[_c('b-sidebar',{attrs:{"sidebar-class":("sidebar " + (_vm.isExpanded ? 'expanded' : '')),"header-class":("d-block sidebar-header " + (_vm.isExpanded ? 'expanded border-bottom p-2' : '')),"body-class":("bg-white " + (_vm.isExpanded ? 'py-2 px-3' : '')),"footer-class":("bg-white rounded-right " + (_vm.isExpanded ? 'p-2' : '')),"no-header":!_vm.isExpanded,"backdrop":_vm.isMobile,"shadow":_vm.isExpanded,"no-slide":"","no-close-on-route-change":"","no-close-on-esc":""},scopedSlots:_vm._u([{key:"header",fn:function(){return [_c('div',{staticClass:"d-flex align-items-center justify-content-between px-2",staticStyle:{"height":"50px"}},[_c('img',{staticClass:"logo w-auto border-0",attrs:{"src":_vm.logo}}),_vm._v(" "),(_vm.isMobile)?_c('b-button',{staticClass:"d-flex align-items-center justify-content-center p-2",attrs:{"variant":"outline-light border-0"},on:{"click":function($event){return _vm.closeSidebar()}}},[_c('font-awesome-icon',{staticClass:"h6 mb-0 text-dark",attrs:{"icon":['fas', 'times']}})],1):_c('b-button',{staticClass:"d-flex align-items-center justify-content-center p-2",attrs:{"variant":"outline-light border-0"},on:{"click":function($event){return _vm.togglePin()}}},[_c('font-awesome-icon',{class:("h6 mb-0 " + (_vm.isPinned ? 'text-primary' : 'text-secondary')),attrs:{"icon":['fas', 'thumbtack']}})],1)],1),_vm._v(" "),(!_vm.isExpanded)?_c('div',{staticClass:"d-flex align-items-center justify-content-center my-3"},[_c('b-button',{attrs:{"variant":"link"},on:{"click":function($event){return _vm.togglePin()}}},[_c('font-awesome-icon',{staticClass:"h6 mb-0",attrs:{"icon":['fas', 'chevron-right']}})],1)],1):_vm._e(),_vm._v(" "),(_vm.isExpanded)?_c('div',{staticClass:"px-2"},[_vm._t("header-expanded")],2):_vm._e(),_vm._v(" "),(!_vm.isExpanded)?_c('hr',{staticClass:"my-2"}):_vm._e()]},proxy:true},{key:"footer",fn:function(){return [(_vm.isExpanded)?_vm._t("footer-expanded"):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.isExpanded),callback:function ($$v) {_vm.isExpanded=$$v;},expression:"isExpanded"}},[_vm._v(" "),(_vm.isExpanded)?_vm._t("body-expanded"):_vm._e()],2)],1),_vm._v(" "),_c('div',{staticClass:"d-flex align-items-center justify-content-center tab position-absolute p-2"},[(_vm.expandOnHover && !_vm.disabledRoutes.includes(_vm.$route.name))?_c('b-button',{staticClass:"d-flex align-items-center border-0",attrs:{"variant":"outline-light","size":"lg"},on:{"mouseover":function($event){return _vm.onHover(true)}}},[_c('font-awesome-icon',{staticClass:"h4 mb-0 text-primary",attrs:{"icon":['fas', 'bars']}})],1):(!_vm.disabledRoutes.includes(_vm.$route.name))?_c('b-button',{staticClass:"d-flex align-items-center p-2 border-0",attrs:{"variant":"outline-light","size":"lg","to":{ name: 'root' }}},[_c('font-awesome-icon',{staticClass:"h4 mb-0 text-primary",attrs:{"icon":['fas', 'home']}})],1):_c('div',{staticClass:"d-flex align-items-center border-0 p-2"},[_c('img',{staticClass:"icon w-auto border-0",attrs:{"src":_vm.icon}})])],1)])};
83072
80863
  var __vue_staticRenderFns__$y = [];
83073
- __vue_render__$y._withStripped = true;
83074
80864
 
83075
80865
  /* style */
83076
80866
  const __vue_inject_styles__$E = function (inject) {
83077
80867
  if (!inject) return
83078
- inject("data-v-6a351e13_0", { source: ".tab[data-v-6a351e13] {\n z-index: 1021;\n top: 0;\n height: 64px;\n width: 66px;\n}\n.icon[data-v-6a351e13] {\n max-height: 40px;\n max-width: 40px;\n}\n.logo[data-v-6a351e13] {\n max-height: 40px;\n}\n.sidebar-header[data-v-6a351e13] {\n height: 64px;\n}\n\n/*# sourceMappingURL=CSidebar.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/navigation/CSidebar.vue","CSidebar.vue"],"names":[],"mappings":"AAiSA;EACA,aAAA;EACA,MAAA;EACA,YALA;EAMA,WAAA;AChSA;ADmSA;EACA,gBAAA;EACA,eAAA;AChSA;ADmSA;EACA,gBAAA;AChSA;ADmSA;EACA,YAnBA;AC7QA;;AAEA,uCAAuC","file":"CSidebar.vue","sourcesContent":["<template>\n <div>\n <div\n @mouseleave=\"onHover(false)\"\n >\n <b-sidebar\n v-model=\"isExpanded\"\n :sidebar-class=\"`sidebar ${isExpanded ? 'expanded' : ''}`\"\n :header-class=\"`d-block sidebar-header ${isExpanded ? 'expanded border-bottom p-2' : ''}`\"\n :body-class=\"`bg-white ${isExpanded ? 'py-2 px-3' : ''}`\"\n :footer-class=\"`bg-white rounded-right ${isExpanded ? 'p-2' : ''}`\"\n :no-header=\"!isExpanded\"\n :backdrop=\"isMobile\"\n :shadow=\"isExpanded\"\n no-slide\n no-close-on-route-change\n no-close-on-esc\n >\n <template #header>\n <div\n class=\"d-flex align-items-center justify-content-between px-2\"\n style=\"height: 50px;\"\n >\n <img\n class=\"logo w-auto border-0\"\n :src=\"logo\"\n >\n\n <b-button\n v-if=\"isMobile\"\n variant=\"outline-light border-0\"\n class=\"d-flex align-items-center justify-content-center p-2\"\n @click=\"closeSidebar()\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'times']\"\n class=\"h6 mb-0 text-dark\"\n />\n </b-button>\n\n <b-button\n v-else\n variant=\"outline-light border-0\"\n class=\"d-flex align-items-center justify-content-center p-2\"\n @click=\"togglePin()\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'thumbtack']\"\n :class=\"`h6 mb-0 ${isPinned ? 'text-primary' : 'text-secondary'}`\"\n />\n </b-button>\n </div>\n\n <div\n v-if=\"!isExpanded\"\n class=\"d-flex align-items-center justify-content-center my-3\"\n >\n <b-button\n variant=\"link\"\n @click=\"togglePin()\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'chevron-right']\"\n class=\"h6 mb-0\"\n />\n </b-button>\n </div>\n\n <div\n v-if=\"isExpanded\"\n class=\"px-2\"\n >\n <slot\n name=\"header-expanded\"\n />\n </div>\n\n\n <hr\n v-if=\"!isExpanded\"\n class=\"my-2\"\n >\n </template>\n\n <slot\n v-if=\"isExpanded\"\n name=\"body-expanded\"\n />\n\n <template #footer>\n <slot\n v-if=\"isExpanded\"\n name=\"footer-expanded\"\n />\n </template>\n </b-sidebar>\n </div>\n\n <div\n class=\"d-flex align-items-center justify-content-center tab position-absolute p-2\"\n >\n <b-button\n v-if=\"expandOnHover && !disabledRoutes.includes($route.name)\"\n variant=\"outline-light\"\n size=\"lg\"\n class=\"d-flex align-items-center border-0\"\n @mouseover=\"onHover(true)\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'bars']\"\n class=\"h4 mb-0 text-primary\"\n />\n </b-button>\n\n <b-button\n v-else-if=\"!disabledRoutes.includes($route.name)\"\n variant=\"outline-light\"\n size=\"lg\"\n class=\"d-flex align-items-center p-2 border-0\"\n :to=\"{ name: 'root' }\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'home']\"\n class=\"h4 mb-0 text-primary\"\n />\n </b-button>\n\n <div\n v-else\n class=\"d-flex align-items-center border-0 p-2\"\n >\n <img\n class=\"icon w-auto border-0\"\n :src=\"icon\"\n >\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n expanded: {\n type: Boolean,\n default: false,\n },\n\n pinned: {\n type: Boolean,\n default: false,\n },\n\n expandOnHover: {\n type: Boolean,\n default: false,\n },\n\n disabledRoutes: {\n type: Array,\n default: () => [],\n },\n\n icon: {\n type: String,\n default: () => ''\n },\n\n logo: {\n type: String,\n default: () => ''\n },\n },\n\n data () {\n return {\n sidebar_settings : {}\n }\n },\n\n computed: {\n isExpanded: {\n get () {\n return this.expanded\n },\n\n set (expanded) {\n this.$emit('update:expanded', expanded)\n },\n },\n\n isPinned: {\n get () {\n return this.pinned\n },\n\n set (pinned) {\n this.$emit('update:pinned', pinned)\n },\n },\n\n isMobile () {\n return window.innerWidth < 576\n },\n },\n\n created () {\n this.$root.$on('close-sidebar', () => {\n this.isExpanded = false\n this.isPinned = false\n })\n },\n\n beforeDestroy () {\n this.$root.$off('close-sidebar')\n },\n\n watch: {\n '$route.name': {\n immediate: true,\n handler (name) {\n // If sidebar should be disabled on route, close and unpin when navigating to route\n if (this.disabledRoutes.includes(name)) {\n this.isPinned = false\n this.isExpanded = false\n } else if(this.expandOnHover){\n this.defaultSidebarAppearance()\n }\n },\n },\n },\n\n methods: {\n onHover (expand) {\n if (!this.pinned && this.expandOnHover) {\n setTimeout(() => {\n this.isExpanded = expand\n }, expand ? 0 : 100)\n }\n },\n\n togglePin () {\n this.saveSettings(!this.isPinned)\n this.isPinned = !this.isPinned\n },\n\n defaultSidebarAppearance () {\n const localstorage_settings = JSON.parse(window.localStorage.getItem('sidebar_settings'))\n if (localstorage_settings) {\n this.sidebar_settings = localstorage_settings\n }\n const app_sidebar = (localstorage_settings || {})[this.$root.$options.name]\n if (!this.isMobile) {\n if (app_sidebar) {\n this.isExpanded = app_sidebar.pinned\n this.isPinned = app_sidebar.pinned\n } else {\n this.openSidebar()\n }\n } else {\n this.closeSidebar()\n }\n },\n\n saveSettings (pinned) {\n if (this.sidebar_settings[this.$root.$options.name]) {\n this.sidebar_settings[this.$root.$options.name].pinned = pinned\n } else {\n this.sidebar_settings[this.$root.$options.name] = { pinned: pinned }\n }\n window.localStorage.setItem('sidebar_settings', JSON.stringify(this.sidebar_settings))\n },\n\n openSidebar () {\n this.isPinned = true\n this.isExpanded = true\n },\n\n closeSidebar () {\n this.isPinned = false\n this.isExpanded = false\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$header-height: 64px;\n\n.tab {\n z-index: 1021;\n top: 0;\n height: $header-height;\n width: 66px;\n}\n\n.icon {\n max-height: 40px;\n max-width: 40px;\n}\n\n.logo {\n max-height: 40px;\n}\n\n.sidebar-header {\n height: $header-height;\n}\n</style>\n\n<style lang=\"scss\">\n$nav-width: 320px;\n$sidebar-bg: #F4F7FA;\n\n.sidebar {\n display: flex !important;\n left: calc(-#{$nav-width}) !important;\n -webkit-transition: left 0.15s ease-in-out;\n -moz-transition: left 0.15s ease-in-out;\n -o-transition: left 0.15s ease-in-out;\n transition: left 0.15s ease-in-out;\n\n header {\n background-color: white;\n\n &.expanded {\n background-color: $sidebar-bg !important;\n }\n }\n\n &.expanded {\n left: 0 !important;\n -webkit-transition: left 0.2s ease-in-out;\n -moz-transition: left 0.2s ease-in-out;\n -o-transition: left 0.2s ease-in-out;\n transition: left 0.2s ease-in-out;\n }\n}\n</style>\n",".tab {\n z-index: 1021;\n top: 0;\n height: 64px;\n width: 66px;\n}\n\n.icon {\n max-height: 40px;\n max-width: 40px;\n}\n\n.logo {\n max-height: 40px;\n}\n\n.sidebar-header {\n height: 64px;\n}\n\n/*# sourceMappingURL=CSidebar.vue.map */"]}, media: undefined })
83079
- ,inject("data-v-6a351e13_1", { source: ".sidebar {\n display: flex !important;\n left: calc(-320px) !important;\n -webkit-transition: left 0.15s ease-in-out;\n -moz-transition: left 0.15s ease-in-out;\n -o-transition: left 0.15s ease-in-out;\n transition: left 0.15s ease-in-out;\n}\n.sidebar header {\n background-color: white;\n}\n.sidebar header.expanded {\n background-color: #F4F7FA !important;\n}\n.sidebar.expanded {\n left: 0 !important;\n -webkit-transition: left 0.2s ease-in-out;\n -moz-transition: left 0.2s ease-in-out;\n -o-transition: left 0.2s ease-in-out;\n transition: left 0.2s ease-in-out;\n}\n\n/*# sourceMappingURL=CSidebar.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/navigation/CSidebar.vue","CSidebar.vue"],"names":[],"mappings":"AA0TA;EACA,wBAAA;EACA,6BAAA;EACA,0CAAA;EACA,uCAAA;EACA,qCAAA;EACA,kCAAA;ACzTA;AD2TA;EACA,uBAAA;ACzTA;AD2TA;EACA,oCAAA;ACzTA;AD6TA;EACA,kBAAA;EACA,yCAAA;EACA,sCAAA;EACA,oCAAA;EACA,iCAAA;AC3TA;;AAEA,uCAAuC","file":"CSidebar.vue","sourcesContent":["<template>\n <div>\n <div\n @mouseleave=\"onHover(false)\"\n >\n <b-sidebar\n v-model=\"isExpanded\"\n :sidebar-class=\"`sidebar ${isExpanded ? 'expanded' : ''}`\"\n :header-class=\"`d-block sidebar-header ${isExpanded ? 'expanded border-bottom p-2' : ''}`\"\n :body-class=\"`bg-white ${isExpanded ? 'py-2 px-3' : ''}`\"\n :footer-class=\"`bg-white rounded-right ${isExpanded ? 'p-2' : ''}`\"\n :no-header=\"!isExpanded\"\n :backdrop=\"isMobile\"\n :shadow=\"isExpanded\"\n no-slide\n no-close-on-route-change\n no-close-on-esc\n >\n <template #header>\n <div\n class=\"d-flex align-items-center justify-content-between px-2\"\n style=\"height: 50px;\"\n >\n <img\n class=\"logo w-auto border-0\"\n :src=\"logo\"\n >\n\n <b-button\n v-if=\"isMobile\"\n variant=\"outline-light border-0\"\n class=\"d-flex align-items-center justify-content-center p-2\"\n @click=\"closeSidebar()\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'times']\"\n class=\"h6 mb-0 text-dark\"\n />\n </b-button>\n\n <b-button\n v-else\n variant=\"outline-light border-0\"\n class=\"d-flex align-items-center justify-content-center p-2\"\n @click=\"togglePin()\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'thumbtack']\"\n :class=\"`h6 mb-0 ${isPinned ? 'text-primary' : 'text-secondary'}`\"\n />\n </b-button>\n </div>\n\n <div\n v-if=\"!isExpanded\"\n class=\"d-flex align-items-center justify-content-center my-3\"\n >\n <b-button\n variant=\"link\"\n @click=\"togglePin()\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'chevron-right']\"\n class=\"h6 mb-0\"\n />\n </b-button>\n </div>\n\n <div\n v-if=\"isExpanded\"\n class=\"px-2\"\n >\n <slot\n name=\"header-expanded\"\n />\n </div>\n\n\n <hr\n v-if=\"!isExpanded\"\n class=\"my-2\"\n >\n </template>\n\n <slot\n v-if=\"isExpanded\"\n name=\"body-expanded\"\n />\n\n <template #footer>\n <slot\n v-if=\"isExpanded\"\n name=\"footer-expanded\"\n />\n </template>\n </b-sidebar>\n </div>\n\n <div\n class=\"d-flex align-items-center justify-content-center tab position-absolute p-2\"\n >\n <b-button\n v-if=\"expandOnHover && !disabledRoutes.includes($route.name)\"\n variant=\"outline-light\"\n size=\"lg\"\n class=\"d-flex align-items-center border-0\"\n @mouseover=\"onHover(true)\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'bars']\"\n class=\"h4 mb-0 text-primary\"\n />\n </b-button>\n\n <b-button\n v-else-if=\"!disabledRoutes.includes($route.name)\"\n variant=\"outline-light\"\n size=\"lg\"\n class=\"d-flex align-items-center p-2 border-0\"\n :to=\"{ name: 'root' }\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'home']\"\n class=\"h4 mb-0 text-primary\"\n />\n </b-button>\n\n <div\n v-else\n class=\"d-flex align-items-center border-0 p-2\"\n >\n <img\n class=\"icon w-auto border-0\"\n :src=\"icon\"\n >\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n expanded: {\n type: Boolean,\n default: false,\n },\n\n pinned: {\n type: Boolean,\n default: false,\n },\n\n expandOnHover: {\n type: Boolean,\n default: false,\n },\n\n disabledRoutes: {\n type: Array,\n default: () => [],\n },\n\n icon: {\n type: String,\n default: () => ''\n },\n\n logo: {\n type: String,\n default: () => ''\n },\n },\n\n data () {\n return {\n sidebar_settings : {}\n }\n },\n\n computed: {\n isExpanded: {\n get () {\n return this.expanded\n },\n\n set (expanded) {\n this.$emit('update:expanded', expanded)\n },\n },\n\n isPinned: {\n get () {\n return this.pinned\n },\n\n set (pinned) {\n this.$emit('update:pinned', pinned)\n },\n },\n\n isMobile () {\n return window.innerWidth < 576\n },\n },\n\n created () {\n this.$root.$on('close-sidebar', () => {\n this.isExpanded = false\n this.isPinned = false\n })\n },\n\n beforeDestroy () {\n this.$root.$off('close-sidebar')\n },\n\n watch: {\n '$route.name': {\n immediate: true,\n handler (name) {\n // If sidebar should be disabled on route, close and unpin when navigating to route\n if (this.disabledRoutes.includes(name)) {\n this.isPinned = false\n this.isExpanded = false\n } else if(this.expandOnHover){\n this.defaultSidebarAppearance()\n }\n },\n },\n },\n\n methods: {\n onHover (expand) {\n if (!this.pinned && this.expandOnHover) {\n setTimeout(() => {\n this.isExpanded = expand\n }, expand ? 0 : 100)\n }\n },\n\n togglePin () {\n this.saveSettings(!this.isPinned)\n this.isPinned = !this.isPinned\n },\n\n defaultSidebarAppearance () {\n const localstorage_settings = JSON.parse(window.localStorage.getItem('sidebar_settings'))\n if (localstorage_settings) {\n this.sidebar_settings = localstorage_settings\n }\n const app_sidebar = (localstorage_settings || {})[this.$root.$options.name]\n if (!this.isMobile) {\n if (app_sidebar) {\n this.isExpanded = app_sidebar.pinned\n this.isPinned = app_sidebar.pinned\n } else {\n this.openSidebar()\n }\n } else {\n this.closeSidebar()\n }\n },\n\n saveSettings (pinned) {\n if (this.sidebar_settings[this.$root.$options.name]) {\n this.sidebar_settings[this.$root.$options.name].pinned = pinned\n } else {\n this.sidebar_settings[this.$root.$options.name] = { pinned: pinned }\n }\n window.localStorage.setItem('sidebar_settings', JSON.stringify(this.sidebar_settings))\n },\n\n openSidebar () {\n this.isPinned = true\n this.isExpanded = true\n },\n\n closeSidebar () {\n this.isPinned = false\n this.isExpanded = false\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$header-height: 64px;\n\n.tab {\n z-index: 1021;\n top: 0;\n height: $header-height;\n width: 66px;\n}\n\n.icon {\n max-height: 40px;\n max-width: 40px;\n}\n\n.logo {\n max-height: 40px;\n}\n\n.sidebar-header {\n height: $header-height;\n}\n</style>\n\n<style lang=\"scss\">\n$nav-width: 320px;\n$sidebar-bg: #F4F7FA;\n\n.sidebar {\n display: flex !important;\n left: calc(-#{$nav-width}) !important;\n -webkit-transition: left 0.15s ease-in-out;\n -moz-transition: left 0.15s ease-in-out;\n -o-transition: left 0.15s ease-in-out;\n transition: left 0.15s ease-in-out;\n\n header {\n background-color: white;\n\n &.expanded {\n background-color: $sidebar-bg !important;\n }\n }\n\n &.expanded {\n left: 0 !important;\n -webkit-transition: left 0.2s ease-in-out;\n -moz-transition: left 0.2s ease-in-out;\n -o-transition: left 0.2s ease-in-out;\n transition: left 0.2s ease-in-out;\n }\n}\n</style>\n",".sidebar {\n display: flex !important;\n left: calc(-320px) !important;\n -webkit-transition: left 0.15s ease-in-out;\n -moz-transition: left 0.15s ease-in-out;\n -o-transition: left 0.15s ease-in-out;\n transition: left 0.15s ease-in-out;\n}\n.sidebar header {\n background-color: white;\n}\n.sidebar header.expanded {\n background-color: #F4F7FA !important;\n}\n.sidebar.expanded {\n left: 0 !important;\n -webkit-transition: left 0.2s ease-in-out;\n -moz-transition: left 0.2s ease-in-out;\n -o-transition: left 0.2s ease-in-out;\n transition: left 0.2s ease-in-out;\n}\n\n/*# sourceMappingURL=CSidebar.vue.map */"]}, media: undefined });
80868
+ inject("data-v-d60819ce_0", { source: ".tab[data-v-d60819ce]{z-index:1021;top:0;height:64px;width:66px}.icon[data-v-d60819ce]{max-height:40px;max-width:40px}.logo[data-v-d60819ce]{max-height:40px}.sidebar-header[data-v-d60819ce]{height:64px}", map: undefined, media: undefined })
80869
+ ,inject("data-v-d60819ce_1", { source: ".sidebar{display:flex!important;left:calc(-320px)!important;-webkit-transition:left .15s ease-in-out;-moz-transition:left .15s ease-in-out;-o-transition:left .15s ease-in-out;transition:left .15s ease-in-out}.sidebar header{background-color:#fff}.sidebar header.expanded{background-color:#f4f7fa!important}.sidebar.expanded{left:0!important;-webkit-transition:left .2s ease-in-out;-moz-transition:left .2s ease-in-out;-o-transition:left .2s ease-in-out;transition:left .2s ease-in-out}", map: undefined, media: undefined });
83080
80870
 
83081
80871
  };
83082
80872
  /* scoped */
83083
- const __vue_scope_id__$E = "data-v-6a351e13";
80873
+ const __vue_scope_id__$E = "data-v-d60819ce";
83084
80874
  /* module identifier */
83085
80875
  const __vue_module_identifier__$E = undefined;
83086
80876
  /* functional template */
@@ -83249,147 +81039,21 @@ var script$E = {
83249
81039
  const __vue_script__$E = script$E;
83250
81040
 
83251
81041
  /* template */
83252
- var __vue_render__$z = function() {
83253
- var _vm = this;
83254
- var _h = _vm.$createElement;
83255
- var _c = _vm._self._c || _h;
83256
- return _c(
83257
- "div",
83258
- { staticClass: "nav-sidebar" },
83259
- _vm._l(_vm.items, function(ref, index) {
83260
- var page = ref.page;
83261
- if (page === void 0) page = {};
83262
- var params = ref.params;
83263
- if (params === void 0) params = {};
83264
- var children = ref.children;
83265
- if (children === void 0) children = [];
83266
- return _c(
83267
- "b-button",
83268
- {
83269
- key: index,
83270
- staticClass:
83271
- "w-100 text-left text-dark text-decoration-none p-0 pt-2 nav-item",
83272
- attrs: {
83273
- variant: "link",
83274
- "active-class": "nav-active",
83275
- "exact-active-class": "nav-active",
83276
- to: { name: page.name || _vm.defaultRouteName, params: params }
83277
- }
83278
- },
83279
- [
83280
- _c(
83281
- "span",
83282
- {
83283
- staticClass: "d-inline-block w-75 text-nowrap text-truncate",
83284
- on: {
83285
- click: function($event) {
83286
- return _vm.closeSidebar()
83287
- }
83288
- }
83289
- },
83290
- [
83291
- page.icon
83292
- ? _c("font-awesome-icon", {
83293
- staticClass: "icon",
83294
- attrs: { icon: page.icon }
83295
- })
83296
- : _vm._e(),
83297
- _vm._v(" "),
83298
- _c("span", { staticClass: "title" }, [
83299
- _vm._v("\n " + _vm._s(page.title) + "\n ")
83300
- ])
83301
- ],
83302
- 1
83303
- ),
83304
- _vm._v(" "),
83305
- children.length
83306
- ? [
83307
- _c(
83308
- "b-button",
83309
- {
83310
- staticClass: "p-0 float-right",
83311
- attrs: {
83312
- variant: "link",
83313
- disabled: _vm.showChildren(page, children)
83314
- },
83315
- on: {
83316
- click: function($event) {
83317
- if ($event.target !== $event.currentTarget) {
83318
- return null
83319
- }
83320
- $event.stopPropagation();
83321
- $event.preventDefault();
83322
- return _vm.toggle(page)
83323
- }
83324
- }
83325
- },
83326
- [
83327
- !_vm.collapses[_vm.pageIndex(page)]
83328
- ? _c("font-awesome-icon", {
83329
- staticClass: "pointer-none",
83330
- attrs: { icon: ["fas", "chevron-down"] }
83331
- })
83332
- : _c("font-awesome-icon", {
83333
- staticClass: "pointer-none",
83334
- attrs: { icon: ["fas", "chevron-up"] }
83335
- })
83336
- ],
83337
- 1
83338
- ),
83339
- _vm._v(" "),
83340
- _c(
83341
- "b-collapse",
83342
- {
83343
- attrs: {
83344
- visible:
83345
- _vm.collapses[_vm.pageIndex(page)] ||
83346
- _vm.showChildren(page, children)
83347
- },
83348
- on: {
83349
- click: function($event) {
83350
- $event.stopPropagation();
83351
- $event.preventDefault();
83352
- }
83353
- }
83354
- },
83355
- [
83356
- _c(
83357
- "c-sidebar-nav-items",
83358
- _vm._g(
83359
- {
83360
- staticClass: "ml-2",
83361
- attrs: {
83362
- items: children,
83363
- "start-expanded": _vm.startExpanded,
83364
- "default-route-name": _vm.defaultRouteName
83365
- }
83366
- },
83367
- _vm.$listeners
83368
- )
83369
- )
83370
- ],
83371
- 1
83372
- )
83373
- ]
83374
- : _vm._e()
83375
- ],
83376
- 2
83377
- )
83378
- }),
83379
- 1
83380
- )
83381
- };
81042
+ var __vue_render__$z = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"nav-sidebar"},_vm._l((_vm.items),function(ref,index){
81043
+ var page = ref.page; if ( page === void 0 ) page = {};
81044
+ var params = ref.params; if ( params === void 0 ) params = {};
81045
+ var children = ref.children; if ( children === void 0 ) children = [];
81046
+ return _c('b-button',{key:index,staticClass:"w-100 text-left text-dark text-decoration-none p-0 pt-2 nav-item",attrs:{"variant":"link","active-class":"nav-active","exact-active-class":"nav-active","to":{ name: page.name || _vm.defaultRouteName, params: params }}},[_c('span',{staticClass:"d-inline-block w-75 text-nowrap text-truncate",on:{"click":function($event){return _vm.closeSidebar()}}},[(page.icon)?_c('font-awesome-icon',{staticClass:"icon",attrs:{"icon":page.icon}}):_vm._e(),_vm._v(" "),_c('span',{staticClass:"title"},[_vm._v("\n "+_vm._s(page.title)+"\n ")])],1),_vm._v(" "),(children.length)?[_c('b-button',{staticClass:"p-0 float-right",attrs:{"variant":"link","disabled":_vm.showChildren(page, children)},on:{"click":function($event){if($event.target !== $event.currentTarget){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.toggle(page)}}},[(!_vm.collapses[_vm.pageIndex(page)])?_c('font-awesome-icon',{staticClass:"pointer-none",attrs:{"icon":['fas', 'chevron-down']}}):_c('font-awesome-icon',{staticClass:"pointer-none",attrs:{"icon":['fas', 'chevron-up']}})],1),_vm._v(" "),_c('b-collapse',{attrs:{"visible":_vm.collapses[_vm.pageIndex(page)] || _vm.showChildren(page, children)},on:{"click":function($event){$event.stopPropagation();$event.preventDefault();}}},[_c('c-sidebar-nav-items',_vm._g({staticClass:"ml-2",attrs:{"items":children,"start-expanded":_vm.startExpanded,"default-route-name":_vm.defaultRouteName}},_vm.$listeners))],1)]:_vm._e()],2)}),1)};
83382
81047
  var __vue_staticRenderFns__$z = [];
83383
- __vue_render__$z._withStripped = true;
83384
81048
 
83385
81049
  /* style */
83386
81050
  const __vue_inject_styles__$F = function (inject) {
83387
81051
  if (!inject) return
83388
- inject("data-v-48e0e128_0", { source: ".pointer-none[data-v-48e0e128] {\n pointer-events: none;\n}\n.svg-inline--fa[data-v-48e0e128] {\n width: 30px;\n}\n.nav-item > span > .title[data-v-48e0e128] {\n font-family: \"Poppins-Regular\";\n}\n.nav-active > span > .icon[data-v-48e0e128] {\n color: #4D7281;\n}\n.nav-active > span > .title[data-v-48e0e128] {\n font-family: \"Poppins-SemiBold\";\n}\n\n/*# sourceMappingURL=CSidebarNavItems.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/navigation/CSidebarNavItems.vue","CSidebarNavItems.vue"],"names":[],"mappings":"AA+IA;EACA,oBAAA;AC9IA;ADiJA;EACA,WAAA;AC9IA;ADkJA;EACA,8BAAA;AC/IA;ADoJA;EACA,cAAA;ACjJA;ADoJA;EACA,+BAAA;AClJA;;AAEA,+CAA+C","file":"CSidebarNavItems.vue","sourcesContent":["<template>\n <div class=\"nav-sidebar\">\n <b-button\n v-for=\"({page = {}, params = {}, children = []}, index) of items\"\n :key=\"index\"\n variant=\"link\"\n class=\"w-100 text-left text-dark text-decoration-none p-0 pt-2 nav-item\"\n active-class=\"nav-active\"\n exact-active-class=\"nav-active\"\n :to=\"{ name: page.name || defaultRouteName, params }\"\n >\n <span\n class=\"d-inline-block w-75 text-nowrap text-truncate\"\n @click=\"closeSidebar()\"\n >\n <font-awesome-icon\n v-if=\"page.icon\"\n class=\"icon\"\n :icon=\"page.icon\"\n />\n <span\n class=\"title\"\n >\n {{ page.title }}\n </span>\n </span>\n\n <template\n v-if=\"children.length\"\n >\n <b-button\n variant=\"link\"\n class=\"p-0 float-right\"\n :disabled=\"showChildren(page, children)\"\n @click.self.stop.prevent=\"toggle(page)\"\n >\n <font-awesome-icon\n v-if=\"!collapses[pageIndex(page)]\"\n class=\"pointer-none\"\n :icon=\"['fas', 'chevron-down']\"\n />\n <font-awesome-icon\n v-else\n class=\"pointer-none\"\n :icon=\"['fas', 'chevron-up']\"\n />\n </b-button>\n\n <b-collapse\n :visible=\"collapses[pageIndex(page)] || showChildren(page, children)\"\n @click.stop.prevent\n >\n <c-sidebar-nav-items\n class=\"ml-2\"\n :items=\"children\"\n :start-expanded=\"startExpanded\"\n :default-route-name=\"defaultRouteName\"\n v-on=\"$listeners\"\n />\n </b-collapse>\n </template>\n </b-button>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'CSidebarNavItems',\n\n props: {\n /*\n * {\n page: { name, title }\n params: {...}\n }\n */\n items: {\n type: Array,\n required: true,\n default: () => [],\n },\n defaultRouteName: {\n type: String,\n required: true,\n },\n startExpanded: {\n type: Boolean,\n required: false,\n },\n },\n\n data () {\n return {\n collapses: {},\n }\n },\n\n watch: {\n items: {\n handler: function (items) {\n for (const i of items) {\n this.setState(i.page, this.startExpanded)\n }\n },\n immediate: true,\n },\n },\n\n methods: {\n closeSidebar () {\n if (window.innerWidth < 576) {\n this.$root.$emit('close-sidebar')\n }\n },\n\n pageIndex (p) {\n return p.pageID || p.name || p.title\n },\n\n toggle (p) {\n const px = this.pageIndex(p)\n this.$set(this.collapses, px, !this.collapses[px])\n },\n\n setState (p, state = false) {\n const px = this.pageIndex(p)\n this.$set(this.collapses, px, state)\n },\n\n // Recursively check for child pages that are open, so that parents can open aswell\n showChildren (page = {}, children = []) {\n if (page.pageID === this.$route.params.pageID) {\n return page.pageID === this.$route.params.pageID\n }\n\n return children.map(({ page, children }) => this.showChildren(page, children)).some(isOpen => isOpen)\n },\n },\n}\n</script>\n\n<style scoped lang=\"scss\">\n// This has to be there, so chevrons are clickable inside the button\n.pointer-none {\n pointer-events: none;\n}\n\n.svg-inline--fa {\n width: 30px;\n}\n\n.nav-item > span > {\n .title {\n font-family: 'Poppins-Regular'\n }\n}\n\n.nav-active > span > {\n .icon {\n color: #4D7281;\n }\n\n .title {\n font-family: 'Poppins-SemiBold'\n }\n}\n</style>\n",".pointer-none {\n pointer-events: none;\n}\n\n.svg-inline--fa {\n width: 30px;\n}\n\n.nav-item > span > .title {\n font-family: \"Poppins-Regular\";\n}\n\n.nav-active > span > .icon {\n color: #4D7281;\n}\n.nav-active > span > .title {\n font-family: \"Poppins-SemiBold\";\n}\n\n/*# sourceMappingURL=CSidebarNavItems.vue.map */"]}, media: undefined });
81052
+ inject("data-v-1ae13a72_0", { source: ".pointer-none[data-v-1ae13a72]{pointer-events:none}.svg-inline--fa[data-v-1ae13a72]{width:30px}.nav-item>span>.title[data-v-1ae13a72]{font-family:Poppins-Regular}.nav-active>span>.icon[data-v-1ae13a72]{color:#4d7281}.nav-active>span>.title[data-v-1ae13a72]{font-family:Poppins-SemiBold}", map: undefined, media: undefined });
83389
81053
 
83390
81054
  };
83391
81055
  /* scoped */
83392
- const __vue_scope_id__$F = "data-v-48e0e128";
81056
+ const __vue_scope_id__$F = "data-v-1ae13a72";
83393
81057
  /* module identifier */
83394
81058
  const __vue_module_identifier__$F = undefined;
83395
81059
  /* functional template */
@@ -83561,234 +81225,13 @@ var script$F = {
83561
81225
  const __vue_script__$F = script$F;
83562
81226
 
83563
81227
  /* template */
83564
- var __vue_render__$A = function() {
83565
- var _vm = this;
83566
- var _h = _vm.$createElement;
83567
- var _c = _vm._self._c || _h;
83568
- return _vm.tour !== null
83569
- ? _c("v-tour", {
83570
- attrs: {
83571
- name: _vm.tour.name,
83572
- steps: _vm.tour.steps,
83573
- options: _vm.tour,
83574
- callbacks: this.callbacks
83575
- },
83576
- on: { onStop: _vm.onStop },
83577
- scopedSlots: _vm._u(
83578
- [
83579
- {
83580
- key: "default",
83581
- fn: function(tour) {
83582
- return [
83583
- _c(
83584
- "transition",
83585
- { attrs: { name: "fade" } },
83586
- [
83587
- _vm._l(tour.steps, function(step, index) {
83588
- return [
83589
- tour.currentStep === index
83590
- ? _c(
83591
- "v-step",
83592
- {
83593
- key: index,
83594
- staticClass:
83595
- "shadow p-3 text-light text-center",
83596
- attrs: {
83597
- step: step,
83598
- "previous-step": tour.previousStep,
83599
- "next-step": tour.nextStep,
83600
- stop: tour.stop,
83601
- "is-first": tour.isFirst,
83602
- "is-last": tour.isLast,
83603
- labels: tour.labels
83604
- },
83605
- on: { onStop: _vm.onStop }
83606
- },
83607
- [
83608
- _c(
83609
- "div",
83610
- {
83611
- attrs: { slot: "header" },
83612
- slot: "header"
83613
- },
83614
- [
83615
- (step.header || {}).title
83616
- ? _c("h5", {
83617
- domProps: {
83618
- innerHTML: _vm._s(
83619
- _vm.$t(step.header.title)
83620
- )
83621
- }
83622
- })
83623
- : _vm._e()
83624
- ]
83625
- ),
83626
- _vm._v(" "),
83627
- _c(
83628
- "div",
83629
- {
83630
- attrs: { slot: "content" },
83631
- slot: "content"
83632
- },
83633
- [
83634
- _c("div", { staticClass: "p-1 mb-2" }, [
83635
- _c("div", {
83636
- domProps: {
83637
- innerHTML: _vm._s(
83638
- _vm.$t(step.content)
83639
- )
83640
- }
83641
- })
83642
- ])
83643
- ]
83644
- ),
83645
- _vm._v(" "),
83646
- _c(
83647
- "div",
83648
- {
83649
- attrs: { slot: "actions" },
83650
- slot: "actions"
83651
- },
83652
- [
83653
- _c(
83654
- "b-button",
83655
- {
83656
- attrs: { variant: "primary" },
83657
- on: { click: _vm.onStop }
83658
- },
83659
- [
83660
- tour.isLast &&
83661
- !(_vm.callbacks || {}).onNextRedirect
83662
- ? [
83663
- _vm._v(
83664
- "\n " +
83665
- _vm._s(
83666
- _vm.$t("buttons.end")
83667
- ) +
83668
- "\n "
83669
- )
83670
- ]
83671
- : [
83672
- _vm._v(
83673
- "\n " +
83674
- _vm._s(
83675
- _vm.$t("buttons.skip")
83676
- ) +
83677
- "\n "
83678
- )
83679
- ]
83680
- ],
83681
- 2
83682
- ),
83683
- _vm._v(" "),
83684
- tour.isFirst &&
83685
- (_vm.callbacks || {}).onPrevRedirect
83686
- ? _c(
83687
- "b-button",
83688
- {
83689
- attrs: {
83690
- variant: "primary",
83691
- href:
83692
- _vm.callbacks.onPrevRedirect
83693
- }
83694
- },
83695
- [
83696
- _vm._v(
83697
- "\n " +
83698
- _vm._s(
83699
- _vm.$t("buttons.previous")
83700
- ) +
83701
- "\n "
83702
- )
83703
- ]
83704
- )
83705
- : !tour.isFirst
83706
- ? _c(
83707
- "b-button",
83708
- {
83709
- attrs: { variant: "primary" },
83710
- on: { click: tour.previousStep }
83711
- },
83712
- [
83713
- _vm._v(
83714
- "\n " +
83715
- _vm._s(
83716
- _vm.$t("buttons.previous")
83717
- ) +
83718
- "\n "
83719
- )
83720
- ]
83721
- )
83722
- : _vm._e(),
83723
- _vm._v(" "),
83724
- tour.isLast &&
83725
- (_vm.callbacks || {}).onNextRedirect
83726
- ? _c(
83727
- "b-button",
83728
- {
83729
- attrs: {
83730
- variant: "primary",
83731
- href:
83732
- _vm.callbacks.onNextRedirect
83733
- }
83734
- },
83735
- [
83736
- _vm._v(
83737
- "\n " +
83738
- _vm._s(
83739
- _vm.$t("buttons.next")
83740
- ) +
83741
- "\n "
83742
- )
83743
- ]
83744
- )
83745
- : !tour.isLast
83746
- ? _c(
83747
- "b-button",
83748
- {
83749
- attrs: { variant: "primary" },
83750
- on: { click: tour.nextStep }
83751
- },
83752
- [
83753
- _vm._v(
83754
- "\n " +
83755
- _vm._s(
83756
- _vm.$t("buttons.next")
83757
- ) +
83758
- "\n "
83759
- )
83760
- ]
83761
- )
83762
- : _vm._e()
83763
- ],
83764
- 1
83765
- )
83766
- ]
83767
- )
83768
- : _vm._e()
83769
- ]
83770
- })
83771
- ],
83772
- 2
83773
- )
83774
- ]
83775
- }
83776
- }
83777
- ],
83778
- null,
83779
- false,
83780
- 1119462003
83781
- )
83782
- })
83783
- : _vm._e()
83784
- };
81228
+ var __vue_render__$A = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.tour !== null)?_c('v-tour',{attrs:{"name":_vm.tour.name,"steps":_vm.tour.steps,"options":_vm.tour,"callbacks":this.callbacks},on:{"onStop":_vm.onStop},scopedSlots:_vm._u([{key:"default",fn:function(tour){return [_c('transition',{attrs:{"name":"fade"}},[_vm._l((tour.steps),function(step,index){return [(tour.currentStep === index)?_c('v-step',{key:index,staticClass:"shadow p-3 text-light text-center",attrs:{"step":step,"previous-step":tour.previousStep,"next-step":tour.nextStep,"stop":tour.stop,"is-first":tour.isFirst,"is-last":tour.isLast,"labels":tour.labels},on:{"onStop":_vm.onStop}},[_c('div',{attrs:{"slot":"header"},slot:"header"},[((step.header || {}).title)?_c('h5',{domProps:{"innerHTML":_vm._s(_vm.$t(step.header.title))}}):_vm._e()]),_vm._v(" "),_c('div',{attrs:{"slot":"content"},slot:"content"},[_c('div',{staticClass:"p-1 mb-2"},[_c('div',{domProps:{"innerHTML":_vm._s(_vm.$t(step.content))}})])]),_vm._v(" "),_c('div',{attrs:{"slot":"actions"},slot:"actions"},[_c('b-button',{attrs:{"variant":"primary"},on:{"click":_vm.onStop}},[(tour.isLast && !(_vm.callbacks || {}).onNextRedirect)?[_vm._v("\n "+_vm._s(_vm.$t('buttons.end'))+"\n ")]:[_vm._v("\n "+_vm._s(_vm.$t('buttons.skip'))+"\n ")]],2),_vm._v(" "),(tour.isFirst && (_vm.callbacks || {}).onPrevRedirect)?_c('b-button',{attrs:{"variant":"primary","href":_vm.callbacks.onPrevRedirect}},[_vm._v("\n "+_vm._s(_vm.$t('buttons.previous'))+"\n ")]):(!tour.isFirst)?_c('b-button',{attrs:{"variant":"primary"},on:{"click":tour.previousStep}},[_vm._v("\n "+_vm._s(_vm.$t('buttons.previous'))+"\n ")]):_vm._e(),_vm._v(" "),(tour.isLast && (_vm.callbacks || {}).onNextRedirect)?_c('b-button',{attrs:{"variant":"primary","href":_vm.callbacks.onNextRedirect}},[_vm._v("\n "+_vm._s(_vm.$t('buttons.next'))+"\n ")]):(!tour.isLast)?_c('b-button',{attrs:{"variant":"primary"},on:{"click":tour.nextStep}},[_vm._v("\n "+_vm._s(_vm.$t('buttons.next'))+"\n ")]):_vm._e()],1)]):_vm._e()]})],2)]}}],null,false,1119462003)}):_vm._e()};
83785
81229
  var __vue_staticRenderFns__$A = [];
83786
- __vue_render__$A._withStripped = true;
83787
81230
 
83788
81231
  /* style */
83789
81232
  const __vue_inject_styles__$G = function (inject) {
83790
81233
  if (!inject) return
83791
- inject("data-v-0353b5b3_0", { source: ".v-step {\n background: #5C5C5C;\n max-width: 320px;\n z-index: 10000;\n border-radius: 1.1rem;\n}\n.v-step--sticky {\n position: fixed;\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n}\n.v-step--sticky .v-step__arrow {\n display: none;\n}\n.v-step__arrow,\n.v-step__arrow:before {\n position: absolute;\n width: 10px;\n height: 10px;\n background: inherit;\n}\n.v-step__arrow {\n visibility: hidden;\n}\n.v-step__arrow--dark:before {\n background: #5C5C5C;\n}\n.v-step__arrow:before {\n visibility: visible;\n content: \"\";\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n margin-left: -5px;\n}\n.v-step[data-popper-placement^=top] > .v-step__arrow {\n bottom: -5px;\n}\n.v-step[data-popper-placement^=bottom] > .v-step__arrow {\n top: -5px;\n}\n.v-step[data-popper-placement^=right] > .v-step__arrow {\n left: -5px;\n}\n.v-step[data-popper-placement^=left] > .v-step__arrow {\n right: -5px;\n}\n\n/*# sourceMappingURL=Tour.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/Tour/Tour.vue","Tour.vue"],"names":[],"mappings":"AA8IA;EACA,mBAAA;EACA,gBAAA;EACA,cAAA;EACA,qBAAA;AC7IA;AD+IA;EACA,eAAA;EACA,QAAA;EACA,SAAA;EACA,wCAAA;EACA,gCAAA;AC5IA;AD8IA;EACA,aAAA;AC3IA;AD6IA;;EAEA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;AC1IA;AD4IA;EACA,kBAAA;ACzIA;AD2IA;EACA,mBAAA;ACxIA;AD0IA;EACA,mBAAA;EACA,WAAA;EACA,gCAAA;EACA,wBAAA;EACA,iBAAA;ACvIA;ADyIA;EACA,YAAA;ACtIA;ADwIA;EACA,SAAA;ACrIA;ADuIA;EACA,UAAA;ACpIA;ADsIA;EACA,WAAA;ACnIA;;AAEA,mCAAmC","file":"Tour.vue","sourcesContent":["<template>\n <v-tour\n v-if=\"tour !== null\"\n :name=\"tour.name\"\n :steps=\"tour.steps\"\n :options=\"tour\"\n :callbacks=\"this.callbacks\"\n @onStop=\"onStop\"\n >\n <template slot-scope=\"tour\">\n <transition name=\"fade\">\n <template v-for=\"(step, index) of tour.steps\">\n <v-step\n v-if=\"tour.currentStep === index\"\n :key=\"index\"\n class=\"shadow p-3 text-light text-center\"\n :step=\"step\"\n :previous-step=\"tour.previousStep\"\n :next-step=\"tour.nextStep\"\n :stop=\"tour.stop\"\n :is-first=\"tour.isFirst\"\n :is-last=\"tour.isLast\"\n :labels=\"tour.labels\"\n @onStop=\"onStop\"\n >\n <div slot=\"header\">\n <h5\n v-if=\"(step.header || {}).title\"\n v-html=\"$t(step.header.title)\"\n />\n </div>\n\n <div slot=\"content\">\n <div class=\"p-1 mb-2\">\n <div v-html=\"$t(step.content)\" />\n </div>\n </div>\n\n <div\n slot=\"actions\"\n >\n <b-button\n variant=\"primary\"\n @click=\"onStop\"\n >\n <template v-if=\"tour.isLast && !(callbacks || {}).onNextRedirect\">\n {{ $t('buttons.end') }}\n </template>\n <template v-else>\n {{ $t('buttons.skip') }}\n </template>\n </b-button>\n <b-button\n v-if=\"tour.isFirst && (callbacks || {}).onPrevRedirect\"\n variant=\"primary\"\n :href=\"callbacks.onPrevRedirect\"\n >\n {{ $t('buttons.previous') }}\n </b-button>\n <b-button\n v-else-if=\"!tour.isFirst\"\n variant=\"primary\"\n @click=\"tour.previousStep\"\n >\n {{ $t('buttons.previous') }}\n </b-button>\n <b-button\n v-if=\"tour.isLast && (callbacks || {}).onNextRedirect\"\n variant=\"primary\"\n :href=\"callbacks.onNextRedirect\"\n >\n {{ $t('buttons.next') }}\n </b-button>\n <b-button\n v-else-if=\"!tour.isLast\"\n variant=\"primary\"\n @click=\"tour.nextStep\"\n >\n {{ $t('buttons.next') }}\n </b-button>\n </div>\n </v-step>\n </template>\n </transition>\n </template>\n </v-tour>\n</template>\n<script>\nexport default {\n name: 'TourComponent',\n i18nOptions: {\n namespaces: 'onboarding-tour',\n },\n props: {\n name: String,\n callbacks: {\n type: Object,\n },\n steps: {\n default: () => [],\n type: Array,\n },\n },\n computed: {\n labels () {\n return this.tour.labels\n },\n tour () {\n return {\n name: this.name,\n steps: this.steps.map(step => {\n return {\n name: step,\n target: `[data-v-onboarding=\"${step}\"]`,\n header: {\n title: this.$t(`steps.${step}.title`),\n },\n content: this.$t(`steps.${step}.content`),\n }\n }),\n }\n },\n },\n methods: {\n onStart () {\n if (JSON.parse(localStorage.getItem('corteza.tour')) && this.tour.steps.length) {\n this.$tours[this.tour.name].start()\n }\n },\n onStop () {\n localStorage.setItem('corteza.tour', JSON.stringify(false))\n this.$tours[this.tour.name].stop()\n },\n onStartClick () {\n localStorage.setItem('corteza.tour', JSON.stringify(true))\n this.onStart()\n },\n },\n}\n</script>\n\n<style lang=\"scss\">\n.v-step {\n background: #5C5C5C;\n max-width: 320px;\n z-index: 10000;\n border-radius: 1.1rem;\n}\n.v-step--sticky {\n position: fixed;\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n}\n.v-step--sticky .v-step__arrow {\n display: none;\n}\n.v-step__arrow,\n.v-step__arrow:before {\n position: absolute;\n width: 10px;\n height: 10px;\n background: inherit;\n}\n.v-step__arrow {\n visibility: hidden;\n}\n.v-step__arrow--dark:before {\n background: #5C5C5C;\n}\n.v-step__arrow:before {\n visibility: visible;\n content: \"\";\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n margin-left: -5px;\n}\n.v-step[data-popper-placement^=\"top\"] > .v-step__arrow {\n bottom: -5px;\n}\n.v-step[data-popper-placement^=\"bottom\"] > .v-step__arrow {\n top: -5px;\n}\n.v-step[data-popper-placement^=\"right\"] > .v-step__arrow {\n left: -5px;\n}\n.v-step[data-popper-placement^=\"left\"] > .v-step__arrow {\n right: -5px;\n}\n</style>",".v-step {\n background: #5C5C5C;\n max-width: 320px;\n z-index: 10000;\n border-radius: 1.1rem;\n}\n\n.v-step--sticky {\n position: fixed;\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n}\n\n.v-step--sticky .v-step__arrow {\n display: none;\n}\n\n.v-step__arrow,\n.v-step__arrow:before {\n position: absolute;\n width: 10px;\n height: 10px;\n background: inherit;\n}\n\n.v-step__arrow {\n visibility: hidden;\n}\n\n.v-step__arrow--dark:before {\n background: #5C5C5C;\n}\n\n.v-step__arrow:before {\n visibility: visible;\n content: \"\";\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n margin-left: -5px;\n}\n\n.v-step[data-popper-placement^=top] > .v-step__arrow {\n bottom: -5px;\n}\n\n.v-step[data-popper-placement^=bottom] > .v-step__arrow {\n top: -5px;\n}\n\n.v-step[data-popper-placement^=right] > .v-step__arrow {\n left: -5px;\n}\n\n.v-step[data-popper-placement^=left] > .v-step__arrow {\n right: -5px;\n}\n\n/*# sourceMappingURL=Tour.vue.map */"]}, media: undefined });
81234
+ inject("data-v-4e66e646_0", { source: ".v-step{background:#5c5c5c;max-width:320px;z-index:10000;border-radius:1.1rem}.v-step--sticky{position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.v-step--sticky .v-step__arrow{display:none}.v-step__arrow,.v-step__arrow:before{position:absolute;width:10px;height:10px;background:inherit}.v-step__arrow{visibility:hidden}.v-step__arrow--dark:before{background:#5c5c5c}.v-step__arrow:before{visibility:visible;content:\"\";-webkit-transform:rotate(45deg);transform:rotate(45deg);margin-left:-5px}.v-step[data-popper-placement^=top]>.v-step__arrow{bottom:-5px}.v-step[data-popper-placement^=bottom]>.v-step__arrow{top:-5px}.v-step[data-popper-placement^=right]>.v-step__arrow{left:-5px}.v-step[data-popper-placement^=left]>.v-step__arrow{right:-5px}", map: undefined, media: undefined });
83792
81235
 
83793
81236
  };
83794
81237
  /* scoped */
@@ -83871,32 +81314,8 @@ var script$G = {
83871
81314
  const __vue_script__$G = script$G;
83872
81315
 
83873
81316
  /* template */
83874
- var __vue_render__$B = function() {
83875
- var _vm = this;
83876
- var _h = _vm.$createElement;
83877
- var _c = _vm._self._c || _h;
83878
- return _c(
83879
- "b-modal",
83880
- {
83881
- attrs: {
83882
- id: "tourStart",
83883
- size: "lg",
83884
- title: _vm.$t("start.welcome"),
83885
- "ok-title": _vm.$t("start.show"),
83886
- "cancel-title": _vm.$t("start.skip"),
83887
- "body-class": "p-0"
83888
- },
83889
- on: { ok: _vm.onSave, cancel: _vm.onCancel }
83890
- },
83891
- [
83892
- _c("div", { staticClass: "card-body" }, [
83893
- _vm._v("\n " + _vm._s(_vm.$t("start.instructions")) + "\n ")
83894
- ])
83895
- ]
83896
- )
83897
- };
81317
+ var __vue_render__$B = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{"id":"tourStart","size":"lg","title":_vm.$t('start.welcome'),"ok-title":_vm.$t('start.show'),"cancel-title":_vm.$t('start.skip'),"body-class":"p-0"},on:{"ok":_vm.onSave,"cancel":_vm.onCancel}},[_c('div',{staticClass:"card-body"},[_vm._v("\n "+_vm._s(_vm.$t('start.instructions'))+"\n ")])])};
83898
81318
  var __vue_staticRenderFns__$B = [];
83899
- __vue_render__$B._withStripped = true;
83900
81319
 
83901
81320
  /* style */
83902
81321
  const __vue_inject_styles__$H = undefined;
@@ -83984,29 +81403,8 @@ var script$I = {
83984
81403
  const __vue_script__$I = script$I;
83985
81404
 
83986
81405
  /* template */
83987
- var __vue_render__$C = function() {
83988
- var _vm = this;
83989
- var _h = _vm.$createElement;
83990
- var _c = _vm._self._c || _h;
83991
- return _c(
83992
- "b-button",
83993
- _vm._b(
83994
- {
83995
- on: {
83996
- click: function($event) {
83997
- return _vm.$emit("action")
83998
- }
83999
- }
84000
- },
84001
- "b-button",
84002
- _vm.options,
84003
- false
84004
- ),
84005
- [_c("span", { domProps: { innerHTML: _vm._s(_vm.label) } })]
84006
- )
84007
- };
81406
+ var __vue_render__$C = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-button',_vm._b({on:{"click":function($event){return _vm.$emit('action')}}},'b-button',_vm.options,false),[_c('span',{domProps:{"innerHTML":_vm._s(_vm.label)}})])};
84008
81407
  var __vue_staticRenderFns__$C = [];
84009
- __vue_render__$C._withStripped = true;
84010
81408
 
84011
81409
  /* style */
84012
81410
  const __vue_inject_styles__$J = undefined;
@@ -84053,58 +81451,8 @@ var script$J = {
84053
81451
  const __vue_script__$J = script$J;
84054
81452
 
84055
81453
  /* template */
84056
- var __vue_render__$D = function() {
84057
- var _vm = this;
84058
- var _h = _vm.$createElement;
84059
- var _c = _vm._self._c || _h;
84060
- return _c(
84061
- "b-dropdown",
84062
- _vm._b(
84063
- {
84064
- scopedSlots: _vm._u([
84065
- {
84066
- key: "button-content",
84067
- fn: function() {
84068
- return [
84069
- _c("span", { domProps: { innerHTML: _vm._s(_vm.label) } })
84070
- ]
84071
- },
84072
- proxy: true
84073
- }
84074
- ])
84075
- },
84076
- "b-dropdown",
84077
- _vm.options,
84078
- false
84079
- ),
84080
- [
84081
- _vm._v(" "),
84082
- _vm._l(_vm.options.items || [], function(opt, i) {
84083
- return _c(
84084
- _vm.fromKind(opt),
84085
- _vm._b(
84086
- {
84087
- key: i,
84088
- tag: "component",
84089
- on: {
84090
- click: function($event) {
84091
- return _vm.$emit("action", opt.value)
84092
- }
84093
- }
84094
- },
84095
- "component",
84096
- opt,
84097
- false
84098
- ),
84099
- [_c("span", { domProps: { innerHTML: _vm._s(opt.label) } })]
84100
- )
84101
- })
84102
- ],
84103
- 2
84104
- )
84105
- };
81454
+ var __vue_render__$D = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-dropdown',_vm._b({scopedSlots:_vm._u([{key:"button-content",fn:function(){return [_c('span',{domProps:{"innerHTML":_vm._s(_vm.label)}})]},proxy:true}])},'b-dropdown',_vm.options,false),[_vm._v(" "),_vm._l((_vm.options.items || []),function(opt,i){return _c(_vm.fromKind(opt),_vm._b({key:i,tag:"component",on:{"click":function($event){return _vm.$emit('action', opt.value)}}},'component',opt,false),[_c('span',{domProps:{"innerHTML":_vm._s(opt.label)}})])})],2)};
84106
81455
  var __vue_staticRenderFns__$D = [];
84107
- __vue_render__$D._withStripped = true;
84108
81456
 
84109
81457
  /* style */
84110
81458
  const __vue_inject_styles__$K = undefined;
@@ -84143,62 +81491,8 @@ var script$K = {
84143
81491
  const __vue_script__$K = script$K;
84144
81492
 
84145
81493
  /* template */
84146
- var __vue_render__$E = function() {
84147
- var _vm = this;
84148
- var _h = _vm.$createElement;
84149
- var _c = _vm._self._c || _h;
84150
- return _c(
84151
- "b-form-select",
84152
- _vm._b(
84153
- {
84154
- staticClass: "w-auto",
84155
- attrs: { value: null },
84156
- on: {
84157
- change: function($event) {
84158
- return _vm.$emit("action", $event)
84159
- }
84160
- },
84161
- scopedSlots: _vm._u([
84162
- {
84163
- key: "first",
84164
- fn: function() {
84165
- return [
84166
- _c("option", {
84167
- attrs: { disabled: "" },
84168
- domProps: { value: null, innerHTML: _vm._s(_vm.label) }
84169
- })
84170
- ]
84171
- },
84172
- proxy: true
84173
- }
84174
- ])
84175
- },
84176
- "b-form-select",
84177
- _vm.options,
84178
- false
84179
- ),
84180
- [
84181
- _vm._v(" "),
84182
- _vm._l(_vm.options.items || [], function(opt, i) {
84183
- return _c(
84184
- "option",
84185
- _vm._b(
84186
- {
84187
- key: i,
84188
- domProps: { value: opt.value, innerHTML: _vm._s(opt.label) }
84189
- },
84190
- "option",
84191
- opt,
84192
- false
84193
- )
84194
- )
84195
- })
84196
- ],
84197
- 2
84198
- )
84199
- };
81494
+ var __vue_render__$E = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-select',_vm._b({staticClass:"w-auto",attrs:{"value":null},on:{"change":function($event){return _vm.$emit('action', $event)}},scopedSlots:_vm._u([{key:"first",fn:function(){return [_c('option',{attrs:{"disabled":""},domProps:{"value":null,"innerHTML":_vm._s(_vm.label)}})]},proxy:true}])},'b-form-select',_vm.options,false),[_vm._v(" "),_vm._l((_vm.options.items || []),function(opt,i){return _c('option',_vm._b({key:i,domProps:{"value":opt.value,"innerHTML":_vm._s(opt.label)}},'option',opt,false))})],2)};
84200
81495
  var __vue_staticRenderFns__$E = [];
84201
- __vue_render__$E._withStripped = true;
84202
81496
 
84203
81497
  /* style */
84204
81498
  const __vue_inject_styles__$L = undefined;
@@ -84262,45 +81556,8 @@ var script$L = {
84262
81556
  const __vue_script__$L = script$L;
84263
81557
 
84264
81558
  /* template */
84265
- var __vue_render__$F = function() {
84266
- var _vm = this;
84267
- var _h = _vm.$createElement;
84268
- var _c = _vm._self._c || _h;
84269
- return _c(
84270
- "div",
84271
- [
84272
- _vm.toast.link
84273
- ? _c(
84274
- "a",
84275
- _vm._b(
84276
- { domProps: { innerHTML: _vm._s(_vm.toast.linkLabel) } },
84277
- "a",
84278
- _vm.toast.linkOpts,
84279
- false
84280
- )
84281
- )
84282
- : _vm.toast.routerLink
84283
- ? _c(
84284
- "router-link",
84285
- _vm._b(
84286
- { attrs: { to: _vm.toast.routerLink } },
84287
- "router-link",
84288
- _vm.toast.linkOpts,
84289
- false
84290
- ),
84291
- [
84292
- _c("span", {
84293
- domProps: { innerHTML: _vm._s(_vm.toast.linkLabel) }
84294
- })
84295
- ]
84296
- )
84297
- : _vm._e()
84298
- ],
84299
- 1
84300
- )
84301
- };
81559
+ var __vue_render__$F = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.toast.link)?_c('a',_vm._b({domProps:{"innerHTML":_vm._s(_vm.toast.linkLabel)}},'a',_vm.toast.linkOpts,false)):(_vm.toast.routerLink)?_c('router-link',_vm._b({attrs:{"to":_vm.toast.routerLink}},'router-link',_vm.toast.linkOpts,false),[_c('span',{domProps:{"innerHTML":_vm._s(_vm.toast.linkLabel)}})]):_vm._e()],1)};
84302
81560
  var __vue_staticRenderFns__$F = [];
84303
- __vue_render__$F._withStripped = true;
84304
81561
 
84305
81562
  /* style */
84306
81563
  const __vue_inject_styles__$M = undefined;
@@ -84374,97 +81631,16 @@ var script$M = {
84374
81631
  const __vue_script__$M = script$M;
84375
81632
 
84376
81633
  /* template */
84377
- var __vue_render__$G = function() {
84378
- var _vm = this;
84379
- var _h = _vm.$createElement;
84380
- var _c = _vm._self._c || _h;
84381
- return _c(
84382
- "div",
84383
- _vm._l(_vm.toasts, function(t) {
84384
- return _c(
84385
- "b-toast",
84386
- _vm._b(
84387
- {
84388
- key: t.id,
84389
- attrs: {
84390
- visible: "",
84391
- title: t.payload.title,
84392
- "no-close-button": !t.actions.hide,
84393
- "toast-class": "overflow-unset"
84394
- },
84395
- on: {
84396
- hide: function($event) {
84397
- t.actions.hide ? t.actions.hide.cb(t) : _vm.evtSink;
84398
- }
84399
- }
84400
- },
84401
- "b-toast",
84402
- t.options || {},
84403
- false
84404
- ),
84405
- [
84406
- _c(
84407
- "b-card",
84408
- {
84409
- staticClass: "border-0",
84410
- attrs: {
84411
- "header-bg-variant": "transparent",
84412
- "bg-variant": "transparent",
84413
- "body-class": "p-0"
84414
- }
84415
- },
84416
- [
84417
- _c("b-card-text", [
84418
- _vm._v("\n " + _vm._s(t.payload.notes) + "\n ")
84419
- ]),
84420
- _vm._v(" "),
84421
- t.payload.link
84422
- ? _c(
84423
- "b-card-text",
84424
- [_c("c-toaster-link", { attrs: { toast: t } })],
84425
- 1
84426
- )
84427
- : _vm._e(),
84428
- _vm._v(" "),
84429
- _vm._l(_vm.extraActions(t), function(ref) {
84430
- var name = ref[0];
84431
- var act = ref[1];
84432
- return _c(
84433
- _vm.actComponent(act),
84434
- _vm._b(
84435
- {
84436
- key: name,
84437
- tag: "component",
84438
- staticClass: "mr-1",
84439
- on: {
84440
- action: function($event) {
84441
- act.cb ? act.cb(t, $event) : _vm.evtSink;
84442
- }
84443
- }
84444
- },
84445
- "component",
84446
- act,
84447
- false
84448
- )
84449
- )
84450
- })
84451
- ],
84452
- 2
84453
- )
84454
- ],
84455
- 1
84456
- )
84457
- }),
84458
- 1
84459
- )
84460
- };
81634
+ var __vue_render__$G = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.toasts),function(t){return _c('b-toast',_vm._b({key:t.id,attrs:{"visible":"","title":t.payload.title,"no-close-button":!t.actions.hide,"toast-class":"overflow-unset"},on:{"hide":function($event){t.actions.hide ? t.actions.hide.cb(t) : _vm.evtSink;}}},'b-toast',t.options || {},false),[_c('b-card',{staticClass:"border-0",attrs:{"header-bg-variant":"transparent","bg-variant":"transparent","body-class":"p-0"}},[_c('b-card-text',[_vm._v("\n "+_vm._s(t.payload.notes)+"\n ")]),_vm._v(" "),(t.payload.link)?_c('b-card-text',[_c('c-toaster-link',{attrs:{"toast":t}})],1):_vm._e(),_vm._v(" "),_vm._l((_vm.extraActions(t)),function(ref){
81635
+ var name = ref[0];
81636
+ var act = ref[1];
81637
+ return _c(_vm.actComponent(act),_vm._b({key:name,tag:"component",staticClass:"mr-1",on:{"action":function($event){act.cb ? act.cb(t, $event) : _vm.evtSink;}}},'component',act,false))})],2)],1)}),1)};
84461
81638
  var __vue_staticRenderFns__$G = [];
84462
- __vue_render__$G._withStripped = true;
84463
81639
 
84464
81640
  /* style */
84465
81641
  const __vue_inject_styles__$N = function (inject) {
84466
81642
  if (!inject) return
84467
- inject("data-v-48660d74_0", { source: ".toast.overflow-unset {\n overflow: unset !important;\n}\n\n/*# sourceMappingURL=CToaster.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/toaster/CToaster.vue","CToaster.vue"],"names":[],"mappings":"AA6EA;EACA,0BAAA;AC5EA;;AAEA,uCAAuC","file":"CToaster.vue","sourcesContent":["<template>\n <div>\n <b-toast\n v-for=\"t in toasts\"\n :key=\"t.id\"\n visible\n v-bind=\"t.options || {}\"\n :title=\"t.payload.title\"\n :no-close-button=\"!t.actions.hide\"\n toast-class=\"overflow-unset\"\n @hide=\"t.actions.hide ? t.actions.hide.cb(t) : evtSink\"\n >\n <b-card\n header-bg-variant=\"transparent\"\n bg-variant=\"transparent\"\n body-class=\"p-0\"\n class=\"border-0\"\n >\n <b-card-text>\n {{ t.payload.notes }}\n </b-card-text>\n\n <b-card-text v-if=\"t.payload.link\">\n <c-toaster-link :toast=\"t\" />\n </b-card-text>\n\n <component\n :is=\"actComponent(act)\"\n v-for=\"([name, act]) in extraActions(t)\"\n :key=\"name\"\n class=\"mr-1\"\n v-bind=\"act\"\n @action=\"act.cb ? act.cb(t, $event) : evtSink\"\n />\n </b-card>\n </b-toast>\n </div>\n</template>\n\n<script lang=\"js\">\nimport * as actions from './actions'\nimport CToasterLink from './CToasterLink.vue'\n\nexport default {\n components: {\n CToasterLink,\n },\n\n props: {\n toasts: {\n type: Array,\n required: false,\n default: () => [],\n },\n },\n\n methods: {\n extraActions ({ actions = {} }) {\n const { hide, ...act } = actions\n return Object.entries(act)\n },\n\n actComponent ({ kind }) {\n const act = actions[kind]\n if (!act) {\n throw new Error('toast.actionKind.unknown')\n }\n return act\n },\n\n evtSink () {},\n },\n}\n</script>\n\n<style lang=\"scss\">\n// BS only provides overflow-[auto, hidden]\n.toast.overflow-unset {\n overflow: unset!important;\n}\n</style>\n",".toast.overflow-unset {\n overflow: unset !important;\n}\n\n/*# sourceMappingURL=CToaster.vue.map */"]}, media: undefined });
81643
+ inject("data-v-09d66b04_0", { source: ".toast.overflow-unset{overflow:unset!important}", map: undefined, media: undefined });
84468
81644
 
84469
81645
  };
84470
81646
  /* scoped */
@@ -84527,78 +81703,13 @@ var script$N = {
84527
81703
  const __vue_script__$N = script$N;
84528
81704
 
84529
81705
  /* template */
84530
- var __vue_render__$H = function() {
84531
- var _vm = this;
84532
- var _h = _vm.$createElement;
84533
- var _c = _vm._self._c || _h;
84534
- return _c(
84535
- "b-sidebar",
84536
- {
84537
- attrs: {
84538
- "header-class":
84539
- "d-flex align-items-center justify-content-between reminder-sidebar-header px-2 py-3 border-bottom",
84540
- "body-class": "bg-white px-2",
84541
- title: _vm.title,
84542
- backdrop: _vm.isMobile,
84543
- "no-footer": "",
84544
- right: "",
84545
- shadow: "",
84546
- "no-close-on-route-change": "",
84547
- "no-close-on-esc": ""
84548
- },
84549
- scopedSlots: _vm._u([
84550
- {
84551
- key: "header",
84552
- fn: function() {
84553
- return [
84554
- _c("h4", { staticClass: "text-primary mb-0" }, [
84555
- _c("b", [_vm._v(_vm._s(_vm.title))])
84556
- ]),
84557
- _vm._v(" "),
84558
- _c(
84559
- "b-button",
84560
- {
84561
- staticClass:
84562
- "d-flex align-items-center justify-content-center p-2",
84563
- attrs: { variant: "outline-light border-0" },
84564
- on: {
84565
- click: function($event) {
84566
- _vm.isVisible = false;
84567
- }
84568
- }
84569
- },
84570
- [
84571
- _c("font-awesome-icon", {
84572
- staticClass: "h6 mb-0 text-dark",
84573
- attrs: { icon: ["fas", "times"] }
84574
- })
84575
- ],
84576
- 1
84577
- )
84578
- ]
84579
- },
84580
- proxy: true
84581
- }
84582
- ]),
84583
- model: {
84584
- value: _vm.isVisible,
84585
- callback: function($$v) {
84586
- _vm.isVisible = $$v;
84587
- },
84588
- expression: "isVisible"
84589
- }
84590
- },
84591
- [_vm._v(" "), _vm._t("default")],
84592
- 2
84593
- )
84594
- };
81706
+ var __vue_render__$H = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-sidebar',{attrs:{"header-class":"d-flex align-items-center justify-content-between reminder-sidebar-header px-2 py-3 border-bottom","body-class":"bg-white px-2","title":_vm.title,"backdrop":_vm.isMobile,"no-footer":"","right":"","shadow":"","no-close-on-route-change":"","no-close-on-esc":""},scopedSlots:_vm._u([{key:"header",fn:function(){return [_c('h4',{staticClass:"text-primary mb-0"},[_c('b',[_vm._v(_vm._s(_vm.title))])]),_vm._v(" "),_c('b-button',{staticClass:"d-flex align-items-center justify-content-center p-2",attrs:{"variant":"outline-light border-0"},on:{"click":function($event){_vm.isVisible = false;}}},[_c('font-awesome-icon',{staticClass:"h6 mb-0 text-dark",attrs:{"icon":['fas', 'times']}})],1)]},proxy:true}]),model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v;},expression:"isVisible"}},[_vm._v(" "),_vm._t("default")],2)};
84595
81707
  var __vue_staticRenderFns__$H = [];
84596
- __vue_render__$H._withStripped = true;
84597
81708
 
84598
81709
  /* style */
84599
81710
  const __vue_inject_styles__$O = function (inject) {
84600
81711
  if (!inject) return
84601
- inject("data-v-2125ea60_0", { source: ".reminder-sidebar-header {\n height: 64px;\n background-color: #F4F7FA;\n}\n\n/*# sourceMappingURL=CReminderSidebar.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/reminders/CReminderSidebar.vue","CReminderSidebar.vue"],"names":[],"mappings":"AAsEA;EACA,YAAA;EACA,yBAAA;ACrEA;;AAEA,+CAA+C","file":"CReminderSidebar.vue","sourcesContent":["<template>\n <b-sidebar\n v-model=\"isVisible\"\n header-class=\"d-flex align-items-center justify-content-between reminder-sidebar-header px-2 py-3 border-bottom\"\n body-class=\"bg-white px-2\"\n :title=\"title\"\n :backdrop=\"isMobile\"\n no-footer\n right\n shadow\n no-close-on-route-change\n no-close-on-esc\n >\n <template #header>\n <h4\n class=\"text-primary mb-0\"\n >\n <b>{{ title }}</b>\n </h4>\n\n <b-button\n variant=\"outline-light border-0\"\n class=\"d-flex align-items-center justify-content-center p-2\"\n @click=\"isVisible = false\"\n >\n <font-awesome-icon\n :icon=\"['fas', 'times']\"\n class=\"h6 mb-0 text-dark\"\n />\n </b-button>\n </template>\n\n <slot />\n </b-sidebar>\n</template>\n\n<script lang=\"js\">\nexport default {\n props: {\n title: {\n type: String,\n default: '',\n },\n\n visible: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n\n computed: {\n isVisible: {\n get () {\n return this.visible\n },\n\n set (visible) {\n this.$emit('update:visible', visible)\n },\n },\n\n isMobile () {\n return window.innerWidth < 576\n },\n },\n}\n</script>\n\n<style lang=\"scss\">\n.reminder-sidebar-header {\n height: 64px;\n background-color: #F4F7FA;\n}\n</style>\n",".reminder-sidebar-header {\n height: 64px;\n background-color: #F4F7FA;\n}\n\n/*# sourceMappingURL=CReminderSidebar.vue.map */"]}, media: undefined });
81712
+ inject("data-v-6d2b83fd_0", { source: ".reminder-sidebar-header{height:64px;background-color:#f4f7fa}", map: undefined, media: undefined });
84602
81713
 
84603
81714
  };
84604
81715
  /* scoped */
@@ -84692,63 +81803,17 @@ var script$O = {
84692
81803
  const __vue_script__$O = script$O;
84693
81804
 
84694
81805
  /* template */
84695
- var __vue_render__$I = function() {
84696
- var _vm = this;
84697
- var _h = _vm.$createElement;
84698
- var _c = _vm._self._c || _h;
84699
- return _c(
84700
- "div",
84701
- { staticClass: "d-flex align-items-center" },
84702
- [
84703
- _c("font-awesome-icon", {
84704
- staticClass: "handle align-baseline mr-3 text-primary",
84705
- attrs: { icon: ["fas", "grip-vertical"] }
84706
- }),
84707
- _vm._v(" "),
84708
- _c("b", { staticClass: "cursor-default text-dark text-truncate" }, [
84709
- _vm._v("\n " + _vm._s(_vm.fieldLabel) + "\n ")
84710
- ]),
84711
- _vm._v(" "),
84712
- _vm.field.isSystem
84713
- ? _c("small", { staticClass: "cursor-default ml-1 text-truncate" }, [
84714
- _vm._v("\n " + _vm._s(_vm.systemFieldLabel) + "\n ")
84715
- ])
84716
- : _vm._e(),
84717
- _vm._v(" "),
84718
- _vm.isSelected
84719
- ? _c("font-awesome-icon", {
84720
- staticClass: "align-baseline ml-auto text-muted pointer",
84721
- attrs: { icon: ["far", "eye"] },
84722
- on: {
84723
- click: function($event) {
84724
- return _vm.$emit("unselect-field", _vm.field)
84725
- }
84726
- }
84727
- })
84728
- : _c("font-awesome-icon", {
84729
- staticClass: "align-baseline ml-auto text-muted pointer",
84730
- attrs: { icon: ["fas", "eye-slash"] },
84731
- on: {
84732
- click: function($event) {
84733
- return _vm.$emit("select-field", _vm.field)
84734
- }
84735
- }
84736
- })
84737
- ],
84738
- 1
84739
- )
84740
- };
81806
+ var __vue_render__$I = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"d-flex align-items-center"},[_c('font-awesome-icon',{staticClass:"handle align-baseline mr-3 text-primary",attrs:{"icon":['fas', 'grip-vertical']}}),_vm._v(" "),_c('b',{staticClass:"cursor-default text-dark text-truncate"},[_vm._v("\n "+_vm._s(_vm.fieldLabel)+"\n ")]),_vm._v(" "),(_vm.field.isSystem)?_c('small',{staticClass:"cursor-default ml-1 text-truncate"},[_vm._v("\n "+_vm._s(_vm.systemFieldLabel)+"\n ")]):_vm._e(),_vm._v(" "),(_vm.isSelected)?_c('font-awesome-icon',{staticClass:"align-baseline ml-auto text-muted pointer",attrs:{"icon":['far', 'eye']},on:{"click":function($event){return _vm.$emit('unselect-field', _vm.field)}}}):_c('font-awesome-icon',{staticClass:"align-baseline ml-auto text-muted pointer",attrs:{"icon":['fas', 'eye-slash']},on:{"click":function($event){return _vm.$emit('select-field', _vm.field)}}})],1)};
84741
81807
  var __vue_staticRenderFns__$I = [];
84742
- __vue_render__$I._withStripped = true;
84743
81808
 
84744
81809
  /* style */
84745
81810
  const __vue_inject_styles__$P = function (inject) {
84746
81811
  if (!inject) return
84747
- inject("data-v-751c31b8_0", { source: "\n.handle[data-v-751c31b8] {\n cursor: grab;\n}\n.cursor-default[data-v-751c31b8] {\n cursor: default;\n}\n", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/field/FieldItem.vue"],"names":[],"mappings":";AAoEA;EACA,YAAA;AACA;AAEA;EACA,eAAA;AACA","file":"FieldItem.vue","sourcesContent":["<template>\n <div class=\"d-flex align-items-center\">\n <font-awesome-icon\n :icon=\"['fas', 'grip-vertical']\"\n class=\"handle align-baseline mr-3 text-primary\"\n />\n <b class=\"cursor-default text-dark text-truncate\">\n {{ fieldLabel }}\n </b>\n <small v-if=\"field.isSystem\" class=\"cursor-default ml-1 text-truncate\">\n {{ systemFieldLabel }}\n </small>\n <font-awesome-icon\n v-if=\"isSelected\"\n :icon=\"['far', 'eye']\"\n class=\"align-baseline ml-auto text-muted pointer\"\n @click=\"$emit('unselect-field', field)\"\n />\n <font-awesome-icon\n v-else\n :icon=\"['fas', 'eye-slash']\"\n class=\"align-baseline ml-auto text-muted pointer\"\n @click=\"$emit('select-field', field)\"\n />\n </div>\n</template>\n\n<script>\nexport default {\n name: \"FieldItem\",\n\n props: {\n field: {\n type: Object,\n required: true,\n },\n\n isSelected: {\n type: Boolean,\n required: true,\n },\n\n selectedFields: {\n type: Array,\n required: true,\n },\n\n systemFieldLabel: {\n type: String,\n required: true,\n }\n },\n\n computed: {\n fieldLabel() {\n let fieldLabel = this.field.name || \"\";\n\n if (this.field.label) {\n fieldLabel = `${this.field.label} (${this.field.name})`;\n }\n\n fieldLabel += this.field.isRequired ? \" *\" : \"\";\n return fieldLabel;\n },\n },\n};\n</script>\n<style scoped>\n.handle {\n cursor: grab;\n}\n\n.cursor-default {\n cursor: default;\n}\n</style>\n"]}, media: undefined });
81812
+ inject("data-v-475bd41a_0", { source: ".handle[data-v-475bd41a]{cursor:grab}.cursor-default[data-v-475bd41a]{cursor:default}", map: undefined, media: undefined });
84748
81813
 
84749
81814
  };
84750
81815
  /* scoped */
84751
- const __vue_scope_id__$P = "data-v-751c31b8";
81816
+ const __vue_scope_id__$P = "data-v-475bd41a";
84752
81817
  /* module identifier */
84753
81818
  const __vue_module_identifier__$P = undefined;
84754
81819
  /* functional template */
@@ -84938,264 +82003,17 @@ var script$P = {
84938
82003
  const __vue_script__$P = script$P;
84939
82004
 
84940
82005
  /* template */
84941
- var __vue_render__$J = function() {
84942
- var _vm = this;
84943
- var _h = _vm.$createElement;
84944
- var _c = _vm._self._c || _h;
84945
- return _c(
84946
- "div",
84947
- { staticClass: "overflow-hidden" },
84948
- [
84949
- _c(
84950
- "b-input-group",
84951
- [
84952
- _c("b-input", {
84953
- staticClass: "text-truncate",
84954
- attrs: {
84955
- type: "search",
84956
- placeholder: _vm.labels.searchPlaceholder
84957
- },
84958
- model: {
84959
- value: _vm.query,
84960
- callback: function($$v) {
84961
- _vm.query = typeof $$v === "string" ? $$v.trim() : $$v;
84962
- },
84963
- expression: "query"
84964
- }
84965
- }),
84966
- _vm._v(" "),
84967
- _c(
84968
- "b-input-group-append",
84969
- [
84970
- _c(
84971
- "b-input-group-text",
84972
- { staticClass: "text-primary bg-white border-left-0" },
84973
- [
84974
- _c("font-awesome-icon", {
84975
- attrs: { icon: ["fas", "search"] }
84976
- })
84977
- ],
84978
- 1
84979
- )
84980
- ],
84981
- 1
84982
- )
84983
- ],
84984
- 1
84985
- ),
84986
- _vm._v(" "),
84987
- _c(
84988
- "b-row",
84989
- { staticClass: "mt-2 h-100" },
84990
- [
84991
- _c(
84992
- "b-col",
84993
- { attrs: { cols: "12", sm: "6" } },
84994
- [
84995
- _c(
84996
- "div",
84997
- { staticClass: "d-flex align-items-center" },
84998
- [
84999
- _c("label", { staticClass: "text-primary mb-0" }, [
85000
- _vm._v(
85001
- "\n " +
85002
- _vm._s(_vm.labels.availableFieldsLabel) +
85003
- "\n "
85004
- )
85005
- ]),
85006
- _vm._v(" "),
85007
- _c(
85008
- "b-button",
85009
- {
85010
- staticClass: "ml-auto px-0 text-muted",
85011
- class: [_vm.allSelected ? "visible" : "invisible"],
85012
- attrs: { variant: "link" },
85013
- on: {
85014
- click: function($event) {
85015
- $event.preventDefault();
85016
- _vm.selectedFields = [].concat(_vm.allFields);
85017
- }
85018
- }
85019
- },
85020
- [
85021
- _vm._v(
85022
- "\n " +
85023
- _vm._s(_vm.labels.selectAllFieldsLabel) +
85024
- "\n "
85025
- )
85026
- ]
85027
- )
85028
- ],
85029
- 1
85030
- ),
85031
- _vm._v(" "),
85032
- _c(
85033
- "b-list-group",
85034
- { attrs: { vertical: "" } },
85035
- [
85036
- _c(
85037
- "draggable",
85038
- {
85039
- key: _vm.filteredAvailableFields.length,
85040
- staticClass: "overflow-auto",
85041
- style: "" + _vm.maxHeight,
85042
- attrs: {
85043
- handle: ".handle",
85044
- disabled: _vm.disabled,
85045
- group: _vm.group,
85046
- value: _vm.filteredAvailableFields
85047
- }
85048
- },
85049
- _vm._l(_vm.filteredAvailableFields, function(field) {
85050
- return _c(
85051
- "b-list-group-item",
85052
- {
85053
- key: field.name,
85054
- staticClass: "mb-3 border rounded",
85055
- on: {
85056
- dblclick: function($event) {
85057
- return _vm.selectField(field)
85058
- }
85059
- }
85060
- },
85061
- [
85062
- _c("field-item", {
85063
- attrs: {
85064
- field: field,
85065
- "selected-fields": _vm.selectedFields,
85066
- "is-selected": false,
85067
- "system-field-label": _vm.labels.systemFieldLabel
85068
- },
85069
- on: { "select-field": _vm.selectField }
85070
- })
85071
- ],
85072
- 1
85073
- )
85074
- }),
85075
- 1
85076
- )
85077
- ],
85078
- 1
85079
- )
85080
- ],
85081
- 1
85082
- ),
85083
- _vm._v(" "),
85084
- _c(
85085
- "b-col",
85086
- { staticClass: "pl-sm-0", attrs: { cols: "12", sm: "6" } },
85087
- [
85088
- _c(
85089
- "div",
85090
- { staticClass: "d-flex align-items-center" },
85091
- [
85092
- _c("label", { staticClass: "mb-0 text-primary" }, [
85093
- _vm._v(
85094
- "\n " +
85095
- _vm._s(_vm.labels.selectedFieldsLabel) +
85096
- "\n "
85097
- )
85098
- ]),
85099
- _vm._v(" "),
85100
- _c(
85101
- "b-button",
85102
- {
85103
- staticClass: "ml-auto px-0 text-muted",
85104
- class: [_vm.allUnselected ? "visible" : "invisible"],
85105
- attrs: { variant: "link" },
85106
- on: {
85107
- click: function($event) {
85108
- $event.preventDefault();
85109
- _vm.selectedFields = [];
85110
- }
85111
- }
85112
- },
85113
- [
85114
- _vm._v(
85115
- "\n " +
85116
- _vm._s(_vm.labels.unselectAllFieldsLabel) +
85117
- "\n "
85118
- )
85119
- ]
85120
- )
85121
- ],
85122
- 1
85123
- ),
85124
- _vm._v(" "),
85125
- _c(
85126
- "b-list-group",
85127
- { attrs: { vertical: "" } },
85128
- [
85129
- _c(
85130
- "draggable",
85131
- {
85132
- staticClass: "overflow-auto",
85133
- style: "" + _vm.maxHeight,
85134
- attrs: {
85135
- handle: ".handle",
85136
- disabled: _vm.disabled,
85137
- group: _vm.group
85138
- },
85139
- model: {
85140
- value: _vm.selectedFields,
85141
- callback: function($$v) {
85142
- _vm.selectedFields = $$v;
85143
- },
85144
- expression: "selectedFields"
85145
- }
85146
- },
85147
- _vm._l(_vm.filteredSelectedFields, function(field) {
85148
- return _c(
85149
- "b-list-group-item",
85150
- {
85151
- key: field.name,
85152
- staticClass: "mb-3 border rounded",
85153
- on: {
85154
- dblclick: function($event) {
85155
- return _vm.unselectField(field)
85156
- }
85157
- }
85158
- },
85159
- [
85160
- _c("field-item", {
85161
- attrs: {
85162
- field: field,
85163
- "selected-fields": _vm.selectedFields,
85164
- "is-selected": true,
85165
- "system-field-label": _vm.labels.systemFieldLabel
85166
- },
85167
- on: { "unselect-field": _vm.unselectField }
85168
- })
85169
- ],
85170
- 1
85171
- )
85172
- }),
85173
- 1
85174
- )
85175
- ],
85176
- 1
85177
- )
85178
- ],
85179
- 1
85180
- )
85181
- ],
85182
- 1
85183
- )
85184
- ],
85185
- 1
85186
- )
85187
- };
82006
+ var __vue_render__$J = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"overflow-hidden"},[_c('b-input-group',[_c('b-input',{staticClass:"text-truncate",attrs:{"type":"search","placeholder":_vm.labels.searchPlaceholder},model:{value:(_vm.query),callback:function ($$v) {_vm.query=(typeof $$v === 'string'? $$v.trim(): $$v);},expression:"query"}}),_vm._v(" "),_c('b-input-group-append',[_c('b-input-group-text',{staticClass:"text-primary bg-white border-left-0"},[_c('font-awesome-icon',{attrs:{"icon":['fas', 'search']}})],1)],1)],1),_vm._v(" "),_c('b-row',{staticClass:"mt-2 h-100"},[_c('b-col',{attrs:{"cols":"12","sm":"6"}},[_c('div',{staticClass:"d-flex align-items-center"},[_c('label',{staticClass:"text-primary mb-0"},[_vm._v("\n "+_vm._s(_vm.labels.availableFieldsLabel)+"\n ")]),_vm._v(" "),_c('b-button',{staticClass:"ml-auto px-0 text-muted",class:[_vm.allSelected ? 'visible' : 'invisible'],attrs:{"variant":"link"},on:{"click":function($event){$event.preventDefault();_vm.selectedFields = [].concat( _vm.allFields );}}},[_vm._v("\n "+_vm._s(_vm.labels.selectAllFieldsLabel)+"\n ")])],1),_vm._v(" "),_c('b-list-group',{attrs:{"vertical":""}},[_c('draggable',{key:_vm.filteredAvailableFields.length,staticClass:"overflow-auto",style:(("" + _vm.maxHeight)),attrs:{"handle":".handle","disabled":_vm.disabled,"group":_vm.group,"value":_vm.filteredAvailableFields}},_vm._l((_vm.filteredAvailableFields),function(field){return _c('b-list-group-item',{key:field.name,staticClass:"mb-3 border rounded",on:{"dblclick":function($event){return _vm.selectField(field)}}},[_c('field-item',{attrs:{"field":field,"selected-fields":_vm.selectedFields,"is-selected":false,"system-field-label":_vm.labels.systemFieldLabel},on:{"select-field":_vm.selectField}})],1)}),1)],1)],1),_vm._v(" "),_c('b-col',{staticClass:"pl-sm-0",attrs:{"cols":"12","sm":"6"}},[_c('div',{staticClass:"d-flex align-items-center"},[_c('label',{staticClass:"mb-0 text-primary"},[_vm._v("\n "+_vm._s(_vm.labels.selectedFieldsLabel)+"\n ")]),_vm._v(" "),_c('b-button',{staticClass:"ml-auto px-0 text-muted",class:[_vm.allUnselected ? 'visible' : 'invisible'],attrs:{"variant":"link"},on:{"click":function($event){$event.preventDefault();_vm.selectedFields = [];}}},[_vm._v("\n "+_vm._s(_vm.labels.unselectAllFieldsLabel)+"\n ")])],1),_vm._v(" "),_c('b-list-group',{attrs:{"vertical":""}},[_c('draggable',{staticClass:"overflow-auto",style:(("" + _vm.maxHeight)),attrs:{"handle":".handle","disabled":_vm.disabled,"group":_vm.group},model:{value:(_vm.selectedFields),callback:function ($$v) {_vm.selectedFields=$$v;},expression:"selectedFields"}},_vm._l((_vm.filteredSelectedFields),function(field){return _c('b-list-group-item',{key:field.name,staticClass:"mb-3 border rounded",on:{"dblclick":function($event){return _vm.unselectField(field)}}},[_c('field-item',{attrs:{"field":field,"selected-fields":_vm.selectedFields,"is-selected":true,"system-field-label":_vm.labels.systemFieldLabel},on:{"unselect-field":_vm.unselectField}})],1)}),1)],1)],1)],1)],1)};
85188
82007
  var __vue_staticRenderFns__$J = [];
85189
- __vue_render__$J._withStripped = true;
85190
82008
 
85191
82009
  /* style */
85192
82010
  const __vue_inject_styles__$Q = function (inject) {
85193
82011
  if (!inject) return
85194
- inject("data-v-d614af34_0", { source: ".handle[data-v-d614af34] {\n cursor: grab;\n}\n\n/*# sourceMappingURL=FieldPicker.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/field/FieldPicker.vue","FieldPicker.vue"],"names":[],"mappings":"AA2RA;EACA,YAAA;AC1RA;;AAEA,0CAA0C","file":"FieldPicker.vue","sourcesContent":["<template>\n <div\n class=\"overflow-hidden\"\n >\n <b-input-group>\n <b-input\n v-model.trim=\"query\"\n type=\"search\"\n :placeholder=\"labels.searchPlaceholder\"\n class=\"text-truncate\"\n />\n <b-input-group-append>\n <b-input-group-text class=\"text-primary bg-white border-left-0\">\n <font-awesome-icon\n :icon=\"['fas', 'search']\"\n />\n </b-input-group-text>\n </b-input-group-append>\n </b-input-group>\n\n <b-row\n class=\"mt-2 h-100\"\n >\n <b-col\n cols=\"12\"\n sm=\"6\"\n >\n <div class=\"d-flex align-items-center\">\n <label\n class=\"text-primary mb-0\"\n >\n {{ labels.availableFieldsLabel }}\n </label>\n <b-button\n variant=\"link\"\n :class=\"[allSelected ? 'visible' : 'invisible']\"\n class=\"ml-auto px-0 text-muted\"\n @click.prevent=\"selectedFields = [...allFields]\"\n >\n {{ labels.selectAllFieldsLabel }}\n </b-button>\n </div>\n <b-list-group\n vertical\n >\n <draggable\n :key=\"filteredAvailableFields.length\"\n handle=\".handle\"\n :disabled=\"disabled\"\n :group=\"group\"\n :value=\"filteredAvailableFields\"\n class=\"overflow-auto\"\n :style=\"`${maxHeight}`\"\n >\n <b-list-group-item\n v-for=\"field in filteredAvailableFields\"\n :key=\"field.name\"\n class=\"mb-3 border rounded\"\n @dblclick=\"selectField(field)\"\n >\n <field-item\n :field=\"field\"\n :selected-fields=\"selectedFields\"\n :is-selected=\"false\"\n :system-field-label=\"labels.systemFieldLabel\"\n @select-field=\"selectField\"\n />\n </b-list-group-item>\n </draggable>\n </b-list-group>\n </b-col>\n <b-col\n cols=\"12\"\n sm=\"6\"\n class=\"pl-sm-0\"\n >\n <div class=\"d-flex align-items-center\">\n <label\n class=\"mb-0 text-primary\"\n >\n {{ labels.selectedFieldsLabel }}\n </label>\n <b-button\n variant=\"link\"\n :class=\"[allUnselected ? 'visible' : 'invisible']\"\n class=\"ml-auto px-0 text-muted\"\n @click.prevent=\"selectedFields = []\"\n >\n {{ labels.unselectAllFieldsLabel }}\n </b-button>\n </div>\n <b-list-group\n vertical\n >\n <draggable\n v-model=\"selectedFields\"\n handle=\".handle\"\n :disabled=\"disabled\"\n :group=\"group\"\n class=\"overflow-auto\"\n :style=\"`${maxHeight}`\"\n >\n <b-list-group-item\n v-for=\"field in filteredSelectedFields\"\n :key=\"field.name\"\n class=\"mb-3 border rounded\"\n @dblclick=\"unselectField(field)\"\n >\n <field-item\n :field=\"field\"\n :selected-fields=\"selectedFields\"\n :is-selected=\"true\"\n :system-field-label=\"labels.systemFieldLabel\"\n @unselect-field=\"unselectField\"\n />\n </b-list-group-item>\n </draggable>\n </b-list-group>\n </b-col>\n </b-row>\n </div>\n</template>\n<script>\nimport draggable from 'vuedraggable'\nimport FieldItem from './FieldItem.vue'\n\nexport default {\n components: {\n draggable,\n FieldItem,\n },\n\n props: {\n module: {\n type: Object,\n required: true,\n },\n\n fields: {\n type: Array,\n required: true,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n disabledTypes: {\n type: Array,\n default: () => [],\n },\n\n disableSystemFields: {\n type: Boolean,\n default: false,\n },\n\n systemFields: {\n type: Array,\n default: null,\n },\n\n fieldSubset: {\n type: Array,\n default: null,\n },\n\n group: {\n type: String,\n default: 'fields',\n },\n\n maxHeight: {\n type: String,\n default: 'max-height: 65vh;',\n },\n\n labels: {\n type: Object,\n required: true,\n },\n },\n\n data () {\n return {\n modules: [],\n query: '',\n }\n },\n\n computed: {\n selectedFields: {\n get () {\n // Needs to be done this way so it retains order of fields\n return this.fields.reduce((fields, field) => {\n field = this.allFields.find(({ name }) => name === field.name)\n if (field) {\n fields.push(field)\n }\n return fields\n }, [])\n },\n\n set (f) {\n this.$emit('update:fields', f)\n },\n },\n\n allFields () {\n let mFields = []\n if (this.fieldSubset) {\n mFields = this.module.filterFields(this.fieldSubset)\n } else {\n mFields = this.module.fields\n }\n\n if (this.disabledTypes.length > 0) {\n mFields = mFields.filter(({ kind }) => !this.disabledTypes.find(t => t === kind))\n }\n\n let sysFields = []\n if (!this.disableSystemFields) {\n sysFields = this.module.systemFields()\n if (this.systemFields) {\n sysFields = sysFields.filter(({ name }) => this.systemFields.find(sf => sf === name))\n }\n } else {\n mFields = mFields.filter(({ isSystem }) => !isSystem)\n }\n\n return [\n ...[...mFields].sort((a, b) => a.label.localeCompare(b.label)),\n ...sysFields,\n ]\n },\n\n allSelected () {\n return this.availableFields.length > 0\n },\n\n allUnselected () {\n return this.selectedFields.length > 0\n },\n\n availableFields () {\n // Remove selected fields\n return this.allFields.filter(a => !this.fields.some(f => a.name === f.name))\n },\n\n filteredAvailableFields () {\n return this.filterFields(this.availableFields)\n },\n\n filteredSelectedFields () {\n return this.filterFields(this.selectedFields)\n },\n },\n\n watch: {\n 'moduleID' (o, n) {\n if (o !== n) {\n this.selectedFields = []\n }\n },\n },\n\n methods: {\n filterFields (fields) {\n return fields\n .filter(f => f.name.toLowerCase().indexOf(this.query.toLowerCase()) > -1 || f.label.toLowerCase().indexOf(this.query.toLowerCase()) > -1)\n },\n selectField (field) {\n if (this.selectedFields.some(selectedField => selectedField.label === field.label)) return\n this.selectedFields = [...this.selectedFields, field]\n },\n unselectField (field) {\n this.selectedFields = this.selectedFields.filter(({ name }) => field.name !== name)\n },\n },\n}\n</script>\n<style lang=\"scss\" scoped>\n.handle {\n cursor: grab;\n}\n</style>\n",".handle {\n cursor: grab;\n}\n\n/*# sourceMappingURL=FieldPicker.vue.map */"]}, media: undefined });
82012
+ inject("data-v-f6dad2a0_0", { source: ".handle[data-v-f6dad2a0]{cursor:grab}", map: undefined, media: undefined });
85195
82013
 
85196
82014
  };
85197
82015
  /* scoped */
85198
- const __vue_scope_id__$Q = "data-v-d614af34";
82016
+ const __vue_scope_id__$Q = "data-v-f6dad2a0";
85199
82017
  /* module identifier */
85200
82018
  const __vue_module_identifier__$Q = undefined;
85201
82019
  /* functional template */
@@ -85299,86 +82117,17 @@ var script$Q = {
85299
82117
  const __vue_script__$Q = script$Q;
85300
82118
 
85301
82119
  /* template */
85302
- var __vue_render__$K = function() {
85303
- var _vm = this;
85304
- var _h = _vm.$createElement;
85305
- var _c = _vm._self._c || _h;
85306
- return _c("div", [
85307
- !_vm.root
85308
- ? _c("h5", { staticClass: "mb-0" }, [
85309
- _vm._v("\n " + _vm._s(_vm.group) + "\n ")
85310
- ])
85311
- : _vm._e(),
85312
- _vm._v(" "),
85313
- _vm.subgroups.length > 0 || _vm.components.length > 0
85314
- ? _c(
85315
- "div",
85316
- [
85317
- _vm._l(_vm.components, function(cmp, i) {
85318
- return _c(
85319
- "div",
85320
- {
85321
- key: i,
85322
- staticClass: "component ml-2",
85323
- on: {
85324
- click: function($event) {
85325
- return _vm.$emit("select", cmp)
85326
- }
85327
- }
85328
- },
85329
- [
85330
- _vm._v(
85331
- "\n " +
85332
- _vm._s(cmp.name || cmp.component.name || "Untitled") +
85333
- "\n "
85334
- ),
85335
- cmp.wip
85336
- ? _c(
85337
- "b-badge",
85338
- {
85339
- staticClass: "float-right",
85340
- attrs: { variant: "warning" }
85341
- },
85342
- [_vm._v("\n wip\n ")]
85343
- )
85344
- : _vm._e()
85345
- ],
85346
- 1
85347
- )
85348
- }),
85349
- _vm._v(" "),
85350
- _vm._l(_vm.subgroups, function(group) {
85351
- return _c("component-list", {
85352
- key: group,
85353
- staticClass: "my-3",
85354
- attrs: {
85355
- catalogue: _vm.catalogue,
85356
- path: _vm.path.concat([group])
85357
- },
85358
- on: {
85359
- select: function($event) {
85360
- return _vm.$emit("select", $event)
85361
- }
85362
- }
85363
- })
85364
- })
85365
- ],
85366
- 2
85367
- )
85368
- : _vm._e()
85369
- ])
85370
- };
82120
+ var __vue_render__$K = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.root)?_c('h5',{staticClass:"mb-0"},[_vm._v("\n "+_vm._s(_vm.group)+"\n ")]):_vm._e(),_vm._v(" "),(_vm.subgroups.length > 0 || _vm.components.length > 0)?_c('div',[_vm._l((_vm.components),function(cmp,i){return _c('div',{key:i,staticClass:"component ml-2",on:{"click":function($event){return _vm.$emit('select', cmp)}}},[_vm._v("\n "+_vm._s(cmp.name || cmp.component.name || 'Untitled')+"\n "),(cmp.wip)?_c('b-badge',{staticClass:"float-right",attrs:{"variant":"warning"}},[_vm._v("\n wip\n ")]):_vm._e()],1)}),_vm._v(" "),_vm._l((_vm.subgroups),function(group){return _c('component-list',{key:group,staticClass:"my-3",attrs:{"catalogue":_vm.catalogue,"path":_vm.path.concat( [group])},on:{"select":function($event){return _vm.$emit('select', $event)}}})})],2):_vm._e()])};
85371
82121
  var __vue_staticRenderFns__$K = [];
85372
- __vue_render__$K._withStripped = true;
85373
82122
 
85374
82123
  /* style */
85375
82124
  const __vue_inject_styles__$R = function (inject) {
85376
82125
  if (!inject) return
85377
- inject("data-v-f45e268a_0", { source: ".component[data-v-f45e268a] {\n cursor: pointer;\n}\n\n/*# sourceMappingURL=ComponentList.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/c3/ComponentList.vue","ComponentList.vue"],"names":[],"mappings":"AA+EA;EACA,eAAA;AC9EA;;AAEA,4CAA4C","file":"ComponentList.vue","sourcesContent":["<template>\n <div>\n <h5\n v-if=\"!root\"\n class=\"mb-0\"\n >\n {{ group }}\n </h5>\n\n <div\n v-if=\"subgroups.length > 0 || components.length > 0\"\n >\n <div\n v-for=\"(cmp, i) in components\"\n :key=\"i\"\n @click=\"$emit('select', cmp)\"\n class=\"component ml-2\"\n >\n {{ cmp.name || cmp.component.name || 'Untitled' }}\n <b-badge\n v-if=\"cmp.wip\"\n variant=\"warning\"\n class=\"float-right\"\n >\n wip\n </b-badge>\n </div>\n <component-list\n v-for=\"(group) in subgroups\"\n :key=\"group\"\n :catalogue=\"catalogue\"\n :path=\"[...path, group]\"\n @select=\"$emit('select', $event)\"\n class=\"my-3\"\n />\n </div>\n </div>\n</template>\n<script>\nimport {ExtractComponents, ExtractSubgroups} from './helpers.ts'\n\nexport default {\n name: 'ComponentList',\n props: {\n catalogue: {\n required: true,\n type: Object,\n },\n\n path: {\n type: Array,\n default: () => []\n },\n },\n\n computed: {\n // name of the current group\n root () {\n return this.path.length === 0\n },\n\n // name of the current group\n group () {\n return this.root ? undefined : this.path[this.path.length - 1]\n },\n\n // returns all groups at this level\n subgroups () {\n return ExtractSubgroups(this.catalogue, ...this.path)\n },\n\n components () {\n // return ExtractComponents(this.catalogue, ...this.path)\n return ExtractComponents(this.catalogue, ...this.path)\n }\n }\n}\n</script>\n<style lang=\"scss\" scoped>\n.component {\n cursor: pointer;\n}\n</style>\n",".component {\n cursor: pointer;\n}\n\n/*# sourceMappingURL=ComponentList.vue.map */"]}, media: undefined });
82126
+ inject("data-v-8b2b254e_0", { source: ".component[data-v-8b2b254e]{cursor:pointer}", map: undefined, media: undefined });
85378
82127
 
85379
82128
  };
85380
82129
  /* scoped */
85381
- const __vue_scope_id__$R = "data-v-f45e268a";
82130
+ const __vue_scope_id__$R = "data-v-8b2b254e";
85382
82131
  /* module identifier */
85383
82132
  const __vue_module_identifier__$R = undefined;
85384
82133
  /* functional template */
@@ -85470,137 +82219,13 @@ var script$R = {
85470
82219
  const __vue_script__$R = script$R;
85471
82220
 
85472
82221
  /* template */
85473
- var __vue_render__$L = function() {
85474
- var _vm = this;
85475
- var _h = _vm.$createElement;
85476
- var _c = _vm._self._c || _h;
85477
- return _c("div", { staticClass: "layout" }, [
85478
- _c(
85479
- "aside",
85480
- { staticClass: "sidebar p-2" },
85481
- [
85482
- _c("h5", { staticClass: "border-bottom" }, [
85483
- _vm._v("\n C3: Component Catalogue\n ")
85484
- ]),
85485
- _vm._v(" "),
85486
- _c("component-list", {
85487
- attrs: { catalogue: _vm.catalogue },
85488
- on: {
85489
- select: function($event) {
85490
- return _vm.setCurrent($event)
85491
- }
85492
- }
85493
- })
85494
- ],
85495
- 1
85496
- ),
85497
- _vm._v(" "),
85498
- _c(
85499
- "main",
85500
- { staticClass: "p-5" },
85501
- [
85502
- _vm.current
85503
- ? _c(
85504
- _vm.current.component,
85505
- _vm._b(
85506
- { tag: "component" },
85507
- "component",
85508
- _vm.current.props,
85509
- false
85510
- )
85511
- )
85512
- : _c("p", { staticClass: "text-center" }, [
85513
- _vm._v(
85514
- "\n Select a component from the C3 Catalogue and start hacking :)\n "
85515
- )
85516
- ])
85517
- ],
85518
- 1
85519
- ),
85520
- _vm._v(" "),
85521
- _vm.current
85522
- ? _c(
85523
- "div",
85524
- { staticClass: "controls px-5 py-2 mt-2" },
85525
- [
85526
- _vm._l(_vm.controlGroups, function(cg, g) {
85527
- return _c(
85528
- "div",
85529
- {
85530
- key: "control-group-" + g,
85531
- staticClass: "control-group mr-2"
85532
- },
85533
- [
85534
- _c("h3", [_vm._v("\n Controls\n ")]),
85535
- _vm._v(" "),
85536
- _vm._l(cg, function(c, i) {
85537
- return _c(
85538
- c.component,
85539
- _vm._b(
85540
- {
85541
- key: i,
85542
- tag: "component",
85543
- attrs: { value: c.value(_vm.current.props) },
85544
- on: {
85545
- update: function($event) {
85546
- return c.update(_vm.current.props, $event)
85547
- }
85548
- }
85549
- },
85550
- "component",
85551
- c.props,
85552
- false
85553
- )
85554
- )
85555
- })
85556
- ],
85557
- 2
85558
- )
85559
- }),
85560
- _vm._v(" "),
85561
- _vm.current.scenarios
85562
- ? _c("div", { staticClass: "control-group float-right" }, [
85563
- _c("h3", [_vm._v("\n Pre-set controls\n ")]),
85564
- _vm._v(" "),
85565
- _c(
85566
- "ul",
85567
- { staticClass: "pl-0" },
85568
- _vm._l(_vm.current.scenarios, function(s, i) {
85569
- return _c(
85570
- "li",
85571
- {
85572
- key: i,
85573
- staticClass: "list-unstyled scenario",
85574
- on: {
85575
- click: function($event) {
85576
- return _vm.setScenario(s)
85577
- }
85578
- }
85579
- },
85580
- [
85581
- _vm._v(
85582
- "\n " + _vm._s(s.label) + "\n "
85583
- )
85584
- ]
85585
- )
85586
- }),
85587
- 0
85588
- )
85589
- ])
85590
- : _vm._e()
85591
- ],
85592
- 2
85593
- )
85594
- : _vm._e()
85595
- ])
85596
- };
82222
+ var __vue_render__$L = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"layout"},[_c('aside',{staticClass:"sidebar p-2"},[_c('h5',{staticClass:"border-bottom"},[_vm._v("\n C3: Component Catalogue\n ")]),_vm._v(" "),_c('component-list',{attrs:{"catalogue":_vm.catalogue},on:{"select":function($event){return _vm.setCurrent($event)}}})],1),_vm._v(" "),_c('main',{staticClass:"p-5"},[(_vm.current)?_c(_vm.current.component,_vm._b({tag:"component"},'component',_vm.current.props,false)):_c('p',{staticClass:"text-center"},[_vm._v("\n Select a component from the C3 Catalogue and start hacking :)\n ")])],1),_vm._v(" "),(_vm.current)?_c('div',{staticClass:"controls px-5 py-2 mt-2"},[_vm._l((_vm.controlGroups),function(cg,g){return _c('div',{key:("control-group-" + g),staticClass:"control-group mr-2"},[_c('h3',[_vm._v("\n Controls\n ")]),_vm._v(" "),_vm._l((cg),function(c,i){return _c(c.component,_vm._b({key:i,tag:"component",attrs:{"value":c.value(_vm.current.props)},on:{"update":function($event){return c.update(_vm.current.props, $event)}}},'component',c.props,false))})],2)}),_vm._v(" "),(_vm.current.scenarios)?_c('div',{staticClass:"control-group float-right"},[_c('h3',[_vm._v("\n Pre-set controls\n ")]),_vm._v(" "),_c('ul',{staticClass:"pl-0"},_vm._l((_vm.current.scenarios),function(s,i){return _c('li',{key:i,staticClass:"list-unstyled scenario",on:{"click":function($event){return _vm.setScenario(s)}}},[_vm._v("\n "+_vm._s(s.label)+"\n ")])}),0)]):_vm._e()],2):_vm._e()])};
85597
82223
  var __vue_staticRenderFns__$L = [];
85598
- __vue_render__$L._withStripped = true;
85599
82224
 
85600
82225
  /* style */
85601
82226
  const __vue_inject_styles__$S = function (inject) {
85602
82227
  if (!inject) return
85603
- inject("data-v-99d21784_0", { source: ".layout {\n height: 100vh;\n width: 100vw;\n display: grid;\n grid-template-rows: auto 400px;\n grid-template-columns: 300px auto;\n align-content: stretch;\n grid-template-areas: \"side main\" \"side controls\";\n}\n.layout aside {\n grid-area: side;\n overflow: auto;\n}\n.layout main {\n grid-area: main;\n background-image: linear-gradient(135deg, #f3f3f5 21.43%, #ffffff 21.43%, #ffffff 50%, #f3f3f5 50%, #f3f3f5 71.43%, #ffffff 71.43%, #ffffff 100%);\n background-size: 35px 35px;\n overflow: auto;\n}\n.layout .controls {\n grid-area: controls;\n overflow: auto;\n}\n.layout .controls .control-group {\n float: left;\n}\n.layout .scenario {\n cursor: pointer;\n}\n\n/*# sourceMappingURL=C3.vue.map */", map: {"version":3,"sources":["/home/fajfa/Kendu/Corteza/packages/corteza-vue/src/components/c3/C3.vue","C3.vue"],"names":[],"mappings":"AAwIA;EACA,aAAA;EACA,YAAA;EAEA,aAAA;EACA,8BAAA;EACA,iCAAA;EACA,sBAAA;EACA,gDACA;ACzIA;AD6IA;EACA,eAAA;EACA,cAAA;AC3IA;AD8IA;EACA,eAAA;EACA,iJAAA;EAUA,0BAAA;EACA,cAAA;ACrJA;ADwJA;EACA,mBAAA;EACA,cAAA;ACtJA;ADwJA;EACA,WAAA;ACtJA;AD0JA;EACA,eAAA;ACxJA;;AAEA,iCAAiC","file":"C3.vue","sourcesContent":["<template>\n <div class=\"layout\">\n <aside class=\"sidebar p-2\">\n <h5\n class=\"border-bottom\">\n C3: Component Catalogue\n </h5>\n <component-list\n :catalogue=\"catalogue\"\n @select=\"setCurrent($event)\"\n />\n </aside>\n\n <main\n class=\"p-5\"\n >\n <component\n :is=\"current.component\"\n v-if=\"current\"\n v-bind=\"current.props\"\n />\n <p\n v-else\n class=\"text-center\"\n >\n Select a component from the C3 Catalogue and start hacking :)\n </p>\n </main>\n\n <div\n class=\"controls px-5 py-2 mt-2\"\n v-if=\"current\"\n >\n <div\n class=\"control-group mr-2\"\n v-for=\"(cg, g) in controlGroups\"\n :key=\"`control-group-${g}`\"\n >\n <h3>\n Controls\n </h3>\n <component\n :is=\"c.component\"\n v-for=\"(c, i) in cg\"\n :key=\"i\"\n :value=\"c.value(current.props)\"\n v-bind=\"c.props\"\n @update=\"c.update(current.props, $event)\"\n />\n </div>\n\n <div\n v-if=\"current.scenarios\"\n class=\"control-group float-right\"\n >\n <h3>\n Pre-set controls\n </h3>\n <ul\n class=\"pl-0\"\n >\n <li\n v-for=\"(s, i) in current.scenarios\"\n :key=\"i\"\n class=\"list-unstyled scenario\"\n @click=\"setScenario(s)\"\n >\n {{ s.label }}\n </li>\n </ul>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport ComponentList from './ComponentList.vue'\n\nexport default {\n name: 'C3',\n\n components: {\n ComponentList,\n },\n\n props: {\n catalogue: {\n required: true,\n type: Object,\n },\n },\n\n computed: {\n controlGroups () {\n if (this.current.controls.length === 0) {\n return []\n }\n\n if (Array.isArray(this.current.controls[0])) {\n // already grouped\n return this.current.controls\n }\n\n // make one virtual group holding all controls\n return [this.current.controls]\n },\n },\n\n data () {\n return {\n current: undefined,\n }\n },\n\n methods: {\n setCurrent (component) {\n this.current = { props: {}, ...component }\n this.setScenario(this.current)\n },\n\n setScenario ({ props = {}, controls = [] }) {\n // create missing props from controls\n const apply = (c, props) => c.update(props, c.value(props) || null)\n controls.forEach(c => {\n if (Array.isArray(c)) {\n c.forEach(c => apply(c, props))\n } else {\n apply(c, props)\n }\n })\n\n this.current.props = props\n },\n },\n}\n</script>\n<style lang=\"scss\">\n.layout {\n height: 100vh;\n width: 100vw;\n\n display: grid;\n grid-template-rows: auto 400px;\n grid-template-columns: 300px auto;\n align-content: stretch;\n grid-template-areas:\n \"side main\"\n \"side controls\"\n ;\n\n aside {\n grid-area: side;\n overflow: auto;\n }\n\n main {\n grid-area: main;\n background-image: linear-gradient(\n 135deg,\n #f3f3f5 21.43%,\n #ffffff 21.43%,\n #ffffff 50%,\n #f3f3f5 50%,\n #f3f3f5 71.43%,\n #ffffff 71.43%,\n #ffffff 100%\n );\n background-size: 35.00px 35.00px;\n overflow: auto;\n }\n\n .controls {\n grid-area: controls;\n overflow: auto;\n\n .control-group {\n float: left;\n }\n }\n\n .scenario {\n cursor: pointer;\n }\n}\n</style>\n",".layout {\n height: 100vh;\n width: 100vw;\n display: grid;\n grid-template-rows: auto 400px;\n grid-template-columns: 300px auto;\n align-content: stretch;\n grid-template-areas: \"side main\" \"side controls\";\n}\n.layout aside {\n grid-area: side;\n overflow: auto;\n}\n.layout main {\n grid-area: main;\n background-image: linear-gradient(135deg, #f3f3f5 21.43%, #ffffff 21.43%, #ffffff 50%, #f3f3f5 50%, #f3f3f5 71.43%, #ffffff 71.43%, #ffffff 100%);\n background-size: 35px 35px;\n overflow: auto;\n}\n.layout .controls {\n grid-area: controls;\n overflow: auto;\n}\n.layout .controls .control-group {\n float: left;\n}\n.layout .scenario {\n cursor: pointer;\n}\n\n/*# sourceMappingURL=C3.vue.map */"]}, media: undefined });
82228
+ inject("data-v-2c86815c_0", { source: ".layout{height:100vh;width:100vw;display:grid;grid-template-rows:auto 400px;grid-template-columns:300px auto;align-content:stretch;grid-template-areas:\"side main\" \"side controls\"}.layout aside{grid-area:side;overflow:auto}.layout main{grid-area:main;background-image:linear-gradient(135deg,#f3f3f5 21.43%,#fff 21.43%,#fff 50%,#f3f3f5 50%,#f3f3f5 71.43%,#fff 71.43%,#fff 100%);background-size:35px 35px;overflow:auto}.layout .controls{grid-area:controls;overflow:auto}.layout .controls .control-group{float:left}.layout .scenario{cursor:pointer}", map: undefined, media: undefined });
85604
82229
 
85605
82230
  };
85606
82231
  /* scoped */
@@ -85656,28 +82281,8 @@ var script$S = {
85656
82281
  const __vue_script__$S = script$S;
85657
82282
 
85658
82283
  /* template */
85659
- var __vue_render__$M = function() {
85660
- var _vm = this;
85661
- var _h = _vm.$createElement;
85662
- var _c = _vm._self._c || _h;
85663
- return _c(
85664
- "b-form-group",
85665
- { attrs: { label: _vm.label } },
85666
- [
85667
- _c("b-form-input", {
85668
- attrs: { value: _vm.value },
85669
- on: {
85670
- update: function($event) {
85671
- return _vm.$emit("update", $event)
85672
- }
85673
- }
85674
- })
85675
- ],
85676
- 1
85677
- )
85678
- };
82284
+ var __vue_render__$M = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',{attrs:{"label":_vm.label}},[_c('b-form-input',{attrs:{"value":_vm.value},on:{"update":function($event){return _vm.$emit('update', $event)}}})],1)};
85679
82285
  var __vue_staticRenderFns__$M = [];
85680
- __vue_render__$M._withStripped = true;
85681
82286
 
85682
82287
  /* style */
85683
82288
  const __vue_inject_styles__$T = undefined;
@@ -85736,28 +82341,8 @@ var script$T = {
85736
82341
  const __vue_script__$T = script$T;
85737
82342
 
85738
82343
  /* template */
85739
- var __vue_render__$N = function() {
85740
- var _vm = this;
85741
- var _h = _vm.$createElement;
85742
- var _c = _vm._self._c || _h;
85743
- return _c(
85744
- "b-form-group",
85745
- { attrs: { label: _vm.label } },
85746
- [
85747
- _c("b-form-textarea", {
85748
- attrs: { value: _vm.value },
85749
- on: {
85750
- update: function($event) {
85751
- return _vm.$emit("update", $event)
85752
- }
85753
- }
85754
- })
85755
- ],
85756
- 1
85757
- )
85758
- };
82344
+ var __vue_render__$N = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',{attrs:{"label":_vm.label}},[_c('b-form-textarea',{attrs:{"value":_vm.value},on:{"update":function($event){return _vm.$emit('update', $event)}}})],1)};
85759
82345
  var __vue_staticRenderFns__$N = [];
85760
- __vue_render__$N._withStripped = true;
85761
82346
 
85762
82347
  /* style */
85763
82348
  const __vue_inject_styles__$U = undefined;
@@ -85815,31 +82400,8 @@ var script$U = {
85815
82400
  const __vue_script__$U = script$U;
85816
82401
 
85817
82402
  /* template */
85818
- var __vue_render__$O = function() {
85819
- var _vm = this;
85820
- var _h = _vm.$createElement;
85821
- var _c = _vm._self._c || _h;
85822
- return _c(
85823
- "b-form-group",
85824
- [
85825
- _c(
85826
- "b-form-checkbox",
85827
- {
85828
- attrs: { checked: _vm.value },
85829
- on: {
85830
- change: function($event) {
85831
- return _vm.$emit("update", $event)
85832
- }
85833
- }
85834
- },
85835
- [_vm._v("\n " + _vm._s(_vm.label) + "\n ")]
85836
- )
85837
- ],
85838
- 1
85839
- )
85840
- };
82403
+ var __vue_render__$O = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',[_c('b-form-checkbox',{attrs:{"checked":_vm.value},on:{"change":function($event){return _vm.$emit('update', $event)}}},[_vm._v("\n "+_vm._s(_vm.label)+"\n ")])],1)};
85841
82404
  var __vue_staticRenderFns__$O = [];
85842
- __vue_render__$O._withStripped = true;
85843
82405
 
85844
82406
  /* style */
85845
82407
  const __vue_inject_styles__$V = undefined;
@@ -85903,28 +82465,8 @@ var script$V = {
85903
82465
  const __vue_script__$V = script$V;
85904
82466
 
85905
82467
  /* template */
85906
- var __vue_render__$P = function() {
85907
- var _vm = this;
85908
- var _h = _vm.$createElement;
85909
- var _c = _vm._self._c || _h;
85910
- return _c(
85911
- "b-form-group",
85912
- { attrs: { label: _vm.label } },
85913
- [
85914
- _c("b-form-select", {
85915
- attrs: { value: _vm.value, options: _vm.options },
85916
- on: {
85917
- input: function($event) {
85918
- return _vm.$emit("update", $event)
85919
- }
85920
- }
85921
- })
85922
- ],
85923
- 1
85924
- )
85925
- };
82468
+ var __vue_render__$P = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',{attrs:{"label":_vm.label}},[_c('b-form-select',{attrs:{"value":_vm.value,"options":_vm.options},on:{"input":function($event){return _vm.$emit('update', $event)}}})],1)};
85926
82469
  var __vue_staticRenderFns__$P = [];
85927
- __vue_render__$P._withStripped = true;
85928
82470
 
85929
82471
  /* style */
85930
82472
  const __vue_inject_styles__$W = undefined;