Skip to content

Commit 01d4cdd

Browse files
authored
[6.x] Misc fixes (#11610)
1 parent 2c5f121 commit 01d4cdd

File tree

11 files changed

+164
-150
lines changed

11 files changed

+164
-150
lines changed

package-lock.json

Lines changed: 123 additions & 121 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

resources/js/components/collections/View.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ export default {
370370
window.location = url;
371371
},
372372
373-
editPage(page, vm, store, $event) {
373+
editPage(page, $event) {
374374
const url = page.edit_url;
375375
$event.metaKey ? window.open(url) : (window.location = url);
376376
},

resources/js/components/fieldtypes/ArrayFieldtype.vue

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,17 @@
1717
</select>
1818
<svg-icon name="micro/chevron-down-xs" class="w-2 ltr:ml-2 rtl:mr-2" />
1919
</div>
20-
<input
21-
type="text"
22-
class="input-text"
23-
v-for="(element, index) in keyedData"
24-
:key="element._id"
25-
v-if="element.key === selectedKey"
26-
:id="fieldId + '__' + element.key"
27-
v-model="data[index].value"
28-
:readonly="isReadOnly"
29-
/>
20+
<template v-for="(element, index) in keyedData">
21+
<input
22+
type="text"
23+
class="input-text"
24+
:key="element._id"
25+
v-if="element.key === selectedKey"
26+
:id="fieldId + '__' + element.key"
27+
v-model="data[index].value"
28+
:readonly="isReadOnly"
29+
/>
30+
</template>
3031
</div>
3132
</div>
3233

@@ -132,9 +133,12 @@ export default {
132133
},
133134
134135
data() {
136+
const keys = Object.keys(this.value || {});
137+
const selectedKey = keys.length > 0 ? keys[0] : null;
138+
135139
return {
136140
data: this.objectToSortable(this.value || []),
137-
selectedKey: Object.keys(this.value)[0],
141+
selectedKey,
138142
deleting: false,
139143
};
140144
},

resources/js/components/fieldtypes/grid/Grid.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ import uniqid from 'uniqid';
5353
import GridTable from './Table.vue';
5454
import GridStacked from './Stacked.vue';
5555
import ManagesRowMeta from './ManagesRowMeta';
56-
import { mapValues, keyBy } from 'lodash-es';
5756
5857
export default {
5958
mixins: [Fieldtype, ManagesRowMeta],
@@ -172,7 +171,9 @@ export default {
172171
addRow() {
173172
const id = uniqid();
174173
175-
const row = mapValues(keyBy(this.field, 'handle'), (field) => this.meta.defaults[field.handle]);
174+
const row = Object.fromEntries(
175+
this.fields.map((field) => [field.handle, this.meta.defaults[field.handle]]),
176+
);
176177
177178
row._id = id;
178179

resources/js/components/fieldtypes/replicator/ManagesPreviewText.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import PreviewHtml from './PreviewHtml';
33
export default {
44
computed: {
55
previewText() {
6-
const previews = this.previews.filter((value, handle) => {
6+
const previews = Object.entries(this.previews).filter(([handle, value]) => {
77
const config = this.config.fields.find((f) => f.handle === handle) || {};
88
return config.replicator_preview === undefined ? this.showFieldPreviews : config.replicator_preview;
99
});

resources/js/components/fieldtypes/replicator/SetPicker.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ export default {
221221
this.$emit('added', handle);
222222
this.unselectGroup();
223223
this.search = null;
224-
this.$refs.popover.close();
224+
this.$refs.popover?.close();
225225
},
226226
227227
selectGroup(handle) {

resources/js/components/inputs/relationship/Selector.vue

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -362,10 +362,13 @@ export default {
362362
this.request();
363363
},
364364
365-
selections() {
366-
if (this.maxSelections === 1 && this.selections.length === 1) {
367-
this.select();
368-
}
365+
selections: {
366+
deep: true,
367+
handler: function () {
368+
if (this.maxSelections === 1 && this.selections.length === 1) {
369+
this.select();
370+
}
371+
},
369372
},
370373
371374
view(view) {

resources/js/components/navigation/View.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@
179179
</page-tree>
180180

181181
<page-selector
182-
v-if="hasCollections && $refs.tree"
182+
v-if="hasCollections"
183183
ref="selector"
184184
:site="site"
185185
:collections="collections"
@@ -376,7 +376,7 @@ export default {
376376
377377
if (this.maxPagesSelection === 1) {
378378
this.removePageOnCancel = true;
379-
this.editPage(pages[0], this.$refs.tree.$refs.tree, this.$refs.tree.$refs.tree.store);
379+
this.$wait(300).then(() => this.editPage(pages[0]));
380380
}
381381
},
382382
@@ -392,8 +392,8 @@ export default {
392392
return !this.isEntryBranch(branch) && !this.isLinkBranch(branch);
393393
},
394394
395-
editPage(page, vm, store) {
396-
this.editingPage = { page, vm, store };
395+
editPage(page) {
396+
this.editingPage = { page };
397397
},
398398
399399
updatePage(values) {

resources/js/components/publish/Container.vue

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { defineStore, getActivePinia } from 'pinia';
33
import uniqid from 'uniqid';
44
import Component from '../Component';
5-
import { getCurrentInstance, computed } from 'vue';
5+
import { getCurrentInstance, computed, watch } from 'vue';
66
import { usePublishContainerStore } from '@statamic/stores/publish-container.js';
77
import { isEqual } from 'lodash-es';
88
import clone from '@statamic/util/clone.js';
@@ -71,9 +71,11 @@ export default {
7171
created() {
7272
this.$events.$emit('publish-container-created', this);
7373
74-
this.store.$subscribe((mutation, state) => {
75-
this.emitUpdatedEvent(state.values);
76-
});
74+
watch(
75+
() => this.store.values,
76+
(values) => this.emitUpdatedEvent(values),
77+
{ deep: true },
78+
);
7779
},
7880
7981
beforeUnmount() {

resources/js/components/structures/PageEditor.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ import HasHiddenFields from '../publish/HasHiddenFields';
8383
import { flatten } from 'lodash-es';
8484
8585
export default {
86+
emits: ['closed', 'submitted', 'publish-info-updated', 'localized-fields-updated'],
87+
8688
mixins: [HasHiddenFields],
8789
8890
props: {

0 commit comments

Comments
 (0)