toggle-components-library 1.37.0-beta.4 → 1.37.0-beta.6
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/toggle-components-library.common.js +76 -53
- package/dist/toggle-components-library.common.js.map +1 -1
- package/dist/toggle-components-library.umd.js +76 -53
- package/dist/toggle-components-library.umd.js.map +1 -1
- package/dist/toggle-components-library.umd.min.js +1 -1
- package/dist/toggle-components-library.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/breadcrumb/ToggleBreadCrumb.vue +78 -47
|
@@ -48729,8 +48729,8 @@ var TogglePodiumBadge_component = normalizeComponent(
|
|
|
48729
48729
|
)
|
|
48730
48730
|
|
|
48731
48731
|
/* harmony default export */ var TogglePodiumBadge = (TogglePodiumBadge_component.exports);
|
|
48732
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a48609c2-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=
|
|
48733
|
-
var
|
|
48732
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a48609c2-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=521e5ac4&
|
|
48733
|
+
var ToggleBreadCrumbvue_type_template_id_521e5ac4_render = function render() {
|
|
48734
48734
|
var _vm = this,
|
|
48735
48735
|
_c = _vm._self._c;
|
|
48736
48736
|
return _vm.breadcrumb_computed ? _c('div', {
|
|
@@ -48739,14 +48739,15 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_render = function render() {
|
|
|
48739
48739
|
return _c('div', {
|
|
48740
48740
|
key: index
|
|
48741
48741
|
}, [index === _vm.breadcrumb_computed.length - 1 && _vm.editable ? [_c('span', {
|
|
48742
|
+
ref: "editableSpan",
|
|
48743
|
+
refInFor: true,
|
|
48742
48744
|
staticClass: "toggle-breadcrumb-editable-input",
|
|
48743
48745
|
attrs: {
|
|
48744
48746
|
"contenteditable": "true"
|
|
48745
48747
|
},
|
|
48746
48748
|
on: {
|
|
48747
|
-
"input":
|
|
48748
|
-
|
|
48749
|
-
},
|
|
48749
|
+
"input": _vm.handleInput,
|
|
48750
|
+
"keypress": _vm.handleKeypress,
|
|
48750
48751
|
"keydown": function ($event) {
|
|
48751
48752
|
if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null;
|
|
48752
48753
|
$event.preventDefault();
|
|
@@ -48778,13 +48779,12 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_render = function render() {
|
|
|
48778
48779
|
}, [_vm._v(_vm._s(crumb.name))]) : _vm._e()]], 2);
|
|
48779
48780
|
}), 0) : _vm._e();
|
|
48780
48781
|
};
|
|
48781
|
-
var
|
|
48782
|
+
var ToggleBreadCrumbvue_type_template_id_521e5ac4_staticRenderFns = [];
|
|
48782
48783
|
|
|
48783
|
-
// CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=
|
|
48784
|
+
// CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=521e5ac4&
|
|
48784
48785
|
|
|
48785
48786
|
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=script&lang=js&
|
|
48786
48787
|
/* harmony default export */ var ToggleBreadCrumbvue_type_script_lang_js_ = ({
|
|
48787
|
-
mixins: [],
|
|
48788
48788
|
props: {
|
|
48789
48789
|
isNuxt: {
|
|
48790
48790
|
type: Boolean,
|
|
@@ -48805,9 +48805,9 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48805
48805
|
required: false
|
|
48806
48806
|
}
|
|
48807
48807
|
},
|
|
48808
|
-
data
|
|
48808
|
+
data() {
|
|
48809
48809
|
return {
|
|
48810
|
-
|
|
48810
|
+
lastValidContent: ''
|
|
48811
48811
|
};
|
|
48812
48812
|
},
|
|
48813
48813
|
computed: {
|
|
@@ -48815,60 +48815,83 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48815
48815
|
return this.isNuxt ? this.breadcrumb : this.$route.meta.breadcrumb;
|
|
48816
48816
|
}
|
|
48817
48817
|
},
|
|
48818
|
+
mounted() {
|
|
48819
|
+
this.updateContent();
|
|
48820
|
+
},
|
|
48818
48821
|
methods: {
|
|
48822
|
+
updateContent() {
|
|
48823
|
+
var _this$breadcrumb_comp;
|
|
48824
|
+
if (this.$refs.editableSpan && (_this$breadcrumb_comp = this.breadcrumb_computed) !== null && _this$breadcrumb_comp !== void 0 && _this$breadcrumb_comp.length) {
|
|
48825
|
+
const lastCrumb = this.breadcrumb_computed[this.breadcrumb_computed.length - 1];
|
|
48826
|
+
if (this.$refs.editableSpan.textContent !== lastCrumb.name) {
|
|
48827
|
+
this.$refs.editableSpan.textContent = lastCrumb.name;
|
|
48828
|
+
this.lastValidContent = lastCrumb.name;
|
|
48829
|
+
}
|
|
48830
|
+
}
|
|
48831
|
+
},
|
|
48832
|
+
handleKeypress(event) {
|
|
48833
|
+
if (event.key.length !== 1) return;
|
|
48834
|
+
const currentLength = this.$refs.editableSpan.textContent.length;
|
|
48835
|
+
const selection = window.getSelection();
|
|
48836
|
+
const selectedLength = selection.toString().length;
|
|
48837
|
+
if (currentLength - selectedLength >= this.maxChars) {
|
|
48838
|
+
event.preventDefault();
|
|
48839
|
+
return false;
|
|
48840
|
+
}
|
|
48841
|
+
},
|
|
48842
|
+
handleInput(event) {
|
|
48843
|
+
const newText = event.target.textContent;
|
|
48844
|
+
if (newText.length <= this.maxChars) {
|
|
48845
|
+
this.lastValidContent = newText;
|
|
48846
|
+
this.$emit('update:lastCrumb', newText);
|
|
48847
|
+
} else {
|
|
48848
|
+
// Get cursor position before restoring text
|
|
48849
|
+
const selection = window.getSelection();
|
|
48850
|
+
const cursorPosition = selection.getRangeAt(0).startOffset;
|
|
48851
|
+
|
|
48852
|
+
// Restore previous content
|
|
48853
|
+
event.target.textContent = this.lastValidContent;
|
|
48854
|
+
|
|
48855
|
+
// Restore cursor position
|
|
48856
|
+
const range = document.createRange();
|
|
48857
|
+
const textNode = event.target.firstChild;
|
|
48858
|
+
if (textNode) {
|
|
48859
|
+
range.setStart(textNode, Math.min(cursorPosition, this.lastValidContent.length));
|
|
48860
|
+
range.collapse(true);
|
|
48861
|
+
selection.removeAllRanges();
|
|
48862
|
+
selection.addRange(range);
|
|
48863
|
+
}
|
|
48864
|
+
}
|
|
48865
|
+
},
|
|
48819
48866
|
handlePaste(event) {
|
|
48820
|
-
|
|
48867
|
+
event.preventDefault();
|
|
48821
48868
|
const text = (event.clipboardData || window.clipboardData).getData('text');
|
|
48822
48869
|
const cleanText = text.replace(/[\r\n\s]+/g, ' ').trim();
|
|
48823
|
-
|
|
48824
|
-
// Get current selection information
|
|
48825
48870
|
const selection = window.getSelection();
|
|
48871
|
+
const range = selection.getRangeAt(0);
|
|
48872
|
+
const currentLength = this.$refs.editableSpan.textContent.length;
|
|
48826
48873
|
const selectionLength = selection.toString().length;
|
|
48827
|
-
const
|
|
48828
|
-
|
|
48829
|
-
|
|
48830
|
-
if (currentLength - selectionLength + cleanText.length <= this.maxChars && selection.rangeCount) {
|
|
48831
|
-
const range = selection.getRangeAt(0);
|
|
48874
|
+
const availableSpace = this.maxChars - (currentLength - selectionLength);
|
|
48875
|
+
if (availableSpace > 0) {
|
|
48876
|
+
const truncatedText = cleanText.slice(0, availableSpace);
|
|
48832
48877
|
range.deleteContents();
|
|
48833
|
-
range.insertNode(document.createTextNode(
|
|
48834
|
-
|
|
48835
|
-
// Move cursor to end of inserted text
|
|
48878
|
+
range.insertNode(document.createTextNode(truncatedText));
|
|
48836
48879
|
range.collapse(false);
|
|
48837
|
-
|
|
48838
|
-
|
|
48839
|
-
|
|
48840
|
-
// Update content
|
|
48841
|
-
this.content = event.target.innerText;
|
|
48842
|
-
this.$emit('update:lastCrumb', this.content);
|
|
48880
|
+
this.lastValidContent = this.$refs.editableSpan.textContent;
|
|
48881
|
+
this.$emit('update:lastCrumb', this.lastValidContent);
|
|
48843
48882
|
}
|
|
48844
48883
|
},
|
|
48845
48884
|
handleEnterKey(event) {
|
|
48846
48885
|
event.preventDefault();
|
|
48847
48886
|
event.target.blur();
|
|
48848
|
-
}
|
|
48849
|
-
|
|
48850
|
-
|
|
48851
|
-
|
|
48852
|
-
|
|
48853
|
-
|
|
48854
|
-
|
|
48855
|
-
|
|
48856
|
-
const range = selection.getRangeAt(0);
|
|
48857
|
-
const cursorOffset = range.startOffset;
|
|
48858
|
-
|
|
48859
|
-
// Restore previous content
|
|
48860
|
-
event.target.innerText = this.content;
|
|
48861
|
-
|
|
48862
|
-
// Restore cursor position
|
|
48863
|
-
const newRange = document.createRange();
|
|
48864
|
-
newRange.setStart(event.target.firstChild || event.target, Math.min(cursorOffset, this.content.length));
|
|
48865
|
-
newRange.collapse(true);
|
|
48866
|
-
selection.removeAllRanges();
|
|
48867
|
-
selection.addRange(newRange);
|
|
48868
|
-
} else {
|
|
48869
|
-
this.content = newText;
|
|
48870
|
-
this.$emit('update:lastCrumb', this.content);
|
|
48871
|
-
}
|
|
48887
|
+
}
|
|
48888
|
+
},
|
|
48889
|
+
watch: {
|
|
48890
|
+
'breadcrumb_computed': {
|
|
48891
|
+
handler() {
|
|
48892
|
+
this.$nextTick(this.updateContent);
|
|
48893
|
+
},
|
|
48894
|
+
deep: true
|
|
48872
48895
|
}
|
|
48873
48896
|
}
|
|
48874
48897
|
});
|
|
@@ -48884,8 +48907,8 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48884
48907
|
|
|
48885
48908
|
var ToggleBreadCrumb_component = normalizeComponent(
|
|
48886
48909
|
breadcrumb_ToggleBreadCrumbvue_type_script_lang_js_,
|
|
48887
|
-
|
|
48888
|
-
|
|
48910
|
+
ToggleBreadCrumbvue_type_template_id_521e5ac4_render,
|
|
48911
|
+
ToggleBreadCrumbvue_type_template_id_521e5ac4_staticRenderFns,
|
|
48889
48912
|
false,
|
|
48890
48913
|
null,
|
|
48891
48914
|
null,
|