@cortezaproject/corteza-vue 2024.9.6-dev.1 → 2024.9.6-dev.2
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.cjs +274 -90
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +274 -90
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/components/c3/C3.d.ts +0 -5
- package/dist/components/filePreview/common/index.d.ts +0 -2
- package/dist/components/filePreview/common/types/PDF/helpers.d.ts +0 -53
- package/dist/components/filePreview/common/types/index.d.ts +0 -3
- package/dist/components/input/CRichTextInput/RToolbar/TMark/loader.d.ts +0 -10
- package/dist/components/input/CRichTextInput/RToolbar/TNode/loader.d.ts +0 -6
- package/dist/components/input/CRichTextInput/RToolbar/TNodeAttr/loader.d.ts +0 -6
- package/dist/components/input/CRichTextInput/RToolbar/loader.d.ts +0 -9
- package/dist/components/input/CRichTextInput/extensions/heading.d.ts +0 -12
- package/dist/components/input/CRichTextInput/extensions/htmlPaster.d.ts +0 -4
- package/dist/components/input/CRichTextInput/extensions/index.d.ts +0 -6
- package/dist/components/input/CRichTextInput/extensions/link.d.ts +0 -6
- package/dist/components/input/CRichTextInput/extensions/paragraph.d.ts +0 -9
- package/dist/components/input/CRichTextInput/extensions/textBackground.d.ts +0 -23
- package/dist/components/input/CRichTextInput/extensions/textColor.d.ts +0 -23
- package/dist/components/input/CRichTextInput/extensions/utils.d.ts +0 -15
- package/dist/components/input/CRichTextInput/lib/formats.d.ts +0 -85
- package/dist/components/input/CRichTextInput/lib/index.d.ts +0 -1
- package/dist/components/itemPicker/C3.d.ts +0 -1
- package/dist/components/itemPicker/CItemPicker.c3.d.ts +0 -32
- package/dist/components/toaster/actions/index.d.ts +0 -3
- package/dist/mixins/corredor.d.ts +0 -49
- package/dist/mixins/files.d.ts +0 -19
- package/dist/mixins/vue-select-position.d.ts +0 -11
- package/dist/node_modules/@tiptap/pm/state/index.d.ts +0 -1
- package/dist/plugins/reminder.d.ts +0 -66
- package/dist/plugins/settings.d.ts +0 -27
package/dist/index.js
CHANGED
|
@@ -8559,8 +8559,6 @@ const __vue_script__$16 = script$16;
|
|
|
8559
8559
|
//
|
|
8560
8560
|
//
|
|
8561
8561
|
//
|
|
8562
|
-
//
|
|
8563
|
-
//
|
|
8564
8562
|
|
|
8565
8563
|
|
|
8566
8564
|
var script$15 = {
|
|
@@ -8585,12 +8583,6 @@ var script$15 = {
|
|
|
8585
8583
|
}
|
|
8586
8584
|
},
|
|
8587
8585
|
|
|
8588
|
-
computed: {
|
|
8589
|
-
typeStyle () {
|
|
8590
|
-
return `${this.format.type}-icon`
|
|
8591
|
-
},
|
|
8592
|
-
},
|
|
8593
|
-
|
|
8594
8586
|
methods: {
|
|
8595
8587
|
getComputedColor (cssVar) {
|
|
8596
8588
|
try {
|
|
@@ -8623,24 +8615,22 @@ var script$15 = {
|
|
|
8623
8615
|
const __vue_script__$15 = script$15;
|
|
8624
8616
|
|
|
8625
8617
|
/* template */
|
|
8626
|
-
var __vue_render__$12 = 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:{"id":("color-popover-" + (_vm.format.type)),"variant":"link"},on:{"click":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showPicker.apply(null, arguments)}}},[_c('span',{
|
|
8618
|
+
var __vue_render__$12 = 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 mb-1",attrs:{"id":("color-popover-" + (_vm.format.type)),"variant":"link"},on:{"click":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showPicker.apply(null, arguments)}}},[_c('span',{style:({
|
|
8627
8619
|
backgroundColor: _vm.background ? _vm.selectedColor : 'transparent',
|
|
8628
|
-
|
|
8620
|
+
'border-bottom': _vm.background ? 'none' : ("2px solid " + _vm.selectedColor),
|
|
8629
8621
|
})},[_vm._v("\n A\n ")])]),_vm._v(" "),_c('c-input-color-picker',{ref:"picker",staticClass:"d-none",attrs:{"value":_vm.selectedColor,"default-value":_vm.getDefaultColor(),"show-text":false,"width":'0px',"height":'0px'},on:{"input":_vm.applyFromPicker}})],1)};
|
|
8630
8622
|
var __vue_staticRenderFns__$12 = [];
|
|
8631
8623
|
|
|
8632
8624
|
/* style */
|
|
8633
|
-
const __vue_inject_styles__$16 =
|
|
8634
|
-
if (!inject) return
|
|
8635
|
-
inject("data-v-f18be530_0", { source: ".icon[data-v-f18be530]{padding:0 2px}.icon.color-icon[data-v-f18be530]{border-bottom:2px solid var(--dark)}.icon.background-icon[data-v-f18be530]{padding:2px 3px}", map: undefined, media: undefined });
|
|
8636
|
-
|
|
8637
|
-
};
|
|
8625
|
+
const __vue_inject_styles__$16 = undefined;
|
|
8638
8626
|
/* scoped */
|
|
8639
|
-
const __vue_scope_id__$16 =
|
|
8627
|
+
const __vue_scope_id__$16 = undefined;
|
|
8640
8628
|
/* module identifier */
|
|
8641
8629
|
const __vue_module_identifier__$16 = undefined;
|
|
8642
8630
|
/* functional template */
|
|
8643
8631
|
const __vue_is_functional_template__$16 = false;
|
|
8632
|
+
/* style inject */
|
|
8633
|
+
|
|
8644
8634
|
/* style inject SSR */
|
|
8645
8635
|
|
|
8646
8636
|
/* style inject shadow dom */
|
|
@@ -8655,7 +8645,7 @@ var __vue_staticRenderFns__$12 = [];
|
|
|
8655
8645
|
__vue_is_functional_template__$16,
|
|
8656
8646
|
__vue_module_identifier__$16,
|
|
8657
8647
|
false,
|
|
8658
|
-
|
|
8648
|
+
undefined);
|
|
8659
8649
|
|
|
8660
8650
|
//
|
|
8661
8651
|
//
|
|
@@ -9075,11 +9065,11 @@ var suggestion = {
|
|
|
9075
9065
|
}
|
|
9076
9066
|
});
|
|
9077
9067
|
};
|
|
9078
|
-
popup.addEventListener('click', function (
|
|
9079
|
-
return handleSelection
|
|
9068
|
+
popup.addEventListener('click', function () {
|
|
9069
|
+
return handleSelection;
|
|
9080
9070
|
});
|
|
9081
|
-
popup.addEventListener('mouseup', function (
|
|
9082
|
-
return handleSelection
|
|
9071
|
+
popup.addEventListener('mouseup', function () {
|
|
9072
|
+
return handleSelection;
|
|
9083
9073
|
});
|
|
9084
9074
|
popperInstance = createPopper(virtualElement, popup, {
|
|
9085
9075
|
placement: 'bottom-start',
|
|
@@ -10272,6 +10262,9 @@ var __vue_staticRenderFns__$V = [];
|
|
|
10272
10262
|
//
|
|
10273
10263
|
//
|
|
10274
10264
|
//
|
|
10265
|
+
//
|
|
10266
|
+
//
|
|
10267
|
+
//
|
|
10275
10268
|
|
|
10276
10269
|
|
|
10277
10270
|
library.add(faExpandAlt);
|
|
@@ -10292,9 +10285,9 @@ var script$W = {
|
|
|
10292
10285
|
default: 'text',
|
|
10293
10286
|
},
|
|
10294
10287
|
|
|
10295
|
-
|
|
10288
|
+
minHeight: {
|
|
10296
10289
|
type: String,
|
|
10297
|
-
default: '
|
|
10290
|
+
default: '2.35rem',
|
|
10298
10291
|
},
|
|
10299
10292
|
|
|
10300
10293
|
showLineNumbers: {
|
|
@@ -10356,6 +10349,21 @@ var script$W = {
|
|
|
10356
10349
|
type: String,
|
|
10357
10350
|
default: '',
|
|
10358
10351
|
},
|
|
10352
|
+
|
|
10353
|
+
resizable: {
|
|
10354
|
+
type: Boolean,
|
|
10355
|
+
default: false,
|
|
10356
|
+
},
|
|
10357
|
+
},
|
|
10358
|
+
|
|
10359
|
+
data () {
|
|
10360
|
+
return {
|
|
10361
|
+
resizeObserver: null,
|
|
10362
|
+
manualHeight: null,
|
|
10363
|
+
contentHeight: null,
|
|
10364
|
+
programmaticUpdate: false,
|
|
10365
|
+
resizeTimeout: null,
|
|
10366
|
+
}
|
|
10359
10367
|
},
|
|
10360
10368
|
|
|
10361
10369
|
computed: {
|
|
@@ -10368,9 +10376,144 @@ var script$W = {
|
|
|
10368
10376
|
this.$emit('update:value', value);
|
|
10369
10377
|
},
|
|
10370
10378
|
},
|
|
10379
|
+
|
|
10380
|
+
containerStyle () {
|
|
10381
|
+
if (this.resizable) {
|
|
10382
|
+
return {
|
|
10383
|
+
minHeight: this.minHeight,
|
|
10384
|
+
height: this.effectiveHeight,
|
|
10385
|
+
}
|
|
10386
|
+
}
|
|
10387
|
+
return {}
|
|
10388
|
+
},
|
|
10389
|
+
|
|
10390
|
+
effectiveHeight () {
|
|
10391
|
+
if (this.resizable) {
|
|
10392
|
+
// Use the larger of manual height, content height, or minimum height
|
|
10393
|
+
const manualHeightPx = this.manualHeight ? this.parseHeight(this.manualHeight) : 0;
|
|
10394
|
+
const contentHeightPx = this.contentHeight ? this.parseHeight(this.contentHeight) : 0;
|
|
10395
|
+
const minHeightPx = this.parseHeight(this.minHeight);
|
|
10396
|
+
|
|
10397
|
+
const maxHeight = Math.max(manualHeightPx, contentHeightPx, minHeightPx);
|
|
10398
|
+
return `${maxHeight}px`
|
|
10399
|
+
}
|
|
10400
|
+
return this.minHeight
|
|
10401
|
+
},
|
|
10402
|
+
},
|
|
10403
|
+
|
|
10404
|
+
watch: {
|
|
10405
|
+
value () {
|
|
10406
|
+
if (this.resizable && this.$refs.aceeditor && this.$refs.aceeditor.editor) {
|
|
10407
|
+
this.$nextTick(() => {
|
|
10408
|
+
this.calculateContentHeight(this.$refs.aceeditor.editor);
|
|
10409
|
+
});
|
|
10410
|
+
}
|
|
10411
|
+
},
|
|
10412
|
+
},
|
|
10413
|
+
|
|
10414
|
+
mounted () {
|
|
10415
|
+
if (this.resizable) {
|
|
10416
|
+
this.setupResizeObserver();
|
|
10417
|
+
}
|
|
10418
|
+
},
|
|
10419
|
+
|
|
10420
|
+
beforeDestroy () {
|
|
10421
|
+
if (this.resizeObserver) {
|
|
10422
|
+
this.resizeObserver.disconnect();
|
|
10423
|
+
}
|
|
10424
|
+
if (this.resizeTimeout) {
|
|
10425
|
+
clearTimeout(this.resizeTimeout);
|
|
10426
|
+
}
|
|
10371
10427
|
},
|
|
10372
10428
|
|
|
10373
10429
|
methods: {
|
|
10430
|
+
parseHeight (height) {
|
|
10431
|
+
if (typeof height === 'number') return height
|
|
10432
|
+
if (typeof height === 'string') {
|
|
10433
|
+
// Remove 'px' and parse to number
|
|
10434
|
+
return parseFloat(height.replace('px', '').replace('rem', '')) * (height.includes('rem') ? 16 : 1)
|
|
10435
|
+
}
|
|
10436
|
+
return 0
|
|
10437
|
+
},
|
|
10438
|
+
|
|
10439
|
+
calculateContentHeight (editor) {
|
|
10440
|
+
if (!editor) return
|
|
10441
|
+
|
|
10442
|
+
const session = editor.session;
|
|
10443
|
+
const lineCount = session.getLength();
|
|
10444
|
+
const lineHeight = editor.renderer.lineHeight || 16;
|
|
10445
|
+
const padding = 14; // Top and bottom padding
|
|
10446
|
+
|
|
10447
|
+
const contentHeight = (lineCount * lineHeight) + padding;
|
|
10448
|
+
|
|
10449
|
+
// Parse minHeight to ensure we don't go below it
|
|
10450
|
+
const minHeightPx = this.parseHeight(this.minHeight);
|
|
10451
|
+
const finalHeight = Math.max(contentHeight, minHeightPx);
|
|
10452
|
+
|
|
10453
|
+
// Set flag to prevent ResizeObserver from reacting to this change
|
|
10454
|
+
this.programmaticUpdate = true;
|
|
10455
|
+
this.contentHeight = `${finalHeight}px`;
|
|
10456
|
+
|
|
10457
|
+
// Clear the flag after a short delay
|
|
10458
|
+
this.$nextTick(() => {
|
|
10459
|
+
setTimeout(() => {
|
|
10460
|
+
this.programmaticUpdate = false;
|
|
10461
|
+
}, 50);
|
|
10462
|
+
});
|
|
10463
|
+
},
|
|
10464
|
+
|
|
10465
|
+
setupResizeObserver () {
|
|
10466
|
+
let lastHeight = null;
|
|
10467
|
+
let isInitialized = false;
|
|
10468
|
+
|
|
10469
|
+
this.resizeObserver = new ResizeObserver((entries) => {
|
|
10470
|
+
// Skip if we're in the middle of a programmatic update
|
|
10471
|
+
if (this.programmaticUpdate) {
|
|
10472
|
+
return
|
|
10473
|
+
}
|
|
10474
|
+
|
|
10475
|
+
for (const entry of entries) {
|
|
10476
|
+
const newHeight = entry.contentRect.height;
|
|
10477
|
+
|
|
10478
|
+
// Skip the first observation (initialization)
|
|
10479
|
+
if (!isInitialized) {
|
|
10480
|
+
lastHeight = newHeight;
|
|
10481
|
+
isInitialized = true;
|
|
10482
|
+
return
|
|
10483
|
+
}
|
|
10484
|
+
|
|
10485
|
+
// Only update if height actually changed significantly (more than 2px to avoid rounding issues)
|
|
10486
|
+
if (lastHeight !== null && Math.abs(lastHeight - newHeight) > 2) {
|
|
10487
|
+
// Clear any pending timeout
|
|
10488
|
+
if (this.resizeTimeout) {
|
|
10489
|
+
clearTimeout(this.resizeTimeout);
|
|
10490
|
+
}
|
|
10491
|
+
|
|
10492
|
+
// Debounce the update slightly to prevent flickering
|
|
10493
|
+
this.resizeTimeout = setTimeout(() => {
|
|
10494
|
+
this.manualHeight = `${newHeight}px`;
|
|
10495
|
+
this.updateEditorSize();
|
|
10496
|
+
lastHeight = newHeight;
|
|
10497
|
+
}, 10);
|
|
10498
|
+
}
|
|
10499
|
+
}
|
|
10500
|
+
});
|
|
10501
|
+
|
|
10502
|
+
if (this.$refs.container) {
|
|
10503
|
+
this.resizeObserver.observe(this.$refs.container);
|
|
10504
|
+
}
|
|
10505
|
+
},
|
|
10506
|
+
|
|
10507
|
+
updateEditorSize () {
|
|
10508
|
+
// Force ace editor to resize
|
|
10509
|
+
this.$nextTick(() => {
|
|
10510
|
+
if (this.$refs.aceeditor && this.$refs.aceeditor.editor) {
|
|
10511
|
+
const editor = this.$refs.aceeditor.editor;
|
|
10512
|
+
editor.resize();
|
|
10513
|
+
}
|
|
10514
|
+
});
|
|
10515
|
+
},
|
|
10516
|
+
|
|
10374
10517
|
editorInit (editor) {
|
|
10375
10518
|
Promise.resolve().then(function () { return text$1; });
|
|
10376
10519
|
Promise.resolve().then(function () { return html$1; });
|
|
@@ -10378,7 +10521,6 @@ var script$W = {
|
|
|
10378
10521
|
Promise.resolve().then(function () { return scss$1; });
|
|
10379
10522
|
Promise.resolve().then(function () { return json$1; });
|
|
10380
10523
|
Promise.resolve().then(function () { return javascript$1; });
|
|
10381
|
-
Promise.resolve().then(function () { return json$1; });
|
|
10382
10524
|
|
|
10383
10525
|
Promise.resolve().then(function () { return text; });
|
|
10384
10526
|
Promise.resolve().then(function () { return html; });
|
|
@@ -10386,7 +10528,6 @@ var script$W = {
|
|
|
10386
10528
|
Promise.resolve().then(function () { return scss; });
|
|
10387
10529
|
Promise.resolve().then(function () { return json; });
|
|
10388
10530
|
Promise.resolve().then(function () { return javascript; });
|
|
10389
|
-
Promise.resolve().then(function () { return json; });
|
|
10390
10531
|
|
|
10391
10532
|
Promise.resolve().then(function () { return chrome; });
|
|
10392
10533
|
Promise.resolve().then(function () { return language_tools; });
|
|
@@ -10405,8 +10546,6 @@ var script$W = {
|
|
|
10405
10546
|
readOnly: this.readOnly,
|
|
10406
10547
|
highlightActiveLine: this.highlightActiveLine,
|
|
10407
10548
|
cursorStyle: 'smooth',
|
|
10408
|
-
// // minLines: this.height,
|
|
10409
|
-
// maxPixelHeight: 100,
|
|
10410
10549
|
|
|
10411
10550
|
...(this.autoComplete && {
|
|
10412
10551
|
enableBasicAutocompletion: true,
|
|
@@ -10422,6 +10561,19 @@ var script$W = {
|
|
|
10422
10561
|
editor.on('input', this.updatePlaceholder);
|
|
10423
10562
|
this.updatePlaceholder(undefined, editor);
|
|
10424
10563
|
|
|
10564
|
+
// Calculate initial content height and listen for changes if resizable
|
|
10565
|
+
if (this.resizable) {
|
|
10566
|
+
// Calculate initial height
|
|
10567
|
+
this.$nextTick(() => {
|
|
10568
|
+
this.calculateContentHeight(editor);
|
|
10569
|
+
});
|
|
10570
|
+
|
|
10571
|
+
// Recalculate on content change
|
|
10572
|
+
editor.session.on('change', () => {
|
|
10573
|
+
this.calculateContentHeight(editor);
|
|
10574
|
+
});
|
|
10575
|
+
}
|
|
10576
|
+
|
|
10425
10577
|
if (this.initExpressions) {
|
|
10426
10578
|
this.processExpressionAutoComplete(editor);
|
|
10427
10579
|
} else if (this.autoComplete) {
|
|
@@ -10465,55 +10617,95 @@ var script$W = {
|
|
|
10465
10617
|
},
|
|
10466
10618
|
|
|
10467
10619
|
processExpressionAutoComplete (editor) {
|
|
10620
|
+
// Extract text context from current cursor position
|
|
10621
|
+
const getTextContext = (pos) => {
|
|
10622
|
+
const session = editor.session;
|
|
10623
|
+
const line = session.getLine(pos.row);
|
|
10624
|
+
const lastSpaceIndex = Math.max(0, line.lastIndexOf(' '));
|
|
10625
|
+
const textAfterSpace = line.slice(lastSpaceIndex, pos.column).trim();
|
|
10626
|
+
const lastDotIndex = textAfterSpace.lastIndexOf('.');
|
|
10627
|
+
const searchTextForCaption = lastDotIndex >= 0 ? textAfterSpace.slice(lastDotIndex + 1) : textAfterSpace;
|
|
10628
|
+
|
|
10629
|
+
return { line, textAfterSpace, searchTextForCaption }
|
|
10630
|
+
};
|
|
10631
|
+
|
|
10632
|
+
// Check if suggestion matches search text
|
|
10633
|
+
const matchesSuggestion = (suggestion, textAfterSpace, searchTextForCaption) => {
|
|
10634
|
+
const suggestionValue = typeof suggestion === 'string' ? suggestion : suggestion.value;
|
|
10635
|
+
const suggestionCaption = typeof suggestion === 'string' ? suggestion : suggestion.caption;
|
|
10636
|
+
return suggestionValue.toLowerCase().startsWith(textAfterSpace.toLowerCase()) ||
|
|
10637
|
+
suggestionCaption.toLowerCase().startsWith(searchTextForCaption.toLowerCase())
|
|
10638
|
+
};
|
|
10639
|
+
|
|
10640
|
+
// Check and trigger autocomplete if there are matching suggestions
|
|
10641
|
+
const checkAndTriggerAutocomplete = () => {
|
|
10642
|
+
setTimeout(() => {
|
|
10643
|
+
const pos = editor.getCursorPosition();
|
|
10644
|
+
const { line, textAfterSpace, searchTextForCaption } = getTextContext(pos);
|
|
10645
|
+
|
|
10646
|
+
// Don't trigger after closing braces
|
|
10647
|
+
const charBeforeCursor = pos.column > 0 ? line[pos.column - 1] : '';
|
|
10648
|
+
if (charBeforeCursor === '}' || charBeforeCursor === ')' || textAfterSpace.length === 0) {
|
|
10649
|
+
return
|
|
10650
|
+
}
|
|
10651
|
+
|
|
10652
|
+
const context = this.getContext(editor, editor.session, pos);
|
|
10653
|
+
const suggestions = this.getSuggestionsForContext(context);
|
|
10654
|
+
const hasMatches = suggestions.some(s => matchesSuggestion(s, textAfterSpace, searchTextForCaption));
|
|
10655
|
+
|
|
10656
|
+
if (hasMatches) {
|
|
10657
|
+
editor.execCommand('startAutocomplete');
|
|
10658
|
+
}
|
|
10659
|
+
}, 10);
|
|
10660
|
+
};
|
|
10661
|
+
|
|
10468
10662
|
const staticWordCompleter = {
|
|
10663
|
+
identifierRegexps: [/[${\w]+/],
|
|
10469
10664
|
getCompletions: (editor, session, pos, prefix, callback) => {
|
|
10470
10665
|
const context = this.getContext(editor, session, pos);
|
|
10471
10666
|
const suggestions = this.getSuggestionsForContext(context);
|
|
10472
|
-
|
|
10473
|
-
|
|
10474
|
-
|
|
10475
|
-
|
|
10476
|
-
|
|
10477
|
-
|
|
10478
|
-
|
|
10479
|
-
|
|
10480
|
-
|
|
10481
|
-
|
|
10482
|
-
|
|
10483
|
-
|
|
10484
|
-
|
|
10485
|
-
|
|
10486
|
-
|
|
10487
|
-
|
|
10488
|
-
|
|
10489
|
-
|
|
10490
|
-
|
|
10491
|
-
|
|
10492
|
-
|
|
10493
|
-
|
|
10494
|
-
|
|
10495
|
-
|
|
10496
|
-
|
|
10497
|
-
|
|
10498
|
-
|
|
10499
|
-
}
|
|
10500
|
-
|
|
10501
|
-
insertEditor.session.replace({
|
|
10502
|
-
start: { row: pos.row, column: lastSpaceIndex },
|
|
10503
|
-
end: { row: pos.row, column: pos.column },
|
|
10504
|
-
}, insertValue);
|
|
10667
|
+
const { textAfterSpace, searchTextForCaption } = getTextContext(pos);
|
|
10668
|
+
|
|
10669
|
+
const filteredSuggestions = suggestions
|
|
10670
|
+
.filter(s => matchesSuggestion(s, textAfterSpace, searchTextForCaption))
|
|
10671
|
+
.map(suggestion => {
|
|
10672
|
+
const caption = typeof suggestion === 'string' ? suggestion : suggestion.caption;
|
|
10673
|
+
const value = typeof suggestion === 'string' ? suggestion : suggestion.value;
|
|
10674
|
+
const captionMatch = caption.toLowerCase().indexOf(searchTextForCaption.toLowerCase());
|
|
10675
|
+
|
|
10676
|
+
return {
|
|
10677
|
+
caption,
|
|
10678
|
+
value,
|
|
10679
|
+
score: captionMatch === 0 ? 10000 : 1000,
|
|
10680
|
+
meta: 'variable',
|
|
10681
|
+
completer: {
|
|
10682
|
+
insertMatch: (insertEditor, data) => {
|
|
10683
|
+
insertEditor.jumpToMatching();
|
|
10684
|
+
const line = session.getLine(pos.row);
|
|
10685
|
+
const spaceIndex = line.lastIndexOf(' ');
|
|
10686
|
+
const startCol = spaceIndex > 0 ? spaceIndex + 1 : 0;
|
|
10687
|
+
|
|
10688
|
+
insertEditor.session.replace({
|
|
10689
|
+
start: { row: pos.row, column: startCol },
|
|
10690
|
+
end: { row: pos.row, column: pos.column },
|
|
10691
|
+
}, data.value);
|
|
10692
|
+
|
|
10693
|
+
checkAndTriggerAutocomplete();
|
|
10694
|
+
},
|
|
10505
10695
|
},
|
|
10506
|
-
}
|
|
10507
|
-
}
|
|
10508
|
-
|
|
10696
|
+
}
|
|
10697
|
+
});
|
|
10698
|
+
|
|
10699
|
+
callback(null, filteredSuggestions);
|
|
10509
10700
|
},
|
|
10510
10701
|
};
|
|
10511
10702
|
|
|
10512
10703
|
editor.completers = [staticWordCompleter];
|
|
10513
10704
|
|
|
10514
|
-
|
|
10705
|
+
// Only trigger autocomplete automatically when there's a partial match
|
|
10706
|
+
editor.commands.on('afterExec', (e) => {
|
|
10515
10707
|
if (['insertstring', 'Return'].includes(e.command.name) || /^[\w.($]$/.test(e.args)) {
|
|
10516
|
-
|
|
10708
|
+
checkAndTriggerAutocomplete();
|
|
10517
10709
|
}
|
|
10518
10710
|
});
|
|
10519
10711
|
|
|
@@ -10523,17 +10715,13 @@ var script$W = {
|
|
|
10523
10715
|
|
|
10524
10716
|
getContext (editor, session, pos) {
|
|
10525
10717
|
const line = session.getLine(pos.row);
|
|
10526
|
-
const lastSpaceIndex =
|
|
10527
|
-
const textBeforeCursor = line.slice(lastSpaceIndex, pos.column);
|
|
10528
|
-
|
|
10529
|
-
|
|
10530
|
-
return context
|
|
10718
|
+
const lastSpaceIndex = Math.max(0, line.lastIndexOf(' '));
|
|
10719
|
+
const textBeforeCursor = line.slice(lastSpaceIndex, pos.column).trim();
|
|
10720
|
+
return textBeforeCursor.split('.').slice(0, -1).join('.')
|
|
10531
10721
|
},
|
|
10532
10722
|
|
|
10533
10723
|
getSuggestionsForContext (context) {
|
|
10534
|
-
|
|
10535
|
-
|
|
10536
|
-
return suggestions[context] || []
|
|
10724
|
+
return this.autoCompleteSuggestions[context] || []
|
|
10537
10725
|
},
|
|
10538
10726
|
},
|
|
10539
10727
|
};
|
|
@@ -10542,18 +10730,18 @@ var script$W = {
|
|
|
10542
10730
|
const __vue_script__$W = script$W;
|
|
10543
10731
|
|
|
10544
10732
|
/* template */
|
|
10545
|
-
var __vue_render__$U = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"position-relative"},[_c('ace-editor',_vm._g({ref:"aceeditor",class:{ 'border-0 rounded-0': !_vm.border },attrs:{"lang":_vm.lang,"mode":_vm.lang,"theme":"chrome","width":"100%","height":_vm.
|
|
10733
|
+
var __vue_render__$U = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"container",staticClass:"position-relative ace-editor-wrapper",class:{ 'resizable': _vm.resizable },style:(_vm.containerStyle)},[_c('ace-editor',_vm._g({ref:"aceeditor",class:{ 'border-0 rounded-0': !_vm.border },attrs:{"lang":_vm.lang,"mode":_vm.lang,"theme":"chrome","width":"100%","height":_vm.effectiveHeight},on:{"init":_vm.editorInit},model:{value:(_vm.editorValue),callback:function ($$v) {_vm.editorValue=$$v;},expression:"editorValue"}},_vm.$listeners)),_vm._v(" "),(_vm.showPopout)?_c('b-button',{staticClass:"popout position-absolute px-2 py-1 mr-3",attrs:{"variant":"link"},on:{"click":function($event){return _vm.$emit('open')}}},[_c('font-awesome-icon',{attrs:{"icon":['fas', 'expand-alt']}})],1):_vm._e()],1)};
|
|
10546
10734
|
var __vue_staticRenderFns__$U = [];
|
|
10547
10735
|
|
|
10548
10736
|
/* style */
|
|
10549
10737
|
const __vue_inject_styles__$X = function (inject) {
|
|
10550
10738
|
if (!inject) return
|
|
10551
|
-
inject("data-v-
|
|
10552
|
-
,inject("data-v-
|
|
10739
|
+
inject("data-v-00e2204c_0", { source: ".popout[data-v-00e2204c]{z-index:7;bottom:0;right:0}.ace-editor-wrapper.resizable[data-v-00e2204c]{resize:vertical;overflow:auto}.ace-editor-wrapper.resizable .ace_editor[data-v-00e2204c]{height:100%!important}", map: undefined, media: undefined })
|
|
10740
|
+
,inject("data-v-00e2204c_1", { source: ".ace_editor{color:var(--black)!important;background-color:var(--white)!important;border-radius:.25rem;border:2px solid var(--extra-light);font-size:initial!important}.ace_editor .ace_gutter{background-color:var(--light)!important;color:var(--black)!important}.ace_editor .ace_gutter .ace_gutter-active-line{background-color:var(--extra-light)!important}.ace_editor .ace_hidden-cursors .ace_cursor{color:var(--white)!important}.ace_editor .ace_cursor{color:var(--black)!important}.ace_autocomplete{border:none!important}.ace_autocomplete .ace_active-line{background-color:var(--extra-light)!important}.ace_autocomplete .ace_line-hover{border:none!important;background-color:var(--extra-light)!important}.ace_autocomplete .ace_completion-highlight{color:var(--primary)!important}", map: undefined, media: undefined });
|
|
10553
10741
|
|
|
10554
10742
|
};
|
|
10555
10743
|
/* scoped */
|
|
10556
|
-
const __vue_scope_id__$X = "data-v-
|
|
10744
|
+
const __vue_scope_id__$X = "data-v-00e2204c";
|
|
10557
10745
|
/* module identifier */
|
|
10558
10746
|
const __vue_module_identifier__$X = undefined;
|
|
10559
10747
|
/* functional template */
|
|
@@ -10607,9 +10795,9 @@ var script$V = {
|
|
|
10607
10795
|
default: 'text',
|
|
10608
10796
|
},
|
|
10609
10797
|
|
|
10610
|
-
|
|
10798
|
+
minHeight: {
|
|
10611
10799
|
type: String,
|
|
10612
|
-
default: '
|
|
10800
|
+
default: '2.35rem',
|
|
10613
10801
|
},
|
|
10614
10802
|
|
|
10615
10803
|
showLineNumbers: {
|
|
@@ -10661,6 +10849,11 @@ var script$V = {
|
|
|
10661
10849
|
type: String,
|
|
10662
10850
|
default: '',
|
|
10663
10851
|
},
|
|
10852
|
+
|
|
10853
|
+
resizable: {
|
|
10854
|
+
type: Boolean,
|
|
10855
|
+
default: true,
|
|
10856
|
+
},
|
|
10664
10857
|
},
|
|
10665
10858
|
|
|
10666
10859
|
computed: {
|
|
@@ -11265,7 +11458,7 @@ var script$R = {
|
|
|
11265
11458
|
return this.$SystemAPI
|
|
11266
11459
|
.userGroupList(this.userGroup.filter)
|
|
11267
11460
|
.then(({ set }) => {
|
|
11268
|
-
this.userGroup.options = set.map((m) =>
|
|
11461
|
+
this.userGroup.options = set.map((m) => new system.UserGroup(m));
|
|
11269
11462
|
})
|
|
11270
11463
|
.finally(() => {
|
|
11271
11464
|
setTimeout(() => {
|
|
@@ -11276,9 +11469,7 @@ var script$R = {
|
|
|
11276
11469
|
|
|
11277
11470
|
getUserGroupByID (userGroupID) {
|
|
11278
11471
|
if (!userGroupID || userGroupID === NoID) {
|
|
11279
|
-
this.userGroup.value = this.userGroup.options.find(
|
|
11280
|
-
({ selfID }) => selfID === NoID,
|
|
11281
|
-
);
|
|
11472
|
+
this.userGroup.value = this.userGroup.options.find(({ isRoot }) => !!isRoot);
|
|
11282
11473
|
|
|
11283
11474
|
this.$emit('input', this.userGroup.value?.userGroupID);
|
|
11284
11475
|
return
|
|
@@ -11288,13 +11479,6 @@ var script$R = {
|
|
|
11288
11479
|
|
|
11289
11480
|
if (userGroup) {
|
|
11290
11481
|
this.userGroup.value = userGroup;
|
|
11291
|
-
} else {
|
|
11292
|
-
return this.$SystemAPI.userGroupRead({ userGroupID }).then((userGroup) => {
|
|
11293
|
-
this.userGroup.options.push(Object.freeze(userGroup));
|
|
11294
|
-
this.userGroup.value = this.userGroup.options.find(
|
|
11295
|
-
({ selfID }) => selfID === NoID,
|
|
11296
|
-
);
|
|
11297
|
-
})
|
|
11298
11482
|
}
|
|
11299
11483
|
},
|
|
11300
11484
|
|