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
|
@@ -48720,8 +48720,8 @@ var TogglePodiumBadge_component = normalizeComponent(
|
|
|
48720
48720
|
)
|
|
48721
48721
|
|
|
48722
48722
|
/* harmony default export */ var TogglePodiumBadge = (TogglePodiumBadge_component.exports);
|
|
48723
|
-
// 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=
|
|
48724
|
-
var
|
|
48723
|
+
// 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&
|
|
48724
|
+
var ToggleBreadCrumbvue_type_template_id_521e5ac4_render = function render() {
|
|
48725
48725
|
var _vm = this,
|
|
48726
48726
|
_c = _vm._self._c;
|
|
48727
48727
|
return _vm.breadcrumb_computed ? _c('div', {
|
|
@@ -48730,14 +48730,15 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_render = function render() {
|
|
|
48730
48730
|
return _c('div', {
|
|
48731
48731
|
key: index
|
|
48732
48732
|
}, [index === _vm.breadcrumb_computed.length - 1 && _vm.editable ? [_c('span', {
|
|
48733
|
+
ref: "editableSpan",
|
|
48734
|
+
refInFor: true,
|
|
48733
48735
|
staticClass: "toggle-breadcrumb-editable-input",
|
|
48734
48736
|
attrs: {
|
|
48735
48737
|
"contenteditable": "true"
|
|
48736
48738
|
},
|
|
48737
48739
|
on: {
|
|
48738
|
-
"input":
|
|
48739
|
-
|
|
48740
|
-
},
|
|
48740
|
+
"input": _vm.handleInput,
|
|
48741
|
+
"keypress": _vm.handleKeypress,
|
|
48741
48742
|
"keydown": function ($event) {
|
|
48742
48743
|
if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null;
|
|
48743
48744
|
$event.preventDefault();
|
|
@@ -48769,13 +48770,12 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_render = function render() {
|
|
|
48769
48770
|
}, [_vm._v(_vm._s(crumb.name))]) : _vm._e()]], 2);
|
|
48770
48771
|
}), 0) : _vm._e();
|
|
48771
48772
|
};
|
|
48772
|
-
var
|
|
48773
|
+
var ToggleBreadCrumbvue_type_template_id_521e5ac4_staticRenderFns = [];
|
|
48773
48774
|
|
|
48774
|
-
// CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=
|
|
48775
|
+
// CONCATENATED MODULE: ./src/components/breadcrumb/ToggleBreadCrumb.vue?vue&type=template&id=521e5ac4&
|
|
48775
48776
|
|
|
48776
48777
|
// 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&
|
|
48777
48778
|
/* harmony default export */ var ToggleBreadCrumbvue_type_script_lang_js_ = ({
|
|
48778
|
-
mixins: [],
|
|
48779
48779
|
props: {
|
|
48780
48780
|
isNuxt: {
|
|
48781
48781
|
type: Boolean,
|
|
@@ -48796,9 +48796,9 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48796
48796
|
required: false
|
|
48797
48797
|
}
|
|
48798
48798
|
},
|
|
48799
|
-
data
|
|
48799
|
+
data() {
|
|
48800
48800
|
return {
|
|
48801
|
-
|
|
48801
|
+
lastValidContent: ''
|
|
48802
48802
|
};
|
|
48803
48803
|
},
|
|
48804
48804
|
computed: {
|
|
@@ -48806,60 +48806,83 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48806
48806
|
return this.isNuxt ? this.breadcrumb : this.$route.meta.breadcrumb;
|
|
48807
48807
|
}
|
|
48808
48808
|
},
|
|
48809
|
+
mounted() {
|
|
48810
|
+
this.updateContent();
|
|
48811
|
+
},
|
|
48809
48812
|
methods: {
|
|
48813
|
+
updateContent() {
|
|
48814
|
+
var _this$breadcrumb_comp;
|
|
48815
|
+
if (this.$refs.editableSpan && (_this$breadcrumb_comp = this.breadcrumb_computed) !== null && _this$breadcrumb_comp !== void 0 && _this$breadcrumb_comp.length) {
|
|
48816
|
+
const lastCrumb = this.breadcrumb_computed[this.breadcrumb_computed.length - 1];
|
|
48817
|
+
if (this.$refs.editableSpan.textContent !== lastCrumb.name) {
|
|
48818
|
+
this.$refs.editableSpan.textContent = lastCrumb.name;
|
|
48819
|
+
this.lastValidContent = lastCrumb.name;
|
|
48820
|
+
}
|
|
48821
|
+
}
|
|
48822
|
+
},
|
|
48823
|
+
handleKeypress(event) {
|
|
48824
|
+
if (event.key.length !== 1) return;
|
|
48825
|
+
const currentLength = this.$refs.editableSpan.textContent.length;
|
|
48826
|
+
const selection = window.getSelection();
|
|
48827
|
+
const selectedLength = selection.toString().length;
|
|
48828
|
+
if (currentLength - selectedLength >= this.maxChars) {
|
|
48829
|
+
event.preventDefault();
|
|
48830
|
+
return false;
|
|
48831
|
+
}
|
|
48832
|
+
},
|
|
48833
|
+
handleInput(event) {
|
|
48834
|
+
const newText = event.target.textContent;
|
|
48835
|
+
if (newText.length <= this.maxChars) {
|
|
48836
|
+
this.lastValidContent = newText;
|
|
48837
|
+
this.$emit('update:lastCrumb', newText);
|
|
48838
|
+
} else {
|
|
48839
|
+
// Get cursor position before restoring text
|
|
48840
|
+
const selection = window.getSelection();
|
|
48841
|
+
const cursorPosition = selection.getRangeAt(0).startOffset;
|
|
48842
|
+
|
|
48843
|
+
// Restore previous content
|
|
48844
|
+
event.target.textContent = this.lastValidContent;
|
|
48845
|
+
|
|
48846
|
+
// Restore cursor position
|
|
48847
|
+
const range = document.createRange();
|
|
48848
|
+
const textNode = event.target.firstChild;
|
|
48849
|
+
if (textNode) {
|
|
48850
|
+
range.setStart(textNode, Math.min(cursorPosition, this.lastValidContent.length));
|
|
48851
|
+
range.collapse(true);
|
|
48852
|
+
selection.removeAllRanges();
|
|
48853
|
+
selection.addRange(range);
|
|
48854
|
+
}
|
|
48855
|
+
}
|
|
48856
|
+
},
|
|
48810
48857
|
handlePaste(event) {
|
|
48811
|
-
|
|
48858
|
+
event.preventDefault();
|
|
48812
48859
|
const text = (event.clipboardData || window.clipboardData).getData('text');
|
|
48813
48860
|
const cleanText = text.replace(/[\r\n\s]+/g, ' ').trim();
|
|
48814
|
-
|
|
48815
|
-
// Get current selection information
|
|
48816
48861
|
const selection = window.getSelection();
|
|
48862
|
+
const range = selection.getRangeAt(0);
|
|
48863
|
+
const currentLength = this.$refs.editableSpan.textContent.length;
|
|
48817
48864
|
const selectionLength = selection.toString().length;
|
|
48818
|
-
const
|
|
48819
|
-
|
|
48820
|
-
|
|
48821
|
-
if (currentLength - selectionLength + cleanText.length <= this.maxChars && selection.rangeCount) {
|
|
48822
|
-
const range = selection.getRangeAt(0);
|
|
48865
|
+
const availableSpace = this.maxChars - (currentLength - selectionLength);
|
|
48866
|
+
if (availableSpace > 0) {
|
|
48867
|
+
const truncatedText = cleanText.slice(0, availableSpace);
|
|
48823
48868
|
range.deleteContents();
|
|
48824
|
-
range.insertNode(document.createTextNode(
|
|
48825
|
-
|
|
48826
|
-
// Move cursor to end of inserted text
|
|
48869
|
+
range.insertNode(document.createTextNode(truncatedText));
|
|
48827
48870
|
range.collapse(false);
|
|
48828
|
-
|
|
48829
|
-
|
|
48830
|
-
|
|
48831
|
-
// Update content
|
|
48832
|
-
this.content = event.target.innerText;
|
|
48833
|
-
this.$emit('update:lastCrumb', this.content);
|
|
48871
|
+
this.lastValidContent = this.$refs.editableSpan.textContent;
|
|
48872
|
+
this.$emit('update:lastCrumb', this.lastValidContent);
|
|
48834
48873
|
}
|
|
48835
48874
|
},
|
|
48836
48875
|
handleEnterKey(event) {
|
|
48837
48876
|
event.preventDefault();
|
|
48838
48877
|
event.target.blur();
|
|
48839
|
-
}
|
|
48840
|
-
|
|
48841
|
-
|
|
48842
|
-
|
|
48843
|
-
|
|
48844
|
-
|
|
48845
|
-
|
|
48846
|
-
|
|
48847
|
-
const range = selection.getRangeAt(0);
|
|
48848
|
-
const cursorOffset = range.startOffset;
|
|
48849
|
-
|
|
48850
|
-
// Restore previous content
|
|
48851
|
-
event.target.innerText = this.content;
|
|
48852
|
-
|
|
48853
|
-
// Restore cursor position
|
|
48854
|
-
const newRange = document.createRange();
|
|
48855
|
-
newRange.setStart(event.target.firstChild || event.target, Math.min(cursorOffset, this.content.length));
|
|
48856
|
-
newRange.collapse(true);
|
|
48857
|
-
selection.removeAllRanges();
|
|
48858
|
-
selection.addRange(newRange);
|
|
48859
|
-
} else {
|
|
48860
|
-
this.content = newText;
|
|
48861
|
-
this.$emit('update:lastCrumb', this.content);
|
|
48862
|
-
}
|
|
48878
|
+
}
|
|
48879
|
+
},
|
|
48880
|
+
watch: {
|
|
48881
|
+
'breadcrumb_computed': {
|
|
48882
|
+
handler() {
|
|
48883
|
+
this.$nextTick(this.updateContent);
|
|
48884
|
+
},
|
|
48885
|
+
deep: true
|
|
48863
48886
|
}
|
|
48864
48887
|
}
|
|
48865
48888
|
});
|
|
@@ -48875,8 +48898,8 @@ var ToggleBreadCrumbvue_type_template_id_d98b2612_staticRenderFns = [];
|
|
|
48875
48898
|
|
|
48876
48899
|
var ToggleBreadCrumb_component = normalizeComponent(
|
|
48877
48900
|
breadcrumb_ToggleBreadCrumbvue_type_script_lang_js_,
|
|
48878
|
-
|
|
48879
|
-
|
|
48901
|
+
ToggleBreadCrumbvue_type_template_id_521e5ac4_render,
|
|
48902
|
+
ToggleBreadCrumbvue_type_template_id_521e5ac4_staticRenderFns,
|
|
48880
48903
|
false,
|
|
48881
48904
|
null,
|
|
48882
48905
|
null,
|